- Implemented new gRPC service `AIService` in `proto/ai/v1/ai.proto` for handling natural language queries. - Generated Go code for the gRPC service and messages in `gen/ai/v1/`. - Created `services/ai-gateway/` directory structure with necessary files for the service. - Added configuration loading and structured logging. - Implemented domain logic for intent parsing and interaction with Home Assistant. - Established outbound adapters for Ollama and Home Assistant with mTLS support. - Updated `go.work` to include the new service and maintain existing dependencies. - Modified `discord-bot` to use the new `ai-gateway` for AI interactions. - Added deployment manifest for Kubernetes and CI/CD configuration for building and deploying the service.
17 lines
420 B
Go
17 lines
420 B
Go
package domain
|
|
|
|
// Intent describes the JSON contract expected from the LLM.
|
|
type Intent struct {
|
|
Name string `json:"intent"`
|
|
Entity string `json:"entity"`
|
|
Params map[string]string `json:"params"`
|
|
Reply string `json:"reply"`
|
|
}
|
|
|
|
const (
|
|
IntentNone = "none"
|
|
IntentTurnOnLight = "turn_on_light"
|
|
IntentTurnOffLight = "turn_off_light"
|
|
IntentListLights = "list_lights"
|
|
)
|