feat(coding-agent): replace facet attributes with services

Make facets non-generic and resolve host-local dependencies through service bindings. Rename local assembly to createFacetHost and consolidate TUI host mechanics behind one service.
This commit is contained in:
Armin Ronacher 2026-08-25 21:47:44 +02:00
parent f0bfae2a96
commit 97f7472f4e
17 changed files with 308 additions and 204 deletions

View file

@ -187,11 +187,12 @@ A server presentation facet renders and selects Sessions:
setup(env) {
const directory = env.use(SessionDirectory);
const management = env.use(SessionManagement);
const tui = env.use(Tui);
env.commands.register("sessions.switch", async (operation) => {
tui.commands.register("sessions.switch", async (operation) => {
const snapshot = directory.state.value;
if (snapshot === undefined) return;
const sessionId = await env.ui.select(
const sessionId = await tui.select(
"Sessions",
snapshot.sessions.map((session) => ({ label: session.title, value: session.sessionId })),
{ signal: operation.abortSignal },