Vocero needs to query AquaPortal on behalf of the caller selected by the existing phone link. This adds server-owned conversations and MCP tool execution for voice and HTTP reasoning while leaving the speech pipeline unchanged. Release notes: - Added browser-bound conversations that keep backend credentials server-side and isolate callers. - Connected the eight-tool AquaPortal catalog through authenticated Streamable HTTP with full input schemas and structured results. - Added bounded multi-step tool execution with cancellation, expiry, and stale-result protection. - Updated browser bootstrap, tool progress, reasoning headers, and conversation cleanup. - Disabled legacy unscoped content preloads in MCP mode and documented configuration and deployment constraints. - Preserved disabled-mode contracts and added local SDK, WebSocket, and browser regression coverage. Reviewed-on: AquaPortal/s2s#1
Documentation
All maintained documentation is in English. Spanish examples represent actual user input or spoken output. Historical proposals are identified explicitly and do not define the current implementation.
Browser client
- Usage and configuration
- Architecture and source map
- Backend development and compatibility
- Reasoning modes
- Context injection
- Tool calling
- Design language
- Glossary
- Troubleshooting
- Change history
Speech backend
- Language model backends
- Speech-to-text backends
- Text-to-speech backends
- Realtime API, tools, and interruption handling
Decisions, proposals, and examples
- Example files and usage
- ADR 0001: Docker hosting and search proxy
- Historical Vocero architecture proposal
- Agent-profile example: an illustrative profile
with agent instructions and tool definitions; this is not the current
/api/configresponse or an automatically loaded runtime configuration. - Reference audio: an optional voice-cloning example described in the TTS guide.