openclaw/test
Abhay 51e3d16be9
feat: Add Ollama provider with automatic model discovery (#1606)
* feat: Add Ollama provider with automatic model discovery

- Add Ollama provider builder with automatic model detection
- Discover available models from local Ollama instance via /api/tags API
- Make resolveImplicitProviders async to support dynamic model discovery
- Add comprehensive Ollama documentation with setup and usage guide
- Add tests for Ollama provider integration
- Update provider index and model providers documentation

Closes #1531

* fix: Correct Ollama provider type definitions and error handling

- Fix input property type to match ModelDefinitionConfig
- Import ModelDefinitionConfig type properly
- Fix error template literal to use String() for type safety
- Simplify return type signature of discoverOllamaModels

* fix: Suppress unhandled promise warnings from ensureClawdbotModelsJson in tests

- Cast unused promise returns to 'unknown' to suppress TypeScript warnings
- Tests that don't await the promise are intentionally not awaiting it
- This fixes the failing test suite caused by unawaited async calls

* fix: Skip Ollama model discovery during tests

- Check for VITEST or NODE_ENV=test before making HTTP requests
- Prevents test timeouts and hangs from network calls
- Ollama discovery will still work in production/normal usage

* fix: Set VITEST environment variable in test setup

- Ensures Ollama discovery is skipped in all test runs
- Prevents network calls during tests that could cause timeouts

* test: Temporarily skip Ollama provider tests to diagnose CI failures

* fix: Make Ollama provider opt-in to avoid breaking existing tests

**Root Cause:**
The Ollama provider was being added to ALL configurations by default
(with a fallback API key of 'ollama-local'), which broke tests that
expected NO providers when no API keys were configured.

**Solution:**
- Removed the default fallback API key for Ollama
- Ollama provider now requires explicit configuration via:
  - OLLAMA_API_KEY environment variable, OR
  - Ollama profile in auth store
- Updated documentation to reflect the explicit configuration requirement
- Added a test to verify Ollama is not added by default

This fixes all 4 failing test suites:
- checks (node, test, pnpm test)
- checks (bun, test, bunx vitest run)
- checks-windows (node, test, pnpm test)
- checks-macos (test, pnpm test)

Closes #1531
2026-01-24 22:38:52 +00:00
..
fixtures/child-process-bridge fix: bridge respawned child signals (#933) (thanks @roshanasingh4) 2026-01-15 06:37:27 +00:00
helpers test: align envelope timestamp expectations (#1329) (thanks @dlauer) 2026-01-22 05:51:42 +00:00
mocks chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auto-reply.retry.test.ts refactor: lint cleanups and helpers 2025-12-23 00:28:55 +00:00
gateway.multi.e2e.test.ts test: update gateway node/e2e tests 2026-01-20 10:41:09 +00:00
global-setup.ts test: speed up default test env 2026-01-23 18:34:33 +00:00
inbound-contract.providers.test.ts style: oxfmt format 2026-01-17 05:48:56 +00:00
media-understanding.auto.e2e.test.ts test: add media auto-detect coverage 2026-01-23 05:47:13 +00:00
provider-timeout.e2e.test.ts fix(agents): treat provider request-aborted as timeout for fallback (#1576) 2026-01-24 11:27:24 +00:00
setup.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
test-env.ts fix: expand linux service PATH handling 2026-01-23 19:16:41 +00:00