Pulse/internal
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
..
agentbinaries chore: fix staticcheck SA warnings 2025-11-27 09:16:53 +00:00
agentexec feat: AI security and policy improvements for 5.0 2025-12-12 17:38:55 +00:00
agentupdate feat: AI features, agent improvements, and host monitoring enhancements 2025-12-05 10:37:02 +00:00
ai feat: Add tool/function calling support to Ollama provider 2025-12-17 11:54:32 +00:00
alerts feat: configurable backup freshness thresholds for dashboard indicator 2025-12-16 16:36:08 +00:00
api fix: Allow printable ASCII in alert IDs for acknowledge requests 2025-12-16 20:10:31 +00:00
auth feat: auto-detect platforms during agent install and allow multi-host tokens 2025-12-14 16:21:59 +00:00
buffer Fix offline buffering: add tests, remove unused config, fix flaky test 2025-12-02 22:31:44 +00:00
ceph feat: AI integration, Docker metrics, RAID display, and infrastructure improvements 2025-12-09 09:29:27 +00:00
config test: add regression test for OIDC env vars with nil config (#853) 2025-12-16 21:02:47 +00:00
crypto style: remove emojis from log messages 2025-12-13 21:29:11 +00:00
discovery feat(ai): Add enriched context with historical trends and predictions 2025-12-12 09:45:57 +00:00
dockeragent feat(docker-agent): add payload size logging for debugging body-too-large errors 2025-12-14 21:10:06 +00:00
errors refactor: Remove unreachable dead code branches 2025-12-02 14:48:57 +00:00
hostagent fix(agent): use /etc/machine-id in LXC containers to avoid ID collisions 2025-12-14 23:05:32 +00:00
hostmetrics feat: AI features, agent improvements, and host monitoring enhancements 2025-12-05 10:37:02 +00:00
kubernetesagent feat: add Kubernetes platform support 2025-12-12 21:31:11 +00:00
logging chore: remove dead code and unused exports 2025-11-27 13:17:39 +00:00
mdadm perf: Pre-compile regexes in mdadm package 2025-12-02 15:11:04 +00:00
metrics AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
mock feat(kubernetes): Add Kubernetes mock data and UI 2025-12-12 23:13:40 +00:00
models fix: backup matching uses instance+VMID to prevent cross-instance collisions 2025-12-16 22:19:19 +00:00
monitoring feat: auto-detect platforms during agent install and allow multi-host tokens 2025-12-14 16:21:59 +00:00
notifications style: remove emojis from log messages 2025-12-13 21:29:11 +00:00
resources feat(backend): Implement remaining TODOs 2025-12-13 13:21:23 +00:00
sensors feat: AI security and policy improvements for 5.0 2025-12-12 17:38:55 +00:00
ssh/knownhosts test: Add tests for SSH knownhosts error and path methods 2025-12-01 17:50:13 +00:00
system style: fix gofmt formatting inconsistencies 2025-11-26 23:44:36 +00:00
tempproxy perf: Remove redundant fmt.Sprintf in tempproxy contains function 2025-12-02 15:24:40 +00:00
types test: add unit tests for types package 2025-11-26 14:10:21 +00:00
updates style: Apply gofmt to 37 files 2025-12-02 17:21:48 +00:00
utils AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
websocket refactor: Remove unreachable dead code branches 2025-12-02 14:56:35 +00:00