feat(scope): dsh-scope scoped-context registration primitive
createScope(ctx, key) mints a tagged context over a synchronously-usable no-op-plugin fiber (one fact drives visibility AND lifetime); scopeOf reads the tag through the prototype chain; scopeTarget(base, key) builds the scope-filtered dispatch carrier over cordis Context.filter, composing the base's own filter, branded Scoped<T> and runtime-marked for the dev invariants. Scope.rawDispose exposes the exact cordis disposer so a composite effect can nest the scope's teardown at its yield position.
This commit is contained in:
@@ -19,6 +19,7 @@ flowchart TD
|
||||
pkg_agent["agent"]
|
||||
pkg_agent_core["agent-core"]
|
||||
pkg_agent_loop["agent-loop"]
|
||||
pkg_scope["scope"]
|
||||
pkg_session["session"]
|
||||
pkg_system_prompt["system-prompt"]
|
||||
pkg_tools["tools"]
|
||||
@@ -211,6 +212,7 @@ flowchart TD
|
||||
| Package | Group | Depends on |
|
||||
| --- | --- | --- |
|
||||
| [`brand`](../packages/util/brand) | `util` | — |
|
||||
| [`scope`](../packages/core/scope) | `core` | — |
|
||||
| [`acp-snapshot`](../packages/support/acp-snapshot) | `support` | — |
|
||||
| [`app-boot`](../packages/ui/app-boot) | `ui` | — |
|
||||
| [`code-runtime`](../packages/code-runtime/code-runtime) | `code-runtime` | — |
|
||||
|
||||
Reference in New Issue
Block a user