localcode 0.3.22__tar.gz → 0.3.24__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {localcode-0.3.22/src/localcode.egg-info → localcode-0.3.24}/PKG-INFO +1 -1
- {localcode-0.3.22 → localcode-0.3.24}/pyproject.toml +1 -1
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/__init__.py +1 -1
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/context.py +17 -2
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/goal.py +19 -10
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/helpers.py +26 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/hooks.py +20 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/loop.py +142 -26
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/prompt_context.py +9 -2
- localcode-0.3.24/src/localcode/agent/state_machine.py +100 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/turn_finalization.py +9 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/bootstrap.py +16 -11
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/embeddings.py +9 -4
- localcode-0.3.24/src/localcode/evidence.py +102 -0
- localcode-0.3.24/src/localcode/execution_policy.py +48 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/hooks.py +25 -1
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/process_registry.py +25 -1
- localcode-0.3.24/src/localcode/skills/finish-verified.md +11 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills.py +36 -8
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/thinking.py +16 -1
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/__init__.py +7 -0
- localcode-0.3.24/src/localcode/tools/background_process.py +96 -0
- localcode-0.3.24/src/localcode/tools/code_navigation.py +97 -0
- {localcode-0.3.22 → localcode-0.3.24/src/localcode.egg-info}/PKG-INFO +1 -1
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode.egg-info/SOURCES.txt +10 -0
- localcode-0.3.24/tests/test_agent_state_machine.py +25 -0
- localcode-0.3.24/tests/test_code_navigation_and_processes.py +86 -0
- localcode-0.3.24/tests/test_evidence_and_lifecycle_hooks.py +31 -0
- localcode-0.3.24/tests/test_execution_policies.py +43 -0
- {localcode-0.3.22 → localcode-0.3.24}/LICENSE +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/MANIFEST.in +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/README.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/CMakePresets.json +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/LICENSE +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/arm64-apple-clang.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/arm64-windows-llvm.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/build-info.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/common.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/download-models.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/git-vars.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/license.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/llama-config.cmake.in +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/llama.pc.in +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/riscv64-spacemit-linux-gnu-gcc.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/cmake/x64-windows-llvm.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/arg.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/arg.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/base64.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-auto-parser-generator.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-auto-parser-helpers.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-auto-parser-helpers.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-auto-parser.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-diff-analyzer.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-peg-parser.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat-peg-parser.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/chat.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/common.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/console.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/console.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/debug.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/debug.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/download.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/download.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/hf-cache.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/hf-cache.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/http.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/caps.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/caps.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/lexer.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/lexer.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/parser.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/parser.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/runtime.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/runtime.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/string.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/string.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/value.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/jinja/value.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/json-partial.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/json-partial.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/json-schema-to-grammar.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/json-schema-to-grammar.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/llguidance.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/log.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/log.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/ngram-cache.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/ngram-cache.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/ngram-map.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/ngram-map.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/ngram-mod.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/ngram-mod.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/peg-parser.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/peg-parser.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/preset.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/preset.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/reasoning-budget.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/reasoning-budget.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/regex-partial.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/regex-partial.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/sampling.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/sampling.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/speculative.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/speculative.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/unicode.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/common/unicode.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-alloc.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-backend.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-blas.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-cann.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-cpp.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-cpu.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-cuda.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-hexagon.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-metal.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-opencl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-openvino.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-opt.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-rpc.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-sycl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-virtgpu.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-vulkan.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-webgpu.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-zdnn.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml-zendnn.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/ggml.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/include/gguf.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-alloc.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-backend-dl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-backend-dl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-backend-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-backend-reg.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-backend.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-blas/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-blas/ggml-blas.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/acl_tensor.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/acl_tensor.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/aclnn_ops.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/aclnn_ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cann/ggml-cann.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/amx.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/amx.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/mmq.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/mmq.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/cpu-feats.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/repack.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/loongarch/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/powerpc/cpu-feats.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/powerpc/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/repack.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/s390/cpu-feats.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/s390/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/wasm/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/cpu-feats.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/repack.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch-fallback.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/binary-ops.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/binary-ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/cmake/FindSIMD.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/hbm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/hbm.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kernels.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kernels.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kleidiai.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kleidiai.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/llamafile/sgemm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/llamafile/sgemm.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/ops.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/quants.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/repack.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/repack.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/simd-gemm.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/simd-mappings.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime1_kernels.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime_kernels.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/traits.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/traits.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/unary-ops.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/unary-ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/vec.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cpu/vec.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cuda/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/cuda.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/hip.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/musa.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/ggml-hexagon.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/act-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/argsort-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/binary-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cmake-toolchain.cmake +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cpy-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cumsum-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/flash-attn-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/get-rows-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dma.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dma.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dump.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-fastdiv.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-matmul-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-profile.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-ctx.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-msg.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-arith.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-base.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-copy.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-div.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-dump.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-exp.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-floor.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-inverse.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-reduce.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-scale.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-sqrt.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-types.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/main.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/matmul-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/repeat-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/rope-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/set-rows-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/softmax-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/ssm-conv.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/sum-rows-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/unary-ops.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/worker-pool.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/worker-pool.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp-drv.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp-drv.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/libdl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hexagon/op-desc.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-hip/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-common.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-context.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-context.m +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.m +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-ops.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-ops.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal.metal +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/turbo-matrices.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-metal/turbo-wht.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-musa/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-opencl/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-opencl/ggml-opencl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-decoder.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-decoder.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino-extra.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino-extra.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-quants.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-quants.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/decoder.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/frontend.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/frontend.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/input_model.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/input_model.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/node_context.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/cont.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/cpy.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/flash_attn_ext.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/get_rows.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/glu_geglu.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/glu_swiglu.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/mulmat.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/permute.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/reshape.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/rms_norm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/rope.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/scale.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/set_rows.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/softmax.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/transpose.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/unary_silu.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/view.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op_table.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op_table.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/eliminate_zp.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/eliminate_zp.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/fuse_to_sdpa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/fuse_to_sdpa.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/mark_decompression_convert_constant_folding.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/squeeze_matmul.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/squeeze_matmul.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/translate_session.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/translate_session.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/utils.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/utils.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-openvino/utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-opt.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-quants.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-quants.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-rpc/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-rpc/ggml-rpc.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/add-id.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/add-id.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/backend.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/binbcast.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/binbcast.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/common.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/common.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/concat.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/concat.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/conv.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/conv.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/convert.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/convert.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/count-equal.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/count-equal.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/cpy.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/cpy.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/dequantize.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/dmmv.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/dmmv.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/dpct/helper.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/element_wise.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/element_wise.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-common.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-tile.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-tile.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-vec.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/gated_delta_net.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/gated_delta_net.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/gemm.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/getrows.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/getrows.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/ggml-sycl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/gla.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/gla.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/im2col.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/im2col.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmq.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmq.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmvq.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmvq.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/norm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/norm.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/outprod.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/outprod.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad_reflect_1d.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad_reflect_1d.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/presets.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/quantize.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/quants.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/repeat_back.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/repeat_back.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/roll.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/roll.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/rope.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/rope.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/set.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/set.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/set_rows.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/set_rows.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/softmax.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/softmax.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/ssm_conv.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/ssm_conv.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/sycl_hw.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/sycl_hw.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq112-dv112.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq128-dv128.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq256-dv256.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq40-dv40.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq576-dv512.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq64-dv64.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq72-dv72.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq80-dv80.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq96-dv96.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-f16.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q8_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-f16.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q8_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-f16.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q8_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-f16.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q8_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-f16.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q8_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-f16.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q8_0.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/tsembd.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/tsembd.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/type.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/upscale.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/upscale.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/vecdotq.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/wkv.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-sycl/wkv.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-threading.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-threading.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-turbo-quant.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-convert.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-device.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-remoting.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/include/apir_hw.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-apir.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-shm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-shm.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-utils.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-utils.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-vulkan/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-vulkan/ggml-vulkan.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-vulkan/vulkan-shaders/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-webgpu/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-webgpu/ggml-webgpu.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-webgpu/pre_wgsl.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/common.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/ggml-zdnn.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/mmf.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/mmf.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/utils.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zdnn/utils.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zendnn/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml-zendnn/ggml-zendnn.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml.c +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/ggml.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/ggml/src/gguf.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/include/llama-cpp.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/include/llama.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/licenses/LICENSE-jsonhpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-adapter.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-adapter.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-arch.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-arch.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-batch.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-batch.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-chat.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-chat.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-context.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-context.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-cparams.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-cparams.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-ext.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-grammar.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-grammar.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-graph.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-graph.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-hparams.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-hparams.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-impl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-io.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-io.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-kv-cache-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-kv-cache-iswa.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-kv-cache.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-kv-cache.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-kv-cells.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory-hybrid-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory-hybrid-iswa.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory-hybrid.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory-hybrid.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory-recurrent.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory-recurrent.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-memory.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-mmap.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-mmap.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-model-loader.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-model-loader.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-model-saver.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-model-saver.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-model.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-model.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-quant.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-quant.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-sampler.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-sampler.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-vocab.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama-vocab.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/llama.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/afmoe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/apertus.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/arcee.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/arctic.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/arwkv7.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/baichuan.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/bailingmoe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/bailingmoe2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/bert.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/bitnet.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/bloom.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/chameleon.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/chatglm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/codeshell.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/cogvlm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/cohere2-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/command-r.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/dbrx.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/deci.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/deepseek.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/deepseek2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/delta-net-base.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/dots1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/dream.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/ernie4-5-moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/ernie4-5.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/eurobert.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/exaone-moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/exaone.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/exaone4.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/falcon-h1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/falcon.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gemma-embedding.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gemma.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gemma2-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gemma3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gemma3n-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gemma4-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/glm4-moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/glm4.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gpt2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/gptneox.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/granite-hybrid.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/granite.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/grok.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/grovemoe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/hunyuan-dense.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/hunyuan-moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/internlm2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/jais.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/jais2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/jamba.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/kimi-linear.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/lfm2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/llada-moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/llada.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/llama-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/llama.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/maincoder.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/mamba-base.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/mamba.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/mimo2-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/minicpm3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/minimax-m2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/mistral3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/models.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/modern-bert.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/mpt.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/nemotron-h.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/nemotron.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/neo-bert.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/olmo.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/olmo2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/olmoe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/openai-moe-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/openelm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/orion.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/paddleocr.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/pangu-embedded.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/phi2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/phi3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/plamo.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/plamo2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/plamo3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/plm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen2moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen2vl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen35.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen35moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen3moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen3next.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen3vl-moe.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/qwen3vl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/refact.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/rnd1.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/rwkv6-base.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/rwkv6.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/rwkv6qwen2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/rwkv7-base.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/rwkv7.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/seed-oss.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/smallthinker.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/smollm3.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/stablelm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/starcoder.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/starcoder2.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/step35-iswa.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/t5-dec.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/t5-enc.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/wavtokenizer-dec.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/models/xverse.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/turbo-rotation-data-32.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/turbo-rotation-data.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/unicode-data.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/unicode-data.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/unicode.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/src/unicode.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/batched-bench/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/batched-bench/batched-bench.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/cli/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/cli/cli.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/completion/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/completion/completion.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/cvector-generator/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/cvector-generator/cvector-generator.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/cvector-generator/mean.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/cvector-generator/pca.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/export-lora/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/export-lora/export-lora.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/fit-params/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/fit-params/fit-params.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/gguf-split/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/gguf-split/gguf-split.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/imatrix/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/imatrix/imatrix.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/llama-bench/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/llama-bench/llama-bench.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/clip-graph.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/clip-impl.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/clip-model.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/clip.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/clip.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/debug/mtmd-debug.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/debug/mtmd-debug.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/deprecation-warning.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/cogvlm.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/conformer.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/deepseekocr.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/gemma4v.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/glm4v.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/hunyuanocr.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/internvl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/kimik25.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/kimivl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/llama4.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/llava.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/minicpmv.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/mobilenetv5.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/models.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/nemotron-v2-vl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/paddleocr.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/pixtral.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/qwen2vl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/qwen3vl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/siglip.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/whisper-enc.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/models/youtuvl.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-audio.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-audio.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-cli.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-helper.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-helper.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-image.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd-image.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/mtmd/mtmd.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/parser/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/parser/debug-template-parser.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/parser/template-analysis.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/perplexity/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/perplexity/perplexity.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/quantize/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/quantize/quantize.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/results/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/results/results.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/rpc/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/rpc/rpc-server.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-common.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-common.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-context.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-context.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-cors-proxy.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-http.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-http.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-models.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-models.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-queue.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-queue.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-task.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-task.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-tools.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server-tools.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/server/server.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/tokenize/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/tokenize/tokenize.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/tts/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/tools/tts/tts.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/cpp-httplib/CMakeLists.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/cpp-httplib/httplib.cpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/cpp-httplib/httplib.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/miniaudio/miniaudio.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/nlohmann/json.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/nlohmann/json_fwd.hpp +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/sheredom/subprocess.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/llama-cpp-turboquant/vendor/stb/stb_image.h +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/setup.cfg +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/setup.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/__main__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/_subproc_env.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/app_tasks.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/constants.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/prompts.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/recovery.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/sections.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/streaming.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/tool_execution.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/agent/tool_orchestration.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/app.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/approvals.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/auto_compact.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/autonomy.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/bin/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/bin/llama-server +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/cache.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/checkpoint.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/compact.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/compaction.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/composer.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/config.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/context.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/display.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/entrypoint.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/errors.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/events.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/features.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/formatting.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/headless_json.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/health.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/hf_quants.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/history.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/indexer.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/injection_defense.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/launcher.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/logging_utils.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/lsp.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/mcp/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/mcp/_bridge.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/mcp/_config.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/mcp/_transports.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/mcp/client.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/memory_guard.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/model_config.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/model_families.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/models.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/models_catalog.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/notebook.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/output.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/patching.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/paths.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/performance.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/permissions.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/permissions_v2.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/plans.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/recommendations.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/recovery.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/runtime.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/runtime_diffusion.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/server_manager.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/session.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/shell.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/debug.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/edit-verified.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/explain.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/git-commit-safely.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/locate.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/plan-task.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/review.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/skills/run-tests.md +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/snapshots.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/sounds.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/telemetry.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/theme.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/thermal.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tool_router.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/toolkit.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/agent.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/append_file.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/base.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/bash.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/edit_diff.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/edit_file.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/facts.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/glob_tool.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/grep.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/launch_app.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/list_files.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/multi_edit.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/plan_mode.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/project_check.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/read_file.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/read_state.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/skill_tool.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/syntax_check.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/todo_write.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/tool_call_repair.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/web_fetch.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/web_search.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tools/write_file.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/app.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/bridge.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/clipboard_image.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/paste_collapse.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/screens/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/screens/chat.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/screens/mode_picker.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/screens/model_picker.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/screens/setup.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/styles/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/styles/app.tcss +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/widgets/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/widgets/approval.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/widgets/chat_log.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/widgets/messages/__init__.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/widgets/messages/diff.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/tui/widgets/voice_visualizer.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/turn_diff.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/undo.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/verification.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode/voice.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode.egg-info/dependency_links.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode.egg-info/entry_points.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode.egg-info/requires.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/src/localcode.egg-info/top_level.txt +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_agent_event_regressions.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_architecture.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_bootstrap.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_checkpoint.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_churn_detection.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_clipboard_image.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_compaction.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_agent.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_bg_download.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_binary.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_cli.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_diffusion.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_download.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_hardening.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_install.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_machines.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_model_picker.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_models_matrix.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_tui.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_vision.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_voice.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_comprehensive_whisper.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_config.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_context.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_context_pipeline_e2e.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_download.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_edit_guard_and_fuzzy.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_embeddings_retrieval.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_fresh_install.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_kv_cap.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_loop_recovery_ladder.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_model_config.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_models_catalog.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_not_found_recovery.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_output.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_paste_collapse.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_prompt_language_steering.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_real_models.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_run_json.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_runtime.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_subproc_env.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_syntax_check.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_thermal.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_toolkit.py +0 -0
- {localcode-0.3.22 → localcode-0.3.24}/tests/test_tui_input.py +0 -0
|
@@ -624,8 +624,23 @@ def _window_aware_compaction(ctx_window_chars: int | None) -> tuple[int, int]:
|
|
|
624
624
|
return budget, keep
|
|
625
625
|
|
|
626
626
|
|
|
627
|
+
def latency_budgeted_hot_replay(
|
|
628
|
+
ctx_window_chars: int | None,
|
|
629
|
+
observed_ttft_ms: int | None,
|
|
630
|
+
*,
|
|
631
|
+
target_ttft_ms: int = 8_000,
|
|
632
|
+
) -> tuple[int, int]:
|
|
633
|
+
"""Adapt hot replay to measured local prefill latency, not KV capacity."""
|
|
634
|
+
budget, keep = _window_aware_compaction(ctx_window_chars)
|
|
635
|
+
if not observed_ttft_ms or observed_ttft_ms <= target_ttft_ms:
|
|
636
|
+
return budget, keep
|
|
637
|
+
ratio = max(0.35, target_ttft_ms / observed_ttft_ms)
|
|
638
|
+
return max(18_000, int(budget * ratio)), max(2, int(keep * ratio))
|
|
639
|
+
|
|
640
|
+
|
|
627
641
|
def _prepare_model_messages(
|
|
628
|
-
messages: list[dict], ctx_window_chars: int | None = None
|
|
642
|
+
messages: list[dict], ctx_window_chars: int | None = None,
|
|
643
|
+
observed_ttft_ms: int | None = None,
|
|
629
644
|
) -> list[dict]:
|
|
630
645
|
"""One-stop context-shrink pass before sending to the model.
|
|
631
646
|
|
|
@@ -651,7 +666,7 @@ def _prepare_model_messages(
|
|
|
651
666
|
practice?" without instrumenting the agent loop. Silent on no-op
|
|
652
667
|
so the log doesn't fill up with empty events.
|
|
653
668
|
"""
|
|
654
|
-
budget_bytes, keep_recent =
|
|
669
|
+
budget_bytes, keep_recent = latency_budgeted_hot_replay(ctx_window_chars, observed_ttft_ms)
|
|
655
670
|
before = _msg_bytes(messages)
|
|
656
671
|
after_writes = _redact_old_write_args(messages)
|
|
657
672
|
bytes_writes = before - _msg_bytes(after_writes)
|
|
@@ -154,21 +154,30 @@ class GoalState:
|
|
|
154
154
|
|
|
155
155
|
|
|
156
156
|
def infer_goal_state(user_text: str) -> GoalState:
|
|
157
|
-
# Generalist mode: every turn is general_task. The regex-based branching
|
|
158
|
-
# (build_app / edit_existing / run_or_launch / question) was driving
|
|
159
|
-
# false-positive rejections in loop.py and over-greedy followup
|
|
160
|
-
# downgrades in app.py. Single code path = no classifier confusion.
|
|
161
157
|
text = (user_text or "").strip()
|
|
158
|
+
lower = text.lower()
|
|
159
|
+
if re.search(r"\b(build|create|make|scaffold|implement)\b.{0,40}\b(app|application|website|dashboard|api|service|project)\b", lower):
|
|
160
|
+
goal_type, task_kind = "build_app", "new_app"
|
|
161
|
+
criteria = ("Requested implementation exists on disk", "Relevant build or tests pass", "Runtime behavior is verified when applicable")
|
|
162
|
+
elif re.search(r"\b(run|launch|start|serve|open)\b.{0,24}\b(app|server|site|project|it)\b", lower):
|
|
163
|
+
goal_type, task_kind = "run_or_launch", "run"
|
|
164
|
+
criteria = ("Target process is running", "Exact access URL or process status is reported")
|
|
165
|
+
elif re.search(r"\b(fix|change|edit|update|refactor|rename|remove|add)\b", lower):
|
|
166
|
+
goal_type, task_kind = "edit_existing", "edit"
|
|
167
|
+
criteria = ("Requested code change exists", "Relevant verification passes")
|
|
168
|
+
elif re.match(r"^(what|why|how|where|when|who|is|are|can|could|should|does|do)\b", lower) or text.endswith("?"):
|
|
169
|
+
goal_type, task_kind = "question", "question"
|
|
170
|
+
criteria = ("Question is answered from grounded evidence",)
|
|
171
|
+
else:
|
|
172
|
+
goal_type, task_kind = "general_task", "general_task"
|
|
173
|
+
criteria = ("Assistant makes concrete progress toward the user's request", "Assistant stops only on completion or a focused blocking question")
|
|
162
174
|
return GoalState(
|
|
163
175
|
raw_user_text=text,
|
|
164
|
-
goal_type=
|
|
165
|
-
task_kind=
|
|
176
|
+
goal_type=goal_type,
|
|
177
|
+
task_kind=task_kind,
|
|
166
178
|
task_slug=_make_task_slug(text),
|
|
167
179
|
goal_summary=text[:240],
|
|
168
|
-
success_criteria=
|
|
169
|
-
"Assistant makes concrete progress toward the user's request",
|
|
170
|
-
"Assistant stops only on completion or a focused blocking question",
|
|
171
|
-
),
|
|
180
|
+
success_criteria=criteria,
|
|
172
181
|
)
|
|
173
182
|
|
|
174
183
|
|
|
@@ -162,6 +162,15 @@ def _execute_tool_result(app: "LocalCodeApp", name: str, args: dict, out: "Outpu
|
|
|
162
162
|
wrapping plan-mode policy layer that refuses destructive tools
|
|
163
163
|
while the agent is in plan-explore mode.
|
|
164
164
|
"""
|
|
165
|
+
try:
|
|
166
|
+
hook = getattr(app, "hooks", None)
|
|
167
|
+
decision = hook.on_pre_tool_use(name, args) if hook is not None else None
|
|
168
|
+
if decision is not None and decision.blocked:
|
|
169
|
+
reason = decision.error or decision.output or "pre-tool hook blocked"
|
|
170
|
+
return ToolResult(text=f"REJECTED: {reason}", ok=False, facts={"tool": name, "ok": False, "hook_blocked": True})
|
|
171
|
+
except Exception:
|
|
172
|
+
pass
|
|
173
|
+
|
|
165
174
|
# Lint-gate: for source-file writes/edits, snapshot the file before the
|
|
166
175
|
# tool runs so we can auto-revert on syntax-break. Motivation: the model
|
|
167
176
|
# at 2-bit quant has been observed to delete import statements during
|
|
@@ -210,8 +219,19 @@ def _execute_tool_result(app: "LocalCodeApp", name: str, args: dict, out: "Outpu
|
|
|
210
219
|
result = _tools_dispatch_result(name, ToolContext(app=app, out=out), args)
|
|
211
220
|
except Exception as e:
|
|
212
221
|
text = f"Error in {name}: {type(e).__name__}: {e}"
|
|
222
|
+
try:
|
|
223
|
+
if getattr(app, "hooks", None) is not None:
|
|
224
|
+
app.hooks.on_post_tool_use(name, args, text, error=True)
|
|
225
|
+
except Exception:
|
|
226
|
+
pass
|
|
213
227
|
return ToolResult(text=text, ok=False, facts={"tool": name, "ok": False, "error_type": type(e).__name__})
|
|
214
228
|
|
|
229
|
+
try:
|
|
230
|
+
if getattr(app, "hooks", None) is not None:
|
|
231
|
+
app.hooks.on_post_tool_use(name, args, result.text, error=not result.ok)
|
|
232
|
+
except Exception:
|
|
233
|
+
pass
|
|
234
|
+
|
|
215
235
|
if target_path is not None and target_path.exists() and target_path.suffix == ".py":
|
|
216
236
|
# Python: ast.parse is cheap and authoritative.
|
|
217
237
|
import ast as _ast
|
|
@@ -228,6 +248,12 @@ def _execute_tool_result(app: "LocalCodeApp", name: str, args: dict, out: "Outpu
|
|
|
228
248
|
"user explicitly asked."
|
|
229
249
|
)
|
|
230
250
|
return ToolResult(text=text, ok=False, facts={"tool": name, "ok": False, "path": str(target_path), "reverted": True})
|
|
251
|
+
if name in _lint_tools:
|
|
252
|
+
try:
|
|
253
|
+
if getattr(app, "hooks", None) is not None:
|
|
254
|
+
app.hooks.on_post_edit(str(args.get("path", "")), result.text, error=not result.ok)
|
|
255
|
+
except Exception:
|
|
256
|
+
pass
|
|
231
257
|
return result
|
|
232
258
|
|
|
233
259
|
|
|
@@ -9,6 +9,7 @@ from dataclasses import dataclass, field
|
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
import re
|
|
11
11
|
from typing import Any
|
|
12
|
+
from ..evidence import EvidenceRegistry
|
|
12
13
|
__all__ = [
|
|
13
14
|
"TurnState",
|
|
14
15
|
"EvidenceLedger",
|
|
@@ -20,6 +21,8 @@ __all__ = [
|
|
|
20
21
|
"completion_gate",
|
|
21
22
|
"ran_build_or_test",
|
|
22
23
|
"_changed_code_files",
|
|
24
|
+
"CompletionEvidence",
|
|
25
|
+
"deterministic_completion",
|
|
23
26
|
]
|
|
24
27
|
|
|
25
28
|
|
|
@@ -32,6 +35,7 @@ class TurnState:
|
|
|
32
35
|
bash_history: list[tuple[str, str]] = field(default_factory=list)
|
|
33
36
|
tools_called: list[str] = field(default_factory=list)
|
|
34
37
|
evidence: "EvidenceLedger" = field(default_factory=lambda: EvidenceLedger())
|
|
38
|
+
verification_registry: EvidenceRegistry = field(default_factory=EvidenceRegistry)
|
|
35
39
|
|
|
36
40
|
|
|
37
41
|
@dataclass
|
|
@@ -85,6 +89,22 @@ class QualityVerdict:
|
|
|
85
89
|
correction: str = ""
|
|
86
90
|
|
|
87
91
|
|
|
92
|
+
@dataclass(frozen=True)
|
|
93
|
+
class CompletionEvidence:
|
|
94
|
+
criterion: str
|
|
95
|
+
evidence: tuple[str, ...] = ()
|
|
96
|
+
satisfied: bool = False
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def deterministic_completion(criteria: list[CompletionEvidence]) -> QualityVerdict:
|
|
100
|
+
if not criteria:
|
|
101
|
+
return QualityVerdict(False, "no-success-criteria", "Define verifiable outcomes first.")
|
|
102
|
+
missing = [item.criterion for item in criteria if not item.satisfied or not item.evidence]
|
|
103
|
+
if missing:
|
|
104
|
+
return QualityVerdict(False, "missing-completion-evidence", "Gather evidence for: " + "; ".join(missing[:5]))
|
|
105
|
+
return QualityVerdict(True, "success-criteria-satisfied", "Stop: further polish is out of scope.")
|
|
106
|
+
|
|
107
|
+
|
|
88
108
|
def before_turn(state: TurnState) -> None:
|
|
89
109
|
"""Reserved hook for per-turn initialization."""
|
|
90
110
|
return None
|
|
@@ -424,6 +424,13 @@ def run_agent_loop(
|
|
|
424
424
|
)
|
|
425
425
|
_completion_gate_retries = 0
|
|
426
426
|
_MAX_COMPLETION_GATE_RETRIES = 1
|
|
427
|
+
# Open-todo completion discipline: don't let a long task end while the
|
|
428
|
+
# model's own todo list still has open items. Bounded overall, plus a
|
|
429
|
+
# diminishing-returns guard (stop nagging if the open-count stops falling).
|
|
430
|
+
_todo_continue_count = 0
|
|
431
|
+
_MAX_TODO_CONTINUATIONS = 15
|
|
432
|
+
_todo_stuck_count = 0
|
|
433
|
+
_last_todo_remaining = 10**9
|
|
427
434
|
_edit_recovery_nudges = 0
|
|
428
435
|
_MAX_CONSECUTIVE_CORRECTIONS = 2
|
|
429
436
|
_generic_correction_nudges = 0
|
|
@@ -591,6 +598,7 @@ def run_agent_loop(
|
|
|
591
598
|
_MAX_LOOKS_FINE_STREAK = 3
|
|
592
599
|
_deterministic_launch_done = False
|
|
593
600
|
_verified_launch_summary = ""
|
|
601
|
+
_observed_ttft_ms = 0
|
|
594
602
|
|
|
595
603
|
if _goal_state.goal_type == "run_or_launch":
|
|
596
604
|
try:
|
|
@@ -715,9 +723,15 @@ def run_agent_loop(
|
|
|
715
723
|
f"Compacting conversation (≈{estimate_tokens(messages)} tokens "
|
|
716
724
|
f"of {ctx_tokens} context → summary)..."
|
|
717
725
|
)
|
|
726
|
+
_before_compact_count = len(messages)
|
|
718
727
|
messages[:] = compact(
|
|
719
728
|
messages, app.engine, context_window=ctx_tokens, ram_gb=_ram_gb
|
|
720
729
|
)
|
|
730
|
+
try:
|
|
731
|
+
if getattr(app, "hooks", None) is not None:
|
|
732
|
+
app.hooks.on_post_compaction(_before_compact_count, len(messages))
|
|
733
|
+
except Exception:
|
|
734
|
+
pass
|
|
721
735
|
except Exception as _compact_err:
|
|
722
736
|
# Never let compaction failure kill the agent loop — continue
|
|
723
737
|
# with the unchanged messages and let the user see the error.
|
|
@@ -774,7 +788,8 @@ def run_agent_loop(
|
|
|
774
788
|
except Exception:
|
|
775
789
|
_ctx_chars = None
|
|
776
790
|
model_messages = hook_before_model(
|
|
777
|
-
_prepare_model_messages(messages, ctx_window_chars=_ctx_chars
|
|
791
|
+
_prepare_model_messages(messages, ctx_window_chars=_ctx_chars,
|
|
792
|
+
observed_ttft_ms=_observed_ttft_ms),
|
|
778
793
|
_hook_state,
|
|
779
794
|
)
|
|
780
795
|
# Inject a window-scaled progress ledger (Codex-style tool-state
|
|
@@ -872,6 +887,7 @@ def run_agent_loop(
|
|
|
872
887
|
_round_reasoning_chars = _stream_result.reasoning_chars
|
|
873
888
|
_round_pending_tool_count = _stream_result.pending_tool_count
|
|
874
889
|
_round_ttft_ms = _stream_result.ttft_ms
|
|
890
|
+
_observed_ttft_ms = _round_ttft_ms
|
|
875
891
|
_round_decode_ms = _stream_result.decode_ms
|
|
876
892
|
_stream_tool_calls = _stream_result.tool_calls
|
|
877
893
|
_primary_round_tool = (
|
|
@@ -1332,6 +1348,54 @@ def run_agent_loop(
|
|
|
1332
1348
|
# permission question, the user gets to answer — the runtime
|
|
1333
1349
|
# does not silently force a retry.
|
|
1334
1350
|
_blocking_question = is_focused_blocking_question(content)
|
|
1351
|
+
# ── Open-todo completion gate (GENERAL — the goal-typed gates below
|
|
1352
|
+
# are dead because infer_goal_state always returns general_task). If
|
|
1353
|
+
# the model tries to END its turn while its OWN todo list still has
|
|
1354
|
+
# open items, it stopped early: force it to continue to the next item.
|
|
1355
|
+
# `session.todos` is cleared to [] by todo_write only when ALL are
|
|
1356
|
+
# completed, so a non-empty list is real unfinished work. Bounded by
|
|
1357
|
+
# _MAX_TODO_CONTINUATIONS, with a diminishing-returns guard so a model
|
|
1358
|
+
# that can't make progress on its plan isn't nagged forever.
|
|
1359
|
+
_open_todos = list(getattr(app.session, "todos", []) or [])
|
|
1360
|
+
_todo_remaining = sum(
|
|
1361
|
+
1 for t in _open_todos if str(t.get("status", "")).lower() != "completed"
|
|
1362
|
+
)
|
|
1363
|
+
if (
|
|
1364
|
+
not _blocking_question
|
|
1365
|
+
and _todo_remaining > 0
|
|
1366
|
+
and _todo_continue_count < _MAX_TODO_CONTINUATIONS
|
|
1367
|
+
and _todo_stuck_count < 3
|
|
1368
|
+
and _is_enabled(Feature.AUTO_NUDGE_RECOVERY)
|
|
1369
|
+
):
|
|
1370
|
+
# Diminishing returns: if the open-count didn't fall since the
|
|
1371
|
+
# last continuation, the model isn't advancing its plan.
|
|
1372
|
+
if _todo_remaining >= _last_todo_remaining:
|
|
1373
|
+
_todo_stuck_count += 1
|
|
1374
|
+
else:
|
|
1375
|
+
_todo_stuck_count = 0
|
|
1376
|
+
_last_todo_remaining = _todo_remaining
|
|
1377
|
+
if _todo_stuck_count < 3:
|
|
1378
|
+
_todo_continue_count += 1
|
|
1379
|
+
_nxt = next(
|
|
1380
|
+
(t for t in _open_todos if str(t.get("status", "")).lower() == "in_progress"),
|
|
1381
|
+
None,
|
|
1382
|
+
) or next(
|
|
1383
|
+
(t for t in _open_todos if str(t.get("status", "")).lower() != "completed"),
|
|
1384
|
+
None,
|
|
1385
|
+
)
|
|
1386
|
+
_nxt_label = (_nxt or {}).get("content", "the next item")
|
|
1387
|
+
out.print_info(
|
|
1388
|
+
f"{_todo_remaining} todo(s) still open — continuing (not stopping early)."
|
|
1389
|
+
)
|
|
1390
|
+
messages.append({"role": "user", "content": (
|
|
1391
|
+
f"SYSTEM: You still have {_todo_remaining} unfinished todo(s). "
|
|
1392
|
+
f"The task is NOT complete — do not stop. Continue now with: "
|
|
1393
|
+
f"{_nxt_label}. Mark a todo completed via todo_write only when it "
|
|
1394
|
+
f"is genuinely done, and keep going until every item is completed."
|
|
1395
|
+
)})
|
|
1396
|
+
_ephemeral_nudge_indices.append(len(messages) - 1)
|
|
1397
|
+
_last_nudge_kind = "todo_continue"
|
|
1398
|
+
continue # force another round — reject the early completion
|
|
1335
1399
|
# ── Build-verification STOP gate (claude-code query.ts stop-hook) ──
|
|
1336
1400
|
# The model wants to END a build_app turn that changed CODE. This is
|
|
1337
1401
|
# a TRUE completion gate, not a one-shot nudge: we RUN the project's
|
|
@@ -1412,6 +1476,43 @@ def run_agent_loop(
|
|
|
1412
1476
|
continue # let it verify before finishing
|
|
1413
1477
|
# else: gate clean and either self-verified or already advised →
|
|
1414
1478
|
# fall through and accept completion.
|
|
1479
|
+
if (not _blocking_question and _goal_state.goal_type == "edit_existing"
|
|
1480
|
+
and _changed_code_files(changed_files)
|
|
1481
|
+
and not ran_build_or_test(bash_history)
|
|
1482
|
+
and _completion_gate_retries < 1):
|
|
1483
|
+
_completion_gate_retries += 1
|
|
1484
|
+
if _append_nudge(
|
|
1485
|
+
"SYSTEM: The requested edit exists, but no relevant test, build, "
|
|
1486
|
+
"typecheck, or import check has passed. Run the narrowest "
|
|
1487
|
+
"deterministic verification now, fix failures, then finish.",
|
|
1488
|
+
kind="edit_verify_advise",
|
|
1489
|
+
):
|
|
1490
|
+
continue
|
|
1491
|
+
if (not _blocking_question
|
|
1492
|
+
and _goal_state.goal_type in {"build_app", "edit_existing"}
|
|
1493
|
+
and changed_files
|
|
1494
|
+
and "relevant-verification" in _hook_state.verification_registry.requirements
|
|
1495
|
+
and _hook_state.verification_registry.satisfied("relevant-verification", os.environ)):
|
|
1496
|
+
from .state_machine import TaskEvent, transition
|
|
1497
|
+
_done_transition = transition("verify", TaskEvent.REQUIREMENTS_SATISFIED)
|
|
1498
|
+
_announce_task_stage(_done_transition.after.value)
|
|
1499
|
+
_completion_blocked = (
|
|
1500
|
+
not _blocking_question
|
|
1501
|
+
and _goal_state.goal_type in {"build_app", "edit_existing"}
|
|
1502
|
+
and bool(_changed_code_files(changed_files))
|
|
1503
|
+
and (
|
|
1504
|
+
"relevant-verification" not in _hook_state.verification_registry.requirements
|
|
1505
|
+
or not _hook_state.verification_registry.satisfied(
|
|
1506
|
+
"relevant-verification", os.environ
|
|
1507
|
+
)
|
|
1508
|
+
)
|
|
1509
|
+
)
|
|
1510
|
+
if _completion_blocked:
|
|
1511
|
+
content = (
|
|
1512
|
+
"Implementation changes were made, but LocalCode could not record "
|
|
1513
|
+
"a passing build, test, typecheck, or import check for the current "
|
|
1514
|
+
"file hashes. The task remains incomplete rather than claiming success."
|
|
1515
|
+
)
|
|
1415
1516
|
if _goal_state.goal_type == "run_or_launch":
|
|
1416
1517
|
_task_port = int(getattr(_task_state, "active_port", 0) or 0)
|
|
1417
1518
|
content = ground_run_or_launch_text(content, _task_port)
|
|
@@ -1433,7 +1534,11 @@ def run_agent_loop(
|
|
|
1433
1534
|
)
|
|
1434
1535
|
_render_markdown(grounded_access, app.console if hasattr(app, 'console') else None)
|
|
1435
1536
|
full_response.append(grounded_access)
|
|
1436
|
-
_loop_exit_reason =
|
|
1537
|
+
_loop_exit_reason = (
|
|
1538
|
+
"blocked_question" if _blocking_question
|
|
1539
|
+
else "completion_gate:unverified" if _completion_blocked
|
|
1540
|
+
else "model_done"
|
|
1541
|
+
)
|
|
1437
1542
|
break
|
|
1438
1543
|
|
|
1439
1544
|
# ── Execute tools ──
|
|
@@ -1631,18 +1736,10 @@ def run_agent_loop(
|
|
|
1631
1736
|
# POST_REJECTION stall path nudges it to retry — model
|
|
1632
1737
|
# doesn't just stop, it actually splits the work.
|
|
1633
1738
|
_oversize_stub = oversize_stub_for_tool(tool_name, args, 1_000_000)
|
|
1739
|
+
# edit_file already carries the exact old text as grounded context.
|
|
1740
|
+
# Requiring a separate read first rejected valid one-shot edits and
|
|
1741
|
+
# let small models falsely narrate success after the rejection.
|
|
1634
1742
|
_edit_sequence_stub = None
|
|
1635
|
-
if (
|
|
1636
|
-
_goal_state.goal_type == "edit_existing"
|
|
1637
|
-
and tool_name in {"write_file", "append_file", "edit_file", "multi_edit", "edit_diff"}
|
|
1638
|
-
and not _edit_context_seen
|
|
1639
|
-
):
|
|
1640
|
-
_edit_sequence_stub = (
|
|
1641
|
-
"REJECTED: edit_existing workflow requires context before patching. "
|
|
1642
|
-
"First locate the relevant files with list_files/grep/glob and read "
|
|
1643
|
-
"the target file or focused range with read_file. Then apply the "
|
|
1644
|
-
"smallest targeted edit and verify it."
|
|
1645
|
-
)
|
|
1646
1743
|
|
|
1647
1744
|
# HARD rewrite-stop: the churn NUDGE (limit 3) only advises — logs
|
|
1648
1745
|
# showed a model rewrite one file 16x while 25-34 nudges fired.
|
|
@@ -1739,25 +1836,44 @@ def run_agent_loop(
|
|
|
1739
1836
|
_round_tool_exec_ms += int(
|
|
1740
1837
|
(time.monotonic() - _tool_started_at) * 1000
|
|
1741
1838
|
)
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
),
|
|
1751
|
-
)
|
|
1752
|
-
if _next_stage == "running":
|
|
1753
|
-
_announce_task_stage(_next_stage)
|
|
1839
|
+
_tool_succeeded = bool(_tool_facts.get("ok", True)) and not tool_result_is_error(str(tool_result))
|
|
1840
|
+
if _goal_state.goal_type in {"build_app", "edit_existing"}:
|
|
1841
|
+
from .state_machine import event_for_tool, transition
|
|
1842
|
+
_stage_event = event_for_tool(tool_name, succeeded=_tool_succeeded)
|
|
1843
|
+
if _stage_event is not None:
|
|
1844
|
+
_stage_transition = transition(_current_task_stage_for_thinking(), _stage_event)
|
|
1845
|
+
if _stage_transition.changed:
|
|
1846
|
+
_announce_task_stage(_stage_transition.after.value)
|
|
1754
1847
|
if tool_name == "bash":
|
|
1755
1848
|
_bash_cmd = str(args.get("command", ""))
|
|
1756
1849
|
bash_history.append((_bash_cmd, str(tool_result)))
|
|
1757
|
-
|
|
1850
|
+
from ..execution_policy import assess_shell_execution
|
|
1851
|
+
_execution = assess_shell_execution(_bash_cmd, str(tool_result), int(_tool_facts.get("exit_code", 0 if _tool_succeeded else 1)))
|
|
1852
|
+
if not _execution.task_succeeded:
|
|
1758
1853
|
app._last_failed_tool_name = tool_name
|
|
1759
1854
|
else:
|
|
1760
1855
|
app._last_failed_tool_name = ""
|
|
1856
|
+
if _goal_state.goal_type in {"build_app", "edit_existing"} and ran_build_or_test([(_bash_cmd, str(tool_result))]):
|
|
1857
|
+
from pathlib import Path as _EvidencePath
|
|
1858
|
+
from ..evidence import EvidenceRequirement
|
|
1859
|
+
_verification_files = tuple(
|
|
1860
|
+
_EvidencePath(path) if _EvidencePath(path).is_absolute()
|
|
1861
|
+
else _EvidencePath(app.repo_root) / path
|
|
1862
|
+
for path in changed_files
|
|
1863
|
+
)
|
|
1864
|
+
_hook_state.verification_registry.require(EvidenceRequirement(
|
|
1865
|
+
"relevant-verification", _verification_files, _bash_cmd,
|
|
1866
|
+
("PATH", "NODE_ENV", "PYTHONPATH"),
|
|
1867
|
+
))
|
|
1868
|
+
_hook_state.verification_registry.record(
|
|
1869
|
+
"relevant-verification", environment=os.environ,
|
|
1870
|
+
passed=_execution.task_succeeded, output=str(tool_result),
|
|
1871
|
+
)
|
|
1872
|
+
from .state_machine import TaskEvent, transition
|
|
1873
|
+
_verify_event = TaskEvent.VERIFICATION_PASSED if _execution.task_succeeded else TaskEvent.VERIFICATION_FAILED
|
|
1874
|
+
_verify_transition = transition(_current_task_stage_for_thinking(), _verify_event)
|
|
1875
|
+
if _verify_transition.changed:
|
|
1876
|
+
_announce_task_stage(_verify_transition.after.value)
|
|
1761
1877
|
if _goal_state.goal_type in {"build_app", "run_or_launch"}:
|
|
1762
1878
|
port = extract_port(f"{args.get('command', '')}\n{tool_result}")
|
|
1763
1879
|
if port:
|
|
@@ -204,6 +204,13 @@ def build_dynamic_skills_block(
|
|
|
204
204
|
)
|
|
205
205
|
|
|
206
206
|
registry = load_registry(app.repo_root)
|
|
207
|
+
catalog = registry.listing()
|
|
208
|
+
catalog_block = (
|
|
209
|
+
"\n\n## Available Skills\n"
|
|
210
|
+
"Load a matching recipe with the skill tool; full bodies are deferred.\n"
|
|
211
|
+
+ catalog
|
|
212
|
+
if catalog else ""
|
|
213
|
+
)
|
|
207
214
|
recent_tools = list(getattr(app, "_recent_tool_names", []) or [])
|
|
208
215
|
last_failed_tool = str(getattr(app, "_last_failed_tool_name", "") or "")
|
|
209
216
|
candidates = dynamic_skill_candidates(
|
|
@@ -227,13 +234,13 @@ def build_dynamic_skills_block(
|
|
|
227
234
|
# turns so llama.cpp's prefix-cache can hit.
|
|
228
235
|
if not selected:
|
|
229
236
|
return (
|
|
230
|
-
|
|
237
|
+
catalog_block,
|
|
231
238
|
[],
|
|
232
239
|
[],
|
|
233
240
|
0,
|
|
234
241
|
candidates,
|
|
235
242
|
)
|
|
236
|
-
block = dynamic_skill_block(selected)
|
|
243
|
+
block = catalog_block + dynamic_skill_block(selected)
|
|
237
244
|
return (
|
|
238
245
|
block,
|
|
239
246
|
[skill.name for skill in selected],
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"""Deterministic lifecycle for coding tasks.
|
|
2
|
+
|
|
3
|
+
The model proposes actions; the harness owns stage transitions. Keeping this
|
|
4
|
+
table outside the prompt prevents narration such as "build succeeded" from
|
|
5
|
+
silently becoming completion state.
|
|
6
|
+
"""
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from enum import Enum
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
"TaskStage", "TaskEvent", "Transition", "normalize_stage", "transition",
|
|
14
|
+
"event_for_tool",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class TaskStage(str, Enum):
|
|
19
|
+
DISCOVER = "discover"
|
|
20
|
+
PLAN = "plan"
|
|
21
|
+
IMPLEMENT = "implement"
|
|
22
|
+
VERIFY = "verify"
|
|
23
|
+
REPAIR = "repair"
|
|
24
|
+
COMPLETE = "complete"
|
|
25
|
+
BLOCKED = "blocked"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TaskEvent(str, Enum):
|
|
29
|
+
CONTEXT_READY = "context_ready"
|
|
30
|
+
PLAN_READY = "plan_ready"
|
|
31
|
+
MUTATION_SUCCEEDED = "mutation_succeeded"
|
|
32
|
+
VERIFICATION_REQUESTED = "verification_requested"
|
|
33
|
+
VERIFICATION_PASSED = "verification_passed"
|
|
34
|
+
VERIFICATION_FAILED = "verification_failed"
|
|
35
|
+
REQUIREMENTS_SATISFIED = "requirements_satisfied"
|
|
36
|
+
BLOCKED = "blocked"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
_TRANSITIONS: dict[tuple[TaskStage, TaskEvent], TaskStage] = {
|
|
40
|
+
(TaskStage.DISCOVER, TaskEvent.CONTEXT_READY): TaskStage.PLAN,
|
|
41
|
+
(TaskStage.PLAN, TaskEvent.PLAN_READY): TaskStage.IMPLEMENT,
|
|
42
|
+
(TaskStage.DISCOVER, TaskEvent.MUTATION_SUCCEEDED): TaskStage.IMPLEMENT,
|
|
43
|
+
(TaskStage.PLAN, TaskEvent.MUTATION_SUCCEEDED): TaskStage.IMPLEMENT,
|
|
44
|
+
(TaskStage.IMPLEMENT, TaskEvent.MUTATION_SUCCEEDED): TaskStage.IMPLEMENT,
|
|
45
|
+
(TaskStage.IMPLEMENT, TaskEvent.VERIFICATION_REQUESTED): TaskStage.VERIFY,
|
|
46
|
+
(TaskStage.IMPLEMENT, TaskEvent.VERIFICATION_PASSED): TaskStage.VERIFY,
|
|
47
|
+
(TaskStage.IMPLEMENT, TaskEvent.VERIFICATION_FAILED): TaskStage.REPAIR,
|
|
48
|
+
(TaskStage.VERIFY, TaskEvent.VERIFICATION_FAILED): TaskStage.REPAIR,
|
|
49
|
+
(TaskStage.REPAIR, TaskEvent.MUTATION_SUCCEEDED): TaskStage.VERIFY,
|
|
50
|
+
(TaskStage.REPAIR, TaskEvent.VERIFICATION_PASSED): TaskStage.VERIFY,
|
|
51
|
+
(TaskStage.VERIFY, TaskEvent.VERIFICATION_PASSED): TaskStage.VERIFY,
|
|
52
|
+
(TaskStage.VERIFY, TaskEvent.REQUIREMENTS_SATISFIED): TaskStage.COMPLETE,
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@dataclass(frozen=True)
|
|
57
|
+
class Transition:
|
|
58
|
+
before: TaskStage
|
|
59
|
+
event: TaskEvent
|
|
60
|
+
after: TaskStage
|
|
61
|
+
changed: bool
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def normalize_stage(value: str | TaskStage | None) -> TaskStage:
|
|
65
|
+
raw = str(value or "").strip().lower()
|
|
66
|
+
aliases = {
|
|
67
|
+
"": TaskStage.DISCOVER,
|
|
68
|
+
"planning": TaskStage.PLAN,
|
|
69
|
+
"scaffolding": TaskStage.PLAN,
|
|
70
|
+
"running": TaskStage.IMPLEMENT,
|
|
71
|
+
"implementing": TaskStage.IMPLEMENT,
|
|
72
|
+
"verified": TaskStage.VERIFY,
|
|
73
|
+
"done": TaskStage.COMPLETE,
|
|
74
|
+
}
|
|
75
|
+
if raw in aliases:
|
|
76
|
+
return aliases[raw]
|
|
77
|
+
try:
|
|
78
|
+
return TaskStage(raw)
|
|
79
|
+
except ValueError:
|
|
80
|
+
return TaskStage.DISCOVER
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def transition(current: str | TaskStage | None, event: TaskEvent) -> Transition:
|
|
84
|
+
before = normalize_stage(current)
|
|
85
|
+
if event == TaskEvent.BLOCKED:
|
|
86
|
+
after = TaskStage.BLOCKED
|
|
87
|
+
else:
|
|
88
|
+
after = _TRANSITIONS.get((before, event), before)
|
|
89
|
+
return Transition(before=before, event=event, after=after, changed=after != before)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def event_for_tool(tool_name: str, *, succeeded: bool, verification: bool = False) -> TaskEvent | None:
|
|
93
|
+
"""Map grounded tool facts to a lifecycle event."""
|
|
94
|
+
if verification:
|
|
95
|
+
return TaskEvent.VERIFICATION_PASSED if succeeded else TaskEvent.VERIFICATION_FAILED
|
|
96
|
+
if succeeded and (tool_name or "").strip() in {
|
|
97
|
+
"write_file", "append_file", "edit_file", "multi_edit", "apply_patch", "bash",
|
|
98
|
+
}:
|
|
99
|
+
return TaskEvent.MUTATION_SUCCEEDED
|
|
100
|
+
return None
|
|
@@ -70,6 +70,15 @@ def finalize_turn(
|
|
|
70
70
|
"""Emit turn_end and persist task/session state."""
|
|
71
71
|
blocked_reason = final_text if loop_exit_reason == "blocked_question" else ""
|
|
72
72
|
completion_status, task_status = status_for_exit(loop_exit_reason)
|
|
73
|
+
try:
|
|
74
|
+
hook = getattr(app, "hooks", None)
|
|
75
|
+
if hook is not None:
|
|
76
|
+
hook_result = hook.on_pre_completion(final_text, completion_status)
|
|
77
|
+
if hook_result.blocked:
|
|
78
|
+
completion_status, task_status = "stopped_early", "failed"
|
|
79
|
+
blocked_reason = hook_result.error or hook_result.output or "pre-completion hook blocked"
|
|
80
|
+
except Exception as exc:
|
|
81
|
+
_emit_finalization_error(turn_id, "pre_completion_hook", exc)
|
|
73
82
|
try:
|
|
74
83
|
from ..events import emit
|
|
75
84
|
|
|
@@ -250,13 +250,16 @@ def download_turboquant_binary(on_progress: Callable[[str], None] | None = None)
|
|
|
250
250
|
binary.chmod(0o755)
|
|
251
251
|
return True, str(binary)
|
|
252
252
|
except ssl.SSLCertVerificationError:
|
|
253
|
-
#
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
253
|
+
# SECURITY: never fetch an EXECUTABLE over an unverified connection — a
|
|
254
|
+
# network attacker could swap in a malicious binary. If cert
|
|
255
|
+
# verification fails, the fix is to repair the trust store, not to
|
|
256
|
+
# accept any cert.
|
|
257
|
+
return False, (
|
|
258
|
+
"Download failed: TLS certificate verification failed. Update your "
|
|
259
|
+
"certificates (`pip install -U certifi`), or build llama-cpp-"
|
|
260
|
+
"turboquant from source. LocalCode will not download an executable "
|
|
261
|
+
"over an unverified connection."
|
|
262
|
+
)
|
|
260
263
|
except Exception as e:
|
|
261
264
|
return False, f"Download failed: {e}\nBuild from source instead: clone llama-cpp-turboquant and run cmake."
|
|
262
265
|
|
|
@@ -373,10 +376,11 @@ def _download_parallel(url: str, dest: Path, num_threads: int = 16,
|
|
|
373
376
|
if _attempt == 0:
|
|
374
377
|
import certifi
|
|
375
378
|
ssl_ctx = ssl.create_default_context(cafile=certifi.where())
|
|
376
|
-
elif _attempt == 1:
|
|
377
|
-
ssl_ctx = ssl.create_default_context()
|
|
378
379
|
else:
|
|
379
|
-
|
|
380
|
+
# SECURITY: stay verified — no unverified-TLS fallback. If the
|
|
381
|
+
# system trust store can't verify, the download fails cleanly
|
|
382
|
+
# rather than trusting any cert.
|
|
383
|
+
ssl_ctx = ssl.create_default_context()
|
|
380
384
|
req = urllib.request.Request(url, method="HEAD")
|
|
381
385
|
with urllib.request.urlopen(req, context=ssl_ctx, timeout=10) as resp:
|
|
382
386
|
total_size = int(resp.headers.get("Content-Length", 0))
|
|
@@ -387,7 +391,8 @@ def _download_parallel(url: str, dest: Path, num_threads: int = 16,
|
|
|
387
391
|
except Exception:
|
|
388
392
|
continue
|
|
389
393
|
if ssl_ctx is None:
|
|
390
|
-
|
|
394
|
+
# SECURITY: verified context only — never fall back to unverified TLS.
|
|
395
|
+
ssl_ctx = ssl.create_default_context()
|
|
391
396
|
|
|
392
397
|
part = dest.with_name(dest.name + ".part")
|
|
393
398
|
|