feat(web): add authenticated localhost client - #386
Open
VishnuM049 wants to merge 26 commits into
Open
Conversation
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM449 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
Signed-off-by: VishnuM049 <vishnu.muthiah04@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Add the localhost web client described by Slice 5C. The branch gives users a browser interface for daemon-owned sessions, conversation state, workspace review, configuration, and session management while preserving the existing SDK and security boundaries.
It also makes workspace selection practical by accepting safe path shorthand, showing recent workspaces, and adding session filters for workspace and Chat or Code mode.
Fixes
Fixes #99, #100, #101, #108, #109, #110, #111, #112, and #117.
Addresses #98, #113, #114, #115, #116, #118, #119, #120, #121, #122, #126, and #127. These broader issues retain acceptance criteria outside this branch.
Approach
The branch updates the wire protocol to version 10. Older clients fail the existing compatibility handshake instead of receiving partial behavior.
Workspace selection
Recent-session filters
How was this tested?
pnpm --filter @axl/daemon test: passed, 60 tests.pnpm --filter @axl/web test: passed, 62 tests; 2 real-browser cases skipped by the unit runner.pnpm --filter @axl/web test:browser: passed, 2 tests in Chromium against production and development gateways.node --test scripts/build-web-assets.test.ts: passed.node --test scripts/installed-web.test.ts: passed against a packed CLI outside the repository.pnpm typecheck: passed.pnpm lint: passed.pnpm format:check: passed.pnpm check:boundaries: passed.pnpm check:generated: passed.reuse lint: passed, 365 files compliant.pnpm audit --audit-level high: passed with no known vulnerabilities.git diff --check origin/main...HEAD: passed.A full
pnpm checkwas attempted during branch validation but did not complete within 20 minutes. Nine host-dependent sandbox checks reported unavailable Bubblewrap, Podman or Docker resources, or macOS Seatbelt behavior. The focused web, daemon, packaging, and static checks above passed.Learning
Path convenience does not need browser filesystem access. Bounded daemon-side resolution supports useful shorthand while preserving canonical paths and failing closed on ambiguity.
Checklist
REUSE.toml.Signed-off-bytrailer.CHANGELOG.md.Licenses
AI assistance