diff --git a/eslint.config.js b/eslint.config.js index 789b4546..885c78c6 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -18,8 +18,8 @@ export default tseslint.config( }, }, { - // Node-скрипты сборки/тестов (build.mjs, run.mjs и т.п.) — не браузерный - // код, нужны Node-глобалы (console/process/__dirname). + // Node build/test scripts (build.mjs, run.mjs, etc.) — not browser + // code, they need Node globals (console/process/__dirname). files: ["**/*.mjs", "**/*.cjs", "**/scripts/**/*.js"], languageOptions: { globals: { ...globals.node }, diff --git a/openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md b/openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md index 9d04265b..b8c2d76b 100644 --- a/openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md +++ b/openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md @@ -1,101 +1,104 @@ # Live smoke-test notes — standalone-app -Дата: 2026-08-03. Выполнено в рамках tasks.md 3.1/3.2. - -## Окружение - -- `claude` CLI: `C:\Users\ivanov.a\.local\bin\claude.exe` — установлен, но - **не авторизован** в этом окружении (`Not logged in · Please run /login`). - Это отдельная установка, не связанная с сессией, в которой выполняется - сама разработка. -- `copilot` CLI: `C:\Users\ivanov.a\AppData\Roaming\npm\copilot` (npm-шим, - реально резолвится в `copilot.cmd` на Windows) — авторизован и рабочий. -- `codex`, `gemini` — не установлены в этом окружении. Их адаптеры - валидируются только моками/contract-тестами (см. `execution-core` - tasks.md 2.7/2.8) — реальный live-прогон для них в этой фазе разработки - недоступен. - -## Ход теста - -1. Поднят `packages/server` (`npm run start`) с `workspaceRoot`, указывающим - на одноразовую scratch-директорию (не на реальный репозиторий — см. - ниже, "Почему не на реальном репозитории"). -2. Открыт браузерный шелл (`packages/server/public/index.html` + - собранный `dist/app.js`) через реальный HTTP-запрос в браузере. -3. В AI-панели указаны `cwd`/`changeDir` на scratch-директорию, выбран - агент, запущена команда `plan`. - -### Попытка 1 — `claude-cli` - -Результат: `started` → `stdout` (`Not logged in · Please run /login`) → -`failed: claude завершился с кодом 1`. Ожидаемо — реальный CLI не -авторизован в этом окружении. Подтверждает, что спавн процесса, передача -аргументов и перехват stdout/exit-кода работают корректно (ошибка — -окружения, не кода). - -### Попытка 2 — `copilot-cli`, до исправлений - -Результат: `failed: spawn copilot ENOENT`. - -**Найденный баг**: `agents/shared.ts`'s `spawnAndStream` использовал голый -`node:child_process.spawn(executable, args)` без `shell: true`. На Windows -`copilot` резолвится в `.cmd`-шим (`copilot.cmd`), а не в `.exe` — Node не -может запустить `.cmd` напрямую без интерпретатора. Включать `shell: true` -впрямую было бы небезопасно: `copilot`'s промпт (может содержать -произвольное содержимое change-файлов) передаётся именно как argv-аргумент, -и голый `shell: true` открыл бы shell-инъекцию через этот аргумент. - -**Исправление**: `agents/shared.ts` переведён на `cross-spawn` — корректно -резолвит `.cmd`/`.bat` на Windows, экранируя каждый аргумент по отдельности, -не интерпретируя итоговую командную строку в шелле. См. +Date: 2026-08-03. Performed as part of tasks.md 3.1/3.2. + +## Environment + +- `claude` CLI: `C:\Users\ivanov.a\.local\bin\claude.exe` — installed, but + **not authorized** in this environment (`Not logged in · Please run /login`). + This is a separate installation, unrelated to the session in which the + development work itself is being done. +- `copilot` CLI: `C:\Users\ivanov.a\AppData\Roaming\npm\copilot` (an npm + shim that actually resolves to `copilot.cmd` on Windows) — authorized + and working. +- `codex`, `gemini` — not installed in this environment. Their adapters + are validated only by mocks/contract tests (see `execution-core` + tasks.md 2.7/2.8) — a real live run for them is not available at this + phase of development. + +## Test procedure + +1. Started `packages/server` (`npm run start`) with `workspaceRoot` + pointing at a disposable scratch directory (not at the real + repository — see below, "Why not against the real repository"). +2. Opened the browser shell (`packages/server/public/index.html` + + the built `dist/app.js`) via a real HTTP request in the browser. +3. In the AI panel, set `cwd`/`changeDir` to the scratch directory, + selected an agent, and ran the `plan` command. + +### Attempt 1 — `claude-cli` + +Result: `started` → `stdout` (`Not logged in · Please run /login`) → +`failed: claude exited with code 1`. Expected — the real CLI is not +authorized in this environment. Confirms that spawning the process, +passing arguments, and capturing stdout/exit code work correctly (the +error is environmental, not a code issue). + +### Attempt 2 — `copilot-cli`, before fixes + +Result: `failed: spawn copilot ENOENT`. + +**Bug found**: `agents/shared.ts`'s `spawnAndStream` used plain +`node:child_process.spawn(executable, args)` without `shell: true`. On +Windows, `copilot` resolves to a `.cmd` shim (`copilot.cmd`), not a +`.exe` — Node cannot launch a `.cmd` directly without an interpreter. +Enabling `shell: true` directly would be unsafe: `copilot`'s prompt (which +can contain arbitrary change-file content) is passed in precisely as an +argv argument, and plain `shell: true` would open a shell injection +through that argument. + +**Fix**: `agents/shared.ts` was switched to `cross-spawn` — it correctly +resolves `.cmd`/`.bat` on Windows, escaping each argument individually +rather than interpreting the resulting command line in a shell. See `packages/core/src/agents/shared.ts`, `@openspec-ui/core@0.4.1`. -### Попытка 3 — `copilot-cli`, после исправления spawn +### Attempt 3 — `copilot-cli`, after the spawn fix -Результат: `started` → `stdout` (`No task was specified in your message — +Result: `started` → `stdout` (`No task was specified in your message — "--allow-all-tools" is a flag, not a request...`) → `completed`. -**Найденный баг**: `CopilotCliAdapter` передавал промпт через stdin (как и -Claude/Codex/Gemini), но `copilot -p` не читает stdin — промпт должен быть -позиционным аргументом сразу после `-p`. - -**Исправление**: `CopilotCliAdapter.execute()` теперь встраивает промпт в -argv (`["-p", prompt, "--allow-all-tools"]`) уже после того, как -`buildInvocation()`'s статическая форма (`["-p", "--allow-all-tools"]`) -прошла allowlist-проверку — содержимое промпта по-прежнему не влияет на то, -разрешён ли сам запуск (см. `packages/core/src/agents/copilot.ts`). - -### Попытка 4 — `copilot-cli`, после обоих исправлений - -Результат: `started (plan)` → `stdout` (реальный ответ Copilot: корректно -заметил, что описание change'а пусто, и попросил уточнить задачу) → -`completed`. Реально потрачены AI Credits (9.05, ~10s), токены — see -Copilot's own usage line in the output. **Полный pipeline подтверждён -end-to-end**: браузер → WebSocket → `server` → `execution-core`'s -`AgentRunner` → реальный процесс CLI-агента → поток событий → рендер в -браузере. - -## Почему не на реальном репозитории - -`plan`/`implement`/`review` — это настоящие вызовы CLI-агента с доступом к -инструментам (`--allow-all-tools` для copilot, аналогично для claude). -Прогонять их с `cwd`, указывающим на `C:\Prog\OpenSpec-UI`, означало бы -доверить реальному репозиторию непроверенному агентскому прогону в рамках -smoke-теста. Вместо этого `workspaceRoot`/`cwd` указывали на одноразовую -scratch-директорию с фиктивным `openspec/changes/demo/proposal.md` — -изоляция полностью убирает этот риск, не жертвуя ничем в проверке самого -pipeline. - -## Вывод - -- `claude-cli` и `copilot-cli` — единственные агенты, доступные для live- - тестирования в этой фазе разработки (см. также `execution-core` - tasks.md 2.8). `copilot-cli` подтверждён полностью рабочим end-to-end. - `claude-cli` подтверждён механически рабочим (spawn/argv/stdout/exit-код), - но не был протестирован end-to-end из-за отсутствия авторизации в этом - окружении — это ограничение окружения, не блокер для archive. -- `codex-cli`/`gemini-cli` остаются валидированы только моками/contract- - тестами — CLI не установлены в этом окружении. -- Оба найденных бага (spawn `.cmd` на Windows, copilot's argv-vs-stdin) - исправлены в `@openspec-ui/core` и покрыты юнит-тестами +**Bug found**: `CopilotCliAdapter` passed the prompt via stdin (like +Claude/Codex/Gemini), but `copilot -p` does not read stdin — the prompt +must be a positional argument right after `-p`. + +**Fix**: `CopilotCliAdapter.execute()` now embeds the prompt into argv +(`["-p", prompt, "--allow-all-tools"]`) only after `buildInvocation()`'s +static shape (`["-p", "--allow-all-tools"]`) has passed the allowlist +check — the prompt's content still does not affect whether the run itself +is permitted (see `packages/core/src/agents/copilot.ts`). + +### Attempt 4 — `copilot-cli`, after both fixes + +Result: `started (plan)` → `stdout` (a real Copilot response: it correctly +noticed that the change's description was empty and asked for the task to +be clarified) → `completed`. AI Credits were actually spent (9.05, ~10s), +tokens — see Copilot's own usage line in the output. **The full pipeline +was confirmed end-to-end**: browser → WebSocket → `server` → +`execution-core`'s `AgentRunner` → the real CLI agent process → event +stream → rendering in the browser. + +## Why not against the real repository + +`plan`/`implement`/`review` are real CLI-agent invocations with tool +access (`--allow-all-tools` for copilot, similarly for claude). Running +them with `cwd` pointing at `C:\Prog\OpenSpec-UI` would mean entrusting +the real repository to an unverified agent run as part of a smoke test. +Instead, `workspaceRoot`/`cwd` pointed at a disposable scratch directory +with a fake `openspec/changes/demo/proposal.md` — this isolation removes +the risk entirely without sacrificing anything in verifying the pipeline +itself. + +## Conclusion + +- `claude-cli` and `copilot-cli` are the only agents available for live + testing at this phase of development (see also `execution-core` + tasks.md 2.8). `copilot-cli` was confirmed fully working end-to-end. + `claude-cli` was confirmed mechanically working (spawn/argv/stdout/exit + code), but was not tested end-to-end due to the lack of authorization + in this environment — this is an environment limitation, not a blocker + for archiving. +- `codex-cli`/`gemini-cli` remain validated only by mocks/contract + tests — the CLIs are not installed in this environment. +- Both bugs found (spawning a `.cmd` on Windows, copilot's argv-vs-stdin) + were fixed in `@openspec-ui/core` and are covered by unit tests (`agents/shared.test.ts`, `agents/copilot.test.ts`). diff --git a/openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md b/openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md index 9077abd9..8e049c71 100644 --- a/openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md +++ b/openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md @@ -1,76 +1,77 @@ # Live test notes — vscode-extension -Дата: 2026-08-03. Выполнено в рамках tasks.md 4.1/4.2/4.3, через -`@vscode/test-electron` (`packages/extension/src/test/run.mjs`) — реальный -VS Code Extension Development Host, не мок `vscode`. +Date: 2026-08-03. Performed as part of tasks.md 4.1/4.2/4.3, via +`@vscode/test-electron` (`packages/extension/src/test/run.mjs`) — a real +VS Code Extension Development Host, not a `vscode` mock. -## Окружение +## Environment -Те же, что и в `openspec/changes/standalone-app/smoke-test-notes.md`: -- `claude` CLI — установлен, не авторизован в этом окружении. -- `copilot` CLI — авторизован и рабочий. -- `codex`/`gemini` — не установлены. +Same as in `openspec/changes/standalone-app/smoke-test-notes.md`: +- `claude` CLI — installed, not authorized in this environment. +- `copilot` CLI — authorized and working. +- `codex`/`gemini` — not installed. -## Ход теста +## Test procedure -Одноразовый temp-воркспейс (не в репозитории — те же соображения -безопасности, что и у standalone-app: `plan`/`implement` — реальные вызовы -CLI-агента с доступом к инструментам, прогонять их с cwd на реальном -репозитории в рамках smoke-теста неприемлемо), с фиктивным -`openspec/changes/demo/`. Извлечён из репозитория VS Code stable 1.131.0 -(скачан `@vscode/test-electron`), запущен Extension Development Host с -`--disable-extensions` (встроенные расширения вроде `vscode.git` остаются -активны — флаг отключает только пользовательские/marketplace-расширения). +A disposable temp workspace (not in the repository — the same safety +considerations as standalone-app: `plan`/`implement` are real CLI-agent +invocations with tool access, running them with cwd on the real repository +as part of a smoke test would be unacceptable), with a fake +`openspec/changes/demo/`. Extracted from the VS Code stable 1.131.0 +repository (downloaded by `@vscode/test-electron`), launched an Extension +Development Host with `--disable-extensions` (built-in extensions like +`vscode.git` remain active — the flag only disables user/marketplace +extensions). -### Результат — 5/5 тестов пройдено +### Result — 5/5 tests passed -1. Расширение активируется, все 8 контрибьютed команд зарегистрированы. -2. Реестр `AgentRunner` строится напрямую (без сети) для всех 5 агентов. -3. Основной режим — serverless по умолчанию (локальный сервер НЕ запущен). -4. **Реальный `plan` через `copilot-cli`**: `started` → реальный ответ - Copilot (заметил пустое описание задачи, попросил уточнить — корректная - реакция) → `completed`. ~35s, реальные AI Credits. -5. **Переключение на локальный сервер** (`openspec-ui.transport.localServer.enabled`): - сервер поднимается на динамическом порту, отдаёт тот же standalone-шелл - (`
", () => {
- const container = renderText("Команда `implement` запущена.");
+ const container = renderText("The `implement` command has started.");
expect(container.querySelector("code")).toHaveTextContent("implement");
});
it("handles multiple tokens and plain text in between", () => {
- const container = renderText("**SHALL NOT** запускать `rm -rf` никогда.");
+ const container = renderText("**SHALL NOT** run `rm -rf` ever.");
expect(container.querySelector("strong")).toHaveTextContent("SHALL NOT");
expect(container.querySelector("code")).toHaveTextContent("rm -rf");
- expect(container).toHaveTextContent("никогда.");
+ expect(container).toHaveTextContent("ever.");
});
it("returns plain text unchanged when there is no markdown", () => {
diff --git a/packages/webui/src/markdown.tsx b/packages/webui/src/markdown.tsx
index b4aa0ebc..8aeddc40 100644
--- a/packages/webui/src/markdown.tsx
+++ b/packages/webui/src/markdown.tsx
@@ -1,7 +1,7 @@
-// Минимальный inline-рендер markdown: **bold** и `code` — ровно то, что
-// используется в тексте требований OpenSpec (SHALL/SHALL NOT в bold,
-// идентификаторы в code). Не полноценный markdown-парсер — редактирование
-// и богатый рендер делегируются хосту (см. design.md, "Decisions").
+// A minimal inline markdown renderer: **bold** and `code` — exactly what
+// is used in OpenSpec requirement text (SHALL/SHALL NOT in bold,
+// identifiers in code). Not a full markdown parser — editing and rich
+// rendering are delegated to the host (see design.md, "Decisions").
import type { ReactNode } from "react";
import ReactMarkdown from "react-markdown";
diff --git a/packages/webui/src/transport/contract.test.ts b/packages/webui/src/transport/contract.test.ts
index 44c8e3c7..b1215c55 100644
--- a/packages/webui/src/transport/contract.test.ts
+++ b/packages/webui/src/transport/contract.test.ts
@@ -1,8 +1,9 @@
-// Contract test (tasks.md 1.4): один и тот же сценарий (успех/ошибка/обрыв
-// соединения) должен давать одинаковый набор событий через оба Transport,
-// несмотря на разные механизмы доставки под капотом (WebSocket vs
-// postMessage). Это прямой тест риска из design.md ("Два Transport-адаптера
-// могут разойтись по обработке ошибок").
+// Contract test (tasks.md 1.4): the same scenario (success/error/connection
+// drop) must produce the same set of events through both Transports,
+// regardless of the different delivery mechanisms under the hood
+// (WebSocket vs postMessage). This is a direct test of the risk from
+// design.md ("The two Transport adapters could diverge in how they
+// handle errors").
import { describe, expect, it, vi } from "vitest";
import type { Command, Event } from "@openspec-ui/core";
@@ -23,8 +24,8 @@ class FakeWebSocket extends EventTarget {
}
send(): void {
- // Отправка команды по сокету не участвует в этом сценарии — здесь
- // проверяется только доставка событий, приходящих обратно.
+ // Sending a command over the socket is not part of this scenario —
+ // only the delivery of events coming back is verified here.
}
open() {
@@ -81,9 +82,9 @@ function setUpFetchTransport(): { transport: Transport; drive: (event: Event) =>
fetchImpl: vi.fn().mockResolvedValue({ ok: true, json: async () => ({ events: [] }) }) as unknown as typeof fetch,
webSocketCtor: ctor,
});
- // `command.kind === "implement"` идёт по WS — сокет создаётся при первом
- // `send()` (см. fetch-transport.ts), поэтому для доставки событий сначала
- // нужно инициировать команду, как это происходит в реальном сценарии.
+ // `command.kind === "implement"` goes over WS — the socket is created on
+ // the first `send()` (see fetch-transport.ts), so to deliver events we
+ // first need to initiate the command, just as happens in a real scenario.
transport.send(command);
instances[0]?.open();
@@ -102,9 +103,9 @@ function setUpMessageBridgeTransport(): { transport: Transport; drive: (event: E
transport,
drive: (event: Event) => eventTarget.dispatchEvent(new MessageEvent("message", { data: { type: "openspec-ui/event", event } })),
teardownChannel: () => {
- // MessageBridgeTransport не владеет lifecycle'ом eventTarget — обрыв
- // соединения здесь означает "хост перестал слать события", что не
- // требует явного действия для этого фейка.
+ // MessageBridgeTransport does not own the eventTarget's lifecycle —
+ // a connection drop here means "the host stopped sending events",
+ // which requires no explicit action for this fake.
},
};
}
diff --git a/packages/webui/src/transport/fetch-transport.test.ts b/packages/webui/src/transport/fetch-transport.test.ts
index 4ce7d453..8137470c 100644
--- a/packages/webui/src/transport/fetch-transport.test.ts
+++ b/packages/webui/src/transport/fetch-transport.test.ts
@@ -175,7 +175,7 @@ describe("FetchTransport — event-driven commands (WebSocket)", () => {
"openspec-ui",
`openspec-ui-token.${ACCESS_TOKEN}`,
]);
- expect(instances[0]?.sent).toHaveLength(0); // ещё не открыт
+ expect(instances[0]?.sent).toHaveLength(0); // not open yet
instances[0]?.open();
expect(instances[0]?.sent).toEqual([JSON.stringify(planCommand)]);
});
@@ -192,7 +192,7 @@ describe("FetchTransport — event-driven commands (WebSocket)", () => {
instances[0]?.open();
transport.send({ ...planCommand, kind: "cancel" });
- expect(instances).toHaveLength(1); // переиспользует то же соединение
+ expect(instances).toHaveLength(1); // reuses the same connection
expect(instances[0]?.sent).toHaveLength(2);
});
diff --git a/packages/webui/src/transport/fetch-transport.ts b/packages/webui/src/transport/fetch-transport.ts
index 5c8d1f21..7ba529c7 100644
--- a/packages/webui/src/transport/fetch-transport.ts
+++ b/packages/webui/src/transport/fetch-transport.ts
@@ -1,22 +1,23 @@
-// FetchTransport — используется standalone-инструментом и, опционально, VS
-// Code extension'ом (см. ADR 0001, п.2 — локальный сервер как опциональный
-// режим extension). Проводной протокол зафиксирован в
+// FetchTransport — used by the standalone tool and, optionally, by the VS
+// Code extension (see ADR 0001, item 2 — the local server as an optional
+// extension mode). The wire protocol is fixed in
// `openspec/changes/standalone-app/design.md`:
-// - `status` — REST (`POST /api/status`), синхронный ответ с полным
-// списком событий этого запуска (команда быстрая, WS ради неё избыточен);
-// - `plan`/`implement`/`review`/`cancel` — единое WebSocket-соединение
-// (`/api/ws`): команда отправляется и её события приходят по одному и
-// тому же сокету.
-// Это деталь ПРОВОДНОГО протокола именно этой реализации `Transport` — вызов
-// `send`/`subscribe` для потребителя выглядит одинаково независимо от того,
-// какой kind команды отправлен (см. spec.md shared-ui, "Компоненты не
-// зависят от конкретного транспорта").
+// - `status` — REST (`POST /api/status`), a synchronous response with
+// the full list of events from this run (the command is fast, WS
+// would be overkill for it);
+// - `plan`/`implement`/`review`/`cancel` — a single WebSocket connection
+// (`/api/ws`): the command is sent and its events arrive over the
+// same socket.
+// This is a WIRE-protocol detail specific to this `Transport`
+// implementation — for the consumer, calling `send`/`subscribe` looks the
+// same regardless of which command kind was sent (see spec.md shared-ui,
+// "Components do not depend on a specific transport").
import { type Command, type Event, deserializeEvent } from "@openspec-ui/core/browser";
import type { Transport, Unsubscribe } from "./types.js";
export interface FetchTransportOptions {
- /** Базовый URL сервера, например http://localhost:4000. */
+ /** The server's base URL, e.g. http://localhost:4000. */
baseUrl: string;
accessToken: string;
fetchImpl?: typeof fetch;
@@ -45,7 +46,7 @@ export class FetchTransport implements Transport {
}
const ctor = options.webSocketCtor ?? (globalThis as { WebSocket?: typeof WebSocket }).WebSocket;
if (!ctor) {
- throw new Error("FetchTransport: WebSocket недоступен в этом окружении и не передан явно");
+ throw new Error("FetchTransport: WebSocket is unavailable in this environment and was not passed explicitly");
}
this.WebSocketCtor = ctor;
}
@@ -136,8 +137,9 @@ export class FetchTransport implements Transport {
const event = typeof raw === "string" ? deserializeEvent(raw) : deserializeEvent(JSON.stringify(raw));
for (const listener of this.listeners) listener(event);
} catch {
- // Payload, не соответствующий протоколу, — консервативно игнорируется
- // (тот же принцип, что и в core/agents/shared.ts), не роняет поток.
+ // A payload that does not match the protocol is conservatively
+ // ignored (the same principle as in core/agents/shared.ts), without
+ // breaking the stream.
}
}
diff --git a/packages/webui/src/transport/message-bridge-transport.ts b/packages/webui/src/transport/message-bridge-transport.ts
index 7379d5ac..0174a27b 100644
--- a/packages/webui/src/transport/message-bridge-transport.ts
+++ b/packages/webui/src/transport/message-bridge-transport.ts
@@ -1,26 +1,27 @@
-// MessageBridgeTransport — основной режим VS Code extension: Webview не
-// делает fetch к localhost, а обменивается сообщениями с extension host'ом
-// через `acquireVsCodeApi().postMessage`/`window.addEventListener('message')`
-// (см. ADR 0001, п.2).
+// MessageBridgeTransport — the primary mode for the VS Code extension: the
+// Webview does not fetch localhost, it exchanges messages with the
+// extension host via
+// `acquireVsCodeApi().postMessage`/`window.addEventListener('message')`
+// (see ADR 0001, item 2).
import { type Command, type Event, isEvent } from "@openspec-ui/core/browser";
import type { Transport, Unsubscribe } from "./types.js";
-/** Минимальный интерфейс объекта, возвращаемого `acquireVsCodeApi()`. Хост
- * (extension) вызывает `acquireVsCodeApi()` один раз и передаёт результат
- * сюда — сам `webui` эту глобальную функцию не вызывает. */
+/** Minimal interface for the object returned by `acquireVsCodeApi()`. The
+ * host (extension) calls `acquireVsCodeApi()` once and passes the result
+ * in here — `webui` itself never calls this global function. */
export interface VsCodeApiLike {
postMessage(message: unknown): void;
}
-/** Ровно те методы `EventTarget`, что нужны — совпадает структурно с
- * реальным `EventTarget`/`Window`, поэтому и то, и другое подходит без
- * дополнительных приведений типов на стороне вызывающего кода. */
+/** Exactly the `EventTarget` methods that are needed — structurally
+ * matches the real `EventTarget`/`Window`, so either one fits without
+ * extra type casts on the calling side. */
type EventTargetLike = Pick;
export interface MessageBridgeTransportOptions {
vscodeApi: VsCodeApiLike;
- /** По умолчанию — глобальный `window`; подставляется в тестах. */
+ /** Defaults to the global `window`; substituted in tests. */
eventTarget?: EventTargetLike;
}
diff --git a/packages/webui/src/transport/types.ts b/packages/webui/src/transport/types.ts
index 60a2aded..78a0c43c 100644
--- a/packages/webui/src/transport/types.ts
+++ b/packages/webui/src/transport/types.ts
@@ -1,19 +1,20 @@
-// Transport — единственная граница, за которой компоненты `webui` не знают,
-// работают ли они в браузере (standalone) или в Webview (VS Code extension).
-// Компоненты вызывают только этот интерфейс, никогда `fetch`/`postMessage`
-// напрямую (см. spec.md, "Компоненты не зависят от конкретного транспорта").
+// Transport is the single boundary beyond which `webui` components do not
+// know whether they are running in the browser (standalone) or in a
+// Webview (VS Code extension). Components call only this interface, never
+// `fetch`/`postMessage` directly (see spec.md, "Components do not depend
+// on a specific transport").
import type { Command, Event } from "@openspec-ui/core";
export type Unsubscribe = () => void;
export interface Transport {
- /** Отправляет команду. Не возвращает результат напрямую — результат
- * приходит как поток событий через `subscribe` (см. design.md: единый
- * event-driven протокол, а не запрос/ответ). */
+ /** Sends a command. Does not return a result directly — the result
+ * arrives as a stream of events through `subscribe` (see design.md: a
+ * single event-driven protocol, not request/response). */
send(command: Command): void;
- /** Подписывается на ВСЕ события, полученные этим transport'ом (события
- * от разных `runId` могут приходить конкурентно — потребитель фильтрует
- * сам). Возвращает функцию отписки. */
+ /** Subscribes to ALL events received by this transport (events from
+ * different `runId`s may arrive concurrently — the consumer filters
+ * them itself). Returns an unsubscribe function. */
subscribe(onEvent: (event: Event) => void): Unsubscribe;
}
diff --git a/packages/webui/src/types.ts b/packages/webui/src/types.ts
index 654d0c9f..da50a87c 100644
--- a/packages/webui/src/types.ts
+++ b/packages/webui/src/types.ts
@@ -1,18 +1,18 @@
-// Общие типы данных, которые компоненты `webui` принимают как props.
-// Компоненты — презентационные: они не делают fetch и не парсят markdown/
-// openspec-состояние сами (это делает хост — standalone-app/vscode-extension,
-// используя `@openspec-ui/core`) — см. design.md "Goals".
+// Shared data types that `webui` components accept as props. Components
+// are presentational: they do not fetch data or parse markdown/openspec
+// state themselves (that is done by the host — standalone-app/
+// vscode-extension, using `@openspec-ui/core`) — see design.md "Goals".
import type { ChangeState } from "@openspec-ui/core";
export interface ChangeSummary {
name: string;
- /** Вычислено `execution-core`'s `deriveChangeState`/`readChangeState` —
- * компонент только отображает, не пересчитывает (см. spec.md). */
+ /** Computed by `execution-core`'s `deriveChangeState`/`readChangeState` —
+ * the component only displays it, it does not recompute it (see spec.md). */
state: ChangeState;
completedTasks: number;
totalTasks: number;
- /** ISO timestamp последнего изменения, если доступен (для истории Archive). */
+ /** ISO timestamp of the last modification, if available (for the Archive history). */
lastModified?: string;
}
diff --git a/scripts/english-policy-baseline.json b/scripts/english-policy-baseline.json
index 582cf05b..fe51488c 100644
--- a/scripts/english-policy-baseline.json
+++ b/scripts/english-policy-baseline.json
@@ -1,637 +1 @@
-[
- "eslint.config.js|056646122e1e2ced5728aa3f2e81edb4ea8c3c061f27cee8eeaa1d6229443400",
- "eslint.config.js|bee24f7b69b9fe174c3ad1b9e712447465b3645bf1028c3bc80d9d6477adca68",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|08e768a7c7828cc817186deb19c54d295c001db77e677049779ce6db1adc8cce",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|0934a977c4067fb846facc614e45e86a27abb2d32c1f47b9c222d42d004975a2",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|0ae448ac8f219fa02f8b5b7419ced6f37740fcde4e8d84e2427fa3d6903c76e9",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|0e5d69d2dfd771ec238a06e99ee576dbd2812770cd9c161ddf90137e29833e36",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|154e09830cd62f82ec0775116e93cc1a807bd5ee8fc51f15daa617bb48cc90af",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|192912373f0c3c4adbe42ef9aa882395290efd025405c9393031206b7cbce59f",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|1b0d6e4ac83ab49dc44b1b130a10e7520d0438b3aeadfddf0fd459cb00c1b4ab",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|1b1037b7b53456c874f76398adb4e3ca67886a4bffb8178e054ff91c0d803501",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|1b56a944afbbcff77d1951f94640ba628050d4b5c3129471f79a868e451134b0",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|1ba88011a6bf038709d1a910cd3f831e12846b4db76b161c924a438e6387d741",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|2216e87012f0d2bcf1cb3d03be07af56bf594d704d04ee7a63869a3f3a4be8fb",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|22299e8284a443dfefcdbd7909316668b24036a7944738ca68c184b4271bfa82",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|233f0c69b006e11a19587554c3f8347d92871133adfff7b343b24eb7b6b277b7",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|2885f86c346ab019d14c6d31ba659b72390844400bc9de80af42146fecb4ed86",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|28cef5dc2db740b51a39b5f8dcfc80bad0d349e47b0e5e768caa19c2a777ed5a",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|29ee96be20beb2583a1bc74b98e826b82b035ccf814910df78562fbd56e8f2eb",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|2a4ed30bb70b1901bfc5cdafa7990e421c315eb575753a3e5b51919a6add5923",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|2c75cbf9d555150e2e1264302d25b1108f3130fa3f16059b1d8deaaa4082acdc",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|2ebb6af5d1d755ad2c1b27cc66e9a769dc77521c76be8ce0396a92fc60bc4bac",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|35dfa3935d02a3ac1dacbf434d48c9175a4e3504be3af6af7a819a2300dcdd45",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|3869ab3faaedcb73be2be7a6740471aeeff5acaab869705926ee15893c5058c8",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|391e3e9e53cf12479bcceafa2126d3b879ba5cbbed8fa84a4060f764c26d7c37",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|3b96c91633a48e27ee87f70b1527536e49161ef857101ac70b36f3b218c3a884",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|448fce93a8f2a5ebc657145b6a7445970ddd7d9d4eda2c762cca482882872086",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|46fd0ee476c375bbb36f362ad6467f7c88a8e0ed21a2e1873a1f8e83f0e71dcf",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|477758ca0dc8c4054a726f58a121048fc457d2395d7ae039c1c772333f981bf4",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|514187e39c65d95ba6f0c77c0631a2a146ce86e26d3cd1c726c0b496ef028f11",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|564b567986036e9bcfcf961e1fbf6435551f8574d41faa2f9f39e9e021ab25f5",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|56654533c18011fdc894c881c127adfb04451f8c243d682a92968ecf698f647a",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|5a7b26c3fb4a61042b5bc5404dc35d74b6f1f756e329eed032fda13b16a5fb59",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|5d90d8c7f95307f312d6d008c7b4d9f56dafb087903a9b9ebd68d2fdb36c2760",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|69b582f4c8e51c4100025b7b045e592197a1ff6d5fc73a30696178ee5524014c",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|6ecdd9443d500ba500d94f0cfd2adbc2e10bb2e8ba300dbc2cab721c21d26b71",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|6ee6dab6b1d2588a3ba5fc4f42f7388f26a8634cebfd458da9e17591846ae0c8",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|720bc6f0e2ab19bca334e0dba575d1108eb8d84c7c6453a1626757b6e82ce782",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|78082cc3fbf08b7fc2bb22b7bfe7d6af811a7cf6619054d8b0d88efdc27c2569",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|7ace76415031021d9cd4e8df38d8fef6ac539a7453bd6e8694830bbb5fe0d86a",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|7c68c7d78729fa41c20c0fd13f6ab6ec7b052a2031c0f5da397e49f4e2053e9c",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|7d3b242a6f62ea0c76224c99ed2c2f7eeb2c5025ab3cf5466e7bf5d4b58c743f",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|7d5a56a0e5b5c7d710434543a63458bf0ea3dc4281f9825474b92eda29df7f22",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|7f309f6c81fec590d3636f40d578f2247f20c49d3649e3fb5ba54ef8ee516cfc",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|82bf311ca9a25d6023b8b94cdf9077b1ff21c7582e709159d5f35516bc68e034",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|859e36a31a8b7463f0c958cd13bab028704d75a5fd426110f03939ea6ec7ff12",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|876176c297c1dbdff9cc620f8238d554fa400290478294cf9ef3a7b80d9139dc",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|8af3090de22ed8bae46f66204e8dbb24313027dcd71c9dbf2e1b962fcf856459",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|907f141ec8dcfe40e183c49477ee0e46056c19dac13d465fa4888b5031540d4c",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|955469ccbe9c29a7e35db4fe8b28b894d1bd5e5eced60dd4682bb9b2ed723f92",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9713495da2185bff5bdb0ed4172475effeca9fec9b87a1e8a90e11dd27d3e13e",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9a3bc711d471caf6db25756ac445b6d927ce860f3c9dc3c04452d3f21973f628",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9a69a3954bff0c808738218d33e4aeb784a4ee96ff7e677a15394865843b1a92",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9c7ee68744f763584793589ad9084771c2f0f9c5299b97206ab10c9f67d8bd59",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9cbd574cf3d840daa8428694a227a4c59f209d17a03c2fe360715b190d0225c4",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9d466d2015b302d24349036927b4af4c97a4e187a5ccf6583c2591f85da0a6c1",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|9fc10c02dfe5e9e3cc5555735a25f58e63aecc6655ea28424df2580b4ae72b97",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|a8ac3d5631d10c96649b996beb0a9067b8bdb260d8c83a97fab8e6920482cd32",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|a8cbd60dd363d101c2e3d6d90fd077dead2e9064bc13e02ab1700ee2f6c80338",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|afe8780f6bf326dc7d825adbec0515e65a061a202baa9f86185e7657a66b40cc",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|bf468eed0cf53247ccef8fcf66e8970999c790a18951f5df92ce615a1943143d",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|c157a8cb42a69a4d9f58da1b9169f61cddaa5aac1e267797c635817b993514f4",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|c4711727841dfaf29df3ae484d80cef92a438c45bbf4e90ceedd9b083ba96261",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|c78db0aafa8f882139600c2a364bf9137c9c9cee60291ad12ebfd25d4538928f",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|cadde06a88049695c9c12a48a9bf2292385a57ba3a38899a27567621180d1d7a",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|cc40606d3d919dea8d4c167b88803f29a000c72ac86e6cc4fd7972e8bb0e764f",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|cf99a7f9a1c2cd2def29512942b06ff2f629c91c5d4c407997ec0d36efeabeca",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|d216dc4e91907ef0fd1022f647518d9c6cd9adb0981bb01df8c1b88639707534",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|d95a812f4aacd7c3cb73707e453e31297347dc2caaab134489e8934d908025a1",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|dddc48a7bc43338720adb04fea5f0eb8d50364da9fadc78e93a9299465f19121",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|de3e03b60f67b8ba1939d5eefd6c19f467b6ea02799dfca20f4b83e2f5276afe",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|e19c737d2c0339f92cd3ddf98836f46024e3c0e77dedac95c67893b2efb3d4ae",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|e5beb2926b56f7eb0f16cb1643c00cc6bc7d148700edc5b7f770630c3f9fdfd4",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|eac79e882b74c2dd362d6d4f80524b7c09c7d99ab9d9abc528a0bc1961a65e57",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|ee0ae9a85d87618f8a5e4f54e720b497cc694936ddc50b4c887285e24152fc62",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|f45297fe02cca2ca48d5dee162f798e73122b952892b07f3c43a737e409ef9b1",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|fb3a91350461d3d3b6c3aa23e295936129a33c8b20a296c35a734df1c0bb65ac",
- "openspec/changes/archive/2026-08-13-standalone-app/smoke-test-notes.md|fc9ee3b856c6490779a72e4864f77513850bb145707c602b82ecafbca3fc2a41",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|005a75e6715825bcded3863ced4b600d1290785b0b6a9fbf4eb72c6422a8583f",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|03d94dfa37a7abca0e9a9fccaee7e96705b5f203d58d1d6b8ccd5fabaf1c9abb",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|0ad4fce0a7e6237abe6dce8601a7deaeb42b410e377c89c11b783f6bd4c23fa5",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|0e609112686c93e64a8f28e445fbc235f20ba3fe80307b6379b9eb837a20a26c",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|1286e2d934d062f0d5d58f9ef9c3a8ab8b9cd5e4dfba25fa767535dd442262e3",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|17cb0af3aa56f16a72bf2fa4699160c661d780489c6384dd5cf7632b83b0682d",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|190ad68db826f6f7fca714bc1dcac82198ef54233516d7a60caaff2017d077fd",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|1d131c8d209d28086e8acab26e41dfae4a59d584a3301049267e923ecaf1ac11",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|28a1a3f58059d48996c3b2c56b3913d57c332a9972ee57f414d4e227b8397c6f",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|2acb4b5afcddcb6552f0b253615181d9cf4389833363f7a11a71e12607063488",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|2c7fd37feb7df25728ad1f5f518181ba486db30f8a9f2e6386268c563345d080",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|2ed953c561da82c78ddee7d335cb837ff95fef94de8392265f0542d83eb033db",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|3fb9311254a2198ced56870cfe45ff778477ed0fd9d9dd9989b8d47e4a461097",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|4443487a29edeee4b6d95b8a7a68b5c03fd81045d72761f4ea20a6f83258779b",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|460475093412b3fa4532a9277692ae4c8155921a4ca8d7582999fc0fd4f4660b",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|4d519aeaae7a48813e9ee5a69267fac7c1667aeee3b12cde570a55e941ac6ae6",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|5005b25a47244d2698d12b34c169c51bf19fda1bc5889a0f4c43afbf5d9ba3c1",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|529335d5270849dbce88e573405d85cdd54d6df4cf941a32ef97e6229b1a2669",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|52a30f7afef20b744ce7d67a25340a36142153fd3359f8a0adf9117c0e17cf00",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|5330a20a7c04fb69b27fd17ae7f07f0461ef519078ab273984ed74fb07da1398",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|57b22347627dc407ab64f9daa9e2d467629daacee7ab2ce198cddd1d703ff29d",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|58e325524406a96559d78479939ba5fcd2a3a8b3c5fb37767a218687db7df5b6",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|5a0bf8ddc4e2e20de281d3149d9fe5f68277d75ec6cf1cf7599d21d6b4fc5755",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|5b650a6f5137d708df52ac26955648457d71c2cabcc3a14b07fb6b19a5c11568",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|5d79e69c29f889db5a17c2364e39c8f447722c424c22a313d1221c9047fdbdde",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|5f62d80531f665ece3771881f1f87c1bdcdc60909968cee8a580a1b62fe4b404",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|62098cbdb8a04ffd65831dec9fbdd12d0f22db57f64e54d29bb4b832b9b9539c",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|6d880b97970ca26c7dca874fddcf27cf1a57f7fd442afc79f723edeefdad52c7",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|70f5fc2005804c4685c90ff9a1711f387d724bacd3f9d2efc16ecb09b0c06bac",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|7325f7ea7c92704850b185ab2e03e0f6b156d433956ea4aa1426d29b749a2a65",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|7dbeea6c6386e28eff0a261a09a0d49460263f3f9490f2d78dd47181383dfbf2",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|825a88dfbcdb49ad7efcbb4a6eb2379d60365dca6b36ddeff40f9a597de0ce1c",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|83d7b0c60f2508b2e424b8c8f7ba9c7e04c25bcc208fda8b283ab5a0ac5f94c8",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|859e36a31a8b7463f0c958cd13bab028704d75a5fd426110f03939ea6ec7ff12",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|86eb4dfaa6de41b1994e724e751ecb9ced5abbe33137330ba60234c147a5e143",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|8e527c389590490db1a74588ef0cce515459c84672d4d3834f8f40a2c4674a12",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|8ea3ec762fed6853dcc828d4210d1fa843e7b2ef8942cb6b338634477ad7755e",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|9713495da2185bff5bdb0ed4172475effeca9fec9b87a1e8a90e11dd27d3e13e",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|9732c77aeb82f5adfd5131c63beed1ae4a5566d1c9c4014165e8dce18048ceb8",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|97466115ebd8a3b324e44cf0baab8c66d98d1b49e1e20360b526096698bb9fab",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|988d872fd490c45fa733b18acd16ab0b5256f34443ff9cc942e1eee0e3db1d23",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|9f562e346e052763fe3c3eb15b8e1c893fe2f4c44af7d8bcbebae905632f5334",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|a7a8c0f5b46a91f710352bc7bd7354c79c8ef8917756864ed154a47fcbe5f161",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|abadfbe23d5116c9c084015b8f86a7c57d86cf95d929f23bbe6a0e85a43e806b",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|ae6f8ceabdab27fa45e4077864a98c1aa655a6ac543a087d7fc04e62472b665e",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|b01d53c44281cfa0aa56f571b68e1b48b192c4fd18bf0799610cbbaca89edd8c",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|b60494041e91db5f6b12c9ad5a059b7252e15337360b9117b620ce327b58662f",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|b67243559d5e7d99ef90160a4caa71452a2aaeb34c8b030372616534644fbd23",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|b6bdc8e0d2526e108e335205f920c65ffa3531545da4fe95d318cf58b433dfaa",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|b81069aad8806d9626d094d5368e11f422ad8e8a5ccf547fa1bd6643bd941e52",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|bbd11a80dfb0b498bc9e895a2b1bf93bd978fc35d24a4b10d6a647acd64e17e0",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|c672bc4bfbb549f40942509cbcd06e1180edc74e5552f328e5a598e9ca7d2954",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|dd335c5fe4f9052e2ee8e5e8851db74e4e98c37afea35e68bcac0f7143422215",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|e2d6bc228bab038a289503ecaa5122579b52804905a41a49eab9b09230a0218b",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|e5beb2926b56f7eb0f16cb1643c00cc6bc7d148700edc5b7f770630c3f9fdfd4",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|e712d19cafac0dd93ca0dd695b386dcb90b76ccf17ba85e9fc0a9625521a3690",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|e7736869fcd8f02c83b5c1f7a193ab3e2eb87551fc999d1afeec972413190efa",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|ea4488b8314e399c19ebf0a73c4c1073a717c608cb6625bf467415b507642383",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|f330e3c504c99c712553feb42f94e3d080f8a6e61602abf781cbc54f056a688a",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|f71a043b245e930ff1ea0e2b9dcb635fbd75d83ea27a1d7ff14de74162af9c7e",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|fb5a9225743cfdb83df3c3157ac10ad9f709646e010349b034d7d3c03172d6d1",
- "openspec/changes/archive/2026-08-13-vscode-extension/TEST-NOTES.md|fe86849004149b133a0a7ae5311625e4c9b46e7c516dacbe39a01e25e54fc32f",
- "packages/core/src/agent-runner.test.ts|132772c6c1987ef83f1f680cfc3d260817fc4b85a11a28cbc8f8f8e924884592",
- "packages/core/src/agent-runner.test.ts|21d051efd73fae20e6836175221f1bc653c071a382af0d3752ed03e02e8accdd",
- "packages/core/src/agent-runner.test.ts|61e37a53eaa4486223cf9588554835f2e51d4818d5f390cc9600d312308b27ba",
- "packages/core/src/agent-runner.test.ts|68bb03085d36cedc0f1224cac9d2681378e6f94d3f55e458796995025d3259b6",
- "packages/core/src/agent-runner.test.ts|72f9507c83899095a276d3735ac1d0270d87c7ba840a72e49916a759b85fb625",
- "packages/core/src/agent-runner.test.ts|9249a07cfccacaffffc8164b953b2633c0d136f88fe13f5daf81a5ead9a7d25f",
- "packages/core/src/agent-runner.test.ts|97a2f63c9d1b236864419820e8d09c45242eb942e0a24ceb0e6c4547f44a2358",
- "packages/core/src/agent-runner.test.ts|ae5aaa4744f38675feae2abe90ac768b070dfcb82361383816a9066833c61d3d",
- "packages/core/src/agent-runner.test.ts|d5048edaea9f6a5902b4f855ccb07ce2d1dcaa3c3d22c531189e1158dace394a",
- "packages/core/src/agent-runner.test.ts|f8ed16f4676d14d592cad4daab34b29aaf3d92fcdd9eebdd3729d75fa7697902",
- "packages/core/src/agent-runner.ts|0f56f3d70b2d7bfd6c6705bb05ac4df7b86e5a0aca8c8ca9420f028e59eb0399",
- "packages/core/src/agent-runner.ts|32772c1732df5c38549dd0aa25ca2d783845739ce3656c546d9eb710f4b72788",
- "packages/core/src/agent-runner.ts|3eba2472f852efd2f104e27ba3fb961d6ab6c23f1d8982fadf4cfe2685b9bc13",
- "packages/core/src/agent-runner.ts|41300a222ebc1a986847e2c4660b6d826c7ec09543707d0f4942feb2af7ceab6",
- "packages/core/src/agent-runner.ts|5ed0152bfc2c3da53c3e3ebdfbef30db9afff3cb64c9a95822e3707a534b2965",
- "packages/core/src/agent-runner.ts|61a0ebe241685857a498a70fc50c3830425bb216ebee69804ecddee5ff24e7f1",
- "packages/core/src/agent-runner.ts|655933948c1b3b6b71b41e012aeee331712a80e7ed493ba6cc0ddedd2c334130",
- "packages/core/src/agent-runner.ts|6d37ab18828957d418e2e806be061accb680c2c55b5dea14acddcf649e01fa3b",
- "packages/core/src/agent-runner.ts|8ccb6554a791200e66565fcd9922f4212ae9b1995ba3885fe595047a092c6d04",
- "packages/core/src/agent-runner.ts|a3b5e4b79a1632529176978874198b1fc8d7b48bb3672d74fc49ca491a55f45b",
- "packages/core/src/agent-runner.ts|b8b996ad68c47dce77bd8740cde948ad515e4bdc5027c9eb3a2f7ef0ef58f8b1",
- "packages/core/src/agent-runner.ts|ba67a30b6f3e6dd08953548084607a99bf49bfcbfdaf0940f6fa49dde5d9e578",
- "packages/core/src/agent-runner.ts|d2e6f92875e65ee497293c64028c3c89452e60b583223218413bb7325e6a066f",
- "packages/core/src/agent-runner.ts|db09c2844e72f54e51b3bfaa26c77bfef4d6c724b028a10a377ad2e22540196d",
- "packages/core/src/agent-runner.ts|ef8f099656491fef664bd701d20aaf2e660747d53f8ea3836bff9bd30a53f4b1",
- "packages/core/src/agents/claude.ts|07e496e0a4d10c1aa1eeaac998e44729a3eaa1064b39b8132644333daa947194",
- "packages/core/src/agents/claude.ts|34857b8b7271a5a6696d6997f6950602e7a36f7fe5c95af5722fdc3002d2c6a8",
- "packages/core/src/agents/claude.ts|3b86a53e68644b8cbfedcd538a82d942887a0c1a5d4b7bf0b1d51869b7e581af",
- "packages/core/src/agents/claude.ts|3bd1c32a72cbdd595adecf801be8e9eaf82caf52ffd65665a9810ce12e1371de",
- "packages/core/src/agents/claude.ts|d4a5c9b4605514ab964bf42d019e9302a7e3a129954539215d0d9ce4ab5e7b66",
- "packages/core/src/agents/codex.ts|848238309ecb5364a466872920eaf7293005bac952e5b3912c0bbadd4d796512",
- "packages/core/src/agents/codex.ts|c177c08a7edb475ac9758c1e0a644b8e5960cf67c2b63a6c3eb3eaec47b3c349",
- "packages/core/src/agents/codex.ts|d42bf69f49216b01eb9d7748cd76e22b90465c6405c92ad44e8d7c703b6fc88a",
- "packages/core/src/agents/copilot.ts|0d7e311b048e9cfb99e7d12bd1fb24ed8b5aa9187949d67a9314ffa9dac48bc3",
- "packages/core/src/agents/copilot.ts|173691c26a7050d100ad37d34154e08e93a209671e0cdf5029fdac3915233625",
- "packages/core/src/agents/copilot.ts|2071c5e65b31bd2782c05b82f585d91f45d4906fdbe22bf691209a9d06fe3000",
- "packages/core/src/agents/copilot.ts|4313cbf7982fa2e8fee8f9d2431a0ee6d4e7ccae5bc1b38f6a9c2d6706690ffa",
- "packages/core/src/agents/copilot.ts|6ed55c22dc8e0b989ffbacea7f24e1bbf4463925702c37699d108fefa87e481f",
- "packages/core/src/agents/copilot.ts|7b507e24f91e15c1274c135c0429a0ab55d39138af82ce69fea1623e797885b1",
- "packages/core/src/agents/copilot.ts|9ae4fff5b2cbc176ee2b689acb0f63cf764f8957b6ef0f63e71116a702fe4fb7",
- "packages/core/src/agents/copilot.ts|b543d631cdb5eb9d658c69b108704853c9665d82375c66f070d422e1d10bb6c9",
- "packages/core/src/agents/copilot.ts|ba67eb379639b40a9dace7cd0c318f5f061b02e9e472f6f755bfaf280579df0d",
- "packages/core/src/agents/copilot.ts|c1db8afaead380f3cb0cb21c4dde385a2ce37c7a1502f43b3e76d8edc4cffc79",
- "packages/core/src/agents/copilot.ts|e530df7512488cfff6b08b2d19e54ac99a2a4150ea2159c7e26b33919693c8c5",
- "packages/core/src/agents/copilot.ts|f6d7859ac0afeb243e5451c40062be9304bb986dca747c1966a3d29c5494fc37",
- "packages/core/src/agents/copilot.ts|fbae0e12b314208ed5593cfc273f364e7e689ef8aaf539a943e8053cdbafc4a2",
- "packages/core/src/agents/gemini.ts|109180f450b4fe79e0a38b810a6d6069958086f63f88d1a60bfb1f67aa6a918d",
- "packages/core/src/agents/gemini.ts|941d35ba2c722b7bb2dfc381adb56c7b3829a5610c09d2351d4ab40f351dccd5",
- "packages/core/src/agents/gemini.ts|c3ef173572da777d5fc305dd301be61b83e64615eb69d00ad507644aedc9f38a",
- "packages/core/src/agents/local-llm.ts|1ae3cd2021797a0639d1067ab3d4544c43fdf19349bff3ddf5774fd1671520f4",
- "packages/core/src/agents/local-llm.ts|3355efe6175d6b493d9848321c20bde1d17c2c5fedda1e91d27c5efcd0199c38",
- "packages/core/src/agents/local-llm.ts|5ef3afcf85d6860e6ff7f3f5a7b5d2e80c959a1c945eb156000ef86c8a535a35",
- "packages/core/src/agents/local-llm.ts|8384d21140e9bf742980f14d3e768ff06172ed2c27494210a88d54f3c086aabc",
- "packages/core/src/agents/local-llm.ts|ad98102a5cabb555cdd6889065a5f92e9282172178ef6506e81024aba0e49488",
- "packages/core/src/agents/local-llm.ts|adbc48ad2f994c1431d0713c89d37fdc6e0606cb8f9303ef1cb122e1c2552503",
- "packages/core/src/agents/local-llm.ts|c22cc1ad53834ef2472579b4be5cfc0408c098b1e850fff2352e91ba12522511",
- "packages/core/src/agents/local-llm.ts|c8ba7aaac0082ea60f6a6976e4c7d0344f3517d1a0722e3ffec97c16636e2218",
- "packages/core/src/agents/registry.ts|147eb57a9b3c18161e0a1adeb3b3f9d8dd4490659a651e84198fff13a22a1d86",
- "packages/core/src/agents/registry.ts|243c613bbf17081c4067e36063c8eaee3e280dbad412dd38968c32113fde700e",
- "packages/core/src/agents/registry.ts|348dd33fc1eb61403bccea3a34c3633139deed4537ed6e7787129eb23ee13689",
- "packages/core/src/agents/registry.ts|ce39600d6ee247f97cbf524274088eb8cc158c2e9d0763c787aafb09e2d13fa5",
- "packages/core/src/agents/registry.ts|f21b9647d7c8d0627c4ddc54776767791d772e3dee384299d112699bb1f0bb41",
- "packages/core/src/agents/shared.test.ts|1c8f3a315e957cb68c255a3810f4289dc84da20a5cf6a5b17ca5d18f79ccc661",
- "packages/core/src/agents/shared.ts|023ff013fa3130b0086e0c37d2b52dd75a1048066cb5774e5983d5b65fabfc77",
- "packages/core/src/agents/shared.ts|05aade8d679c194c7fa5a32671b684d1eadf17b2e20d1c5314a87e270a4fd728",
- "packages/core/src/agents/shared.ts|17647817c4538b9b0bb19f66e6525aeb76de4e38a5d609d21acdca807a0c2acb",
- "packages/core/src/agents/shared.ts|18eaf25f2acc40cc5bbf8b7074b45884a5a42bd9295db93b4a765ec9f1045e59",
- "packages/core/src/agents/shared.ts|1cb821f8c8f8e3cfddebda5ae05b170e0e37a93c7ccb5e194b128c7e8ea8ddef",
- "packages/core/src/agents/shared.ts|2a186c74642de3dfa1261c1b43ee96669db1f9d654f7414e1271c8aa8c899c3c",
- "packages/core/src/agents/shared.ts|2aa3387c700205d3eaec8d0fbad0a5dbc31ae3a4ad58b037a2a89ddcffc76d00",
- "packages/core/src/agents/shared.ts|2bca093f90a410da8b09d6bd5915fa916621011446e974e940add706552beb08",
- "packages/core/src/agents/shared.ts|37ad37db23cc9f884355813f545d133fa31bdb1e136e3660af273ddc0844efe6",
- "packages/core/src/agents/shared.ts|3b702a44c29ecc69eec1a26a7470fea891c55be16a68942bc1464523e2c88713",
- "packages/core/src/agents/shared.ts|3efc697bb8ca64f9dab5633ce0f51a9bf6846fca925a6ee19c4742007a1a0000",
- "packages/core/src/agents/shared.ts|457c7f901b7a745103019b820adc7bcb4d53d770800ac33dd1c574282afe0e99",
- "packages/core/src/agents/shared.ts|459633016d38c8c4e5b5c2329937e29c2ceaed0360eb5d3aadcd8dc259821b42",
- "packages/core/src/agents/shared.ts|47325c044eac07870487f9aa58e5a9911eb54a382efdef96b78658d75911c898",
- "packages/core/src/agents/shared.ts|4b11d1c1fa3c9201887ae00e0122ee5e014bb163927373f4a5500759c21d5471",
- "packages/core/src/agents/shared.ts|53ad06dea227425846243441c2ebdb9b8ec9971bb2c0c505729c6a66f211dcc4",
- "packages/core/src/agents/shared.ts|59713cce5e5a6192a660ec8d0e2a6e460770202c547be756d36eb4b582c18ac3",
- "packages/core/src/agents/shared.ts|727a6907626435a13a73dd11b06c9c35884a6ddd15f3de4e0398307498fda592",
- "packages/core/src/agents/shared.ts|8add05c265854c716296140ff511cd724d034b269b7ddb8c5fc763dac6df72c7",
- "packages/core/src/agents/shared.ts|939d513718e39d4428eeda76f01c23d3f0f7ff36dd8c25f8c6c9c70974406824",
- "packages/core/src/agents/shared.ts|9adf9271e08822da7c17f4950886c4f1dd42b1aac5db13445ff16ef11ef257f6",
- "packages/core/src/agents/shared.ts|a1268b278cf72a32d40a7343353dd7a1af6c94e33da1a82d018b1901f6c3672f",
- "packages/core/src/agents/shared.ts|a14a49999f71326670f58efe599f6d4078f9812355af32a2d467d4cc9067f1d9",
- "packages/core/src/agents/shared.ts|b404a0ef5c10e82911e9f7ab4d7cdbdb64215f44147aa6efa6517bfecdf29efb",
- "packages/core/src/agents/shared.ts|be1e1387f347171ad07840612d106d9931d3368cb6e23e76423df8f05b8d08bd",
- "packages/core/src/agents/shared.ts|d0aef9570e266a8409ac0c2e144155521a76e70fa35a230af1d300850f86959c",
- "packages/core/src/agents/shared.ts|daa649a73fa37b585b90ffcf545efdeccec0ba520af35586b5ac560dd7bbc96f",
- "packages/core/src/agents/shared.ts|e23e9e8cbdd01732abcf5f9ab45def2f8b76912596d939ef3f90a45092dc6a38",
- "packages/core/src/agents/shared.ts|e74a4259ad0afa8b59044814bbf55df1d6c2eff199d90681ac994d128b79acc8",
- "packages/core/src/agents/shared.ts|e8b8c2b39b1588a201daae4eb2006f69c0f17c814f2b691db87b7146840ce9c9",
- "packages/core/src/agents/shared.ts|e8c560648bf614745b478d9eedaa9a3dc4021a104d94c85ca2b0d5e35565824b",
- "packages/core/src/agents/shared.ts|f35311bee91de8467dfd6921da45ab7e0f7ed64f8b402947e2addaf432c5fcfa",
- "packages/core/src/browser.ts|2e3b7f6cfe87cddc4e2a62fb9989dc8271650ad89d2a5ac14adb53064a5a11c4",
- "packages/core/src/browser.ts|6d74c9f1dfb0dccb46b0afcfc7eaa1389a1ac330b11191c8eb568ad243015b69",
- "packages/core/src/browser.ts|9cc06558309d9e72fe9e3867baf022f88ad3f45dc2ff9ea3cff328cdffb39b36",
- "packages/core/src/browser.ts|a8aa521ce8f1c1f9dc137a2f32d6d8324344f86896ed55166f46b0d23c8b5e49",
- "packages/core/src/browser.ts|adcf937be71347bbd04551939c862a295581a9d84915799e848d84fdba089af4",
- "packages/core/src/browser.ts|bfa00a209799bc78e8caf0c95fecee8dbae998247b9446fa0ca516560d53826b",
- "packages/core/src/browser.ts|c03415556583173facad45a72ba05e326a8e070e299732a47de648520f269cde",
- "packages/core/src/change-state.test.ts|0578b720e52bb54fa3c35d6dab77bdf8ac0f406fbd0ccf1feb0f857096f71f2b",
- "packages/core/src/change-state.test.ts|348b64b6574dee306e82a8d28c5e47519e5c4c83ec8120a3f375eaaf8f3cf0b5",
- "packages/core/src/change-state.test.ts|34972c94cb8e491f6272396941ab31e3269d5334ff8b470f0e1ab0f6ee4f5386",
- "packages/core/src/change-state.test.ts|4345cb431832ce804b2f6525c0c192a4b194e4ec0c5ba15893ffc2a90a9ed007",
- "packages/core/src/change-state.test.ts|60f8d65d88119cabe601f437546f61ab349855ae56a9f40a03f4d4694f87be40",
- "packages/core/src/change-state.test.ts|6119dc8073c108e6a0a26c6bb2c52caab7b7eddd3ebce11d81d9b8bc08d40738",
- "packages/core/src/change-state.test.ts|66bbe09dedf59f9cc346af5a4d922963f898499c30a7602666bf2f980676c819",
- "packages/core/src/change-state.test.ts|67009eb04da32107ecb8e5c0f3c723bea429f9990c524ce94f65699ba8525341",
- "packages/core/src/change-state.test.ts|71b130196b696cc283971c5eb2f6ea248a400d70bbf7fe777a035fc58633b92c",
- "packages/core/src/change-state.test.ts|7a6d423134a50a34fceffd47ae5d362da510f2b70cb5a58e27b159875a22edf2",
- "packages/core/src/change-state.test.ts|7aa835fac3de182a11178bb55ea5ea7c25431a5df3f038a84be529e66955a3dd",
- "packages/core/src/change-state.test.ts|7c326df0634cddb7107a7c4f9c67281990d2bfd6a21cd658006653bd9ac052d5",
- "packages/core/src/change-state.test.ts|8e479aa1a998d72a5626c94682463901be345f161d6e4a2a40bdb2474459a68f",
- "packages/core/src/change-state.test.ts|8fedfb4778e88751c601f9ecf2435b1ff897fdd690df45202b8068eb80c6ef5a",
- "packages/core/src/change-state.test.ts|91c0bae35bd45a6bf520dfe204d1652360453b4e80ab4519bea843c56418ec49",
- "packages/core/src/change-state.test.ts|cb2df81c04ced46f82161b312d5ed31acad28cd37a65de5b86889ed1f7ef8a5a",
- "packages/core/src/change-state.test.ts|d69c1edffe0d0d61c41b6c2885259e4613154b98567ff78eba876105ef26e319",
- "packages/core/src/change-state.test.ts|deb8e434b394a80448d1cb9a0bd2d5c83ebbb3b8a98a7866abfc27713470aa58",
- "packages/core/src/change-state.test.ts|ebcc88dbbca81983e55767bf1d8e0805ad106339cc3b169aa251f23e2a10f21d",
- "packages/core/src/change-state.ts|1ab792b28faec23875a48d34c56334d694a317c43487f310437ed7642c5b6c8f",
- "packages/core/src/change-state.ts|1af20d92f5d8fba317f68c193e6821ac486e4b185127d5bad0637d82caaa64bf",
- "packages/core/src/change-state.ts|2804ade6421583ed26cb156c8aa7a397368ef2c78e41c080f71c45be63d265c4",
- "packages/core/src/change-state.ts|3a0ef727be9fe7e401775598576b19d38c41b96c29ddbfc154dcf0589b0730c7",
- "packages/core/src/change-state.ts|475295614afe0e98580a0e138c8e968b85700210fc5106880ba3dfa53b4bff2d",
- "packages/core/src/change-state.ts|495246c69137f3d0e71d2795dc2fbb36359493fa6918fbc51c360846c2b5ae14",
- "packages/core/src/change-state.ts|62d099e602fd17f081ecc86a8c49d7aa6066a31114829b840a2cb6b1cb8b4c55",
- "packages/core/src/change-state.ts|85303e5b094a69e84ce81419ff4b986ea77f15393ec158286ca55fe15f34692c",
- "packages/core/src/change-state.ts|94a41a5153688ae1df56f546c99121deb25005fb121591197d23710878c97994",
- "packages/core/src/change-state.ts|96dd85ba1b4286d44204c377582666a98b6ff5470569db8969e52c5be20434c5",
- "packages/core/src/change-state.ts|b5a49c635f79d4cca4288eb06b699fc7bb00549c899dceeb6bba6ece3edb8fc1",
- "packages/core/src/change-state.ts|ba7a262f6bd251e659d701b51cad24a5b277816c9195350ee925ac423347ed6a",
- "packages/core/src/change-state.ts|c422e76204a687b8762b3e5e89f87e2f8d66a89ab4afc50a218c8df80e1d405c",
- "packages/core/src/change-state.ts|ca9170990284a1bc4ce4639fa64f5456de6d34e878c2b97476c637700b8dcf33",
- "packages/core/src/change-state.ts|cd2b69df5a8e9c0297d9057749340be554f43b500675b62106d4c685d30a0764",
- "packages/core/src/change-state.ts|deb1faf038ad82cd5347191b0f564137f8168ad373755b902150af97ef3091dc",
- "packages/core/src/change-state.ts|f1d8470e3c2ddbaf45b366a44aec17554b03a0c5c321242f73e92f8e27af6685",
- "packages/core/src/change-state.ts|f28ca84445aa382561273f6383a704dae72efacd13eb2b6b96039c3a36b00e47",
- "packages/core/src/default-runners.ts|06ac708346c37cd8c84f5ff4cce66f78650938f3f47e834b955f756ec35dccb9",
- "packages/core/src/default-runners.ts|2fc4a5d41307ef6131214234637b4706fb3637848aa28270a2b3a862dd2a5b70",
- "packages/core/src/default-runners.ts|3af54ead4a9bea84bab6cc70407f1d5c33c965c429e3142dcb62f6fbc99f5454",
- "packages/core/src/default-runners.ts|46e5bf70e6f530b78093c0ad5c04cc4e32296a1958bb5765ad6dc77af9741ffa",
- "packages/core/src/default-runners.ts|49245a618ff2f28c1be0660db84abf0ad0210eb6bff9fae01b29aa5bdd6a3ba5",
- "packages/core/src/default-runners.ts|5e26c602dc8f6e4ac6e4a2e48903569ee620053be86dd0bbcee78bc5fdb00d26",
- "packages/core/src/default-runners.ts|87490fa36672321d1caa55242556902c07fbea97fbb449eef616969b43cf75f1",
- "packages/core/src/default-runners.ts|a3fe02ecda7dfd416ded9b82213849e7cece19ee8fa99c6b09a191613014183c",
- "packages/core/src/default-runners.ts|a5aa2d837d1d1b412b725ba2b7c797f7d354b7c12c1f2847028ef71cc01beb1b",
- "packages/core/src/default-runners.ts|ae8664402d5675e1bf0a039b2aa8a0025d75031d4a502fa1d2a764c8dd53aa7a",
- "packages/core/src/git.ts|4b7d79973818553522a3e80f9d3b66c06a4ccbabdbcdd54e39e3a2e7ed13f19b",
- "packages/core/src/git.ts|65722d0da539a29db746dbb72e8d11f0eee098f2237bad259914a396b4437240",
- "packages/core/src/index.ts|59013762ea16208bee23ec2b945ec92b119338945aff75fb3e1783eb80b0f57b",
- "packages/core/src/index.ts|5defd5975e95daa00b43baee514a0ec47a6785dedf117b6de229eeb7c5c5a5a9",
- "packages/core/src/index.ts|ebe5455971400742eea1cd674ce7357c8284566a1ca1fc8c38368c15188e9993",
- "packages/core/src/openspec.test.ts|1333e1581e37df0c07a7d8ce2881876104ff9315b0009e8c5a34ab7d88fa918c",
- "packages/core/src/openspec.test.ts|276efc41523920cc15b0e4e604077299a7f1e51aa161bb212a0ad05be233dff0",
- "packages/core/src/openspec.test.ts|4e05be087eb236cae4f97901e3a481bff450e4f2aa3986c88cf9ab77c835163e",
- "packages/core/src/openspec.test.ts|85d0d459726886f8f3055ba4dc83677dd26d026667c2d1874f72b5bf08f91110",
- "packages/core/src/openspec.test.ts|abb6abcacdd78d979beef67b6f32e422b10890fc4b2e2e040d5385640d8a9957",
- "packages/core/src/openspec.ts|0921e0427af11f5d91d56bca397d1861775f62cc038316b7413ad369fc3ce6fe",
- "packages/core/src/openspec.ts|092b08e90cd846f300d4ba9897dc22b7865737262c1ac5ed2b08f9fca8f263df",
- "packages/core/src/openspec.ts|0cff2e0fac5b2e8d6d31f8d3c870bd5e9d05cbcaeb42f3f007764b1489b11908",
- "packages/core/src/openspec.ts|1fd62c40fa994f040954045837ce91ab0a1e767afca62c125c7afbd072aef096",
- "packages/core/src/openspec.ts|20844b98bde72c69d85c5c64651417f586b58baee92861eed7b06f403161e58d",
- "packages/core/src/openspec.ts|37b5928fb902cb51a34005a45c4e08a7ed7f14334eac48a03448001de5388ff4",
- "packages/core/src/openspec.ts|578b82ae24e16869323bf09dd927adbc4dd0f8078151116827c2a4d8048640e2",
- "packages/core/src/openspec.ts|5f03c251261a455af73aa3b1a6777b9904b983d6ea9cef7d573485ce2c3d5d79",
- "packages/core/src/openspec.ts|6a8109ad6dca9339323b0b3e129299953c995c73328d048a5110e2fa296a32aa",
- "packages/core/src/openspec.ts|cf64fa1c573ad007398841b66fa0a01af5a185570229f804c2d09a3e7c7a2ed0",
- "packages/core/src/openspec.ts|e96cc90612a45deefefc3f4ddd3bafd0d305030007bc128912cb4eab6a9d4247",
- "packages/core/src/openspec.ts|f62f45e30c5c775d1a4cdfe152e0d49983948bad433bf7980ce6c95fa136f990",
- "packages/core/src/openspec.ts|fcfa822da003fe3ad80dc79189533659ad92b90e81e546a2449fad386969ec2b",
- "packages/core/src/protocol.ts|077cce056afb986933595b49d49ac271aa3d7b018589f1b2f66706f5d66568ac",
- "packages/core/src/protocol.ts|21724a9239dd9d8456f4d1003080c041c8801ca5cd3fa4e9a9eace3a56d85d67",
- "packages/core/src/protocol.ts|29d5446cb3a9fc9e7b49bb9a621d7ecd927e42f1afe49a386dc7f0c4d6ca3399",
- "packages/core/src/protocol.ts|2e7a24aef11dfa351dfb80b0fbbf9d2b815c67f455f9ec1cd3cbb21d20937ece",
- "packages/core/src/protocol.ts|47bf84eec747286fbc5b0f7a3ff87f76cb29b9016d449a98c4e23b0e2181daf7",
- "packages/core/src/protocol.ts|4c46d05c283c63509514364a3719d31e04e8220027bbb9355a9e31280b277bff",
- "packages/core/src/protocol.ts|646e3e49640ccd4a23d91db3fecc4aa1e924ed59536960d80d1ae2032cf42f97",
- "packages/core/src/protocol.ts|64e1a95d41f9a395887f5d2a47d1543a2e1ffa258700064a5f923c7acb5cf314",
- "packages/core/src/protocol.ts|66955a730567a0083994828c9777856dba30e13edcce1b7fd6c6e2d94a09d018",
- "packages/core/src/protocol.ts|6c1d3531d2acf2883b06e3f53ab6a4d6b47470bec2108c3fa6dd7c7c4e32765b",
- "packages/core/src/protocol.ts|7a4a97524b5425e42366767691798357103fd1b77401784938bbc9df63d0f677",
- "packages/core/src/protocol.ts|7afdfe0574be5c45e2d336ceecd89ea5b8e6091ea813b48aecc057f9dbcffcc2",
- "packages/core/src/protocol.ts|890558707b2c173791118589f65db392c6ed5516225d74849ddaad10516338ba",
- "packages/core/src/protocol.ts|93265c2ba0926b3cd75f74e98cf2aec738d3c90572b3a57478a0924bb278efb6",
- "packages/core/src/protocol.ts|9c509b8979cbba1760091a20e42a8feeaa38421297eb529194b267ed31a9ac95",
- "packages/core/src/protocol.ts|ab08128e3cde2afe9fcc35ef6b6355bb07b7afc4fd6ef861e426088d09b45b3e",
- "packages/core/src/protocol.ts|b4f3d5545ded3382049d99807990119913a2f2b1dae6cc3be51f8bc6352e6ee3",
- "packages/core/src/protocol.ts|b834bee396bb1b74f274c729d5c2656ab198de4afb157f76edcfdb9346281158",
- "packages/core/src/protocol.ts|c389fa34e5a736f7a843940b9cea41bb25f95b503aaf0b1e83165825731d8c49",
- "packages/core/src/protocol.ts|d6a6a2bda31dd1b7e497393b3d94f9d0cd2534a87ad43a5611861a78c9e3f994",
- "packages/core/src/protocol.ts|f2fa298f8952efb04a7041fbbaa42baabb993d0b3b833b2c8f672f603c413598",
- "packages/core/src/protocol.ts|f9777adea4def6e3839f440883b1abc08fe0d375e3b14b857cfb999ce1f6a289",
- "packages/core/src/protocol.ts|ff461c7d3087e45ef4771b9a7a6c7c2db5971e9b9861269b7982b2e0ff75ec6d",
- "packages/core/src/security.test.ts|24008a05b420990efcf3f5c5cba8433459de956bceeb898779afe97ee6a8b4ca",
- "packages/core/src/security.test.ts|3eb55b0979a8084c5908465abd61de5b9a2dd64faaa337a79f834e9e71808bd9",
- "packages/core/src/security.test.ts|58366a263da896e2a747d0a1592c4cbb521e0088add19790f1e09b475e0d3db1",
- "packages/core/src/security.test.ts|5aa830c64483d5a21054037c1ebee07b2f7f8d8859b9ce954ce6839d0732547d",
- "packages/core/src/security.test.ts|79db82d816f2a1174c840613483607327e1c537d7f57713d867c42641dfc2e29",
- "packages/core/src/security.test.ts|efc34b195067975b56b20d48a1b6959d117cd21aa2d565a57aa0cb6975fe3654",
- "packages/core/src/security.test.ts|fa3247985cf1d655d1a409b4a9ba7699631bc78424f8489450d4c8c079afcb9d",
- "packages/core/src/security.ts|04919a1df60dcf3cd31bfb6df8a2bf0c5b7c1f1fcfe83d1c6739b0624359d5cc",
- "packages/core/src/security.ts|0dcd72d380a6c6c5ee8c54cc04a6913b2991c609fbf1bc9e28c9eac811544f54",
- "packages/core/src/security.ts|21f9b81d6d7891fd1a686dbd1700a134992fb86278f29137877e9409d7eafc92",
- "packages/core/src/security.ts|26d65c1c82ebc73836aad14722a71ee03b9b1a2a764a404e68f645dc8b56c297",
- "packages/core/src/security.ts|2747443e2ad3e1030f082295e41ca3316315d2e1882f6cce194fee82be562c4f",
- "packages/core/src/security.ts|2c03e6016fd3dc7afb337fbfec46a3d5f73417fdbc53d6ce45511d45d63af0ab",
- "packages/core/src/security.ts|31694ecfa3b4b64e6bb8da85e1cfce05c3f893dc84390e591517bb0b5298c7f7",
- "packages/core/src/security.ts|31d5308cc04c4dadedf9ffd3328c74d413ccdfff9291944ab0c522cd12f77b30",
- "packages/core/src/security.ts|37631991773ddf31205637c2a254d6dffdcd3e65b9b70e9c7c486e54bb43ba57",
- "packages/core/src/security.ts|4583422336305214bc8f458e5d075d3a74c6a1a5cbb7e9a2111eea13cf5827ef",
- "packages/core/src/security.ts|4b6d5b677f81fc5c820214f71b2af81ed144c66e119d585152109c085a011c29",
- "packages/core/src/security.ts|4d32359c44971700dd4846bfbfdced0317a097f362c6ff004265aaf1800f9c9a",
- "packages/core/src/security.ts|4ddd6953b0eb1862ff7f587741a0747bb894225d8fc7beee5831d8b6bf54c196",
- "packages/core/src/security.ts|5aa684e8df6676029c2463adc54b3c45b97b0e57da6c029356721ba38134c83d",
- "packages/core/src/security.ts|6cfe22f6a555d69b12dd60cd0bb03bc7142c2fe065a2ede1d764cf3cb5ae154c",
- "packages/core/src/security.ts|708466eeec1d9c5f2048b594d71f18433b3ea2c4b1481021c729985d086164df",
- "packages/core/src/security.ts|87d42d076a1934bfc28b0e080004ac6800eadfebcc0ca3763f13d49a015b82c6",
- "packages/core/src/security.ts|8e28fe4899d896aa860b75f166f0a70d7f920c4a9977d109c0a4cf0f9b92db3d",
- "packages/core/src/security.ts|8f56c472e6eb58df37e42896b8c8d981b948d37cd67f2081c66204fb3d6a7ca6",
- "packages/core/src/security.ts|90dc1eb95150606efd3a206451ba3b491a4e222fdf4d1543f1b3f44949a55d6c",
- "packages/core/src/security.ts|94543d0e417cb6cd3ed250ad7914298a0e8260720b9abdd09a252fbb697941d5",
- "packages/core/src/security.ts|96c3426195229923d46301aae141bc75a9dde18491dfaff83f1869f1a822f430",
- "packages/core/src/security.ts|9ae09e6bd9490da4ab2dc81a26d1c977a4e1f7176ea16441ff7aa997dbd7d2f5",
- "packages/core/src/security.ts|a08b626ca9c40104c8741827968a17cf215316524b19c2872f6d49e4b1a3330c",
- "packages/core/src/security.ts|a1de1e13904c648a044124ad75426a50d7b9cb1932574c7b92dd83bc09b0153d",
- "packages/core/src/security.ts|a6f19c998c5a407b5e43ed3f01cdd870d568c62f5db9b4af72c6e767d862d646",
- "packages/core/src/security.ts|ac21b1ceae63bb0d9cf3d44a66e77fbe006da2e8b5232ad4ef978559973248ac",
- "packages/core/src/security.ts|ae91fbbee18b2e7e073c6d603218159bdad49be05eb88611a37c0f7ec81e389c",
- "packages/core/src/security.ts|b6a915cc5a53511ee966ecb48b43853899a56e15773d716623b69ea16adbc021",
- "packages/core/src/security.ts|c07dcc1b1b4bcd867824af4f8454670a4e0c5cb0ac41555572bb69cf60d8b57f",
- "packages/core/src/security.ts|c0a520d710979ecde683ca76d731db827fff74bd2b3c11a156a8f3003d0ef52f",
- "packages/core/src/security.ts|c817c03a8331f1fed4d8a4b30cf41f35fe33a5f26cfb6228c64fd29dfc3abc97",
- "packages/core/src/security.ts|c9a40c5217053b397cf2c0b93ff6ebb4ede8cb31bf43be18fa2ce4221ba2047f",
- "packages/core/src/security.ts|d16edb5332868f0aac229b0e05501fb8b49574959d25e020b42833372395093d",
- "packages/core/src/security.ts|d93119d8b966162944455601e2894b0ee216fa1ef3368f29ec91ba66e1d84b24",
- "packages/core/src/security.ts|dbb8cd788f719b5c90401e82f1a4f064befb3dfe3c7293f5bf938a77ff7359a7",
- "packages/core/src/security.ts|dc5706b33bf6df797025c5f348001cff1abf7e0f0064847f30cddd943cbff047",
- "packages/core/src/security.ts|e15063472cee00df7f348f86168c1af67c958d0f909d6fcfd5dff68081e1ab5a",
- "packages/core/src/security.ts|e21ad61944332c2a08d8717a5fec8dede8b8d4848684ca3f500f6b92344abbb9",
- "packages/extension/scripts/build-options.mjs|1903576f81fe5869a998407da6e8af5ebb247b01143ab4681fdfde5aaa3362fd",
- "packages/extension/scripts/build-options.mjs|2adca73e41944b1cf42c2dfe32c3d55a345af736c74ac49531a19cb7ab07b218",
- "packages/extension/scripts/build-options.mjs|4c4ce780082cfb37c131e3664a59a26623e25f166ab29c38595359990ec45ebd",
- "packages/extension/scripts/build-options.mjs|6bfb9e4976006d71da56dbc941d614129e4fa495e6245b3eac07c1bd48259f52",
- "packages/extension/scripts/build-options.mjs|6edc272a117d3410625fc8a8c63d9809a6fd669163b3d4730a62ebaf34df663f",
- "packages/extension/scripts/build-options.mjs|a354339504bf847afea8e222b6a130b0817b77d01137ebbeae96c5ace3eccca3",
- "packages/extension/scripts/build-options.mjs|ae6f9989202f24d123edfb1891b2287eb0f4b77cccaf4e7c240d6e54894a5631",
- "packages/extension/scripts/build-options.mjs|b437920dd28376d599f903b6a8578208ede448bc3743f4276199c4342ca759c4",
- "packages/extension/scripts/build-options.mjs|cb40b294aebc6778b25ef3169812e4d593480a0b2322076a69b69e5c3c0cc938",
- "packages/extension/scripts/build-options.mjs|cfb5f1878a9e7f41ee866274948f815bea70845291ae15e41259883f81cacf7f",
- "packages/extension/scripts/build-options.mjs|dbf06fd61392096ff44002089d704d87918a3d84415a2e7dfc3ed3ceb5b5cd97",
- "packages/extension/scripts/build-options.mjs|e1c10ed9e868033d7069b0b454ea579e0f158db7a8c06839509706e279e03cdd",
- "packages/extension/src/commands.ts|35ae566db0916b7979f0cd1a1bfb493b9c53e73390b889bd0f39812f5507ca2f",
- "packages/extension/src/commands.ts|d439fea17e89d8238fb1f893757c98b34bb85704f3a5fb09903c75b7f5eddfde",
- "packages/extension/src/config.ts|5675e366ffe19b3e5ac029d99d8cdb3e7b234787625ff2c1f3366bc381f35d48",
- "packages/extension/src/config.ts|e64537f09a23d7898f5a838a01edc5a6eeddf1d6528356e8d170abbcac67e8d8",
- "packages/extension/src/config.ts|fc3632536a609fad9bacb50d76d30fb9a8db98d56eb974e49c43b8d3c4853dec",
- "packages/extension/src/extension.ts|304ae929c9278c5f543d65b4d459b3f346151b006545fe1a9b8bba076324265b",
- "packages/extension/src/extension.ts|7982a25beb081b11342463f863b06310db2a347bf1d45c9b583156eeb66c31a1",
- "packages/extension/src/extension.ts|9563be157566fa26b5827d38c7b20c814e10c99feaddf9a7f75c74569c7b135e",
- "packages/extension/src/extension.ts|a5f76148bad3f62aea3bae1119d830ac58c7825e401ec12980ff5499cd72adbc",
- "packages/extension/src/extension.ts|f21b48192a4d75d9e8d66f13be365d228c6576f43ded5001d6f5a72ec218331b",
- "packages/extension/src/native/diff.ts|1cd71f8b4b2c8b7acf4c42d7ea170254c7f17216d0c591b0a99e94aad19d9d3a",
- "packages/extension/src/native/diff.ts|280f88d7fa05cd41aa3f8fa2ca81337bcad536ffbfcf4ef051311c7820493504",
- "packages/extension/src/native/diff.ts|ace6de97e120ac670aded6264db935dbffd2e1196d5088d2b0e51abd4f717b1d",
- "packages/extension/src/native/diff.ts|e15625f21c773854fbfd16c555dde0a68003415782f5b7a344db6b9091bca808",
- "packages/extension/src/native/git.ts|2468b3ae2930faf51d4c88af975c13c81009d2d5a3b5a4481f1f51509ecb195a",
- "packages/extension/src/native/git.ts|50a922d8af3b149ecd8962687d5d0b3d422b02956ee5214dc79d1cedb50e03fe",
- "packages/extension/src/native/git.ts|b372776a6d034c0b55d3bddced8ef327665bee46dd1f94f56e51889429401b1c",
- "packages/extension/src/native/open-doc.ts|338b029f32657b3b70f8ad5c138c7d42836b7109283a8d9e91bc619c9476325f",
- "packages/extension/src/native/open-doc.ts|df0aa706677ccb0773ef500d1914dfdd45aeb6e73332e7edd90008cc850eb7ab",
- "packages/extension/src/run-controller.ts|8878bf8adfe717a4ffbfa83cb3a8d77f94ba6feab4a1818fc08cd491b9357c1e",
- "packages/extension/src/run-controller.ts|af3f03fe1e5869c95a5da4f456a96f903cce18151e6c2f72a76b4426e989a4d0",
- "packages/extension/src/run-controller.ts|afafac6288c48999e745d7c08da9f9af25ae7c748dfcda496380bdaf8b96bbd6",
- "packages/extension/src/run-controller.ts|ca96dd4baeac77283871e5f823dd168838bd7b3c6b50dc3aafb674eb83e2f47a",
- "packages/extension/src/run-controller.ts|e9231f918c5d2cc3a01cb78c5a085800a10162109f2e51b54b77cdda35e77313",
- "packages/extension/src/run-controller.ts|f51198d35b2f5a72e24a5a13e2c1fe509feefe55d850e0624bd463811c5ade0d",
- "packages/extension/src/test-utils/vscode-mock.ts|4437c82806b48832fc00cccb21bd09019e8a19cf6c61c586cab875dfeef2b9c5",
- "packages/extension/src/test-utils/vscode-mock.ts|696750d0b87d0cc228b6d08bd970361b4ebbc07c494c3385f9a3133dfad3accf",
- "packages/extension/src/test-utils/vscode-mock.ts|7d986fa733c0d970c49f4dec6b46a8ab9e521a78d9f2354fcd8b949c58d83820",
- "packages/extension/src/test/run.mjs|30ff677d7c72b3723ed3576d6f584ecaf93623c0aaaabd0dea175ecda6443bbd",
- "packages/extension/src/test/run.mjs|7645a110f8ac03edb9048885862f3d7bc0cb87d69f1bdbb353c6c767d406404c",
- "packages/extension/src/test/run.mjs|7788674ea2fce9e0e31d4762f7ed8f838511200c11bc20fea2d99b993f37e82f",
- "packages/extension/src/test/run.mjs|f057aacf04f789875dcf3d607f00b30f019e54ed2e7a3c393146b850533bf22f",
- "packages/extension/src/test/run.mjs|f574e821bd468e41ef10ae81f6a725bec55b6cd8735e64b043a79cbcd9612b5b",
- "packages/extension/src/test/suite/extension.test.ts|b2d3d10e714a7b15d0515191988639691b42f7a111cb94cca03a7a830ff96d2a",
- "packages/extension/src/test/suite/extension.test.ts|e2f5680105bdce119b18c1b34c98fe68ff4c8483de926ca578a06e8c89d846a6",
- "packages/extension/src/test/suite/index.ts|a46853985a6ac3f41a1cd4d6d5d7839e0e7afef6994d5a4ad0211e58e7111764",
- "packages/extension/src/test/suite/index.ts|daf63766803d18531ac77ace97a10b5395a9303e4fbeae565c1ebbec77580414",
- "packages/extension/src/test/suite/index.ts|f7aaa8250576048b88803b834c3f2082557c4268bd8c44048cfc65c0334cf50d",
- "packages/extension/src/webview/ai-panel.ts|4a6494bb7111a03d7fc4b6835eeae27ca183f18e288d629100d0a22460635451",
- "packages/extension/src/webview/ai-panel.ts|6663f228de0db367f2616ed9b78c13c845b5ec9c0f43430221fb5aa150383dba",
- "packages/extension/src/webview/ai-panel.ts|9b72fb2eec794f56c534d37f3ce1175a127b6e1a1bcedd81ef1c6dde9eac47d6",
- "packages/extension/src/webview/ai-panel.ts|a76b4a7dab3d260276749fa15eea4c9e5848d006624fe464b74a0cea1fdf5c21",
- "packages/extension/src/webview/ai-panel.ts|aa7120b71d71201dae60a9c9b401778391fe8956adc5d51a13a81f08fa3a92ce",
- "packages/extension/src/webview/ai-panel.ts|d6bf2c6f70f748ab80f1ac7e098d19b9c5342e712c94ec578fc99d19d0ebab73",
- "packages/extension/src/webview/ai-panel.ts|ef954f73e8185e4c4788e27583d50ee74da1e092bd10fa3c5a8159f6a9338119",
- "packages/extension/src/webview/ai-panel.ts|f0e09a5ac67e4d2b770c9169883d00955dcf3df9e202aa5cb235733a01a6ace7",
- "packages/extension/vitest.config.ts|0fb0c5c014bf44e43a428f9e8e415cb2b6d84235f8d9189ba67ccc0f3dc09bd6",
- "packages/extension/vitest.config.ts|1d5c526170a32302401bc9ad1e66d7a5dbd4de963970deb0d912db2cebe898eb",
- "packages/extension/vitest.config.ts|6009029bbafdef7702a1f354aad638c11c8e00a6b0972fde7881e76aaeb20578",
- "packages/extension/vitest.config.ts|c22191906777177efb4ca292f4efb7411d1fad2df738da10aa81c4abe0d774a7",
- "packages/server/scripts/build-client.mjs|38606002cd7a7815f55ba670c172c8db27df1e6042324fdaf2d6275406b8a7e1",
- "packages/server/scripts/build-client.mjs|57b092a623dcdcaa3a58387492b2eab1e4dd6fcd3b025b85d84dd5d66983f240",
- "packages/server/scripts/build-client.mjs|59d1d56ad05aded3925e53241ee4c00fb56626884f8294a462a72a2692ad102d",
- "packages/server/scripts/build-client.mjs|dab2f6f75e048d213baee0d4e3502b4d2ee8effedf68b6cafe608e4c90e2a03a",
- "packages/server/scripts/client-build-options.mjs|50fb152418a8f500f89eab1080ae6ab56cd15b6a499a7c96bea6f2f0f4abf44d",
- "packages/server/scripts/client-build-options.mjs|5bb5b6cd69beb52611b1d8ef9651905904a45f8edcd72cda2104d01521c49e65",
- "packages/server/scripts/client-build-options.mjs|97eaa4c1f91ba2ec018cdd53a767177c37bf13ed41ea342c2bdb2ad0cb09c71c",
- "packages/server/scripts/client-build-options.mjs|d313df113807d4d7a748409fc452cf9c1a872f32ba31f49b3dd9eedccd4e01ab",
- "packages/server/src/cli.ts|57fa508cdad237854540ec485496141efdbf8a99d25938e1e580ca70bf196c09",
- "packages/server/src/cli.ts|a7917255c73ca9b6789197e37a4ed07a45669523c7f121aceece08c82a51ecb5",
- "packages/server/src/index.ts|348ca4b83f01785aecdced6e80b942e34eb672d4a7909a41d06068bec38121d2",
- "packages/server/src/index.ts|b2aee367f0d251d798bb4306e0c1c28c3d4975951c7afa270743ae6d91c0859b",
- "packages/server/src/rest.ts|5f2d81f723a5dbcd0b8e054a2a75f8eda964aa8a1b8e2db9b16ca2642dda8271",
- "packages/server/src/rest.ts|b7d98262c63d1a68361a5bcb2233e906ed8ec178b54a63cbf60ad39240ce7944",
- "packages/server/src/rest.ts|c48da33495e6b9aaccc07cf931da6a4edbad8ac5eabbb3af33a6f145cc616d3c",
- "packages/server/src/rest.ts|ec3636c9b6cd71d2adbce005dc19e12c7b1a919f6993562cad9c904a7a44c3d5",
- "packages/server/src/server.test.ts|0443b4be9da850dda5b7ca8c02432654229a8117f05926f5fde46e8ba629a0cc",
- "packages/server/src/server.test.ts|0d489707392c60879abcfaaa015671c94d949a56a0f6ecd87032f61c59c91a7f",
- "packages/server/src/server.test.ts|17a2849f2df32129ff5f9dd5fbdae25b1b603637fafd5e8ed6c124a929b915c4",
- "packages/server/src/server.test.ts|1a3075d2a563c5ee9a30f50c747ec3bae1d8b3a66807febf4456e82cdee99124",
- "packages/server/src/server.test.ts|597c7e902ad5346030cab7675251694f39532f6df77e238fd1cc159c4e821e4a",
- "packages/server/src/server.test.ts|9dfddc7451f34cd2e034c75225a141644effc997c5c8a72a4d3fd973d88c71a0",
- "packages/server/src/server.ts|159803a8431acd7b289111ffc3e026c1c8369862d2e312aa4ee442ad6ff5c93f",
- "packages/server/src/server.ts|1cd98243019a0e22ad7dd9a97ebda299f0dc8b205add2884e71e26ddacaba59e",
- "packages/server/src/server.ts|3a867128bc240ff0101b2f90b1517c7229967f9b397c97e3ab859cd4c0afa145",
- "packages/server/src/server.ts|7fefc60bb8126dbaa428eaf8f2a1cd9502ed31df84223b73f50166ae2b9cada0",
- "packages/server/src/server.ts|b6db37966573e7aebf10dec025467b7bdaef25dfc318cf4e62a544c479b72adf",
- "packages/server/src/server.ts|efa322dc5db2f5221e2df22f6e25517000f8a5f1a71ba5827d8566eb10a3979e",
- "packages/server/src/server.ts|f09c504f8201c7ec581af9d8f8f5cb7b381e7f560175a2e44cf08ca4609632c1",
- "packages/server/src/static.test.ts|178a2699bf0e9f7a8e69e662afc378585e8f18060acc3bec5a837484db25b97d",
- "packages/server/src/static.test.ts|41fd8e5247aae944e93bc34a7dcbe9eb500296bd4cfee9e9cc92fa3f15c4f235",
- "packages/server/src/static.test.ts|5888528958e4301b8a923d2b5799be032c3eb941af880b2fed9aec7918e86246",
- "packages/server/src/static.test.ts|cfe1c69bf4d2093bc11592e557c1c526275f7cb143acfbe7ba0d9fb72e81b802",
- "packages/server/src/static.ts|02743cce0ad6112aeff7e47b212b59325b3f722050ca85fa9b837f457ff519a2",
- "packages/server/src/static.ts|152e17a8fde7266d7fa89e733b8e8f07b45ea53d33634aa1678a9381b5f33942",
- "packages/server/src/static.ts|21283db58ca497b7dc6e47187ebb9dfcceeed7f3a822af4107201db3ea72f18e",
- "packages/server/src/static.ts|3ae6d25edd2481041d25e03f8d00acebfa80898dfff66f9971095f317acbc932",
- "packages/server/src/static.ts|3d213d5f39d04fb07560a7f2054547f737e265c94e7503bfc6ec21eda9f95f83",
- "packages/server/src/static.ts|63d312886d0c8d9479276db579d45786fa3fa47278b1e86d2cebc79b0c6874fa",
- "packages/server/src/static.ts|6b9e646c7c16574253cd93ae85e1ef14447378c453792a87d0045eea36110791",
- "packages/server/src/static.ts|731484ad4fbdfa9d1552a9ae59c299eb21a856757f30dd60e3c42fb7cfabf313",
- "packages/server/src/static.ts|7359dc47da2855471651fd4afd04a624e2b3c7da6063819e7a4646361ab76b6c",
- "packages/server/src/static.ts|7a2ce1b19d14effac73a83355bfafa615d3214a8e9e5708b9d7344a6b66c4464",
- "packages/server/src/static.ts|816b816a8c92e509bd30d33a571025d1e32eeed3ad1da6685ecb629586fd2f3d",
- "packages/server/src/static.ts|83aec0e44ef20968b9d80dc5784b762f1fe940024b254556bdb33f5c9326b090",
- "packages/server/src/static.ts|97c69dbd949f1958dfcdd38548cf13ad9dc63bef3f75f8c7f250d2e88465eed2",
- "packages/server/src/static.ts|9f47e933011077d06b6bb519fab07b8d57c1bf833c299ef0f036642cdeb5fe9a",
- "packages/server/src/static.ts|c72ddbf769501a420e7c5fd91299aeca63949953f318bd1e68eb3f0fa6119698",
- "packages/server/src/static.ts|cf20b68fa1c35e00d1d6286d8a15aef97c3871342cb218b28a63ff214e7cac8f",
- "packages/server/src/static.ts|e610015983b8d5519909104766d279ce229ab8d2cb7c0dc9fc1b72f4a0c6a42f",
- "packages/server/src/static.ts|f5bb9ce71e4d6bcbd23c9807dfa3e7090deb93cf8dd4ba259e06024a25dc5e5b",
- "packages/server/src/websocket.ts|0108c4d6153aba8460756f46125664d5894ca9f1b0a6dc99c7bf9ec610a96712",
- "packages/server/src/websocket.ts|63f171c18aa163bc62734e7cdae0611aeb3b3ca5f4734cbaa235638f9580c591",
- "packages/server/src/websocket.ts|b24a14447b141bc88c9ea4f9593997666444f3a7503d539cb9a104faf0741c49",
- "packages/server/src/wire.ts|19038cfe13241f430d9655859ab432eab03433d285dd3a8e147bfe02d25a789a",
- "packages/server/src/wire.ts|5dcf1d55660ad9355fab1c817d138637362422fe832ae21b1803d1db3b6b645d",
- "packages/server/src/wire.ts|dc661d7d2086134803db0b172f5f339c5b85a259fcf152ffc0a5c0690407f6a9",
- "packages/server/src/wire.ts|fbdfdeb4c614ce85266f24446f3a089cd55f8ac6be9017eda89aebea3271b211",
- "packages/webui/src/components/AiPanel.tsx|16f5f4811f2b8e5f0be815ae8596a7f08ba51a6f1354b10e74b71de31e7e3d34",
- "packages/webui/src/components/AiPanel.tsx|3ace307d7fd2bdaadeb35786f4aab87e8ffaf27c08148afc51c59d5ea9907187",
- "packages/webui/src/components/AiPanel.tsx|4f0c5a1cefb352fdb0426dfbc4ce04fcb559460c825345269e076ca4b8b97575",
- "packages/webui/src/components/AiPanel.tsx|5e7e8dde9e3e5c3457ec65eeeadb6099e1d7f47e8ee74d36ea6af109ee1eef04",
- "packages/webui/src/components/AiPanel.tsx|abeed77d41dbf06ef698a270e89e73833e8b3a1978795bec2a474ce02e6fbd56",
- "packages/webui/src/components/AiPanel.tsx|c8e7179f2ff9851aa8250766988affe44e990be20c5e33757c1941ea5ae79b11",
- "packages/webui/src/components/AiPanel.tsx|e8448597c0c7682b6b9def9110742f0c7e0d86efc5aa5c51671342ef9b82ba1f",
- "packages/webui/src/components/ArchiveList.tsx|2163d94297169647e31a8babacd0b16d0cf7b86724c076457a3e251f26df2791",
- "packages/webui/src/components/ArchiveList.tsx|6d8a89fe1ac0208c7a0b5a113766ef71b472b31be4d91d24426877eeae77b406",
- "packages/webui/src/components/ArchiveList.tsx|85f9519a7fbb0fbb17ea60808d46f8fca1485c8c97b662d57979864323177a16",
- "packages/webui/src/components/ArchiveList.tsx|d5baa8af21b2c866dea8f8969a9c1bc8bdea6fa0cbdb87a6b4f8e190eec79bdb",
- "packages/webui/src/components/ChangeDiff.tsx|11694d1fc575f1ead7ec410b0aff0fd2afe8b945e230f31e2f0bdcde680e8b2d",
- "packages/webui/src/components/ChangeDiff.tsx|538be44fae26a0307b4dc1a91ff625150c3c0ddf9eefd6dc56395190fa600aaa",
- "packages/webui/src/components/ChangeDiff.tsx|922303fb81f39ebca9e0a5bcf429e03aed2a8cdc8b9de4506c44152110cd27d7",
- "packages/webui/src/components/ChangeDiff.tsx|ac9021a3361097b5ed352f3f99cf2c44348156946697f849ad158cd22e930e46",
- "packages/webui/src/components/ChangeRelations.test.tsx|38e9bb79d84edf56f39d0d61d7b53eb9e2876eedc37a6b0ec393fc449f471c68",
- "packages/webui/src/components/ChangeRelations.test.tsx|cdfa164118c19e110700cea106dd0876489bef7cb9e817e9c3a7869f42a68a6d",
- "packages/webui/src/components/ChangeRelations.tsx|6c39a201f141c1814fe259f80085463d6117d82e9f35d9812aafbe9e2b6a7037",
- "packages/webui/src/components/ChangeRelations.tsx|8c245c61ed536bc6d62c0023f7a8d2f20c6738de3011e596aa9ea036adb163ad",
- "packages/webui/src/components/ChangeRelations.tsx|9b93bc11cf6773808168193cbaa6bde3d572c73a02413d3317145974d24753f3",
- "packages/webui/src/components/ChangeRelations.tsx|e24204acf9cbb818aa6b3c22bc668087419994529372516ee9dc68ab4832bab1",
- "packages/webui/src/components/ChangeRelations.tsx|f2bc0c29a75fe488e147d74fcc8f9954b3b40247a03321d31a45b7d16182961d",
- "packages/webui/src/components/ChangesList.tsx|47bf783a279c54f3cd80a56f54a67a76197abcb01755bf1cd973211577fa9b9b",
- "packages/webui/src/components/ChangesList.tsx|de51ee23974713e4f156212aec6e96b10981039fb15d9e0cf92c940a85406f20",
- "packages/webui/src/components/ChangesList.tsx|f1902be668ab4f094c8f96e4c318d48b7e00240e7c8e1aee1b4ea4c4b3514043",
- "packages/webui/src/components/RequirementView.test.tsx|30f134465c923316abb647e8dda6596b7c061d74009495860ddb7274541c7824",
- "packages/webui/src/components/RequirementView.test.tsx|5791a2ad6681acc608092f61b052e39f2942f4926328e4899a0005e0a4ec9197",
- "packages/webui/src/components/RequirementView.test.tsx|7cdf8845aaff0f654ea3594ab6856b538daeb12d5cbe068b0331b3190b55cd24",
- "packages/webui/src/components/RequirementView.test.tsx|d4bbf81232b25b87e60f86f6285fde0889aa836bb95757dc7b57498b5fb007e4",
- "packages/webui/src/components/RequirementView.tsx|03ab9a0652f079c2b3967e6813faa22e4f6e996039446c42102c6271fef6774f",
- "packages/webui/src/components/RequirementView.tsx|10f3cd0d960e892a31b45226a53ebab605cdb9432674018d8b7a7a3aa04277e5",
- "packages/webui/src/components/RequirementView.tsx|1a3595c03da8eea21e871291abfcf1b5d3e05c5b923d789e41c2d2240f6db2a5",
- "packages/webui/src/components/RequirementView.tsx|8ecb7cce932c4e797626fa3af6f390aa4f8b17ace8b4f7ce0c621db7bb64908f",
- "packages/webui/src/components/RequirementView.tsx|cf1f3558d00948a3ff34a9a541ffb88b438a43db5b4e1d2d452d7274d3592251",
- "packages/webui/src/components/RequirementView.tsx|f0301d95bed43c30be938372a0396298ec8834b8bc4aef72ba78bb59f6e1da12",
- "packages/webui/src/components/SpecsSearch.test.tsx|018ca099730190b4cef079635d5b442bf9268706d6f9049fc9ca72e8d36b4705",
- "packages/webui/src/components/SpecsSearch.test.tsx|06b0631f883f399a9915f385721955e7fab7b5b5ecc1bf22d2b7c0170b32c6f2",
- "packages/webui/src/components/SpecsSearch.test.tsx|507d8f35e74bd7b2886156ba0ffbf3f63725440263cbf6d1ad92018c355927ce",
- "packages/webui/src/components/SpecsSearch.test.tsx|82073f4fa01691da1f452706271636c49599edfe0afd08d293f318c91782a30b",
- "packages/webui/src/components/SpecsSearch.test.tsx|db77123e7f597553ecc5280cbc5e0bd5e8001d52af2f0d634e5bd03401d13875",
- "packages/webui/src/components/SpecsSearch.test.tsx|f3b5c21cc5acb600a58d30b95e9607a5ceedbe86c8176555e71cc46f425d0676",
- "packages/webui/src/components/SpecsSearch.tsx|dca93d4a7b0e9a1e7974caab0caf3991c989df2efc71edf50370931c376d5361",
- "packages/webui/src/components/SpecsTree.test.tsx|06b0631f883f399a9915f385721955e7fab7b5b5ecc1bf22d2b7c0170b32c6f2",
- "packages/webui/src/components/SpecsTree.test.tsx|5e22a0bbe164642d0e8e2525c08f12921695c91a9a6ced76a74303735fff0b6a",
- "packages/webui/src/components/SpecsTree.test.tsx|63ebcae048df5d54380e475c437b11b931bc9954d5cdda59801af52b2339d99b",
- "packages/webui/src/components/SpecsTree.tsx|5c045790d42a1817b7854fb17950838db472a8bbea44d4ff6362b16058308b75",
- "packages/webui/src/components/SpecsTree.tsx|b2751a28b86cb91d849a9cb3e8b41c8efd58603a20487eb6658e43496b790f9f",
- "packages/webui/src/components/TasksChecklist.tsx|05bda9a30c009df3ff56e9698ac86953f246e39a0e8116c6802409c1a5522711",
- "packages/webui/src/components/TasksChecklist.tsx|383e3c5e419d325207dbbaec4ba864b16c7c3d7d57a77efc344eed7d1d11ab2d",
- "packages/webui/src/components/TasksChecklist.tsx|6e0e64e0db3f82bd72a6259b12bc39571db91a287263116b6aa4df12c6ef5d2b",
- "packages/webui/src/components/TasksChecklist.tsx|8ca9bce917593037fe38293aa3967f09e3a971a52f8924411255b740f37935ef",
- "packages/webui/src/components/TasksChecklist.tsx|b31bfe3ac2461f067bb9713819bb1ab20fb81bac914d80d5ecc918722c8f3b5a",
- "packages/webui/src/components/TasksChecklist.tsx|ee24d30d8dbf62c55be1421dd7fb509bf1fb084b8f306d97709e08f9abe42148",
- "packages/webui/src/components/TasksChecklist.tsx|f0f7b14346aec4f0fcd634b78642fb6dde881bf020acf87d8c6f86a0fa1f60e5",
- "packages/webui/src/extension-entry.tsx|023dc0b3fbf6817607ad9e13c5cf451fa64745ddc9500649148ce880cba8def3",
- "packages/webui/src/extension-entry.tsx|026d66c7546bca2085f23b2868823e7c946c5dec39e5ce8520fd0ee43a265cd9",
- "packages/webui/src/extension-entry.tsx|4c8c4076d50ac8274c1d2408de29572c1bd76593989accf859178d08c8e78767",
- "packages/webui/src/extension-entry.tsx|c74690bb643995b934afa89001bb375e577848c888b53b46cc330a93626febf5",
- "packages/webui/src/extension-entry.tsx|ec70634dafeb084432c698cbd724162bdfe645f605b030d87d0558fd867811d8",
- "packages/webui/src/extension-entry.tsx|fb715330f25b31201e28483b325a73adad1edbd078bad7ddbf97b85d5e37829a",
- "packages/webui/src/index.ts|423ce2ebc813d4255850fba993f57932da24615b155d711e9215f9ff78f85e12",
- "packages/webui/src/index.ts|4409f6120adcffdca54737521ecb581c1ab9bab648ff70f0d12c809965ca81b4",
- "packages/webui/src/index.ts|76efdd81440903a0951e98a1bf4e9954fd43f8b72833617e7952821cb29494b5",
- "packages/webui/src/markdown.test.tsx|0b3d1c7fbf4f17dc3583a9565e8a2b555fa2cd4ec7aa36b44a9dd16a9d31dc81",
- "packages/webui/src/markdown.test.tsx|184c503651c9f2346ad471487a35c346fc70b64c587d38d285036735ed1dc72c",
- "packages/webui/src/markdown.test.tsx|a8680cd9543928fdc8e7afc4169dece536603b475ff414d81afa9268a6196742",
- "packages/webui/src/markdown.test.tsx|ef2094052849fb42c895bc16f563720592d1c2b2790393980a2e0795a2dad4ed",
- "packages/webui/src/markdown.tsx|0f60b336c8ab51dbf3ebcdd6d14eb4d2edccf9de8325b044d62f602c2ef516f9",
- "packages/webui/src/markdown.tsx|33a67e9b54063c125e85f01513639a929798c2f4507ea8c3ce93a49d52a3bc18",
- "packages/webui/src/markdown.tsx|b6ad36811b022b96183b508b8dfe5b6256afc972ca24f50316f0021fd2b0094b",
- "packages/webui/src/markdown.tsx|cbae7d791ac1f16d2e6592f708c69f63cbe6dc3b0720b332e1b0add0ae4563d5",
- "packages/webui/src/standalone-entry.tsx|21f31b30070f875a6e0a37417b1fb6224c4f483c353832ed6d4adf52392701f9",
- "packages/webui/src/standalone-entry.tsx|540a79bd313a6f71d421689b90cc19b13acf9989e288e20fae031b277cd809a9",
- "packages/webui/src/standalone-entry.tsx|83568b38dbe5ce6dd82cb7b4c07af35563a1f6d86e8a8b00e9273878446dd75a",
- "packages/webui/src/standalone-entry.tsx|d37a3c9f627897aac5ae3d8eb39b1d5be7945727d56847c7468e5667c4d13776",
- "packages/webui/src/standalone-entry.tsx|f70d3d2da3fa61e9c99926105b423e7916c09f81ae03337d97a245cd645b229a",
- "packages/webui/src/transport/contract.test.ts|182301ff0eb4bc46677279b209142d3fefecd01030fa033f379f5b9e06ae015a",
- "packages/webui/src/transport/contract.test.ts|29993888776af19791e5793a9fa3c4f24eb1565aaf13309049a9a7ebc6cc5741",
- "packages/webui/src/transport/contract.test.ts|2abe3ad0cdb8a51ceb7c0db4ef624f431dabf47ded2553a83252a67a00d7cb28",
- "packages/webui/src/transport/contract.test.ts|2b17dc2f7ce6f2c0b715b27fc5f91c0aef7ce23d90e43e5a2806c2c69d567cc1",
- "packages/webui/src/transport/contract.test.ts|5fdf7e1def6daed1c14fcaaae1f311af801bcbb0e2feeb97fbc371cf67c99016",
- "packages/webui/src/transport/contract.test.ts|60cff644c9bd7f59e4b2204dc57ed4eef0fc7518c8548c0566d9474107aba459",
- "packages/webui/src/transport/contract.test.ts|62ff826a4de0c41732abfc925d63786758d21ac0e1995cd6f1f40123542034d1",
- "packages/webui/src/transport/contract.test.ts|63768ef3212bd9c82fe0432fe13ac05e34f539a15dc17afbcbfedc79df0c9a30",
- "packages/webui/src/transport/contract.test.ts|69029fea0815fd8de5a4d73e5f773ca9c76c564446b05f0f2d43e74ceb30985e",
- "packages/webui/src/transport/contract.test.ts|913c393067a94defd0559c2e8e27299cefb4c1c0f9762d80b86f1fddd6354e6a",
- "packages/webui/src/transport/contract.test.ts|9ccd98dfb859de3171ffffb94cf08fceb3eddaa79a3740a61bee443bd1dc5954",
- "packages/webui/src/transport/contract.test.ts|d82c098d223aafd8b68a29e094c6094e3590d0a020b0f235b50eea803778f7f6",
- "packages/webui/src/transport/contract.test.ts|febf7f992c172c3897e5defc7695b8292c96fd727993e4fc4086e145c5b1fbb4",
- "packages/webui/src/transport/fetch-transport.test.ts|0a14e938dbbbb6ef56b1ab693e8d6035cd66af930208a19c6b738a79beaaa7ee",
- "packages/webui/src/transport/fetch-transport.test.ts|19e0cd0c0813a9572d176ca66c237f7775af675e313921d4384e843d909f42a2",
- "packages/webui/src/transport/fetch-transport.ts|0e9c1ef864e8d0b3189b105b961e068488f6adb99bdf5c78f0983cd581310622",
- "packages/webui/src/transport/fetch-transport.ts|0f740034444ac85aae6ff9196d861757e0498e32350af07770b6f919e33019bf",
- "packages/webui/src/transport/fetch-transport.ts|1f8581f0c8b81f7ca01a1ebc9d24d0ab5cc848b0f2c01121bb33e2cdb5539a37",
- "packages/webui/src/transport/fetch-transport.ts|20382a28c782934dbfd2945dafd9220cc49205140ae167d521ac1f295714e8a6",
- "packages/webui/src/transport/fetch-transport.ts|2c3ef58e4a2b1353a69199965182d42273b644730cd22adce71982b31ffc7ee9",
- "packages/webui/src/transport/fetch-transport.ts|2f6d3da427eaa41f6c71811341ad0d5b52092df9259618977e78e7ce7fbd77fb",
- "packages/webui/src/transport/fetch-transport.ts|3be4c0c514016d4f14ef286b9d946eb2d3910c98b96d4082a82dd07ff5698c25",
- "packages/webui/src/transport/fetch-transport.ts|4412f5aa8bd29e995bbae3876911b49317d6ea4a4b49c8d9eeced3b6b1658a36",
- "packages/webui/src/transport/fetch-transport.ts|4fb9c70ff011cfb413e191900f5203c74b5f9aa2ac34a0303980840f4f690d28",
- "packages/webui/src/transport/fetch-transport.ts|54f55a5b3fbeb84567f48f584655eb3b43dcfd2d74ac2255a99acec4164acfb3",
- "packages/webui/src/transport/fetch-transport.ts|730169ef6e7656bca0cd2ed9683d7c1ef47da37c59fb785bc28f6c4890afd8dc",
- "packages/webui/src/transport/fetch-transport.ts|7e7ef809ce47461cc26e60e85645213225503347bf8d6d723cf50083ac82f071",
- "packages/webui/src/transport/fetch-transport.ts|9f6aa9e0ae6213f44b38f412cf19415c9e57b536918222478e91cc182c45b116",
- "packages/webui/src/transport/fetch-transport.ts|c9240e268321c812fafcc26c50df2b8aa09d20ec53a7a1d63c95aa9856d212a0",
- "packages/webui/src/transport/fetch-transport.ts|d4f89083efb689206d74be9cc8e670074b134f89178bb16aaf5e6047010e9288",
- "packages/webui/src/transport/fetch-transport.ts|ead52fe798e21955e53d2180c3a77b23859e486d45cf460ce468552c35debfe8",
- "packages/webui/src/transport/message-bridge-transport.ts|0b1d90fefe0a625a69bd9c26e770288eaa3deb5a0c55b187355b3ed5380bacfd",
- "packages/webui/src/transport/message-bridge-transport.ts|143f11ac6fd6fffdbf1287578476c876e2bdb7d008005c6fd90d3a0a5e3b348f",
- "packages/webui/src/transport/message-bridge-transport.ts|28355072c3cb64c0c717a84dc72597b65b1ab2372af50435856e9ec0648b13b6",
- "packages/webui/src/transport/message-bridge-transport.ts|66735de67c49a63473ddfd2b1a5be013a92fd4ac1c380cb356284cd1b3485af0",
- "packages/webui/src/transport/message-bridge-transport.ts|7027b99303734a2103ca320418848a9af81fc9715333fcff4cc1089d77d5050c",
- "packages/webui/src/transport/message-bridge-transport.ts|afb18e42012685d2fea5002a38827a0995a564237e3f76f4d96de3b1ef754653",
- "packages/webui/src/transport/message-bridge-transport.ts|d0d9d6bbff77d74f0e355b7d3237292ab8a8f7a70219d697d4f5291cb4abc5fc",
- "packages/webui/src/transport/message-bridge-transport.ts|d2902d482e2086a72cb7eb4d998081cebe03febae32eb6c4f50f0aac3ff21880",
- "packages/webui/src/transport/message-bridge-transport.ts|e3ef4080e855bb2ed1fdcc5305d7bb1a929c59845e3af77db0e68f7efd7034a2",
- "packages/webui/src/transport/message-bridge-transport.ts|e4d03bb19c62bccd17cd453471ca4abd107813ef9d2eaf043e998eef115266cc",
- "packages/webui/src/transport/message-bridge-transport.ts|ea7a309efcd44261136e198aa287b693f8fc2601a1b2f58f2a4de4a7441fa4c5",
- "packages/webui/src/transport/types.ts|1f3e7a8ed1f2477baf0f0095b8a0b1bc5c3d7c50610103b42722c4db7a8348d9",
- "packages/webui/src/transport/types.ts|4b86c270aa46cb8322316c1dbe4fdb94e05f5d9fdfe6ab5e47338f198bf7ef44",
- "packages/webui/src/transport/types.ts|4cda772a38f33a16a2dd16c7a6c477504d698ef411019cb42db87b4e63506d53",
- "packages/webui/src/transport/types.ts|56e4bad7084d6206549084fa42c70f173ad48319079bd67d02ba1bb8219bc5fe",
- "packages/webui/src/transport/types.ts|8ece774f0c3e0cfecd92e424b6219d86743359a6db290cb74cd3ba7c4673e8c1",
- "packages/webui/src/transport/types.ts|9e0d97aaf76864c6f854e65db7dfbd92ff2a27cb23e9cf941dac1ba6d514fa57",
- "packages/webui/src/transport/types.ts|a2cdfd30277ea7498eafed30c90514b807e6b2d140e2d7258bb3952bace6f55e",
- "packages/webui/src/transport/types.ts|c4127ed998d779964771ade09f8eddc9b9d903d8163598dd6a44624ec3d37496",
- "packages/webui/src/transport/types.ts|e4f7f4643a9527a19ee656b33128c5423e830cde6cf9649f1cdad391ca346f48",
- "packages/webui/src/transport/types.ts|fb812f1e40e756ad2c71d4fb7ad5852ad0a9f12fa13b8edd39f6f23ec9b037a5",
- "packages/webui/src/types.ts|07967ac2391e12b5876cc09e5a11fd26e26d99d80cb87e08bf49dc8928072dfd",
- "packages/webui/src/types.ts|128579e50cc47449dd17bdcdad6bccd0c6bc58ea3491036c4ef567677492a493",
- "packages/webui/src/types.ts|7858fafd58dcc46b2e0401ae9bdc7401caac7cd78f4dbef240d3b85221e05463",
- "packages/webui/src/types.ts|87d4548131459466de40f95d5d3393baeeee38125b79b953ebe912116ac9527a",
- "packages/webui/src/types.ts|8e016781217df33d15e18e370ca0954960d3d24e5a7242e773c8254a04ed1e47",
- "packages/webui/src/types.ts|b919bc11a1d46c19fcb6a40e233fdfd4db45c616ecae6178159a951cfd1c462b",
- "packages/webui/src/types.ts|d467e23257c37a75f88863b7e74557c467f127b6d0b93acb648498f0e6f847e4"
-]
+[]