Two additions to LLMProvider, both additive defaults so no existing provider or test stub changes behaviour. requiresEndpoint() names the one thing every provider until now has had in common without anyone needing to say so: a base URL it already knows, whether server-configured or a constant of the service it talks to. A provider whose endpoint is not known until a credential names it - coming next - is the first that needs to say otherwise. ProviderCredential carries that endpoint alongside the secret value a provider has always received. The three new generate/generateJson/chat overloads that take one default to unwrapping .value() and calling the String-authorization overload above them, so a provider that only overrides the old ones - which today is every one of them, including every anonymous test stub across the suite - keeps behaving exactly as it did. Only a provider that overrides the new overloads directly gets to read .endpoint() at all. Adding an abstract method instead would have broken every one of those stubs, since none of them implement anything beyond the three methods the interface already requires. One ambiguity fell out of this at the call site InternalOllamaLLMProvider used to have: chat(model, messages, null, null) no longer resolves unambiguously, since a bare null now fits both the String and the ProviderCredential overload equally. Not visible in this diff - that call site was rewritten away in the Ollama extraction - but worth naming since it is the shape of thing this kind of overload addition can trigger elsewhere too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .mvn/wrapper | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| CITATION.cff | ||
| Dockerfile | ||
| LICENSE | ||
| LICENSE-ADDENDUM | ||
| NOTICE | ||
| README.md | ||
| mvnw | ||
| mvnw.cmd | ||
| ollama-preloaded-docker | ||
| pom.xml | ||
| run_service.sh | ||
README.md
RUN LOCAL SERVICE
./run_service.sh
BUILD DOCKER IMAGE
docker buildx build –platform linux/amd64,linux/arm64 -t luciolelii/humainflow:latest . –push
HOST
License
Copyright (C) 2025-2026 Lucio Lelii — ISTI-CNR.
HumAIn Flow is released under the GNU Affero General Public License v3.0 or later (LICENSE), with an additional attribution term under section 7(b) of that license (LICENSE-ADDENDUM).
In practice this means:
you may use, study, modify and redistribute it freely;
if you run a modified version as a network service, you must offer its source to the users of that service;
any work based on it must keep the attribution below, both in the source and where the interface shows its legal notices:
Based on HumAIn Flow, originally developed by Lucio Lelii (ISTI-CNR) — https://github.com/luciolelii/humainflow-service
If you use HumAIn Flow in academic work, please cite it — see CITATION.cff.