| feat(web-adapter): add HTTP /api/web/* routes, web session DTO, and dual-parity test harness
- src/adapters/web: HTTP router for project files / git status / diff,
with workspace-root validation so traversal-style paths return 403
instead of leaking the host filesystem.
- src/web/client: GatewayBrowserClient + protocol/web-message helpers
used by the browser to talk to the gateway over WebSocket and HTTP.
- src/web/server: listProjects / describeProject / readSessionMessages
flattening session.transcript into stable WebMessage rows for the UI.
- tests/web-ui-* + tests/adapters/web: contract tests, dual-parity
scenarios (text stream, abort, history vs live equivalence), and
http-router/project-files/project-git tests covering the new surface.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(web-adapter): add HTTP /api/web/* routes, web session DTO, and dual-parity test harness
- src/adapters/web: HTTP router for project files / git status / diff,
with workspace-root validation so traversal-style paths return 403
instead of leaking the host filesystem.
- src/web/client: GatewayBrowserClient + protocol/web-message helpers
used by the browser to talk to the gateway over WebSocket and HTTP.
- src/web/server: listProjects / describeProject / readSessionMessages
flattening session.transcript into stable WebMessage rows for the UI.
- tests/web-ui-* + tests/adapters/web: contract tests, dual-parity
scenarios (text stream, abort, history vs live equivalence), and
http-router/project-files/project-git tests covering the new surface.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(web-adapter): add HTTP /api/web/* routes, web session DTO, and dual-parity test harness
- src/adapters/web: HTTP router for project files / git status / diff,
with workspace-root validation so traversal-style paths return 403
instead of leaking the host filesystem.
- src/web/client: GatewayBrowserClient + protocol/web-message helpers
used by the browser to talk to the gateway over WebSocket and HTTP.
- src/web/server: listProjects / describeProject / readSessionMessages
flattening session.transcript into stable WebMessage rows for the UI.
- tests/web-ui-* + tests/adapters/web: contract tests, dual-parity
scenarios (text stream, abort, history vs live equivalence), and
http-router/project-files/project-git tests covering the new surface.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat: add gateway/adapters/context/session and Ink TUI
Introduce the gateway and adapter layers needed to drive PolitDeck from
CLI, TUI, Web and Feishu through a single backend. Gateway exposes a
data-only Gateway interface with InProcessGateway, RemoteGateway and a
local WebSocket server (token auth, /ws upgrade, static UI mount).
Adapters add a Claude Code-style Ink TUI (welcome card, header,
PolitDeck/You/⎿ message labels, ink-text-input prompt, deep-blue
theme), a CLI/TUI remote-first entry that falls back to a local
in-process gateway, and Feishu webhook plus session mapper plugins.
Pull session, transcript and context out of agent into top-level
session/ and context/ modules, including the EdgeClaw memory provider.
Add gateway/adapters config parsing, a Vite/React UI skeleton, an
end-to-end OpenRouter Kimi K2.6 tool-use test plus a TUI recording
script driven by ink-testing-library.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 25 天前 |