Dev

Merged
H3
2mo ago
+1008-154

Summary by cubic

Adds per-client ownership for stateful communication protocols. Previously all protocols used process-wide instances and clients had no close(); factory-registered protocols now get isolated instances and teardown, while shared protocols keep their existing behavior and remain process-owned.

New Features

  • Adds register_communication_protocol_factory, with factory instances taking precedence and late registrations adopted on first use.
  • Adds protocol cleanup with UtcpProtocolCloseError; every close attempt is awaited and failures are raised together.
  • Failed create() calls close the protocols this client made and deregister only the manuals this attempt registered, even when cancelled.
  • Ensures batch registrations finish before reporting failures.
  • Moves utcp-mcp and utcp-websocket to per-client factories; HTTP-based protocols remain shared.
  • Bumps utcp, utcp-mcp, and utcp-websocket to 1.2.0.

Refactors

  • Fixes required-documentation extraction for prose, section headers, inline code, undocumented classes, and cross-platform links.
  • Updates generated documentation and CLI security text to describe environment-based argument handling.