Activate Captain AI features: config, RAG routes, conversation handler
Phase 1 of AI_FEATURE_ROADMAP.md:
1. config.yaml: Add captain configuration section (llm_provider, llm_model,
llm_api_key, llm_base_url, embedding_model, embedding_dims, max_tokens,
temperature). Secrets injected via GOCHAT_CAPTAIN_LLM_API_KEY env var.
2. RAG route registration:
- bootstrap.go: instantiate RAGService + RAGHandler, add to Handlers
- router.go: register POST /captain/rag/query + /captain/rag/index/:response_id
- rag_handler.go: fix account_id param name (was "id", route uses "account_id")
3. CaptainConversationService activation:
- Remove "_ = captainConversationService" ignore in bootstrap.go
- Create CaptainConversationHandler with BuildResponse endpoint
- Register POST /captain/conversations/:conversation_id/respond route
- Fix account_id param name in handler
Verified:
- go build ./... passes
- go vet passes on all modified packages
- go test passes (llm + service packages)
- Server starts with captain config loaded
- RAG query/index routes return proper handler responses (not 404)
- Conversation respond route returns proper skip for non-pending conversations
- Existing captain routes unaffected (assistants list still works)