Yichen Jiang
59e759ce13
fix(tasks-local): layer control surfaces and listeners by registering scope
...
One host registry serves every composition in the process, so its two
service-wide collections answered per-owner questions process-wide. `start()`
asked only whether SOME surface was attached, so an agent whose own composition
loads no `tool-tasks` could start work it has no tool to collect or stop as soon
as any other preset attached one — and the answer changed depending on which
sessions happened to be open. `settle()` walked every registered listener, so a
task settling without a waiter injected one completion notice per mounted
preset into the same owner.
Both collections now sit in `ScopedLayers`, the layered-registry primitive
`tools` and `skills` already use: a registration files into its registering
context's scope, and a read unions the global layer with the owner's scope
chain. A surface or listener registered from an unscoped context lands in the
global layer and serves every owner, which is exactly the host-plane
composition's own controls, so the TUI path is unchanged without a special
case.
This supersedes the consumer-side filter in the previous commit. That filter
produced the right notices but sat in the wrong layer: it left the `start()`
gate process-wide, it could not be enforced against a producer that resolves
the registry directly, and it made a Consumer carry scope knowledge that the
other layered registries keep in the registry. `tool-tasks` is scope-agnostic
again and the `dsh-scope` edge moves to `tasks-local`.
`start()`'s refusal is now owner-relative, so its model-visible text names the
agent rather than the process. The shipped `minimal` preset keeps
`enableRunInBackground: false`, no longer as the safety boundary — the registry
owns that now — but so an agent that could never collect a task is not offered
the parameter at all.
Refs #2141
2026-08-10 16:12:41 +08:00
..
2026-08-09 03:20:17 +08:00
2026-08-03 16:04:26 +08:00
2026-08-09 03:20:17 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-07 22:52:19 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-08 00:04:55 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 01:31:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 01:27:09 +08:00
2026-08-09 11:33:14 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 10:40:31 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 03:20:17 +08:00
2026-08-08 16:53:23 +08:00
2026-08-09 03:20:17 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-04 17:36:14 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-10 16:12:41 +08:00
2026-08-10 16:12:41 +08:00
2026-08-10 16:12:41 +08:00
2026-08-09 11:33:14 +08:00
2026-08-08 15:03:23 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 11:33:14 +08:00
2026-08-08 22:19:13 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:11:00 +08:00
2026-08-09 21:11:00 +08:00
2026-08-09 21:11:00 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 13:08:49 +08:00
2026-08-09 11:41:40 +08:00
2026-08-09 13:08:49 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:02:16 +08:00
2026-07-31 22:52:18 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-08 11:41:47 +08:00
2026-08-08 11:41:47 +08:00
2026-08-08 11:41:47 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 01:25:24 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 10:40:32 +08:00
2026-08-09 11:33:14 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 17:26:57 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 11:28:46 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 13:44:23 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 21:10:59 +08:00
2026-08-09 11:33:14 +08:00
2026-08-06 14:58:33 +08:00
2026-08-09 11:33:14 +08:00
2026-08-09 11:02:16 +08:00
2026-08-06 16:38:25 +08:00
2026-08-09 11:02:16 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 15:35:02 +08:00
2026-08-09 16:39:34 +08:00
2026-08-09 18:16:44 +08:00
2026-08-09 18:16:44 +08:00
2026-08-09 18:16:44 +08:00
2026-08-10 15:27:10 +08:00
2026-08-10 15:27:10 +08:00
2026-08-10 15:27:10 +08:00
2026-08-09 13:46:14 +08:00
2026-08-09 11:41:40 +08:00
2026-08-09 13:46:14 +08:00
2026-08-09 19:36:03 +08:00
2026-08-09 19:36:03 +08:00
2026-08-09 19:36:03 +08:00
2026-08-09 10:29:13 +08:00
2026-08-09 10:29:13 +08:00
2026-08-09 10:29:13 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-10 13:07:46 +08:00
2026-08-09 23:18:37 +08:00
2026-08-09 23:18:37 +08:00
2026-08-09 23:18:37 +08:00