Repository navigation
feat(platformclaw): add employee web ingress runtime - #10
Merged
Merged
Conversation
Contributor
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
Contributor
Dependency graph changes notedThis PR includes dependency graph changes. The dependency guard is informational because the PR author is a repository admin or a member of
Security review is still recommended before merge when the dependency graph change is intentional. |
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.
What Problem This Solves
PlatformClaw needs employee-authenticated browser users to share one OpenClaw Gateway without exposing operator credentials or allowing access across personal agents and sessions. The browser ingress must remain outside OpenClaw core so downstream behavior can continue tracking upstream.
Why This Change Was Made
This adds one PlatformClaw BFF runtime containing one shared
BrowserGatewayProxy, one private Gateway client, and one HTTP/WebSocket listener. Browser connections carry only opaque session tokens; the shared policy layer resolves user, personal-agent, and session access for each request and filters results and events before returning them.The listener uses the upstream Gateway protocol and public gateway-client package, applies exact-origin checks, bounded login and request queues, closes browser sockets when the private Gateway disconnects, and projects a browser-safe hello without private operator metadata. A full-profile local employee-auth mock and deployment documentation are included.
This is a stacked PR based on
feature/web-gateway-proxy(#9). After #9 merges, this PR must be rebased or retargeted tomainbefore merge.User Impact
Employee browser users can authenticate through the PlatformClaw control plane and connect to their automatically provisioned personal agent through the existing Control UI Gateway protocol. Users cannot select or observe another user's agent or sessions. Deployment wiring, reverse-proxy configuration, and the Control UI login bootstrap remain follow-up work.
AI-assisted: implementation and review were performed with Codex; the author understands the resulting architecture and policy boundaries.
Evidence
oxlint packages/platformclaw-control-plane/src: passed.tsdownpackage build with declarations: passed.git diff --check: passed.tsgois blocked only by three existingpackages/net-policy/src/ip.tsdependency-type errors in this linked worktree; the same feat(platformclaw): proxy browser gateway access #9 control-plane package typecheck passed before the ingress rebase.Agent Transcript
Redacted Codex session transcript