mirror of
https://github.com/ikawrakow/ik_llama.cpp.git
synced 2026-06-28 04:30:15 -05:00
update config ui: fix audio and video modality detection (#23756) When model props are fetched asynchronously from the server, modelPropsVersion is incremented to trigger reactivity, but only the vision effect was listening to it. webui: update ignore files ui: handle audio/vnd.wave as audio WAV file (#23754) Firefox on Linux uses this MIME type ui: exclude generated build dirs from prettier and eslint so lint errors stop being masked (#23910) webui: add custom CSS injection via config (#23904) * webui: add custom CSS injection via config register a customCSS setting in the Developer section under Custom JSON, syncable so it rides the existing ui-config pass through. inject the value into a single style element in the head, reactive on the setting. lets an operator theme a prebuilt binary through --ui-config without rebuilding, and lets a user set it from the settings panel. move the textContent write into a use: action on the head style node. the action is the idiomatic way to touch a node, so the no-dom-manipulating lint rule is satisfied without a disable. value stays text through textContent, never parsed as HTML. * Update tools/ui/src/lib/constants/settings-keys.ts Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> * ui: address review from @allozaur, rename custom config key to customJson with migration rename the custom config key to customJson across the type, the chat request builder, the settings save check and the custom tools reader, keeping the custom API param name unchanged. add a non destructive migration that copies the legacy custom key to customJson at startup. only render the head style tag when custom CSS is set. --------- Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> server: real-time reasoning interruption via control endpoint (#23971) Builds on the manual reasoning budget trigger from #23949. Adds a CONTROL task that mirrors the CANCEL path on the live slot and calls common_sampler_reasoning_budget_force to end thinking mid-generation. POST /v1/chat/completions/control with { id_slot, action }, opt-in reasoning_control arms the budget sampler on demand. Router and single model. Minimal WebUI button as a skeleton for further UI work. * ui: track reasoning phase via explicit streaming state Add isReasoning to the chat store, mirroring the isLoading pattern: per conversation map, private setter, public accessor and reactive export. Set from the stream callbacks, true on reasoning chunks, false on the first content chunk, reset on stream end and resynced on conversation switch. The skip button now keys off isReasoning so it shows only during the thinking phase, not the whole generation. * ui: extract control endpoint and action into constants Move the chat completion routes, the slots route and the reasoning control action out of chat.service into api-endpoints and a dedicated control-actions module. No behavior change, drops the magic strings so the control protocol has a single source of truth. * server: target reasoning control by completion id Address @ngxson review on the control endpoint. Switch from id_slot to the chat completion id to avoid a TOCTOU: the slot can be reassigned between the lookup and the control request, so matching the live completion (oaicompat_cmpl_id) is safe and a finished one simply matches nothing. Rename the action to reasoning_end, guard it on the reasoning_control flag of the target slot, and reduce the response to {success} with an optional message. * ui: target reasoning control by completion id Keep the streamed completion id on the message and post it back to the control endpoint instead of probing /slots. Drops the slot discovery and the TOCTOU that came with it. Action renamed to reasoning_end, response read as {success}. * server: address review from @ngxson Move the control fields into task_params and drop the redundant comments on the control path. * server: document the reasoning control endpoint * Update tools/ui/src/lib/types/database.d.ts Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> * ui: rename cmplId to completionId Per @allozaur review, clearer name for the streamed completion id. * ui: wire completion id capture through the agentic flow The webui streams through the agentic flow, which relayed onModel but not onCompletionId, so the completion id never reached the message and the control request was never sent. Relay it through the flow and its callbacks type, declare id on the chunk type, and log an explicit error when the button fires without a usable id. * ui: target reasoning control model from the message The model is a property of the completion, so read it from the streaming message like the id, not from the model dropdown which is unrelated UI state. Makes the request self-consistent by construction instead of just unlikely to drift. --------- Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> ui: Add Thinking mode toggle with reasoning effort levels + improvements for Chat Form Add Action UI (#23434) Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> * fix: Model tags ui: simplify network error handling (#23431) Previously error to string conversion was split in two different files, with one converting errors into strings, and another function analyzing those strings to generate yet another string. Now the the error handling for network fetches has been centralised and uses directly HTTP error codes whereas possible to generate the human-readable error strings. It also fixes an issue where all JSON errors reported from the backend, such as "Invalid API key", would get turned incorrectly in to "Failed to connect to server" due to poor matching logic in the now-gone getErrorMessage function. update html ui: Mermaid Diagrams in chat + interactive preview (#24032) webui: fix tool selector toggle/counter, key tools by stable identity (#24065) * webui: fix tool selector toggle/counter, key tools by stable identity Key the disabled set, counts and toggles by a stable per-tool key instead of bare function name, deduped from one canonical list. Per-tool checkboxes become presentational (single row handler, no nested button), category checkboxes drop the tristate (n/total carries partial). One getEnabledToolsForLLM keeps normalized MCP schemas and dedupes by name. * ui: use SvelteSet and SvelteMap for local tool collections to satisfy svelte/prefer-svelte-reactivity Co-authored-by: firecoperana <firecoperana>
165 lines
2.0 KiB
Plaintext
165 lines
2.0 KiB
Plaintext
# Extensions
|
|
|
|
*.a
|
|
*.bat
|
|
*.bin
|
|
*.d
|
|
*.dll
|
|
*.dot
|
|
*.etag
|
|
*.exe
|
|
*.gcda
|
|
*.gcno
|
|
*.gcov
|
|
*.gguf
|
|
*.gguf.json
|
|
*.lastModified
|
|
*.log
|
|
*.metallib
|
|
*.o
|
|
*.so
|
|
*.swp
|
|
*.tmp
|
|
*.DS_Store
|
|
|
|
# IDE / OS
|
|
|
|
.cache/
|
|
.ccls-cache/
|
|
.direnv/
|
|
.envrc
|
|
.idea/
|
|
.swiftpm
|
|
.vs/
|
|
.vscode/
|
|
nppBackup
|
|
|
|
# Coverage
|
|
|
|
gcovr-report/
|
|
lcov-report/
|
|
|
|
# Build Artifacts
|
|
|
|
/tags
|
|
/.build/
|
|
/build*
|
|
/cmake-build-*
|
|
/release
|
|
/debug
|
|
/CMakeSettings.json
|
|
/compile_commands.json
|
|
/libllama.so
|
|
/llama-*
|
|
/vulkan-shaders-gen
|
|
/rpc-server
|
|
/out/
|
|
/tmp/
|
|
/autogen-*.md
|
|
/common/build-info.cpp
|
|
|
|
# Deprecated
|
|
|
|
/main
|
|
/server
|
|
|
|
# CI
|
|
|
|
!/.github/workflows/*.yml
|
|
|
|
# Models
|
|
|
|
/models/*
|
|
/models-mnt
|
|
!/models/.editorconfig
|
|
!/models/ggml-vocab-*.gguf*
|
|
!/models/templates
|
|
|
|
# Zig
|
|
|
|
/zig-out/
|
|
/zig-cache/
|
|
|
|
# Examples
|
|
|
|
/examples/jeopardy/results.txt
|
|
/examples/server/*.css.hpp
|
|
/examples/server/*.html.hpp
|
|
/examples/server/*.js.hpp
|
|
/examples/server/*.mjs.hpp
|
|
/examples/server/*.gz.hpp
|
|
!/build_64.sh
|
|
!/examples/*.bat
|
|
!/examples/*/*.kts
|
|
!/examples/*/*/*.kts
|
|
!/examples/sycl/*.bat
|
|
!/examples/sycl/*.sh
|
|
|
|
# Server Web UI temporary files
|
|
/examples/server/webui/node_modules
|
|
/examples/server/webui_llamacpp/.svelte-kit
|
|
/examples/server/webui_llamacpp/node_modules
|
|
/examples/server/webui_llamacpp/build
|
|
/examples/server/webui_llamacpp/test-results
|
|
/examples/server/webui_llamacpp/storybook-static
|
|
|
|
# Python
|
|
|
|
/.venv
|
|
__pycache__/
|
|
*/poetry.lock
|
|
poetry.toml
|
|
poetry.lock
|
|
uv.lock
|
|
|
|
# Nix
|
|
|
|
flake.lock
|
|
/result
|
|
|
|
# Test binaries
|
|
|
|
/tests/test-backend-ops
|
|
/tests/test-double-float
|
|
/tests/test-grad0
|
|
/tests/test-grammar-parser
|
|
/tests/test-llama-grammar
|
|
/tests/test-opt
|
|
/tests/test-quantize-fns
|
|
/tests/test-quantize-perf
|
|
/tests/test-rope
|
|
/tests/test-sampling
|
|
/tests/test-tokenizer-0
|
|
/tests/test-tokenizer-1-bpe
|
|
/tests/test-tokenizer-1-spm
|
|
|
|
# Scripts
|
|
|
|
!/scripts/install-oneapi.bat
|
|
|
|
# Generated by scripts
|
|
/hellaswag_val_full.txt
|
|
/winogrande-debiased-eval.csv
|
|
/wikitext-2-raw/
|
|
|
|
# Test models for lora adapters
|
|
|
|
/lora-tests
|
|
|
|
# Local scripts
|
|
|
|
/run-vim.sh
|
|
/run-chat.sh
|
|
/run-spec.sh
|
|
.ccache/
|
|
|
|
# IDE
|
|
|
|
*.code-workspace
|
|
.windsurf/
|
|
# emscripten
|
|
a.out
|
|
a.out.*
|
|
.dev
|
|
.github
|