You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NOOA retains a capable InteractiveAgent, CodeAct runtime, repository tools, and host-facing events, but it has no working terminal client. PR #9 removed the previous TUI because the public commands referenced an unpublished external package and failed at runtime. Users currently need to build a custom host to use NOOA as an interactive coding agent.
No existing issue or PR mentions ACP or the Agent Client Protocol. PR #62 added external nooa_cli.commands entry points and used tui as its motivating example, which provides the extension point this proposal needs.
Proposed solution
Add an optional nooa-acp workspace distribution that:
hosts a CodingInteractiveAgent over the open Agent Client Protocol on stdio;
maps NOOA messages, tool lifecycle, usage, and cancellation events to ACP updates;
keeps ACP dependencies out of core nooa and the default nooa-cli;
interoperates with separately installed ACP clients without importing or redistributing them;
includes deterministic protocol tests and documentation for LiteLLM-supported models.
The initial implementation supports one session per process, text prompts, resource links, stdio MCP servers, Markdown responses, CodeAct tool progress, usage, cancellation, and clean shutdown.
Alternatives considered
Restore a native in-repo TUI: duplicates the client interface, expands UI dependencies, and revisits the surface removed in Chore/strip tui #9.
Bundle a client implementation: increases dependency and release coupling instead of using the protocol boundary.
Use another coding agent as the backend: its agent loop would replace NOOA CodeAct, context, tools, and retries rather than expose NOOA itself.
Publish from a separate repository: increases release/version skew with the NOOA event and InteractiveAgent APIs.
Additional context
The ACP Python SDK is Apache-2.0. The implementation uses SDK 0.11 because 0.12 is inside the repository's seven-day dependency quarantine. Generated code and shell execution remain subject to NOOA's existing sandbox warning; the working-directory boundary is not presented as containment.
What problem are you trying to solve?
NOOA retains a capable
InteractiveAgent, CodeAct runtime, repository tools, and host-facing events, but it has no working terminal client. PR #9 removed the previous TUI because the public commands referenced an unpublished external package and failed at runtime. Users currently need to build a custom host to use NOOA as an interactive coding agent.No existing issue or PR mentions ACP or the Agent Client Protocol. PR #62 added external
nooa_cli.commandsentry points and usedtuias its motivating example, which provides the extension point this proposal needs.Proposed solution
Add an optional
nooa-acpworkspace distribution that:CodingInteractiveAgentover the open Agent Client Protocol on stdio;nooa acpthrough the entry-point mechanism added in feat(cli): let external packages add nooa subcommands via entry points #62;nooaand the defaultnooa-cli;The initial implementation supports one session per process, text prompts, resource links, stdio MCP servers, Markdown responses, CodeAct tool progress, usage, cancellation, and clean shutdown.
Alternatives considered
InteractiveAgentAPIs.Additional context
The ACP Python SDK is Apache-2.0. The implementation uses SDK 0.11 because 0.12 is inside the repository's seven-day dependency quarantine. Generated code and shell execution remain subject to NOOA's existing sandbox warning; the working-directory boundary is not presented as containment.