The backend already publishes /retriever/LLM/models/open, which says
whether a provider's model field is a fixed list or free text - Gemini
has used it in production for a while, through generic-node.ts's own
leaf-field editor. Two other renderers never asked that question, and a
provider that cannot list (any hosted one with no listing endpoint) got
stuck there with an empty, unusable select instead:
- container-node.ts's own field editor decided select-versus-text from
retrieverKey alone, synchronously, before the free-text question could
even be asked. toDialogFieldType now takes the answer as an argument,
resolved first through a new fetchRetrieverFreeText.
- Nested objects - an LLMDescriptor inside a container's configuration
or an array item, reached through the buildSchemaObjectDialog both
generic-node.ts and container-node.ts share - had no way to ask at
all. SchemaObjectDialogHooks grows an optional loadFreeText hook; when
it says yes, loadOptions is skipped entirely (the same fetch a
listable retriever would otherwise make and throw away) and the field
is forced to text. One fix in the shared function covers both
components that call it.
Deliberately not "an empty options list means free text" - that heuristic
would be wrong for a retriever whose empty list is a real answer, a
project's global inputs among them, where nothing to choose from is not
the same question as nothing to type. A property with no loadFreeText
hook, or one that answers no, keeps rendering as a select, empty or not,
exactly as before.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .vscode | ||
| docker | ||
| docs | ||
| public | ||
| src | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .postcssrc.json | ||
| CITATION.cff | ||
| Dockerfile | ||
| LICENSE | ||
| LICENSE-ADDENDUM | ||
| NOTICE | ||
| README.md | ||
| angular.json | ||
| components.json | ||
| nginx.conf | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.spec.json | ||
README.md
HumAInFlow
This project was generated using Angular CLI version 21.0.3.
Development server
To start a local development server, run:
ng serveOnce the server is running, open your browser and navigate to
http://localhost:4200/. The application will automatically
reload whenever you modify any of the source files.
Code scaffolding
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
ng generate component component-nameFor a complete list of available schematics (such as
components, directives, or
pipes), run:
ng generate --helpBuilding
To build the project run:
ng buildThis will compile your project and store the build artifacts in the
dist/ directory. By default, the production build optimizes
your application for performance and speed.
Running unit tests
To execute unit tests with the Vitest test runner, use the following command:
ng testRunning end-to-end tests
For end-to-end (e2e) testing, run:
ng e2eAngular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
Additional Resources
For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.
BUILD DOCKER IMAGE
docker buildx build –platform linux/amd64,linux/arm64 -t luciolelii/humainflow-gui:latest . –push
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/humanaiFlow-angular
If you use HumAIn Flow in academic work, please cite it — see CITATION.cff.