Commit Graph
7 Commits
Author SHA1 Message Date
Marcel Hofer b87d17e34d feat: add native Decision API backends (v3.0.2)
Add native OpenAI Decisions and OpenRouter Decisions API routing to the image and text Decision Router nodes while keeping local in-process llama.cpp inference as the default.

Discover OpenRouter decision models by input modality and decision output capability, then enforce server profile image policy and optional model allowlists both in the UI model catalog and before inference. Keep credentials and endpoints in server-side profiles; apply profile input, image, and timeout limits; never fall back to chat-generated JSON.

Preserve saved workflow widget order, release any retained local model when switching to API mode, and normalize typed route choices, probabilities, and confidence into decision_json. Add API setup documentation and adapter/router/security regression coverage.

Validation: 240 tests passed across six test modules run individually in bundled ComfyUI Python 3.12; Python and JavaScript syntax checks, API catalog validation, version metadata checks, and git diff --check passed. Provider inference is covered with mocked responses; no authenticated live inference was run.
2026-10-29 17:08:23 +01:00
Marcel Hofer 7d0600f141 chore: prepare v3.0.0 release
Add separate image and text Decision Router nodes with configurable system prompts, up to 52 user-defined routes, per-item decisions, normalized decision_json output, and native IMAGE/STRING route sockets.

Run Clef-Flash 9B, Clef 27B, and OpenJev 27B in-process through llama.cpp. Add decision-head, logits, MTMD vision, and dynamic CUDA backend capability checks before model downloads. Keep model weights and vision projectors out of the repository; do not launch a separate llama-server or upgrade PyTorch/Transformers.

Block inactive route outputs so unused downstream branches are skipped. Keep dynamic route names synchronized with connected outputs and preserve stable socket identities. Register the commercial UI variant while keeping non-commercial OpenJev unavailable in commercial builds.

Update all 3.0.0 package metadata, README, runtime and workflow guides, the illustrated router example, and the detailed update log. Refresh regression expectations for commercial router registration and the current provider model catalog.

Validation: all 220 tests pass in the bundled ComfyUI Python 3.12 runtime. Python compilation, JavaScript syntax, version metadata, README image, and staged diff checks pass. The Image Router was manually exercised with Clef-Flash 9B on fox, dog, cat, and none routes.

Coverage limits: full-weight inference for Clef 27B and OpenJev 27B, text-mode smoke tests, and clean installs across other OS/Python/CUDA combinations remain unverified. The documented Windows x64, CPython 3.12, CUDA 13.0 JamePeng runtime is the only verified build matrix.
2026-10-28 22:29:51 +01:00
Marcel Hofer 21b75d3b58 feat: full per-provider model lists with release-time auto-refresh and dedicated custom model field (#14)
* feat: full per-provider model lists with release-time auto-refresh and dedicated custom model field

* feat: add setup help widget to API node (Windows/Linux API key instructions)
2026-08-16 13:28:30 +02:00
Marcel Hofer 581d8920e1 fix: real per-provider model dropdown with Custom free-text (#13) 2026-08-16 13:15:41 +02:00
Marcel Hofer 7743e8e702 feat: curated per-provider model lists with release-time validation (#12) 2026-08-16 12:32:10 +02:00
Marcel Hofer cfea91b016 Add secure image input support to API node (#11)
* Add secure image input support to API node

* Document API image inputs
2026-08-16 11:40:44 +02:00
Marcel Hofer a7506afe68 Add hardened OpenAI-compatible API node (#10)
* Add OpenAI-compatible API node

* Document OpenAI-compatible API node

* Harden API credentials with server-side profiles

* Ignore local API profile and env files

* Add server-side API profile example

* Document hardened server-side API profiles

* Add API profile security regression tests

* Make API security test loader standalone

* Use generic model ID in API profile example

* docs: expand secure API deployment and secret handling guide

* Harden API transport and request controls

* Fix Python booleans in hardened API node

* Expand API security regression tests

* Update secure API profile examples

* Ignore local API profile variants

* Document hardened API deployment and threat model

* Add CI for API security regressions

* Cap Qwen thinking budget and fail closed on invalid overrides

* Cover thinking budget and fail-closed profile overrides

* Document thinking-budget limits and fail-closed overrides

* Run API security CI for docs and policy changes
2026-08-16 11:11:40 +02:00