antikythera_agents.user_interaction
¤
User interaction agent implementation.
Classes¤
UserInteractionAgent
¤
Methods:¤
get_user_input
¤
Prompt for one value per declared output, via stdin.
Stays opaque (task: Task) permanently: it builds its result by iterating
task.outputs, whose names and count are declared by the blueprint that uses
this tool, not by this tool's own signature (ADR-0002, issue-td-11).
notify
¤
Display a formatted notification.
Deliberately kept opaque (task: Task), not migrated (ADR-0002, issue-td-11):
title/message/level are each read input-or-param-whichever-is-present, a
shape the new binder can't express as a single argument, since under the new
scheme a parameter is either a task input or a Param[T], never both depending
on what the blueprint happens to wire. And title/message are
.format()-interpolated against whatever keys the blueprint's own template
string references out of task.context and the resolved inputs combined —
an arbitrary, blueprint-chosen key set, not a fixed one this tool could declare
with Context[T]. Narrowing either behaviour to fit the new binder would change
what already-deployed blueprints using notify do, for no benefit; this is the
"shape genuinely determined by the blueprint" case the opaque escape hatch exists
for, same as system.composite and user_input/user_output above.
show_user_output
¤
Print every declared input's value.
Stays opaque (task: Task) permanently: it iterates task.inputs and accepts
whatever the blueprint wires in, not a fixed set of arguments this tool could
declare on its own signature (ADR-0002, issue-td-11).