44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
# sgClaw Runtime Host Bundle
|
|
|
|
`frontendBundleDir` lets SuperRPA prefer an external `sgclaw-chat` bundle at
|
|
runtime while keeping the browser host, security boundary, and `chrome.send`
|
|
bridge inside Chromium.
|
|
|
|
## Contract
|
|
|
|
- SuperRPA remains the host and security boundary.
|
|
- sgClaw remains the runtime and planner/execution owner.
|
|
- The frontend bundle only renders state that comes from the existing host
|
|
bridge.
|
|
- Missing external files fall back to Chromium-bundled resources.
|
|
|
|
## Directory Layout
|
|
|
|
The external bundle root must mirror the Chromium resource paths under
|
|
`functions/sgclaw-chat/`.
|
|
|
|
Example:
|
|
|
|
```text
|
|
frontend-bundle/
|
|
sgclaw-chat/
|
|
sgclaw-chat.js
|
|
sgclaw-chat.css.js
|
|
sgclaw-chat.html.js
|
|
components/
|
|
sgclaw-chat-shell.js
|
|
sgclaw-message-list.js
|
|
```
|
|
|
|
When `frontendBundleDir` points at `frontend-bundle/`, the browser will try to
|
|
serve `sgclaw-chat/*` from that directory first. Any file that is absent will
|
|
continue loading from the built-in Chromium resource pack.
|
|
|
|
## Packaging Notes
|
|
|
|
- Keep relative import paths inside the bundle identical to the bundled
|
|
`sgclaw-chat` tree.
|
|
- Do not move planner or execution logic into the bundle.
|
|
- Treat [manifest.example.json](/home/zyl/projects/sgClaw/claw/frontend/runtime-host/manifest.example.json)
|
|
as a packaging reference for humans and tooling.
|