localcode 0.3.15__tar.gz → 0.3.17__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.15/src/localcode.egg-info → localcode-0.3.17}/PKG-INFO +1 -1
- {localcode-0.3.15 → localcode-0.3.17}/pyproject.toml +1 -1
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/__init__.py +1 -1
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/context.py +37 -2
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/helpers.py +61 -4
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/loop.py +50 -14
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/prompts.py +1 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/recovery.py +80 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/tool_execution.py +48 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/app.py +15 -1
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/auto_compact.py +29 -9
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/bootstrap.py +4 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/context.py +58 -1
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/memory_guard.py +33 -11
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/runtime.py +17 -2
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/server_manager.py +16 -4
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/project_check.py +6 -0
- localcode-0.3.17/src/localcode/tools/read_file.py +214 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/syntax_check.py +96 -2
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/screens/chat.py +6 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/styles/app.tcss +8 -6
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/widgets/chat_log.py +2 -2
- {localcode-0.3.15 → localcode-0.3.17/src/localcode.egg-info}/PKG-INFO +1 -1
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode.egg-info/SOURCES.txt +2 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_agent_event_regressions.py +95 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_install.py +0 -7
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_context.py +55 -0
- localcode-0.3.17/tests/test_not_found_recovery.py +151 -0
- localcode-0.3.17/tests/test_syntax_check.py +116 -0
- localcode-0.3.15/src/localcode/tools/read_file.py +0 -117
- {localcode-0.3.15 → localcode-0.3.17}/LICENSE +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/MANIFEST.in +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/README.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/CMakePresets.json +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/LICENSE +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/arm64-apple-clang.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/arm64-windows-llvm.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/build-info.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/common.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/download-models.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/git-vars.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/license.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/llama-config.cmake.in +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/llama.pc.in +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/riscv64-spacemit-linux-gnu-gcc.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/cmake/x64-windows-llvm.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/arg.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/arg.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/base64.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-auto-parser-generator.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-auto-parser-helpers.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-auto-parser-helpers.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-auto-parser.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-diff-analyzer.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-peg-parser.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat-peg-parser.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/chat.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/common.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/console.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/console.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/debug.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/debug.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/download.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/download.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/hf-cache.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/hf-cache.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/http.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/caps.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/caps.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/lexer.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/lexer.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/parser.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/parser.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/runtime.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/runtime.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/string.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/string.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/value.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/jinja/value.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/json-partial.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/json-partial.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/json-schema-to-grammar.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/json-schema-to-grammar.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/llguidance.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/log.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/log.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/ngram-cache.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/ngram-cache.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/ngram-map.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/ngram-map.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/ngram-mod.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/ngram-mod.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/peg-parser.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/peg-parser.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/preset.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/preset.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/reasoning-budget.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/reasoning-budget.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/regex-partial.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/regex-partial.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/sampling.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/sampling.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/speculative.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/speculative.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/unicode.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/common/unicode.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-alloc.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-backend.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-blas.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-cann.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-cpp.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-cpu.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-cuda.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-hexagon.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-metal.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-opencl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-openvino.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-opt.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-rpc.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-sycl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-virtgpu.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-vulkan.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-webgpu.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-zdnn.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml-zendnn.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/ggml.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/include/gguf.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-alloc.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-backend-dl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-backend-dl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-backend-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-backend-reg.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-backend.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-blas/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-blas/ggml-blas.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/acl_tensor.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/acl_tensor.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/aclnn_ops.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/aclnn_ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cann/ggml-cann.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/amx.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/amx.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/mmq.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/mmq.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/cpu-feats.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/repack.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/loongarch/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/powerpc/cpu-feats.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/powerpc/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/repack.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/s390/cpu-feats.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/s390/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/wasm/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/cpu-feats.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/repack.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch-fallback.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/binary-ops.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/binary-ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/cmake/FindSIMD.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/hbm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/hbm.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kernels.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kernels.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kleidiai.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kleidiai.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/llamafile/sgemm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/llamafile/sgemm.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/ops.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/quants.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/repack.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/repack.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/simd-gemm.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/simd-mappings.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime1_kernels.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime_kernels.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/traits.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/traits.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/unary-ops.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/unary-ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/vec.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cpu/vec.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cuda/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/cuda.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/hip.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/musa.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/ggml-hexagon.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/act-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/argsort-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/binary-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cmake-toolchain.cmake +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cpy-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cumsum-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/flash-attn-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/get-rows-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dma.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dma.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dump.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-fastdiv.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-matmul-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-profile.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-ctx.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-msg.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-arith.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-base.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-copy.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-div.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-dump.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-exp.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-floor.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-inverse.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-reduce.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-scale.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-sqrt.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-types.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/main.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/matmul-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/repeat-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/rope-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/set-rows-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/softmax-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/ssm-conv.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/sum-rows-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/unary-ops.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/worker-pool.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/worker-pool.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp-drv.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp-drv.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/libdl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hexagon/op-desc.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-hip/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-common.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-context.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-context.m +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.m +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-ops.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-ops.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal.metal +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/turbo-matrices.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-metal/turbo-wht.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-musa/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-opencl/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-opencl/ggml-opencl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-decoder.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-decoder.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino-extra.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino-extra.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-quants.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-quants.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/decoder.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/frontend.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/frontend.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/input_model.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/input_model.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/node_context.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/cont.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/cpy.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/flash_attn_ext.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/get_rows.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/glu_geglu.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/glu_swiglu.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/mulmat.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/permute.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/reshape.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/rms_norm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/rope.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/scale.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/set_rows.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/softmax.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/transpose.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/unary_silu.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/view.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op_table.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op_table.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/eliminate_zp.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/eliminate_zp.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/fuse_to_sdpa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/fuse_to_sdpa.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/mark_decompression_convert_constant_folding.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/squeeze_matmul.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/squeeze_matmul.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/translate_session.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/translate_session.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/utils.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/utils.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-openvino/utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-opt.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-quants.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-quants.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-rpc/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-rpc/ggml-rpc.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/add-id.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/add-id.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/backend.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/binbcast.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/binbcast.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/common.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/common.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/concat.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/concat.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/conv.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/conv.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/convert.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/convert.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/count-equal.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/count-equal.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/cpy.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/cpy.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/dequantize.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/dmmv.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/dmmv.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/dpct/helper.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/element_wise.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/element_wise.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-common.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-tile.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-tile.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-vec.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/gated_delta_net.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/gated_delta_net.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/gemm.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/getrows.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/getrows.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/ggml-sycl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/gla.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/gla.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/im2col.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/im2col.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmq.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmq.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmvq.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmvq.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/norm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/norm.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/outprod.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/outprod.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad_reflect_1d.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad_reflect_1d.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/presets.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/quantize.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/quants.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/repeat_back.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/repeat_back.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/roll.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/roll.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/rope.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/rope.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/set.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/set.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/set_rows.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/set_rows.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/softmax.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/softmax.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/ssm_conv.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/ssm_conv.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/sycl_hw.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/sycl_hw.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq112-dv112.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq128-dv128.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq256-dv256.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq40-dv40.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq576-dv512.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq64-dv64.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq72-dv72.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq80-dv80.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq96-dv96.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-f16.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q8_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-f16.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q8_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-f16.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q8_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-f16.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q8_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-f16.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q8_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-f16.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q8_0.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/tsembd.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/tsembd.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/type.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/upscale.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/upscale.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/vecdotq.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/wkv.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-sycl/wkv.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-threading.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-threading.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-turbo-quant.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-convert.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-device.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-remoting.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/include/apir_hw.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-apir.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-shm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-shm.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-utils.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-utils.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-vulkan/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-vulkan/ggml-vulkan.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-vulkan/vulkan-shaders/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-webgpu/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-webgpu/ggml-webgpu.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-webgpu/pre_wgsl.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/common.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/ggml-zdnn.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/mmf.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/mmf.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/utils.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zdnn/utils.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zendnn/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml-zendnn/ggml-zendnn.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml.c +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/ggml.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/ggml/src/gguf.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/include/llama-cpp.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/include/llama.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/licenses/LICENSE-jsonhpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-adapter.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-adapter.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-arch.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-arch.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-batch.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-batch.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-chat.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-chat.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-context.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-context.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-cparams.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-cparams.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-ext.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-grammar.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-grammar.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-graph.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-graph.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-hparams.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-hparams.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-impl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-io.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-io.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-kv-cache-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-kv-cache-iswa.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-kv-cache.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-kv-cache.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-kv-cells.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory-hybrid-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory-hybrid-iswa.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory-hybrid.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory-hybrid.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory-recurrent.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory-recurrent.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-memory.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-mmap.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-mmap.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-model-loader.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-model-loader.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-model-saver.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-model-saver.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-model.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-model.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-quant.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-quant.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-sampler.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-sampler.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-vocab.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama-vocab.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/llama.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/afmoe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/apertus.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/arcee.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/arctic.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/arwkv7.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/baichuan.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/bailingmoe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/bailingmoe2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/bert.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/bitnet.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/bloom.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/chameleon.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/chatglm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/codeshell.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/cogvlm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/cohere2-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/command-r.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/dbrx.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/deci.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/deepseek.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/deepseek2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/delta-net-base.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/dots1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/dream.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/ernie4-5-moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/ernie4-5.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/eurobert.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/exaone-moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/exaone.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/exaone4.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/falcon-h1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/falcon.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gemma-embedding.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gemma.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gemma2-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gemma3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gemma3n-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gemma4-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/glm4-moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/glm4.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gpt2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/gptneox.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/granite-hybrid.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/granite.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/grok.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/grovemoe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/hunyuan-dense.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/hunyuan-moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/internlm2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/jais.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/jais2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/jamba.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/kimi-linear.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/lfm2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/llada-moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/llada.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/llama-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/llama.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/maincoder.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/mamba-base.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/mamba.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/mimo2-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/minicpm3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/minimax-m2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/mistral3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/models.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/modern-bert.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/mpt.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/nemotron-h.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/nemotron.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/neo-bert.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/olmo.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/olmo2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/olmoe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/openai-moe-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/openelm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/orion.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/paddleocr.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/pangu-embedded.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/phi2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/phi3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/plamo.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/plamo2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/plamo3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/plm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen2moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen2vl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen35.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen35moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen3moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen3next.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen3vl-moe.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/qwen3vl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/refact.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/rnd1.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/rwkv6-base.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/rwkv6.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/rwkv6qwen2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/rwkv7-base.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/rwkv7.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/seed-oss.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/smallthinker.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/smollm3.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/stablelm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/starcoder.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/starcoder2.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/step35-iswa.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/t5-dec.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/t5-enc.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/wavtokenizer-dec.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/models/xverse.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/turbo-rotation-data-32.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/turbo-rotation-data.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/unicode-data.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/unicode-data.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/unicode.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/src/unicode.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/batched-bench/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/batched-bench/batched-bench.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/cli/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/cli/cli.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/completion/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/completion/completion.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/cvector-generator/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/cvector-generator/cvector-generator.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/cvector-generator/mean.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/cvector-generator/pca.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/export-lora/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/export-lora/export-lora.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/fit-params/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/fit-params/fit-params.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/gguf-split/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/gguf-split/gguf-split.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/imatrix/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/imatrix/imatrix.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/llama-bench/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/llama-bench/llama-bench.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/clip-graph.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/clip-impl.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/clip-model.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/clip.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/clip.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/debug/mtmd-debug.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/debug/mtmd-debug.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/deprecation-warning.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/cogvlm.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/conformer.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/deepseekocr.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/gemma4v.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/glm4v.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/hunyuanocr.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/internvl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/kimik25.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/kimivl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/llama4.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/llava.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/minicpmv.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/mobilenetv5.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/models.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/nemotron-v2-vl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/paddleocr.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/pixtral.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/qwen2vl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/qwen3vl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/siglip.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/whisper-enc.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/models/youtuvl.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-audio.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-audio.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-cli.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-helper.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-helper.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-image.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd-image.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/mtmd/mtmd.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/parser/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/parser/debug-template-parser.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/parser/template-analysis.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/perplexity/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/perplexity/perplexity.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/quantize/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/quantize/quantize.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/results/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/results/results.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/rpc/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/rpc/rpc-server.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-common.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-common.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-context.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-context.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-cors-proxy.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-http.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-http.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-models.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-models.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-queue.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-queue.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-task.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-task.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-tools.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server-tools.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/server/server.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/tokenize/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/tokenize/tokenize.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/tts/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/tools/tts/tts.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/cpp-httplib/CMakeLists.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/cpp-httplib/httplib.cpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/cpp-httplib/httplib.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/miniaudio/miniaudio.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/nlohmann/json.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/nlohmann/json_fwd.hpp +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/sheredom/subprocess.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/llama-cpp-turboquant/vendor/stb/stb_image.h +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/setup.cfg +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/setup.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/__main__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/_subproc_env.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/app_tasks.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/constants.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/goal.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/hooks.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/prompt_context.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/sections.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/streaming.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/tool_orchestration.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/agent/turn_finalization.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/approvals.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/autonomy.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/bin/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/bin/llama-server +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/cache.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/checkpoint.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/compact.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/compaction.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/composer.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/config.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/display.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/embeddings.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/entrypoint.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/errors.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/events.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/features.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/formatting.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/headless_json.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/health.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/hf_quants.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/history.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/hooks.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/indexer.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/injection_defense.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/launcher.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/logging_utils.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/lsp.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/mcp/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/mcp/_bridge.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/mcp/_config.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/mcp/_transports.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/mcp/client.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/model_config.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/model_families.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/models.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/models_catalog.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/notebook.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/output.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/patching.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/paths.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/performance.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/permissions.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/permissions_v2.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/plans.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/process_registry.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/recommendations.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/recovery.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/runtime_diffusion.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/session.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/shell.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/debug.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/edit-verified.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/explain.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/git-commit-safely.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/locate.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/plan-task.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/review.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills/run-tests.md +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/skills.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/snapshots.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/sounds.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/telemetry.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/theme.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/thermal.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/thinking.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tool_router.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/toolkit.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/agent.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/append_file.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/base.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/bash.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/edit_diff.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/edit_file.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/facts.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/glob_tool.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/grep.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/launch_app.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/list_files.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/multi_edit.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/plan_mode.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/skill_tool.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/todo_write.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/tool_call_repair.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/web_fetch.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/web_search.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tools/write_file.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/app.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/bridge.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/screens/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/screens/mode_picker.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/screens/model_picker.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/screens/setup.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/styles/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/widgets/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/widgets/approval.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/widgets/messages/__init__.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/widgets/messages/diff.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/tui/widgets/voice_visualizer.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/turn_diff.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/undo.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/verification.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode/voice.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode.egg-info/dependency_links.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode.egg-info/entry_points.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode.egg-info/requires.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/src/localcode.egg-info/top_level.txt +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_architecture.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_bootstrap.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_checkpoint.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_churn_detection.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_compaction.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_agent.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_bg_download.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_binary.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_cli.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_diffusion.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_download.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_hardening.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_machines.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_model_picker.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_models_matrix.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_tui.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_vision.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_voice.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_comprehensive_whisper.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_config.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_context_pipeline_e2e.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_download.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_embeddings_retrieval.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_fresh_install.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_kv_cap.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_model_config.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_models_catalog.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_output.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_prompt_language_steering.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_real_models.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_run_json.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_runtime.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_subproc_env.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_thermal.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_toolkit.py +0 -0
- {localcode-0.3.15 → localcode-0.3.17}/tests/test_tui_input.py +0 -0
|
@@ -76,10 +76,45 @@ def _spill_tool_output(result: str, tool_name: str) -> str | None:
|
|
|
76
76
|
return None
|
|
77
77
|
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
# How much of the context window (in chars) a single tool result may occupy,
|
|
80
|
+
# per tool. The static RESULT_LIMITS values act as the FLOOR, so small machines
|
|
81
|
+
# (64K window ≈ 224K chars → these fractions fall below the floor) are
|
|
82
|
+
# byte-identical to before, while a big machine (256K ≈ 900K chars) lets the
|
|
83
|
+
# model keep far more of the output it has room for instead of a fixed 20–50K
|
|
84
|
+
# slice. grep matches are dense/repetitive so get the smallest share; read_file
|
|
85
|
+
# is the primary code-ingestion path so gets the most.
|
|
86
|
+
_RESULT_LIMIT_WINDOW_FRACTION: dict[str, float] = {
|
|
87
|
+
"grep": 0.03,
|
|
88
|
+
"bash": 0.05,
|
|
89
|
+
"read_file": 0.08,
|
|
90
|
+
"default": 0.08,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def _dynamic_result_limit(tool_name: str, ctx_tokens: int) -> int:
|
|
95
|
+
"""Per-tool truncation budget (chars), scaled to the real context window.
|
|
96
|
+
|
|
97
|
+
Returns the static RESULT_LIMITS value as a floor; on a large window the
|
|
98
|
+
limit grows to a fraction of the window so the model isn't starved of output
|
|
99
|
+
it has room for. web_search and any tool without a fraction stay at the
|
|
100
|
+
fixed floor (web results don't benefit from window-scaling).
|
|
101
|
+
"""
|
|
102
|
+
floor = RESULT_LIMITS.get(tool_name, RESULT_LIMITS["default"])
|
|
103
|
+
frac = _RESULT_LIMIT_WINDOW_FRACTION.get(tool_name)
|
|
104
|
+
if not ctx_tokens or frac is None:
|
|
105
|
+
return floor
|
|
106
|
+
# CHARS_PER_TOKEN=4 is the internal estimate; use 3.5 to match loop.py's
|
|
107
|
+
# tokens→chars conversion and stay conservative.
|
|
108
|
+
return max(floor, int(ctx_tokens * 3.5 * frac))
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def _truncate_result(result: str, tool_name: str, ctx_tokens: int = 0) -> str:
|
|
80
112
|
"""Truncate a tool result to its per-tool size limit with a
|
|
81
113
|
strategy tuned to what each tool's output actually looks like.
|
|
82
114
|
|
|
115
|
+
`ctx_tokens` (the model's real context window) scales the limit up on big
|
|
116
|
+
machines; 0 falls back to the static floor (small machines unchanged).
|
|
117
|
+
|
|
83
118
|
Strategies:
|
|
84
119
|
• `read_file` — keep HEAD only. File content is ordered; the
|
|
85
120
|
model can paginate with `offset=` to see more. Middle-dropping
|
|
@@ -96,7 +131,7 @@ def _truncate_result(result: str, tool_name: str) -> str:
|
|
|
96
131
|
|
|
97
132
|
Returns the result unchanged when it's within the limit.
|
|
98
133
|
"""
|
|
99
|
-
limit =
|
|
134
|
+
limit = _dynamic_result_limit(tool_name, ctx_tokens)
|
|
100
135
|
if len(result) <= limit:
|
|
101
136
|
return result
|
|
102
137
|
|
|
@@ -287,6 +287,49 @@ def _render_markdown(text: str, console: Console | None = None) -> None:
|
|
|
287
287
|
else:
|
|
288
288
|
c.print(Padding(text, (0, 2, 0, 2)))
|
|
289
289
|
|
|
290
|
+
def _split_exit_code(result: str) -> tuple[int | None, str]:
|
|
291
|
+
"""Split a bash result into (exit_code, body).
|
|
292
|
+
|
|
293
|
+
bash.py prepends `[exit code N]\\n` to a failed command's output as a
|
|
294
|
+
model-facing failure marker. Return the parsed code and the remaining body,
|
|
295
|
+
or (None, result) when the marker is absent (command succeeded).
|
|
296
|
+
"""
|
|
297
|
+
s = result.lstrip()
|
|
298
|
+
if s.startswith("[exit code "):
|
|
299
|
+
end = s.find("]")
|
|
300
|
+
if end != -1:
|
|
301
|
+
try:
|
|
302
|
+
code = int(s[len("[exit code "):end].strip())
|
|
303
|
+
except ValueError:
|
|
304
|
+
return None, result
|
|
305
|
+
body = s[end + 1:]
|
|
306
|
+
return code, body[1:] if body.startswith("\n") else body
|
|
307
|
+
return None, result
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
def _redirect_note(result: str) -> str:
|
|
311
|
+
"""Turn an internal `REJECTED …` string into a short user-facing note.
|
|
312
|
+
|
|
313
|
+
The full REJECTED payload (routing hints, "Suggested tool call: …",
|
|
314
|
+
hard-stop instructions) is for the model's recovery, not the user. Two
|
|
315
|
+
cases: a routing redirect ("use X instead") → "→ used X instead"; anything
|
|
316
|
+
else (repeat/hard-stop/unsafe/oversize block) → a neutral "→ skipped …"
|
|
317
|
+
note. Never show the raw protocol text.
|
|
318
|
+
"""
|
|
319
|
+
import re
|
|
320
|
+
m = re.search(r"\buse\s+([a-z_]+)\s+instead", result)
|
|
321
|
+
if m:
|
|
322
|
+
return f"→ used {m.group(1)} instead"
|
|
323
|
+
low = result.lower()
|
|
324
|
+
if "hard stop" in low or "already failed" in low or "already ran" in low or "rewritten" in low:
|
|
325
|
+
return "→ skipped (repeating a call that won't help)"
|
|
326
|
+
if "safety ceiling" in low or "over the" in low:
|
|
327
|
+
return "→ skipped (too large — splitting instead)"
|
|
328
|
+
if "defer" in low or "blocked" in low or "live server" in low:
|
|
329
|
+
return "→ skipped that step"
|
|
330
|
+
return "→ adjusted approach"
|
|
331
|
+
|
|
332
|
+
|
|
290
333
|
def _brief_result(tool_name: str, result: str) -> str:
|
|
291
334
|
"""Short summary of a tool result for terminal display."""
|
|
292
335
|
lines = result.strip().splitlines()
|
|
@@ -301,6 +344,11 @@ def _brief_result(tool_name: str, result: str) -> str:
|
|
|
301
344
|
return "already done — using cached result"
|
|
302
345
|
if s.startswith("[FILE UNCHANGED"):
|
|
303
346
|
return "unchanged — see earlier read"
|
|
347
|
+
# Internal tool-routing/hard-stop correction. This is a signal FOR THE
|
|
348
|
+
# MODEL, not the user — render a short neutral note, never the raw
|
|
349
|
+
# "REJECTED: …" / "REJECTED — HARD STOP: …" protocol text (both forms).
|
|
350
|
+
if s.startswith("REJECTED"):
|
|
351
|
+
return _redirect_note(s)
|
|
304
352
|
if tool_name == "read_file":
|
|
305
353
|
return f"{len(lines)} lines"
|
|
306
354
|
if tool_name == "write_file":
|
|
@@ -308,11 +356,20 @@ def _brief_result(tool_name: str, result: str) -> str:
|
|
|
308
356
|
if tool_name == "edit_file":
|
|
309
357
|
return result.strip()[:80] if result.strip() else "edited"
|
|
310
358
|
if tool_name == "bash":
|
|
311
|
-
|
|
359
|
+
# `[exit code N]` is a model-facing marker prepended to the output so the
|
|
360
|
+
# model knows the command failed. Don't show that raw token to the user:
|
|
361
|
+
# strip it, and render a clean "failed (exit N)" plus any real output.
|
|
362
|
+
exit_code, body = _split_exit_code(result)
|
|
363
|
+
body_lines = body.strip().splitlines()
|
|
364
|
+
if exit_code is not None:
|
|
365
|
+
head = body_lines[0][:80] if body_lines and body_lines[0].strip() else ""
|
|
366
|
+
tail = f" …({len(body_lines)} lines)" if len(body_lines) > 1 else ""
|
|
367
|
+
return f"failed (exit {exit_code}){(': ' + head) if head else ''}{tail}"
|
|
368
|
+
if not body.strip():
|
|
312
369
|
return "done (no output)"
|
|
313
|
-
if len(
|
|
314
|
-
return "\n".join(
|
|
315
|
-
return f"{
|
|
370
|
+
if len(body_lines) <= 3:
|
|
371
|
+
return "\n".join(body_lines)[:200]
|
|
372
|
+
return f"{body_lines[0][:80]} …({len(body_lines)} lines)"
|
|
316
373
|
if tool_name == "grep":
|
|
317
374
|
return f"{len(lines)} matches" if lines and lines[0] else "no matches"
|
|
318
375
|
if tool_name in ("glob", "list_files"):
|
|
@@ -52,8 +52,6 @@ from .context import (
|
|
|
52
52
|
_prepare_model_messages,
|
|
53
53
|
_summarize_args,
|
|
54
54
|
_truncate_result,
|
|
55
|
-
_estimate_tokens,
|
|
56
|
-
_compact_messages,
|
|
57
55
|
build_progress_ledger,
|
|
58
56
|
)
|
|
59
57
|
from .helpers import (
|
|
@@ -334,14 +332,23 @@ def run_agent_loop(
|
|
|
334
332
|
messages.append(m)
|
|
335
333
|
elif use_thinking:
|
|
336
334
|
# Thinking mode: keep context shorter but preserve recent assistant responses
|
|
337
|
-
# Only drop very large blocks (repo structure dumps, huge tool results)
|
|
335
|
+
# Only drop very large blocks (repo structure dumps, huge tool results).
|
|
336
|
+
# The "large block" threshold scales with the model's real context window
|
|
337
|
+
# instead of a fixed 1500 chars — on a 256K window 1500 chars is ~1% of
|
|
338
|
+
# the budget, so the old fixed value silently stripped tool results the
|
|
339
|
+
# big machine had ample room to keep (and needs, to track its work).
|
|
340
|
+
try:
|
|
341
|
+
_tw = int(app.engine._target_num_ctx())
|
|
342
|
+
except Exception:
|
|
343
|
+
_tw = 0
|
|
344
|
+
_big_block_chars = max(1500, int(_tw * 3.5 * 0.02)) if _tw else 1500
|
|
338
345
|
for m in composed_messages:
|
|
339
346
|
if m.get("role") == "system":
|
|
340
347
|
continue
|
|
341
348
|
content = str(m.get("content", ""))
|
|
342
349
|
# Skip very large context blocks (repo structure, bulk retrieval results)
|
|
343
350
|
# but keep normal assistant responses so model remembers recent conversation
|
|
344
|
-
if len(content) >
|
|
351
|
+
if len(content) > _big_block_chars and m.get("role") not in ("user", "assistant"):
|
|
345
352
|
continue
|
|
346
353
|
messages.append(m)
|
|
347
354
|
else:
|
|
@@ -373,8 +380,23 @@ def run_agent_loop(
|
|
|
373
380
|
)
|
|
374
381
|
hook_before_turn(_hook_state)
|
|
375
382
|
_app_build_request = is_app_build_request(user_text) or _goal_state.goal_type == "build_app"
|
|
376
|
-
|
|
377
|
-
|
|
383
|
+
# Per-turn tool-output budget (in chars) scales with the model's REAL
|
|
384
|
+
# context window instead of a fixed cap: allow tool results to fill up to
|
|
385
|
+
# ~35% of the window before further output this turn is truncated. Dynamic
|
|
386
|
+
# per RAM/model — a 256K window keeps far more than a 64K one. The old fixed
|
|
387
|
+
# values (24K for app builds, 100K otherwise) starved big machines and,
|
|
388
|
+
# perversely, gave app builds — which read/write the MOST — the LEAST. The
|
|
389
|
+
# floor keeps small windows usable; within-turn overflow is still caught by
|
|
390
|
+
# the window-aware compaction pass at the top of each round.
|
|
391
|
+
try:
|
|
392
|
+
_ctx_tokens_turn = int(app.engine._target_num_ctx())
|
|
393
|
+
except Exception:
|
|
394
|
+
_ctx_tokens_turn = 0
|
|
395
|
+
_aggregate_budget = (
|
|
396
|
+
max(MAX_AGGREGATE_PER_TURN, int(_ctx_tokens_turn * 3.5 * 0.35))
|
|
397
|
+
if _ctx_tokens_turn
|
|
398
|
+
else MAX_AGGREGATE_PER_TURN
|
|
399
|
+
)
|
|
378
400
|
_completion_gate_retries = 0
|
|
379
401
|
_MAX_COMPLETION_GATE_RETRIES = 1
|
|
380
402
|
_edit_recovery_nudges = 0
|
|
@@ -1805,9 +1827,15 @@ def run_agent_loop(
|
|
|
1805
1827
|
_write_existing_rejections_this_turn += 1
|
|
1806
1828
|
# Show result to user — send full result for write/edit so TUI can render diff
|
|
1807
1829
|
is_error = tool_result_is_error(tool_result)
|
|
1808
|
-
|
|
1830
|
+
# Match BOTH "REJECTED:" and "REJECTED — HARD STOP:" (em-dash) — the
|
|
1831
|
+
# latter used to slip past this colon-only check and render as a raw
|
|
1832
|
+
# red protocol line to the user.
|
|
1833
|
+
is_rejected = tool_result.startswith("REJECTED")
|
|
1809
1834
|
if is_rejected:
|
|
1810
|
-
|
|
1835
|
+
# Internal tool-routing redirect — the model needs the full
|
|
1836
|
+
# REJECTED payload (kept in `messages` below), but the user sees
|
|
1837
|
+
# only a short neutral note, not a red error block.
|
|
1838
|
+
out.tool_result(_brief_result(tool_name, tool_result), error=False, idx=idx)
|
|
1811
1839
|
elif tool_name in ("write_file", "append_file", "edit_file") and not is_error:
|
|
1812
1840
|
out.tool_result(tool_result, error=False, idx=idx)
|
|
1813
1841
|
else:
|
|
@@ -1817,12 +1845,16 @@ def run_agent_loop(
|
|
|
1817
1845
|
_facts_note = facts_suffix(_tool_facts)
|
|
1818
1846
|
if _facts_note and _facts_note not in tool_result:
|
|
1819
1847
|
tool_result = f"{tool_result}{_facts_note}"
|
|
1820
|
-
tool_result = _truncate_result(tool_result, tool_name)
|
|
1848
|
+
tool_result = _truncate_result(tool_result, tool_name, ctx_tokens=_ctx_tokens_turn)
|
|
1821
1849
|
aggregate_size += len(tool_result)
|
|
1822
1850
|
|
|
1823
|
-
# Aggregate budget
|
|
1851
|
+
# Aggregate budget. The post-budget clamp scales with the window too:
|
|
1852
|
+
# once a turn's cumulative tool output crosses the (dynamic) budget,
|
|
1853
|
+
# a big machine still keeps a proportionally larger stub than a 16 GB
|
|
1854
|
+
# one instead of a brutal fixed 500 chars.
|
|
1824
1855
|
if aggregate_size > _aggregate_budget:
|
|
1825
|
-
|
|
1856
|
+
_stub_chars = max(500, int(_ctx_tokens_turn * 3.5 * 0.01)) if _ctx_tokens_turn else 500
|
|
1857
|
+
tool_result = tool_result[:_stub_chars] + "\n[Truncated — context budget exceeded this turn]"
|
|
1826
1858
|
|
|
1827
1859
|
# Add to history
|
|
1828
1860
|
messages.append({
|
|
@@ -1982,9 +2014,13 @@ def run_agent_loop(
|
|
|
1982
2014
|
if loop_detected:
|
|
1983
2015
|
break
|
|
1984
2016
|
|
|
1985
|
-
#
|
|
1986
|
-
|
|
1987
|
-
|
|
2017
|
+
# Compaction is handled ONCE per round at the TOP of the loop by the
|
|
2018
|
+
# window-aware `should_compact`/`compact` path (see ~line 612), whose
|
|
2019
|
+
# threshold scales with the model's real context window and the user's
|
|
2020
|
+
# RAM. The old fixed-12K/27K second pass that used to live here fired at
|
|
2021
|
+
# <5% of a 256K window, crushed all but 8 messages into a 5-line note,
|
|
2022
|
+
# and made the model lose provenance of its own writes → the re-read /
|
|
2023
|
+
# "fix systematically" churn loop. Removed: one dynamic system only.
|
|
1988
2024
|
|
|
1989
2025
|
else:
|
|
1990
2026
|
# `for…else` only fires when the loop exhausted naturally
|
|
@@ -51,6 +51,7 @@ Top rules (most important first):
|
|
|
51
51
|
Plan & tools:
|
|
52
52
|
- For a task with 3+ steps, call todo_write first to lay out the steps, then keep exactly one in_progress and mark each done the instant it's finished. Your list is shown back each round — use it to see what's left.
|
|
53
53
|
- Use real, repo-relative paths (don't improvise `/Users/...` paths).
|
|
54
|
+
- For files and dirs use list_files/read_file/write_file/edit_file — NOT bash (`ls`, `cat`, `cat >`, `>`). bash is only for running commands (npm, git, build, test).
|
|
54
55
|
- edit_file for existing files: anchor `old_string` on 2–4 adjacent lines (matching is whitespace-tolerant; the leading `<n>\\t` from read_file is stripped for you). write_file to create or fully rewrite.
|
|
55
56
|
- On a tool error, read it, fix the specific cause, and retry — don't give up after one failure, and don't repeat the same failing call.
|
|
56
57
|
- New project → prefer a small multi-file layout with a thin entrypoint. Write code valid for the file's real language and match the project's existing conventions.
|
|
@@ -43,6 +43,10 @@ __all__ = [
|
|
|
43
43
|
"ChurnSignal",
|
|
44
44
|
"detect_churn",
|
|
45
45
|
"churn_nudge_for",
|
|
46
|
+
"NOT_FOUND_LOOP_LIMIT",
|
|
47
|
+
"not_found_key",
|
|
48
|
+
"detect_not_found_loop",
|
|
49
|
+
"not_found_nudge",
|
|
46
50
|
]
|
|
47
51
|
|
|
48
52
|
|
|
@@ -401,3 +405,79 @@ def rewrite_hard_stop(path, file_write_counts) -> str | None:
|
|
|
401
405
|
"targeted edit_file change to the broken line, or leave this file and "
|
|
402
406
|
"move on. Do NOT call write_file on this path again."
|
|
403
407
|
)
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
# ── Repeated file-not-found (typo death loop) ───────────────────────
|
|
411
|
+
#
|
|
412
|
+
# read_file's own _confident_match auto-reads a real file when the typo
|
|
413
|
+
# is unambiguous, which breaks MOST of these loops at the source. But
|
|
414
|
+
# when the guessed paths are too far off to match (or point at a dir
|
|
415
|
+
# that doesn't exist), the model can still bounce "file not found" 20+
|
|
416
|
+
# times, each time with a slightly different wrong spelling/case. The
|
|
417
|
+
# byte-identical breakers miss it (each path differs); the churn
|
|
418
|
+
# detectors miss it (read_file is read-only, so it just extends the
|
|
419
|
+
# investigation streak). This is the read-side analogue of the bash
|
|
420
|
+
# command-failure guard: key on the PARENT DIRECTORY (differing typos
|
|
421
|
+
# of one filename share a parent) and count not-found failures.
|
|
422
|
+
|
|
423
|
+
NOT_FOUND_LOOP_LIMIT = 3
|
|
424
|
+
"""How many 'file not found' read_file failures against the SAME parent
|
|
425
|
+
directory may occur in one turn before we pin the correct path. 3 (like
|
|
426
|
+
CHURN_COMMAND_FAIL_LIMIT): a genuine "read A, oops try B" correction is 1-2
|
|
427
|
+
misses; a 3rd not-found in the same dir means the model is spraying spelling
|
|
428
|
+
variants of a real filename it should just list_files for."""
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
def not_found_key(path: str) -> str:
|
|
432
|
+
"""Normalize a missing read path to the family we count not-found errors
|
|
433
|
+
by: its parent directory. Different typos of the same file
|
|
434
|
+
(Aki.md / Anki.md / anki.md) all share a parent, so keying on the parent
|
|
435
|
+
collapses them into one repeat count. Returns "." for a bare filename."""
|
|
436
|
+
from pathlib import PurePosixPath
|
|
437
|
+
p = PurePosixPath(str(path or "").strip().replace("\\", "/"))
|
|
438
|
+
return str(p.parent)
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
def detect_not_found_loop(not_found_counts: dict[str, int]) -> tuple[str, int] | None:
|
|
442
|
+
"""Return (parent_dir, count) when read_file has failed 'file not found'
|
|
443
|
+
NOT_FOUND_LOOP_LIMIT+ times against the same parent directory this turn —
|
|
444
|
+
the model is guessing typo/case variants of a real filename instead of
|
|
445
|
+
listing the directory once.
|
|
446
|
+
|
|
447
|
+
Pure function. Caller maintains `not_found_counts` across the turn
|
|
448
|
+
(parent-dir key via `not_found_key` → count of not-found read failures).
|
|
449
|
+
Returns None when nothing crosses the threshold.
|
|
450
|
+
"""
|
|
451
|
+
worst = ""
|
|
452
|
+
worst_n = 0
|
|
453
|
+
for key, n in not_found_counts.items():
|
|
454
|
+
if n > worst_n:
|
|
455
|
+
worst, worst_n = key, n
|
|
456
|
+
if worst_n >= NOT_FOUND_LOOP_LIMIT:
|
|
457
|
+
return worst, worst_n
|
|
458
|
+
return None
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
def not_found_nudge(parent_dir: str, real_names: list[str] | None = None) -> str:
|
|
462
|
+
"""Hard, forward-only nudge pinning the correct recovery path for a
|
|
463
|
+
not-found loop: list the directory ONCE, then read an EXACT name from it.
|
|
464
|
+
|
|
465
|
+
Like `churn_nudge_for`, this is a FORWARD-ONLY imperative with NO
|
|
466
|
+
echo-able self-critical loop language ("you keep failing", "stop
|
|
467
|
+
guessing in circles") that a small model would parrot back into its own
|
|
468
|
+
context. When `real_names` is supplied (caller listed the dir), the exact
|
|
469
|
+
names are pinned so the model can't invent another variant.
|
|
470
|
+
"""
|
|
471
|
+
listing = ""
|
|
472
|
+
if real_names:
|
|
473
|
+
shown = ", ".join(sorted(real_names)[:20])
|
|
474
|
+
listing = (
|
|
475
|
+
f" The files that actually exist in {parent_dir} are: {shown}. "
|
|
476
|
+
"Read one of those EXACT names."
|
|
477
|
+
)
|
|
478
|
+
return (
|
|
479
|
+
f"SYSTEM: read_file cannot find that file in {parent_dir}. Do not try "
|
|
480
|
+
"another spelling or capitalization. Call list_files on "
|
|
481
|
+
f"{parent_dir} ONCE, then read_file with an EXACT name from that "
|
|
482
|
+
"listing." + listing
|
|
483
|
+
)
|
|
@@ -33,6 +33,15 @@ class ToolExecutionState:
|
|
|
33
33
|
# times in a row and nothing stopped it. Telemetry behind the
|
|
34
34
|
# removal didn't include info-fetch loops.
|
|
35
35
|
success_counts: dict[tuple[str, str], int] = field(default_factory=dict)
|
|
36
|
+
# Successful write/edit calls keyed by PATH ONLY (not exact args), so
|
|
37
|
+
# rewriting the same file with slightly different content each round
|
|
38
|
+
# still accrues. Feeds the write-churn guard in `dedup_stub_for_tool`.
|
|
39
|
+
# Motivating logs (2026-06): a turn wrote `useData.ts` 14×, `database.ts`
|
|
40
|
+
# 8×, `package.json` 4× — plus near-duplicate misspelled siblings
|
|
41
|
+
# (ReviewSession/ReviewSesssion/ReivewSession.tsx). The per-exact-args
|
|
42
|
+
# `failed_calls`/`success_counts` guards miss this because each rewrite
|
|
43
|
+
# is a DISTINCT arg blob; only a path-keyed counter catches the churn.
|
|
44
|
+
write_path_counts: dict[str, int] = field(default_factory=dict)
|
|
36
45
|
# Last error text seen for a failed bash command, keyed by the same
|
|
37
46
|
# whitespace-normalized cmd_key as `bash_failures`. Lets the rejection
|
|
38
47
|
# stub name the ACTUAL cause ("No such file or directory", syntax error,
|
|
@@ -49,6 +58,16 @@ class ToolExecutionState:
|
|
|
49
58
|
# blocked but never steered.
|
|
50
59
|
_HARD_STOP_THRESHOLD = 4
|
|
51
60
|
|
|
61
|
+
# After this many SUCCESSFUL writes to the SAME path within one turn, the
|
|
62
|
+
# next write/edit to that path is rejected with a "stop rewriting, go
|
|
63
|
+
# verify" nudge. Keyed by path (not exact args) so near-identical rewrites
|
|
64
|
+
# and typo'd-content re-saves both count. The threshold is deliberately
|
|
65
|
+
# generous — this is a DYNAMIC harness where a couple of legitimate
|
|
66
|
+
# rewrites of the same file per turn are normal (scaffold → fill in →
|
|
67
|
+
# fix a syntax error). We only step in once a file is clearly being
|
|
68
|
+
# churned (4th write of the same path this turn).
|
|
69
|
+
_WRITE_CHURN_THRESHOLD = 3
|
|
70
|
+
|
|
52
71
|
|
|
53
72
|
def _diagnose_bash_error(err: str) -> str | None:
|
|
54
73
|
"""Translate a raw shell error into a concrete corrective action.
|
|
@@ -190,6 +209,29 @@ def dedup_stub_for_tool(
|
|
|
190
209
|
"exact anchor, use multi_edit/edit_diff where appropriate, or "
|
|
191
210
|
"move on if the file is already correct."
|
|
192
211
|
)
|
|
212
|
+
# Write-churn guard: repeated SUCCESSFUL rewrites of the SAME path
|
|
213
|
+
# this turn. Keyed by path (not exact args) so near-duplicate content
|
|
214
|
+
# each round still accrues — the failed_calls/success_counts guards
|
|
215
|
+
# above miss this because every rewrite is a distinct arg blob. Once
|
|
216
|
+
# a file has already been written `_WRITE_CHURN_THRESHOLD` times, the
|
|
217
|
+
# earlier writes already landed on disk; another rewrite is churn.
|
|
218
|
+
# Nudge the model to STOP and verify (run the build) or move to the
|
|
219
|
+
# next file instead of rewriting the same path again.
|
|
220
|
+
churn_path = args.get("path") or args.get("file_path") or ""
|
|
221
|
+
if isinstance(churn_path, str) and churn_path:
|
|
222
|
+
writes = state.write_path_counts.get(churn_path, 0)
|
|
223
|
+
if writes >= _WRITE_CHURN_THRESHOLD:
|
|
224
|
+
return (
|
|
225
|
+
f"REJECTED: {churn_path} has already been written {writes} "
|
|
226
|
+
"times this turn. Those writes already landed on disk — "
|
|
227
|
+
"rewriting the same file again is churn, not progress. "
|
|
228
|
+
"STOP rewriting this path. Instead: run the build/test "
|
|
229
|
+
"command (bash) to verify what you have and read the ACTUAL "
|
|
230
|
+
"error it reports, or move on to the NEXT file. Only write "
|
|
231
|
+
f"{churn_path} again if a concrete build error tells you "
|
|
232
|
+
"exactly what line to change — and if so, use a small "
|
|
233
|
+
"targeted edit_file, not a full rewrite."
|
|
234
|
+
)
|
|
193
235
|
return None
|
|
194
236
|
|
|
195
237
|
|
|
@@ -292,6 +334,12 @@ def track_tool_result(
|
|
|
292
334
|
state.files_modified.add(modified_path)
|
|
293
335
|
state.files_read.pop(modified_path, None)
|
|
294
336
|
state.io_calls.clear()
|
|
337
|
+
# Path-keyed write tally feeds the write-churn guard. Only
|
|
338
|
+
# successful writes count — a rejected/failed write did NOT
|
|
339
|
+
# land on disk, so it isn't churn.
|
|
340
|
+
state.write_path_counts[modified_path] = (
|
|
341
|
+
state.write_path_counts.get(modified_path, 0) + 1
|
|
342
|
+
)
|
|
295
343
|
if (
|
|
296
344
|
tool_name in {"write_file", "append_file", "edit_file", "multi_edit", "edit_diff"}
|
|
297
345
|
and not failed
|
|
@@ -15,7 +15,7 @@ from .composer import compose_messages
|
|
|
15
15
|
# loading were dead code (no user configured an MCP server; Playwright
|
|
16
16
|
# browser path was unreachable from the agent loop).
|
|
17
17
|
from .config import AppConfig, ensure_home_dirs, save_config
|
|
18
|
-
from .context import build_context_block, find_repo_root
|
|
18
|
+
from .context import build_context_block, find_repo_root, _is_home_or_shallower
|
|
19
19
|
from .indexer import build_index, load_index, search_index
|
|
20
20
|
from .models import GEMMA_PROFILES, get_runtime_model, resolve_profile
|
|
21
21
|
from .patching import build_diff, parse_diff
|
|
@@ -138,6 +138,20 @@ class LocalCodeApp:
|
|
|
138
138
|
_, preset = benchmark_report(self.config, self.config.runtime.mode)
|
|
139
139
|
apply_preset(self.config, preset, model=self.config.runtime.model)
|
|
140
140
|
self.repo_root = find_repo_root(cwd or Path.cwd())
|
|
141
|
+
# Degenerate case: no .git and no project marker anywhere above the
|
|
142
|
+
# launch dir, and that launch dir is $HOME (or shallower). We can't
|
|
143
|
+
# invent a better root, but we MUST flag it — otherwise the model ends
|
|
144
|
+
# up carrying 70-char absolute paths (with spaces/mixed-case) on every
|
|
145
|
+
# tool call and corrupts them into failed-read loops. Mark it so the
|
|
146
|
+
# rest of the app (and logs) know paths are unanchored, and prefer the
|
|
147
|
+
# deepest dir the model actually builds in once files start landing.
|
|
148
|
+
self.repo_root_is_home = _is_home_or_shallower(self.repo_root)
|
|
149
|
+
if self.repo_root_is_home:
|
|
150
|
+
self.log.warning(
|
|
151
|
+
"No project root found above %s; running unanchored at $HOME. "
|
|
152
|
+
"Paths will be resolved relative to whatever directory the task "
|
|
153
|
+
"builds in.", self.repo_root,
|
|
154
|
+
)
|
|
141
155
|
self.store = SessionStore()
|
|
142
156
|
if session_id:
|
|
143
157
|
self.session = self.store.load(session_id)
|
|
@@ -58,25 +58,33 @@ def _build_summary(old: list[dict]) -> str:
|
|
|
58
58
|
if result:
|
|
59
59
|
key_actions.append(f"Tool {tool_name or 'unknown'}: {result}")
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
# Second-person, self-referential framing: everything below is the
|
|
62
|
+
# ASSISTANT's OWN prior work, NOT files/work the user handed over. This
|
|
63
|
+
# stops the model from reading its own build after compaction as
|
|
64
|
+
# pre-existing user-provided code ("the user created these files…").
|
|
65
|
+
summary_lines = [
|
|
66
|
+
"Summary of what YOU have already done this task (this is YOUR OWN prior "
|
|
67
|
+
"work — NOT the user's, and NOT pre-existing files on disk; build on it — "
|
|
68
|
+
"do NOT restart, re-read, or ask the user what to build):"
|
|
69
|
+
]
|
|
62
70
|
if latest_user_goal:
|
|
63
|
-
summary_lines.append(f"
|
|
71
|
+
summary_lines.append(f"The user's task: {latest_user_goal}")
|
|
64
72
|
if summary_parts:
|
|
65
|
-
summary_lines.append("
|
|
73
|
+
summary_lines.append("Context so far:")
|
|
66
74
|
for s in summary_parts[-8:]:
|
|
67
75
|
summary_lines.append(f" - {s}")
|
|
68
76
|
if key_actions:
|
|
69
|
-
summary_lines.append("
|
|
77
|
+
summary_lines.append("You already did:")
|
|
70
78
|
for a in key_actions[-10:]:
|
|
71
79
|
summary_lines.append(f" - {a}")
|
|
72
80
|
if open_questions:
|
|
73
|
-
summary_lines.append("
|
|
81
|
+
summary_lines.append("Still to do:")
|
|
74
82
|
for q in open_questions[-6:]:
|
|
75
83
|
summary_lines.append(f" - {q}")
|
|
76
84
|
if files_mentioned:
|
|
77
|
-
summary_lines.append(f"Files
|
|
85
|
+
summary_lines.append(f"Files YOU created/edited: {', '.join(sorted(files_mentioned)[:20])}")
|
|
78
86
|
if tools_used:
|
|
79
|
-
summary_lines.append(f"Tools used: {', '.join(sorted(tools_used))}")
|
|
87
|
+
summary_lines.append(f"Tools YOU used: {', '.join(sorted(tools_used))}")
|
|
80
88
|
return "\n".join(summary_lines)
|
|
81
89
|
|
|
82
90
|
|
|
@@ -110,12 +118,24 @@ def auto_compact(messages: list[dict], max_chars: int,
|
|
|
110
118
|
|
|
111
119
|
summary_text = _build_summary(old)
|
|
112
120
|
|
|
121
|
+
# Frame the summary as a role:"system" memo (matching compaction.py) so the
|
|
122
|
+
# model never mistakes its OWN compacted work for user-authored code. The
|
|
123
|
+
# old approach injected the summary under role:"user" with passive
|
|
124
|
+
# third-person wording ("Work already completed:"), which made the model
|
|
125
|
+
# read its own build as pre-existing files the user had handed over ("the
|
|
126
|
+
# user created these files", "what would you like me to build?").
|
|
127
|
+
memo = (
|
|
128
|
+
"Earlier turns of THIS task were compacted to save context. The summary "
|
|
129
|
+
"below is YOUR OWN work already done — build on it and do NOT restart, "
|
|
130
|
+
"re-read files, redo steps, or ask the user what to build:\n\n"
|
|
131
|
+
f"{summary_text}"
|
|
132
|
+
)
|
|
133
|
+
|
|
113
134
|
# Build compacted messages
|
|
114
135
|
compacted = []
|
|
115
136
|
if system_msg:
|
|
116
137
|
compacted.append(system_msg)
|
|
117
|
-
compacted.append({"role": "
|
|
118
|
-
compacted.append({"role": "assistant", "content": "Understood. I have the context from our earlier conversation. How can I continue helping?"})
|
|
138
|
+
compacted.append({"role": "system", "content": memo})
|
|
119
139
|
compacted.extend(recent)
|
|
120
140
|
|
|
121
141
|
return compacted, summary_text
|
|
@@ -132,6 +132,10 @@ def _runner_panel(label: str, detail: str, tick: int, steps: list[SetupStep], cu
|
|
|
132
132
|
|
|
133
133
|
_progress_status: dict[str, str] = {}
|
|
134
134
|
|
|
135
|
+
# Generic return type for run_with_runner (the TypeVar was imported but never
|
|
136
|
+
# bound — ruff F821, and it broke the E9/F82 lint gate in CI).
|
|
137
|
+
T = TypeVar("T")
|
|
138
|
+
|
|
135
139
|
|
|
136
140
|
def run_with_runner(console: Console, step: SetupStep, steps: list[SetupStep], fn: Callable[[], T]) -> T:
|
|
137
141
|
result: dict[str, T] = {}
|
|
@@ -16,11 +16,68 @@ IGNORE_DIRS = {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
# Non-.git project markers, in the same spirit as agent/context._PROJECT_MARKERS.
|
|
20
|
+
# When a directory has no git history, one of these still identifies the ROOT of
|
|
21
|
+
# a real project — so a deep build dir anchors to its own project instead of
|
|
22
|
+
# silently adopting $HOME.
|
|
23
|
+
_ROOT_PROJECT_MARKERS = (
|
|
24
|
+
"package.json",
|
|
25
|
+
"pyproject.toml",
|
|
26
|
+
"go.mod",
|
|
27
|
+
"Cargo.toml",
|
|
28
|
+
"tsconfig.json",
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _is_home_or_shallower(path: Path) -> bool:
|
|
33
|
+
"""True when `path` is $HOME, its parent, or the filesystem root/anchor.
|
|
34
|
+
|
|
35
|
+
These are never legitimate project roots. Adopting one forces the model to
|
|
36
|
+
carry long absolute paths (e.g. `$HOME/Desktop/Github/.../Anki/<model>/…`)
|
|
37
|
+
on every tool call, which it then corrupts (`Aki`, `gitHub`, hallucinated
|
|
38
|
+
users) and dies in failed-read loops. This predicate lets us refuse them.
|
|
39
|
+
"""
|
|
40
|
+
try:
|
|
41
|
+
home = Path.home().resolve()
|
|
42
|
+
except (RuntimeError, OSError):
|
|
43
|
+
return False
|
|
44
|
+
return path in {home, home.parent, Path(path.anchor)}
|
|
45
|
+
|
|
46
|
+
|
|
19
47
|
def find_repo_root(start: Path) -> Path:
|
|
48
|
+
"""Locate the project root to anchor the model's paths against.
|
|
49
|
+
|
|
50
|
+
Order of preference:
|
|
51
|
+
1. The nearest ancestor containing `.git` — a real VCS root. This path is
|
|
52
|
+
behaviour-IDENTICAL to the original implementation and is what runs
|
|
53
|
+
whenever the user is inside a git checkout.
|
|
54
|
+
2. If there is no `.git` anywhere above `start`, the nearest ancestor
|
|
55
|
+
carrying a non-git project marker (package.json / pyproject.toml /
|
|
56
|
+
go.mod / Cargo.toml / tsconfig.json). This pins a *real* project dir
|
|
57
|
+
instead of walking all the way up to (and silently adopting) $HOME.
|
|
58
|
+
3. Otherwise `start` itself — but NEVER bare $HOME (or shallower). When
|
|
59
|
+
`start` resolves to $HOME with no project marker, we still hand back
|
|
60
|
+
$HOME (there is nothing nearer to anchor to), but callers can detect
|
|
61
|
+
that degenerate case via `_is_home_or_shallower` and mark it.
|
|
62
|
+
"""
|
|
20
63
|
current = start.resolve()
|
|
21
|
-
|
|
64
|
+
chain = [current, *current.parents]
|
|
65
|
+
|
|
66
|
+
# 1. A real .git root always wins — identical to the original behaviour.
|
|
67
|
+
for candidate in chain:
|
|
22
68
|
if (candidate / ".git").exists():
|
|
23
69
|
return candidate
|
|
70
|
+
|
|
71
|
+
# 2. No .git: prefer the nearest non-git project marker, but never accept a
|
|
72
|
+
# marker at $HOME or shallower (those are not project roots).
|
|
73
|
+
for candidate in chain:
|
|
74
|
+
if _is_home_or_shallower(candidate):
|
|
75
|
+
break
|
|
76
|
+
if any((candidate / marker).exists() for marker in _ROOT_PROJECT_MARKERS):
|
|
77
|
+
return candidate
|
|
78
|
+
|
|
79
|
+
# 3. Nothing better than the launch dir. Return it unchanged (this is cwd);
|
|
80
|
+
# if it IS $HOME the caller is responsible for marking the degenerate case.
|
|
24
81
|
return current
|
|
25
82
|
|
|
26
83
|
|