Build capability-scoped browser JavaScript actor runtime #105
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-review
quasar
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/quasar-ui#105
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Extract actor execution from the current one-shot source-string worker into a reusable browser JavaScript actor framework.
The runtime supports Quasar actors, research nodes, future packaged actors, and agent-created actors without granting direct access to Cytoscape or PouchDB.
Runtime contract
An actor manifest declares:
The actor runs inside a dedicated Web Worker and receives cloned context plus a capability API. Host services are requested over message RPC.
Initial capabilities:
documents.getdocuments.querynetwork.fetchbrowser.openevents.emitartifacts.writeActor results may contain:
Security boundary
The first implementation is a capability gate and resource boundary, not a complete hostile-code sandbox. Obvious ambient network APIs are removed inside the worker and supported effects route through host RPC. Truly untrusted actors still require stronger isolation such as a separate origin, SES/Compartment, or a server-side runner.
Lifecycle
Structured events cover start, progress, log, capability request, completion, failure, timeout, abort, and worker crash.
Acceptance
src/lib/actors.jsImplemented by PR #106.