Pulse/internal/ai
rcourtman bacf6b5fc9 feat: Add tool/function calling support to Ollama provider
Fixes issue where Ollama users get 'I'm a large language model, I can't do XYZ'
responses when trying to use the AI assistant. The problem was that the
Ollama provider was not passing tool definitions to the API.

Changes:
- Add Tools field to ollamaRequest struct
- Add ollamaTool, ollamaToolFunction, ollamaToolCall structs
- Convert tools from ChatRequest to Ollama format in Chat()
- Parse tool_calls from Ollama response
- Set StopReason to 'tool_use' when model requests tool execution
- Handle tool results in multi-turn conversations

Requires Ollama v0.3.0+ and a tool-capable model (llama3.1+, mistral-nemo, etc.)

Closes: Discussion #845 comment by misterlegend
2025-12-17 11:54:32 +00:00
..
baseline Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
context Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
correlation Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
cost Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
knowledge Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
memory Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
patterns Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
providers feat: Add tool/function calling support to Ollama provider 2025-12-17 11:54:32 +00:00
alert_adapter.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
alert_provider.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
alert_threshold_adapter.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
alert_triggered.go feat(ai): Add LLM memory system for patrol findings 2025-12-10 22:55:34 +00:00
alert_triggered_test.go Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
baseline_adapter.go feat(ai): Add baseline learning and anomaly detection (Phase 2) 2025-12-12 11:26:31 +00:00
baseline_exports.go feat(ai): Wire baseline learning loop into router startup 2025-12-12 11:29:47 +00:00
config.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
correlation_exports.go feat(ai): Add multi-resource correlation detection (Phase 6) 2025-12-12 14:26:10 +00:00
cost_persistence.go feat(ai): Add enriched context with historical trends and predictions 2025-12-12 09:45:57 +00:00
findings.go feat(ai): Add suppression rules management API and UI 2025-12-11 00:12:18 +00:00
findings_persistence.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
findings_test.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
memory_exports.go feat(ai): Add operational memory (Phase 3) - change detection and remediation logging 2025-12-12 13:49:37 +00:00
metadata_provider.go feat(ai): Add URL discovery tool - AI can find and set resource URLs 2025-12-10 00:29:07 +00:00
metrics_history_adapter.go feat(ai): Add enriched context with historical trends and predictions 2025-12-12 09:45:57 +00:00
patrol.go style: remove emojis from AI context formatting and prompts 2025-12-13 21:26:49 +00:00
patrol_history_persistence.go feat(ai): Enhanced AI patrol system with alert triggers and history persistence 2025-12-10 21:08:22 +00:00
patrol_test.go Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
pattern_exports.go feat(ai): Add failure pattern detection for predictive intelligence (Phase 5) 2025-12-12 14:11:28 +00:00
resource_context.go Add AI monitoring enhancements and host metadata features 2025-12-09 16:27:46 +00:00
routing.go Add AI monitoring enhancements and host metadata features 2025-12-09 16:27:46 +00:00
routing_test.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
sanitize_test.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
service.go style: remove emojis from AI context formatting and prompts 2025-12-13 21:26:49 +00:00
service_test.go Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
target_host_test.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00