localcode 0.3.17__tar.gz → 0.3.18__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.
Files changed (953) hide show
  1. {localcode-0.3.17/src/localcode.egg-info → localcode-0.3.18}/PKG-INFO +1 -1
  2. {localcode-0.3.17 → localcode-0.3.18}/pyproject.toml +1 -1
  3. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/__init__.py +1 -1
  4. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/loop.py +26 -1
  5. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/config.py +8 -0
  6. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/runtime.py +14 -10
  7. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/project_check.py +17 -6
  8. localcode-0.3.18/src/localcode/tui/clipboard_image.py +131 -0
  9. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/screens/chat.py +152 -21
  10. {localcode-0.3.17 → localcode-0.3.18/src/localcode.egg-info}/PKG-INFO +1 -1
  11. {localcode-0.3.17 → localcode-0.3.18}/src/localcode.egg-info/SOURCES.txt +2 -0
  12. localcode-0.3.18/tests/test_clipboard_image.py +119 -0
  13. {localcode-0.3.17 → localcode-0.3.18}/LICENSE +0 -0
  14. {localcode-0.3.17 → localcode-0.3.18}/MANIFEST.in +0 -0
  15. {localcode-0.3.17 → localcode-0.3.18}/README.md +0 -0
  16. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/CMakeLists.txt +0 -0
  17. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/CMakePresets.json +0 -0
  18. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/LICENSE +0 -0
  19. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/arm64-apple-clang.cmake +0 -0
  20. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/arm64-windows-llvm.cmake +0 -0
  21. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/build-info.cmake +0 -0
  22. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/common.cmake +0 -0
  23. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/download-models.cmake +0 -0
  24. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/git-vars.cmake +0 -0
  25. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/license.cmake +0 -0
  26. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/llama-config.cmake.in +0 -0
  27. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/llama.pc.in +0 -0
  28. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/riscv64-spacemit-linux-gnu-gcc.cmake +0 -0
  29. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/cmake/x64-windows-llvm.cmake +0 -0
  30. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/CMakeLists.txt +0 -0
  31. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/arg.cpp +0 -0
  32. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/arg.h +0 -0
  33. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/base64.hpp +0 -0
  34. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-auto-parser-generator.cpp +0 -0
  35. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-auto-parser-helpers.cpp +0 -0
  36. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-auto-parser-helpers.h +0 -0
  37. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-auto-parser.h +0 -0
  38. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-diff-analyzer.cpp +0 -0
  39. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-peg-parser.cpp +0 -0
  40. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat-peg-parser.h +0 -0
  41. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat.cpp +0 -0
  42. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/chat.h +0 -0
  43. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/common.cpp +0 -0
  44. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/common.h +0 -0
  45. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/console.cpp +0 -0
  46. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/console.h +0 -0
  47. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/debug.cpp +0 -0
  48. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/debug.h +0 -0
  49. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/download.cpp +0 -0
  50. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/download.h +0 -0
  51. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/hf-cache.cpp +0 -0
  52. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/hf-cache.h +0 -0
  53. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/http.h +0 -0
  54. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/caps.cpp +0 -0
  55. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/caps.h +0 -0
  56. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/lexer.cpp +0 -0
  57. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/lexer.h +0 -0
  58. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/parser.cpp +0 -0
  59. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/parser.h +0 -0
  60. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/runtime.cpp +0 -0
  61. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/runtime.h +0 -0
  62. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/string.cpp +0 -0
  63. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/string.h +0 -0
  64. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/utils.h +0 -0
  65. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/value.cpp +0 -0
  66. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/jinja/value.h +0 -0
  67. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/json-partial.cpp +0 -0
  68. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/json-partial.h +0 -0
  69. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/json-schema-to-grammar.cpp +0 -0
  70. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/json-schema-to-grammar.h +0 -0
  71. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/llguidance.cpp +0 -0
  72. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/log.cpp +0 -0
  73. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/log.h +0 -0
  74. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/ngram-cache.cpp +0 -0
  75. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/ngram-cache.h +0 -0
  76. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/ngram-map.cpp +0 -0
  77. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/ngram-map.h +0 -0
  78. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/ngram-mod.cpp +0 -0
  79. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/ngram-mod.h +0 -0
  80. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/peg-parser.cpp +0 -0
  81. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/peg-parser.h +0 -0
  82. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/preset.cpp +0 -0
  83. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/preset.h +0 -0
  84. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/reasoning-budget.cpp +0 -0
  85. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/reasoning-budget.h +0 -0
  86. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/regex-partial.cpp +0 -0
  87. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/regex-partial.h +0 -0
  88. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/sampling.cpp +0 -0
  89. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/sampling.h +0 -0
  90. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/speculative.cpp +0 -0
  91. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/speculative.h +0 -0
  92. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/unicode.cpp +0 -0
  93. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/common/unicode.h +0 -0
  94. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-alloc.h +0 -0
  95. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-backend.h +0 -0
  96. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-blas.h +0 -0
  97. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-cann.h +0 -0
  98. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-cpp.h +0 -0
  99. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-cpu.h +0 -0
  100. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-cuda.h +0 -0
  101. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-hexagon.h +0 -0
  102. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-metal.h +0 -0
  103. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-opencl.h +0 -0
  104. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-openvino.h +0 -0
  105. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-opt.h +0 -0
  106. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-rpc.h +0 -0
  107. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-sycl.h +0 -0
  108. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-virtgpu.h +0 -0
  109. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-vulkan.h +0 -0
  110. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-webgpu.h +0 -0
  111. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-zdnn.h +0 -0
  112. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml-zendnn.h +0 -0
  113. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/ggml.h +0 -0
  114. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/include/gguf.h +0 -0
  115. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/CMakeLists.txt +0 -0
  116. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-alloc.c +0 -0
  117. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-backend-dl.cpp +0 -0
  118. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-backend-dl.h +0 -0
  119. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-backend-impl.h +0 -0
  120. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-backend-reg.cpp +0 -0
  121. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-backend.cpp +0 -0
  122. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-blas/CMakeLists.txt +0 -0
  123. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-blas/ggml-blas.cpp +0 -0
  124. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/CMakeLists.txt +0 -0
  125. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/acl_tensor.cpp +0 -0
  126. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/acl_tensor.h +0 -0
  127. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/aclnn_ops.cpp +0 -0
  128. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/aclnn_ops.h +0 -0
  129. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/common.h +0 -0
  130. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cann/ggml-cann.cpp +0 -0
  131. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-common.h +0 -0
  132. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/CMakeLists.txt +0 -0
  133. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/amx.cpp +0 -0
  134. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/amx.h +0 -0
  135. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/common.h +0 -0
  136. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/mmq.cpp +0 -0
  137. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/amx/mmq.h +0 -0
  138. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/cpu-feats.cpp +0 -0
  139. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/quants.c +0 -0
  140. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/arm/repack.cpp +0 -0
  141. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/loongarch/quants.c +0 -0
  142. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/powerpc/cpu-feats.cpp +0 -0
  143. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/powerpc/quants.c +0 -0
  144. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp +0 -0
  145. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/quants.c +0 -0
  146. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/riscv/repack.cpp +0 -0
  147. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/s390/cpu-feats.cpp +0 -0
  148. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/s390/quants.c +0 -0
  149. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/wasm/quants.c +0 -0
  150. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/cpu-feats.cpp +0 -0
  151. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/quants.c +0 -0
  152. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch/x86/repack.cpp +0 -0
  153. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/arch-fallback.h +0 -0
  154. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/binary-ops.cpp +0 -0
  155. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/binary-ops.h +0 -0
  156. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/cmake/FindSIMD.cmake +0 -0
  157. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/common.h +0 -0
  158. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu-impl.h +0 -0
  159. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu.c +0 -0
  160. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/ggml-cpu.cpp +0 -0
  161. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/hbm.cpp +0 -0
  162. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/hbm.h +0 -0
  163. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kernels.cpp +0 -0
  164. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kernels.h +0 -0
  165. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kleidiai.cpp +0 -0
  166. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/kleidiai/kleidiai.h +0 -0
  167. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/llamafile/sgemm.cpp +0 -0
  168. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/llamafile/sgemm.h +0 -0
  169. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/ops.cpp +0 -0
  170. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/ops.h +0 -0
  171. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/quants.c +0 -0
  172. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/quants.h +0 -0
  173. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/repack.cpp +0 -0
  174. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/repack.h +0 -0
  175. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/simd-gemm.h +0 -0
  176. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/simd-mappings.h +0 -0
  177. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime.cpp +0 -0
  178. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime.h +0 -0
  179. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime1_kernels.cpp +0 -0
  180. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/spacemit/ime_kernels.h +0 -0
  181. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/traits.cpp +0 -0
  182. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/traits.h +0 -0
  183. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/unary-ops.cpp +0 -0
  184. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/unary-ops.h +0 -0
  185. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/vec.cpp +0 -0
  186. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cpu/vec.h +0 -0
  187. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cuda/CMakeLists.txt +0 -0
  188. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/cuda.h +0 -0
  189. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/hip.h +0 -0
  190. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-cuda/vendors/musa.h +0 -0
  191. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/CMakeLists.txt +0 -0
  192. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/ggml-hexagon.cpp +0 -0
  193. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/CMakeLists.txt +0 -0
  194. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/act-ops.c +0 -0
  195. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/argsort-ops.c +0 -0
  196. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/binary-ops.c +0 -0
  197. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cmake-toolchain.cmake +0 -0
  198. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cpy-ops.c +0 -0
  199. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/cumsum-ops.c +0 -0
  200. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/flash-attn-ops.c +0 -0
  201. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/get-rows-ops.c +0 -0
  202. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dma.c +0 -0
  203. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dma.h +0 -0
  204. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-dump.h +0 -0
  205. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-fastdiv.h +0 -0
  206. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hex-utils.h +0 -0
  207. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-matmul-ops.c +0 -0
  208. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-ops.h +0 -0
  209. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-profile.h +0 -0
  210. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hmx-utils.h +0 -0
  211. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-ctx.h +0 -0
  212. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-msg.h +0 -0
  213. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/htp-ops.h +0 -0
  214. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-arith.h +0 -0
  215. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-base.h +0 -0
  216. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-copy.h +0 -0
  217. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-div.h +0 -0
  218. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-dump.h +0 -0
  219. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-exp.h +0 -0
  220. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-floor.h +0 -0
  221. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-inverse.h +0 -0
  222. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-reduce.h +0 -0
  223. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-scale.h +0 -0
  224. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h +0 -0
  225. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-sqrt.h +0 -0
  226. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-types.h +0 -0
  227. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/hvx-utils.h +0 -0
  228. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/main.c +0 -0
  229. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/matmul-ops.c +0 -0
  230. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/repeat-ops.c +0 -0
  231. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/rope-ops.c +0 -0
  232. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/set-rows-ops.c +0 -0
  233. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/softmax-ops.c +0 -0
  234. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/ssm-conv.c +0 -0
  235. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/sum-rows-ops.c +0 -0
  236. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/unary-ops.c +0 -0
  237. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/worker-pool.c +0 -0
  238. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp/worker-pool.h +0 -0
  239. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp-drv.cpp +0 -0
  240. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/htp-drv.h +0 -0
  241. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/libdl.h +0 -0
  242. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hexagon/op-desc.h +0 -0
  243. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-hip/CMakeLists.txt +0 -0
  244. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-impl.h +0 -0
  245. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/CMakeLists.txt +0 -0
  246. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-common.cpp +0 -0
  247. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-common.h +0 -0
  248. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-context.h +0 -0
  249. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-context.m +0 -0
  250. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.cpp +0 -0
  251. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.h +0 -0
  252. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-device.m +0 -0
  253. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-impl.h +0 -0
  254. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-ops.cpp +0 -0
  255. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal-ops.h +0 -0
  256. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal.cpp +0 -0
  257. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/ggml-metal.metal +0 -0
  258. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/turbo-matrices.h +0 -0
  259. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-metal/turbo-wht.h +0 -0
  260. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-musa/CMakeLists.txt +0 -0
  261. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-opencl/CMakeLists.txt +0 -0
  262. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-opencl/ggml-opencl.cpp +0 -0
  263. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/CMakeLists.txt +0 -0
  264. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-decoder.cpp +0 -0
  265. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-decoder.h +0 -0
  266. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino-extra.cpp +0 -0
  267. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino-extra.h +0 -0
  268. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-openvino.cpp +0 -0
  269. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-quants.cpp +0 -0
  270. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/ggml-quants.h +0 -0
  271. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/decoder.h +0 -0
  272. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/frontend.cpp +0 -0
  273. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/frontend.h +0 -0
  274. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/input_model.cpp +0 -0
  275. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/input_model.h +0 -0
  276. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/node_context.h +0 -0
  277. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/cont.cpp +0 -0
  278. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/cpy.cpp +0 -0
  279. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/flash_attn_ext.cpp +0 -0
  280. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/get_rows.cpp +0 -0
  281. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/glu_geglu.cpp +0 -0
  282. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/glu_swiglu.cpp +0 -0
  283. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/mulmat.cpp +0 -0
  284. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/permute.cpp +0 -0
  285. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/reshape.cpp +0 -0
  286. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/rms_norm.cpp +0 -0
  287. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/rope.cpp +0 -0
  288. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/scale.cpp +0 -0
  289. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/set_rows.cpp +0 -0
  290. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/softmax.cpp +0 -0
  291. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/transpose.cpp +0 -0
  292. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/unary_silu.cpp +0 -0
  293. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op/view.cpp +0 -0
  294. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op_table.cpp +0 -0
  295. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/op_table.h +0 -0
  296. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/eliminate_zp.cpp +0 -0
  297. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/eliminate_zp.h +0 -0
  298. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/fuse_to_sdpa.cpp +0 -0
  299. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/fuse_to_sdpa.h +0 -0
  300. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/mark_decompression_convert_constant_folding.h +0 -0
  301. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/squeeze_matmul.cpp +0 -0
  302. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/pass/squeeze_matmul.h +0 -0
  303. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/translate_session.cpp +0 -0
  304. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/translate_session.h +0 -0
  305. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/utils.cpp +0 -0
  306. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/openvino/utils.h +0 -0
  307. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/utils.cpp +0 -0
  308. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-openvino/utils.h +0 -0
  309. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-opt.cpp +0 -0
  310. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-quants.c +0 -0
  311. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-quants.h +0 -0
  312. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-rpc/CMakeLists.txt +0 -0
  313. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-rpc/ggml-rpc.cpp +0 -0
  314. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/CMakeLists.txt +0 -0
  315. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/add-id.cpp +0 -0
  316. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/add-id.hpp +0 -0
  317. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/backend.hpp +0 -0
  318. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/binbcast.cpp +0 -0
  319. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/binbcast.hpp +0 -0
  320. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/common.cpp +0 -0
  321. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/common.hpp +0 -0
  322. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/concat.cpp +0 -0
  323. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/concat.hpp +0 -0
  324. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/conv.cpp +0 -0
  325. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/conv.hpp +0 -0
  326. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/convert.cpp +0 -0
  327. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/convert.hpp +0 -0
  328. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/count-equal.cpp +0 -0
  329. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/count-equal.hpp +0 -0
  330. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/cpy.cpp +0 -0
  331. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/cpy.hpp +0 -0
  332. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/dequantize.hpp +0 -0
  333. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/dmmv.cpp +0 -0
  334. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/dmmv.hpp +0 -0
  335. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/dpct/helper.hpp +0 -0
  336. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/element_wise.cpp +0 -0
  337. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/element_wise.hpp +0 -0
  338. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-common.hpp +0 -0
  339. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-tile.cpp +0 -0
  340. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-tile.hpp +0 -0
  341. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn-vec.hpp +0 -0
  342. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn.cpp +0 -0
  343. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/fattn.hpp +0 -0
  344. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/gated_delta_net.cpp +0 -0
  345. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/gated_delta_net.hpp +0 -0
  346. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/gemm.hpp +0 -0
  347. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/getrows.cpp +0 -0
  348. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/getrows.hpp +0 -0
  349. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/ggml-sycl.cpp +0 -0
  350. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/gla.cpp +0 -0
  351. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/gla.hpp +0 -0
  352. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/im2col.cpp +0 -0
  353. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/im2col.hpp +0 -0
  354. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmq.cpp +0 -0
  355. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmq.hpp +0 -0
  356. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmvq.cpp +0 -0
  357. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/mmvq.hpp +0 -0
  358. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/norm.cpp +0 -0
  359. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/norm.hpp +0 -0
  360. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/outprod.cpp +0 -0
  361. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/outprod.hpp +0 -0
  362. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad.cpp +0 -0
  363. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad.hpp +0 -0
  364. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad_reflect_1d.cpp +0 -0
  365. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/pad_reflect_1d.hpp +0 -0
  366. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/presets.hpp +0 -0
  367. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/quantize.hpp +0 -0
  368. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/quants.hpp +0 -0
  369. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/repeat_back.cpp +0 -0
  370. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/repeat_back.hpp +0 -0
  371. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/roll.cpp +0 -0
  372. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/roll.hpp +0 -0
  373. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/rope.cpp +0 -0
  374. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/rope.hpp +0 -0
  375. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/set.cpp +0 -0
  376. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/set.hpp +0 -0
  377. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/set_rows.cpp +0 -0
  378. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/set_rows.hpp +0 -0
  379. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/softmax.cpp +0 -0
  380. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/softmax.hpp +0 -0
  381. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/ssm_conv.cpp +0 -0
  382. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/ssm_conv.hpp +0 -0
  383. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/sycl_hw.cpp +0 -0
  384. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/sycl_hw.hpp +0 -0
  385. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq112-dv112.cpp +0 -0
  386. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq128-dv128.cpp +0 -0
  387. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq256-dv256.cpp +0 -0
  388. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq40-dv40.cpp +0 -0
  389. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq576-dv512.cpp +0 -0
  390. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq64-dv64.cpp +0 -0
  391. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq72-dv72.cpp +0 -0
  392. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq80-dv80.cpp +0 -0
  393. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-tile-instance-dkq96-dv96.cpp +0 -0
  394. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-f16.cpp +0 -0
  395. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_0.cpp +0 -0
  396. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q4_1.cpp +0 -0
  397. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_0.cpp +0 -0
  398. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q5_1.cpp +0 -0
  399. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-f16-q8_0.cpp +0 -0
  400. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-f16.cpp +0 -0
  401. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_0.cpp +0 -0
  402. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q4_1.cpp +0 -0
  403. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_0.cpp +0 -0
  404. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q5_1.cpp +0 -0
  405. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_0-q8_0.cpp +0 -0
  406. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-f16.cpp +0 -0
  407. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_0.cpp +0 -0
  408. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q4_1.cpp +0 -0
  409. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_0.cpp +0 -0
  410. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q5_1.cpp +0 -0
  411. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q4_1-q8_0.cpp +0 -0
  412. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-f16.cpp +0 -0
  413. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_0.cpp +0 -0
  414. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q4_1.cpp +0 -0
  415. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_0.cpp +0 -0
  416. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q5_1.cpp +0 -0
  417. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_0-q8_0.cpp +0 -0
  418. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-f16.cpp +0 -0
  419. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_0.cpp +0 -0
  420. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q4_1.cpp +0 -0
  421. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_0.cpp +0 -0
  422. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q5_1.cpp +0 -0
  423. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q5_1-q8_0.cpp +0 -0
  424. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-f16.cpp +0 -0
  425. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_0.cpp +0 -0
  426. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q4_1.cpp +0 -0
  427. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_0.cpp +0 -0
  428. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q5_1.cpp +0 -0
  429. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/template-instances/fattn-vec-instance-q8_0-q8_0.cpp +0 -0
  430. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/tsembd.cpp +0 -0
  431. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/tsembd.hpp +0 -0
  432. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/type.hpp +0 -0
  433. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/upscale.cpp +0 -0
  434. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/upscale.hpp +0 -0
  435. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/vecdotq.hpp +0 -0
  436. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/wkv.cpp +0 -0
  437. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-sycl/wkv.hpp +0 -0
  438. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-threading.cpp +0 -0
  439. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-threading.h +0 -0
  440. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-turbo-quant.c +0 -0
  441. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/CMakeLists.txt +0 -0
  442. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp +0 -0
  443. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/CMakeLists.txt +0 -0
  444. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp +0 -0
  445. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-convert.h +0 -0
  446. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp +0 -0
  447. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp +0 -0
  448. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp +0 -0
  449. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp +0 -0
  450. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp +0 -0
  451. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h +0 -0
  452. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-dispatched.h +0 -0
  453. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h +0 -0
  454. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/backend.cpp +0 -0
  455. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h +0 -0
  456. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h +0 -0
  457. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h +0 -0
  458. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h +0 -0
  459. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h +0 -0
  460. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h +0 -0
  461. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp +0 -0
  462. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp +0 -0
  463. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-device.cpp +0 -0
  464. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp +0 -0
  465. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-backend.cpp +0 -0
  466. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/ggml-remoting.h +0 -0
  467. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/include/apir_hw.h +0 -0
  468. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-apir.h +0 -0
  469. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp +0 -0
  470. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp +0 -0
  471. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp +0 -0
  472. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp +0 -0
  473. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h +0 -0
  474. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h +0 -0
  475. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-shm.cpp +0 -0
  476. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-shm.h +0 -0
  477. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-utils.cpp +0 -0
  478. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu-utils.h +0 -0
  479. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu.cpp +0 -0
  480. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-virtgpu/virtgpu.h +0 -0
  481. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-vulkan/CMakeLists.txt +0 -0
  482. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-vulkan/ggml-vulkan.cpp +0 -0
  483. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-vulkan/vulkan-shaders/CMakeLists.txt +0 -0
  484. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +0 -0
  485. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-webgpu/CMakeLists.txt +0 -0
  486. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp +0 -0
  487. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-webgpu/ggml-webgpu.cpp +0 -0
  488. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-webgpu/pre_wgsl.hpp +0 -0
  489. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/CMakeLists.txt +0 -0
  490. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/common.hpp +0 -0
  491. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/ggml-zdnn.cpp +0 -0
  492. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/mmf.cpp +0 -0
  493. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/mmf.hpp +0 -0
  494. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/utils.cpp +0 -0
  495. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zdnn/utils.hpp +0 -0
  496. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zendnn/CMakeLists.txt +0 -0
  497. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml-zendnn/ggml-zendnn.cpp +0 -0
  498. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml.c +0 -0
  499. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/ggml.cpp +0 -0
  500. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/ggml/src/gguf.cpp +0 -0
  501. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/include/llama-cpp.h +0 -0
  502. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/include/llama.h +0 -0
  503. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/licenses/LICENSE-jsonhpp +0 -0
  504. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/CMakeLists.txt +0 -0
  505. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-adapter.cpp +0 -0
  506. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-adapter.h +0 -0
  507. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-arch.cpp +0 -0
  508. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-arch.h +0 -0
  509. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-batch.cpp +0 -0
  510. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-batch.h +0 -0
  511. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-chat.cpp +0 -0
  512. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-chat.h +0 -0
  513. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-context.cpp +0 -0
  514. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-context.h +0 -0
  515. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-cparams.cpp +0 -0
  516. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-cparams.h +0 -0
  517. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-ext.h +0 -0
  518. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-grammar.cpp +0 -0
  519. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-grammar.h +0 -0
  520. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-graph.cpp +0 -0
  521. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-graph.h +0 -0
  522. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-hparams.cpp +0 -0
  523. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-hparams.h +0 -0
  524. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-impl.cpp +0 -0
  525. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-impl.h +0 -0
  526. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-io.cpp +0 -0
  527. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-io.h +0 -0
  528. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-kv-cache-iswa.cpp +0 -0
  529. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-kv-cache-iswa.h +0 -0
  530. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-kv-cache.cpp +0 -0
  531. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-kv-cache.h +0 -0
  532. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-kv-cells.h +0 -0
  533. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory-hybrid-iswa.cpp +0 -0
  534. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory-hybrid-iswa.h +0 -0
  535. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory-hybrid.cpp +0 -0
  536. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory-hybrid.h +0 -0
  537. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory-recurrent.cpp +0 -0
  538. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory-recurrent.h +0 -0
  539. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory.cpp +0 -0
  540. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-memory.h +0 -0
  541. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-mmap.cpp +0 -0
  542. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-mmap.h +0 -0
  543. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-model-loader.cpp +0 -0
  544. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-model-loader.h +0 -0
  545. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-model-saver.cpp +0 -0
  546. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-model-saver.h +0 -0
  547. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-model.cpp +0 -0
  548. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-model.h +0 -0
  549. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-quant.cpp +0 -0
  550. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-quant.h +0 -0
  551. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-sampler.cpp +0 -0
  552. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-sampler.h +0 -0
  553. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-vocab.cpp +0 -0
  554. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama-vocab.h +0 -0
  555. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/llama.cpp +0 -0
  556. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/afmoe.cpp +0 -0
  557. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/apertus.cpp +0 -0
  558. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/arcee.cpp +0 -0
  559. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/arctic.cpp +0 -0
  560. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/arwkv7.cpp +0 -0
  561. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/baichuan.cpp +0 -0
  562. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/bailingmoe.cpp +0 -0
  563. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/bailingmoe2.cpp +0 -0
  564. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/bert.cpp +0 -0
  565. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/bitnet.cpp +0 -0
  566. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/bloom.cpp +0 -0
  567. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/chameleon.cpp +0 -0
  568. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/chatglm.cpp +0 -0
  569. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/codeshell.cpp +0 -0
  570. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/cogvlm.cpp +0 -0
  571. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/cohere2-iswa.cpp +0 -0
  572. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/command-r.cpp +0 -0
  573. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/dbrx.cpp +0 -0
  574. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/deci.cpp +0 -0
  575. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/deepseek.cpp +0 -0
  576. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/deepseek2.cpp +0 -0
  577. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/delta-net-base.cpp +0 -0
  578. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/dots1.cpp +0 -0
  579. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/dream.cpp +0 -0
  580. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/ernie4-5-moe.cpp +0 -0
  581. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/ernie4-5.cpp +0 -0
  582. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/eurobert.cpp +0 -0
  583. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/exaone-moe.cpp +0 -0
  584. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/exaone.cpp +0 -0
  585. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/exaone4.cpp +0 -0
  586. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/falcon-h1.cpp +0 -0
  587. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/falcon.cpp +0 -0
  588. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gemma-embedding.cpp +0 -0
  589. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gemma.cpp +0 -0
  590. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gemma2-iswa.cpp +0 -0
  591. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gemma3.cpp +0 -0
  592. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gemma3n-iswa.cpp +0 -0
  593. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gemma4-iswa.cpp +0 -0
  594. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/glm4-moe.cpp +0 -0
  595. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/glm4.cpp +0 -0
  596. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gpt2.cpp +0 -0
  597. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/gptneox.cpp +0 -0
  598. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/granite-hybrid.cpp +0 -0
  599. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/granite.cpp +0 -0
  600. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/grok.cpp +0 -0
  601. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/grovemoe.cpp +0 -0
  602. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/hunyuan-dense.cpp +0 -0
  603. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/hunyuan-moe.cpp +0 -0
  604. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/internlm2.cpp +0 -0
  605. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/jais.cpp +0 -0
  606. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/jais2.cpp +0 -0
  607. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/jamba.cpp +0 -0
  608. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/kimi-linear.cpp +0 -0
  609. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/lfm2.cpp +0 -0
  610. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/llada-moe.cpp +0 -0
  611. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/llada.cpp +0 -0
  612. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/llama-iswa.cpp +0 -0
  613. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/llama.cpp +0 -0
  614. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/maincoder.cpp +0 -0
  615. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/mamba-base.cpp +0 -0
  616. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/mamba.cpp +0 -0
  617. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/mimo2-iswa.cpp +0 -0
  618. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/minicpm3.cpp +0 -0
  619. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/minimax-m2.cpp +0 -0
  620. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/mistral3.cpp +0 -0
  621. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/models.h +0 -0
  622. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/modern-bert.cpp +0 -0
  623. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/mpt.cpp +0 -0
  624. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/nemotron-h.cpp +0 -0
  625. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/nemotron.cpp +0 -0
  626. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/neo-bert.cpp +0 -0
  627. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/olmo.cpp +0 -0
  628. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/olmo2.cpp +0 -0
  629. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/olmoe.cpp +0 -0
  630. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/openai-moe-iswa.cpp +0 -0
  631. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/openelm.cpp +0 -0
  632. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/orion.cpp +0 -0
  633. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/paddleocr.cpp +0 -0
  634. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/pangu-embedded.cpp +0 -0
  635. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/phi2.cpp +0 -0
  636. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/phi3.cpp +0 -0
  637. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/plamo.cpp +0 -0
  638. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/plamo2.cpp +0 -0
  639. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/plamo3.cpp +0 -0
  640. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/plm.cpp +0 -0
  641. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen.cpp +0 -0
  642. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen2.cpp +0 -0
  643. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen2moe.cpp +0 -0
  644. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen2vl.cpp +0 -0
  645. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen3.cpp +0 -0
  646. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen35.cpp +0 -0
  647. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen35moe.cpp +0 -0
  648. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen3moe.cpp +0 -0
  649. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen3next.cpp +0 -0
  650. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen3vl-moe.cpp +0 -0
  651. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/qwen3vl.cpp +0 -0
  652. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/refact.cpp +0 -0
  653. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/rnd1.cpp +0 -0
  654. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/rwkv6-base.cpp +0 -0
  655. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/rwkv6.cpp +0 -0
  656. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/rwkv6qwen2.cpp +0 -0
  657. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/rwkv7-base.cpp +0 -0
  658. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/rwkv7.cpp +0 -0
  659. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/seed-oss.cpp +0 -0
  660. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/smallthinker.cpp +0 -0
  661. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/smollm3.cpp +0 -0
  662. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/stablelm.cpp +0 -0
  663. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/starcoder.cpp +0 -0
  664. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/starcoder2.cpp +0 -0
  665. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/step35-iswa.cpp +0 -0
  666. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/t5-dec.cpp +0 -0
  667. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/t5-enc.cpp +0 -0
  668. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/wavtokenizer-dec.cpp +0 -0
  669. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/models/xverse.cpp +0 -0
  670. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/turbo-rotation-data-32.h +0 -0
  671. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/turbo-rotation-data.h +0 -0
  672. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/unicode-data.cpp +0 -0
  673. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/unicode-data.h +0 -0
  674. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/unicode.cpp +0 -0
  675. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/src/unicode.h +0 -0
  676. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/CMakeLists.txt +0 -0
  677. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/batched-bench/CMakeLists.txt +0 -0
  678. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/batched-bench/batched-bench.cpp +0 -0
  679. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/cli/CMakeLists.txt +0 -0
  680. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/cli/cli.cpp +0 -0
  681. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/completion/CMakeLists.txt +0 -0
  682. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/completion/completion.cpp +0 -0
  683. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/cvector-generator/CMakeLists.txt +0 -0
  684. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/cvector-generator/cvector-generator.cpp +0 -0
  685. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/cvector-generator/mean.hpp +0 -0
  686. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/cvector-generator/pca.hpp +0 -0
  687. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/export-lora/CMakeLists.txt +0 -0
  688. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/export-lora/export-lora.cpp +0 -0
  689. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/fit-params/CMakeLists.txt +0 -0
  690. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/fit-params/fit-params.cpp +0 -0
  691. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/gguf-split/CMakeLists.txt +0 -0
  692. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/gguf-split/gguf-split.cpp +0 -0
  693. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/imatrix/CMakeLists.txt +0 -0
  694. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/imatrix/imatrix.cpp +0 -0
  695. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/llama-bench/CMakeLists.txt +0 -0
  696. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/llama-bench/llama-bench.cpp +0 -0
  697. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/CMakeLists.txt +0 -0
  698. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/clip-graph.h +0 -0
  699. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/clip-impl.h +0 -0
  700. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/clip-model.h +0 -0
  701. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/clip.cpp +0 -0
  702. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/clip.h +0 -0
  703. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/debug/mtmd-debug.cpp +0 -0
  704. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/debug/mtmd-debug.h +0 -0
  705. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/deprecation-warning.cpp +0 -0
  706. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/cogvlm.cpp +0 -0
  707. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/conformer.cpp +0 -0
  708. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/deepseekocr.cpp +0 -0
  709. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/gemma4v.cpp +0 -0
  710. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/glm4v.cpp +0 -0
  711. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/hunyuanocr.cpp +0 -0
  712. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/internvl.cpp +0 -0
  713. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/kimik25.cpp +0 -0
  714. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/kimivl.cpp +0 -0
  715. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/llama4.cpp +0 -0
  716. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/llava.cpp +0 -0
  717. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/minicpmv.cpp +0 -0
  718. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/mobilenetv5.cpp +0 -0
  719. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/models.h +0 -0
  720. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/nemotron-v2-vl.cpp +0 -0
  721. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/paddleocr.cpp +0 -0
  722. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/pixtral.cpp +0 -0
  723. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/qwen2vl.cpp +0 -0
  724. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/qwen3vl.cpp +0 -0
  725. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/siglip.cpp +0 -0
  726. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/whisper-enc.cpp +0 -0
  727. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/models/youtuvl.cpp +0 -0
  728. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-audio.cpp +0 -0
  729. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-audio.h +0 -0
  730. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-cli.cpp +0 -0
  731. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-helper.cpp +0 -0
  732. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-helper.h +0 -0
  733. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-image.cpp +0 -0
  734. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd-image.h +0 -0
  735. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd.cpp +0 -0
  736. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/mtmd/mtmd.h +0 -0
  737. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/parser/CMakeLists.txt +0 -0
  738. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/parser/debug-template-parser.cpp +0 -0
  739. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/parser/template-analysis.cpp +0 -0
  740. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/perplexity/CMakeLists.txt +0 -0
  741. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/perplexity/perplexity.cpp +0 -0
  742. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/quantize/CMakeLists.txt +0 -0
  743. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/quantize/quantize.cpp +0 -0
  744. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/results/CMakeLists.txt +0 -0
  745. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/results/results.cpp +0 -0
  746. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/rpc/CMakeLists.txt +0 -0
  747. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/rpc/rpc-server.cpp +0 -0
  748. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/CMakeLists.txt +0 -0
  749. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-common.cpp +0 -0
  750. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-common.h +0 -0
  751. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-context.cpp +0 -0
  752. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-context.h +0 -0
  753. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-cors-proxy.h +0 -0
  754. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-http.cpp +0 -0
  755. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-http.h +0 -0
  756. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-models.cpp +0 -0
  757. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-models.h +0 -0
  758. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-queue.cpp +0 -0
  759. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-queue.h +0 -0
  760. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-task.cpp +0 -0
  761. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-task.h +0 -0
  762. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-tools.cpp +0 -0
  763. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server-tools.h +0 -0
  764. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/server/server.cpp +0 -0
  765. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/tokenize/CMakeLists.txt +0 -0
  766. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/tokenize/tokenize.cpp +0 -0
  767. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/tts/CMakeLists.txt +0 -0
  768. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/tools/tts/tts.cpp +0 -0
  769. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/cpp-httplib/CMakeLists.txt +0 -0
  770. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/cpp-httplib/httplib.cpp +0 -0
  771. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/cpp-httplib/httplib.h +0 -0
  772. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/miniaudio/miniaudio.h +0 -0
  773. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/nlohmann/json.hpp +0 -0
  774. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/nlohmann/json_fwd.hpp +0 -0
  775. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/sheredom/subprocess.h +0 -0
  776. {localcode-0.3.17 → localcode-0.3.18}/llama-cpp-turboquant/vendor/stb/stb_image.h +0 -0
  777. {localcode-0.3.17 → localcode-0.3.18}/setup.cfg +0 -0
  778. {localcode-0.3.17 → localcode-0.3.18}/setup.py +0 -0
  779. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/__main__.py +0 -0
  780. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/_subproc_env.py +0 -0
  781. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/__init__.py +0 -0
  782. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/app_tasks.py +0 -0
  783. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/constants.py +0 -0
  784. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/context.py +0 -0
  785. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/goal.py +0 -0
  786. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/helpers.py +0 -0
  787. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/hooks.py +0 -0
  788. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/prompt_context.py +0 -0
  789. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/prompts.py +0 -0
  790. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/recovery.py +0 -0
  791. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/sections.py +0 -0
  792. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/streaming.py +0 -0
  793. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/tool_execution.py +0 -0
  794. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/tool_orchestration.py +0 -0
  795. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/agent/turn_finalization.py +0 -0
  796. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/app.py +0 -0
  797. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/approvals.py +0 -0
  798. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/auto_compact.py +0 -0
  799. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/autonomy.py +0 -0
  800. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/bin/__init__.py +0 -0
  801. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/bin/llama-server +0 -0
  802. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/bootstrap.py +0 -0
  803. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/cache.py +0 -0
  804. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/checkpoint.py +0 -0
  805. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/compact.py +0 -0
  806. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/compaction.py +0 -0
  807. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/composer.py +0 -0
  808. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/context.py +0 -0
  809. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/display.py +0 -0
  810. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/embeddings.py +0 -0
  811. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/entrypoint.py +0 -0
  812. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/errors.py +0 -0
  813. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/events.py +0 -0
  814. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/features.py +0 -0
  815. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/formatting.py +0 -0
  816. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/headless_json.py +0 -0
  817. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/health.py +0 -0
  818. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/hf_quants.py +0 -0
  819. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/history.py +0 -0
  820. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/hooks.py +0 -0
  821. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/indexer.py +0 -0
  822. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/injection_defense.py +0 -0
  823. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/launcher.py +0 -0
  824. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/logging_utils.py +0 -0
  825. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/lsp.py +0 -0
  826. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/mcp/__init__.py +0 -0
  827. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/mcp/_bridge.py +0 -0
  828. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/mcp/_config.py +0 -0
  829. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/mcp/_transports.py +0 -0
  830. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/mcp/client.py +0 -0
  831. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/memory_guard.py +0 -0
  832. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/model_config.py +0 -0
  833. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/model_families.py +0 -0
  834. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/models.py +0 -0
  835. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/models_catalog.py +0 -0
  836. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/notebook.py +0 -0
  837. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/output.py +0 -0
  838. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/patching.py +0 -0
  839. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/paths.py +0 -0
  840. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/performance.py +0 -0
  841. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/permissions.py +0 -0
  842. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/permissions_v2.py +0 -0
  843. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/plans.py +0 -0
  844. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/process_registry.py +0 -0
  845. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/recommendations.py +0 -0
  846. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/recovery.py +0 -0
  847. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/runtime_diffusion.py +0 -0
  848. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/server_manager.py +0 -0
  849. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/session.py +0 -0
  850. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/shell.py +0 -0
  851. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/debug.md +0 -0
  852. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/edit-verified.md +0 -0
  853. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/explain.md +0 -0
  854. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/git-commit-safely.md +0 -0
  855. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/locate.md +0 -0
  856. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/plan-task.md +0 -0
  857. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/review.md +0 -0
  858. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills/run-tests.md +0 -0
  859. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/skills.py +0 -0
  860. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/snapshots.py +0 -0
  861. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/sounds.py +0 -0
  862. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/telemetry.py +0 -0
  863. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/theme.py +0 -0
  864. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/thermal.py +0 -0
  865. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/thinking.py +0 -0
  866. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tool_router.py +0 -0
  867. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/toolkit.py +0 -0
  868. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/__init__.py +0 -0
  869. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/agent.py +0 -0
  870. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/append_file.py +0 -0
  871. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/base.py +0 -0
  872. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/bash.py +0 -0
  873. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/edit_diff.py +0 -0
  874. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/edit_file.py +0 -0
  875. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/facts.py +0 -0
  876. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/glob_tool.py +0 -0
  877. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/grep.py +0 -0
  878. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/launch_app.py +0 -0
  879. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/list_files.py +0 -0
  880. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/multi_edit.py +0 -0
  881. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/plan_mode.py +0 -0
  882. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/read_file.py +0 -0
  883. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/skill_tool.py +0 -0
  884. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/syntax_check.py +0 -0
  885. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/todo_write.py +0 -0
  886. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/tool_call_repair.py +0 -0
  887. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/web_fetch.py +0 -0
  888. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/web_search.py +0 -0
  889. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tools/write_file.py +0 -0
  890. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/__init__.py +0 -0
  891. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/app.py +0 -0
  892. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/bridge.py +0 -0
  893. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/screens/__init__.py +0 -0
  894. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/screens/mode_picker.py +0 -0
  895. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/screens/model_picker.py +0 -0
  896. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/screens/setup.py +0 -0
  897. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/styles/__init__.py +0 -0
  898. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/styles/app.tcss +0 -0
  899. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/widgets/__init__.py +0 -0
  900. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/widgets/approval.py +0 -0
  901. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/widgets/chat_log.py +0 -0
  902. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/widgets/messages/__init__.py +0 -0
  903. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/widgets/messages/diff.py +0 -0
  904. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/tui/widgets/voice_visualizer.py +0 -0
  905. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/turn_diff.py +0 -0
  906. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/undo.py +0 -0
  907. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/verification.py +0 -0
  908. {localcode-0.3.17 → localcode-0.3.18}/src/localcode/voice.py +0 -0
  909. {localcode-0.3.17 → localcode-0.3.18}/src/localcode.egg-info/dependency_links.txt +0 -0
  910. {localcode-0.3.17 → localcode-0.3.18}/src/localcode.egg-info/entry_points.txt +0 -0
  911. {localcode-0.3.17 → localcode-0.3.18}/src/localcode.egg-info/requires.txt +0 -0
  912. {localcode-0.3.17 → localcode-0.3.18}/src/localcode.egg-info/top_level.txt +0 -0
  913. {localcode-0.3.17 → localcode-0.3.18}/tests/test_agent_event_regressions.py +0 -0
  914. {localcode-0.3.17 → localcode-0.3.18}/tests/test_architecture.py +0 -0
  915. {localcode-0.3.17 → localcode-0.3.18}/tests/test_bootstrap.py +0 -0
  916. {localcode-0.3.17 → localcode-0.3.18}/tests/test_checkpoint.py +0 -0
  917. {localcode-0.3.17 → localcode-0.3.18}/tests/test_churn_detection.py +0 -0
  918. {localcode-0.3.17 → localcode-0.3.18}/tests/test_compaction.py +0 -0
  919. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_agent.py +0 -0
  920. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_bg_download.py +0 -0
  921. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_binary.py +0 -0
  922. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_cli.py +0 -0
  923. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_diffusion.py +0 -0
  924. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_download.py +0 -0
  925. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_hardening.py +0 -0
  926. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_install.py +0 -0
  927. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_machines.py +0 -0
  928. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_model_picker.py +0 -0
  929. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_models_matrix.py +0 -0
  930. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_tui.py +0 -0
  931. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_vision.py +0 -0
  932. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_voice.py +0 -0
  933. {localcode-0.3.17 → localcode-0.3.18}/tests/test_comprehensive_whisper.py +0 -0
  934. {localcode-0.3.17 → localcode-0.3.18}/tests/test_config.py +0 -0
  935. {localcode-0.3.17 → localcode-0.3.18}/tests/test_context.py +0 -0
  936. {localcode-0.3.17 → localcode-0.3.18}/tests/test_context_pipeline_e2e.py +0 -0
  937. {localcode-0.3.17 → localcode-0.3.18}/tests/test_download.py +0 -0
  938. {localcode-0.3.17 → localcode-0.3.18}/tests/test_embeddings_retrieval.py +0 -0
  939. {localcode-0.3.17 → localcode-0.3.18}/tests/test_fresh_install.py +0 -0
  940. {localcode-0.3.17 → localcode-0.3.18}/tests/test_kv_cap.py +0 -0
  941. {localcode-0.3.17 → localcode-0.3.18}/tests/test_model_config.py +0 -0
  942. {localcode-0.3.17 → localcode-0.3.18}/tests/test_models_catalog.py +0 -0
  943. {localcode-0.3.17 → localcode-0.3.18}/tests/test_not_found_recovery.py +0 -0
  944. {localcode-0.3.17 → localcode-0.3.18}/tests/test_output.py +0 -0
  945. {localcode-0.3.17 → localcode-0.3.18}/tests/test_prompt_language_steering.py +0 -0
  946. {localcode-0.3.17 → localcode-0.3.18}/tests/test_real_models.py +0 -0
  947. {localcode-0.3.17 → localcode-0.3.18}/tests/test_run_json.py +0 -0
  948. {localcode-0.3.17 → localcode-0.3.18}/tests/test_runtime.py +0 -0
  949. {localcode-0.3.17 → localcode-0.3.18}/tests/test_subproc_env.py +0 -0
  950. {localcode-0.3.17 → localcode-0.3.18}/tests/test_syntax_check.py +0 -0
  951. {localcode-0.3.17 → localcode-0.3.18}/tests/test_thermal.py +0 -0
  952. {localcode-0.3.17 → localcode-0.3.18}/tests/test_toolkit.py +0 -0
  953. {localcode-0.3.17 → localcode-0.3.18}/tests/test_tui_input.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localcode
3
- Version: 0.3.17
3
+ Version: 0.3.18
4
4
  Summary: High-performance AI coding on consumer hardware.
5
5
  Author: LocalCode contributors
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "localcode"
7
- version = "0.3.17"
7
+ version = "0.3.18"
8
8
  description = "High-performance AI coding on consumer hardware."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  __all__ = ["__version__"]
2
2
 
3
- __version__ = "0.3.17"
3
+ __version__ = "0.3.18"
@@ -361,6 +361,31 @@ def run_agent_loop(
361
361
  if not messages or messages[-1].get("content") != user_text:
362
362
  messages.append({"role": "user", "content": user_text})
363
363
 
364
+ # Attach any images pasted in the TUI to THIS turn's user message.
365
+ # app.ask()/compose_messages is text-only, so the base64 images ride
366
+ # on the app object (stashed by the chat screen). We rebuild the
367
+ # matching user message here — where the loop owns the message list —
368
+ # via the composer's OpenAI-compatible image_url parts. Cleared after
369
+ # so images send exactly once, and only when the model can see them.
370
+ _pending_imgs = getattr(app, "_pending_images", None)
371
+ if _pending_imgs:
372
+ app._pending_images = []
373
+ _profile = getattr(app, "profile", None)
374
+ if _profile is not None and getattr(_profile, "supports_vision", False):
375
+ try:
376
+ from ..composer import _build_user_message
377
+ _provider = getattr(getattr(app, "config", None).runtime, "provider", "llama_cpp")
378
+ for _i in range(len(messages) - 1, -1, -1):
379
+ if (messages[_i].get("role") == "user"
380
+ and messages[_i].get("content") == user_text):
381
+ messages[_i] = _build_user_message(
382
+ user_text, list(_pending_imgs), _profile, _provider
383
+ )
384
+ break
385
+ except Exception:
386
+ # Never let image plumbing break a normal text turn.
387
+ pass
388
+
364
389
  full_response: list[str] = []
365
390
  start_time = time.time()
366
391
  tools_called: list[str] = []
@@ -1301,7 +1326,7 @@ def run_agent_loop(
1301
1326
  try:
1302
1327
  from ..tools.project_check import run_project_check
1303
1328
  out.print_info("Verifying — running the project's typecheck…")
1304
- _proj_errors = run_project_check(str(app.repo_root))
1329
+ _proj_errors = run_project_check(str(app.repo_root), ctx_tokens=_ctx_tokens_turn)
1305
1330
  except Exception:
1306
1331
  _proj_errors = None
1307
1332
  try:
@@ -45,6 +45,7 @@ llama_cpp_lookup_cache = false
45
45
  kv_cache_type_k = "q8_0"
46
46
  kv_cache_type_v = "turbo4"
47
47
  llama_cpp_binary = ""
48
+ vision_enabled = false
48
49
  temperature = 1.0
49
50
  max_context_chars = 200000
50
51
  request_timeout_seconds = 600
@@ -116,6 +117,11 @@ class RuntimeConfig:
116
117
  diffusion_cli_binary: str = "" # llama-diffusion-cli path (DiffusionGemma runner; built on demand)
117
118
  cohere_server_binary: str = "" # llama-server with cohere2moe (North-Mini-Code; built on demand from PR #24260)
118
119
  model_dir: str = "" # directory where GGUFs download to (blank → ~/.local/share/localcode/models)
120
+ # Vision toggle. Tracks whether the multimodal projector should be
121
+ # loaded (--mmproj) alongside the text decoder. Persisted so turning
122
+ # vision OFF just relaunches WITHOUT --mmproj (frees RAM) while KEEPING
123
+ # the projector file on disk — re-enabling is instant, no re-download.
124
+ vision_enabled: bool = False
119
125
  temperature: float = 1.0 # Unsloth's official Gemma 4 recommendation — prevents IQ3_S mode-collapse loops
120
126
  max_context_chars: int = 200000
121
127
  request_timeout_seconds: int = 600
@@ -241,6 +247,7 @@ def save_config(config: AppConfig) -> Path:
241
247
  f'diffusion_cli_binary = "{config.runtime.diffusion_cli_binary}"\n'
242
248
  f'cohere_server_binary = "{config.runtime.cohere_server_binary}"\n'
243
249
  f'model_dir = "{config.runtime.model_dir}"\n'
250
+ f"vision_enabled = {'true' if config.runtime.vision_enabled else 'false'}\n"
244
251
  f"temperature = {config.runtime.temperature}\n"
245
252
  f"max_context_chars = {config.runtime.max_context_chars}\n"
246
253
  f"request_timeout_seconds = {config.runtime.request_timeout_seconds}\n"
@@ -321,6 +328,7 @@ def load_config() -> AppConfig:
321
328
  diffusion_cli_binary=os.environ.get("LOCALCODE_DIFFUSION_CLI_BINARY", runtime_data.get("diffusion_cli_binary", "")),
322
329
  cohere_server_binary=os.environ.get("LOCALCODE_COHERE_SERVER_BINARY", runtime_data.get("cohere_server_binary", "")),
323
330
  model_dir=os.environ.get("LOCALCODE_MODEL_DIR", runtime_data.get("model_dir", "")),
331
+ vision_enabled=str(os.environ.get("LOCALCODE_VISION_ENABLED", runtime_data.get("vision_enabled", False))).lower() in {"1", "true", "yes", "on"},
324
332
  # `llama_cpp_spec_type` migration (2026-04-26): old configs
325
333
  # auto-saved "ngram-mod" or "ngram-simple" from a benchmark
326
334
  # preset. N-gram speculative decoding looks up matching
@@ -410,17 +410,21 @@ class LocalCodeRuntimeGateway(_DiffusionMixin):
410
410
  "--threads", str(threads),
411
411
  "--flash-attn", "on" if flash_attn_on else "off",
412
412
  ]
413
- # Multimodal projector — if the currently-selected catalog entry
414
- # has an mmproj sidecar AND the sidecar is on disk, pass --mmproj
415
- # so llama-server loads the vision encoder alongside the text
416
- # decoder. We don't auto-download here; the chat layer prompts
417
- # the user on first vision use (see voice.py / vision flow).
413
+ # Multimodal projector — pass --mmproj only when vision is
414
+ # ENABLED (config flag) AND the currently-selected catalog entry
415
+ # has an mmproj sidecar present on disk. Gating on the flag (not
416
+ # file presence alone) is what lets /vision OFF free the encoder
417
+ # RAM by relaunching without --mmproj while KEEPING the projector
418
+ # file on disk — so re-enabling never re-downloads. We don't
419
+ # auto-download here; the chat layer prompts the user on first
420
+ # vision use (see voice.py / vision flow).
418
421
  try:
419
- from .models_catalog import by_filename
420
- from pathlib import Path as _P
421
- choice = by_filename(_P(model_path).name)
422
- if choice is not None and choice.mmproj_path and choice.mmproj_path.is_file():
423
- cmd.extend(["--mmproj", str(choice.mmproj_path)])
422
+ if getattr(self.config, "vision_enabled", False):
423
+ from .models_catalog import by_filename
424
+ from pathlib import Path as _P
425
+ choice = by_filename(_P(model_path).name)
426
+ if choice is not None and choice.mmproj_path and choice.mmproj_path.is_file():
427
+ cmd.extend(["--mmproj", str(choice.mmproj_path)])
424
428
  except Exception:
425
429
  # Never block server launch on mmproj lookup
426
430
  pass
@@ -23,13 +23,22 @@ import shutil
23
23
  import subprocess
24
24
 
25
25
  _TIMEOUT = 60.0
26
- _MAX_ERR_CHARS = 2500
26
+ _MAX_ERR_CHARS = 2500 # floor; scaled up to the real context window at call time
27
27
  _ANSI = re.compile(r"\x1b\[[0-9;]*m")
28
28
 
29
29
 
30
- def run_project_check(repo_root: str) -> str | None:
30
+ def run_project_check(repo_root: str, ctx_tokens: int = 0) -> str | None:
31
31
  """Run the first available typecheck/lint for the project; return a bounded
32
- error summary, or None if clean / nothing to run."""
32
+ error summary, or None if clean / nothing to run.
33
+
34
+ `ctx_tokens` (the model's real context window) scales the error-text cap so a
35
+ big-window model can see more of a wall of tsc/build errors it has room for,
36
+ instead of a fixed 2500-char slice; floored at 2500 so small machines are
37
+ unchanged.
38
+ """
39
+ max_err_chars = _MAX_ERR_CHARS
40
+ if ctx_tokens:
41
+ max_err_chars = max(_MAX_ERR_CHARS, int(ctx_tokens * 3.5 * 0.04))
33
42
  env = {**os.environ, "NO_COLOR": "1", "FORCE_COLOR": "0"}
34
43
  for label, argv, cwd in _detect_commands(repo_root):
35
44
  try:
@@ -42,10 +51,12 @@ def run_project_check(repo_root: str) -> str | None:
42
51
  if r.returncode != 0:
43
52
  out = _ANSI.sub("", ((r.stdout or "") + "\n" + (r.stderr or "")).strip())
44
53
  # Keep only the most useful lines, capped, so we don't flood a
45
- # small model's context with a wall of output.
46
- lines = [l for l in out.splitlines() if l.strip()][:40]
54
+ # small model's context with a wall of output. The line cap also
55
+ # scales with the window (40 on a small machine → more on a big one).
56
+ max_lines = 40 if not ctx_tokens else max(40, int(ctx_tokens / 4000))
57
+ lines = [l for l in out.splitlines() if l.strip()][:max_lines]
47
58
  if lines:
48
- return f"[{label}] reported errors:\n" + "\n".join(lines)[:_MAX_ERR_CHARS]
59
+ return f"[{label}] reported errors:\n" + "\n".join(lines)[:max_err_chars]
49
60
  return None
50
61
 
51
62
 
@@ -0,0 +1,131 @@
1
+ """Read an image off the OS clipboard as PNG bytes.
2
+
3
+ Terminals never hand an application image data through a Cmd+V / Ctrl+V
4
+ paste — the OS only pastes text, so an image paste arrives as an EMPTY
5
+ paste event. When that happens the TUI calls :func:`read_clipboard_png`
6
+ to pull the image directly out of the OS clipboard and attach it.
7
+
8
+ macOS-only. On every other platform this returns ``None`` (no
9
+ dependency, no crash) so callers can attempt it unconditionally.
10
+
11
+ Implementation notes
12
+ --------------------
13
+ We shell out to ``osascript`` (always present on macOS, no new Python
14
+ dependency). Two cases are handled:
15
+
16
+ 1. Raw image data on the clipboard (e.g. a screenshot from Cmd+Shift+4
17
+ or "Copy Image" in a browser). We coerce the clipboard to
18
+ ``«class PNGf»`` and write the bytes to a temp file, then read them
19
+ back in Python.
20
+ 2. A copied image FILE (e.g. Finder "Copy" on a .png). The clipboard
21
+ exposes a file URL (``«class furl»``); if it points at a common
22
+ image extension we read that file directly.
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ import os
28
+ import subprocess
29
+ import sys
30
+ import tempfile
31
+ from pathlib import Path
32
+
33
+ _IMAGE_EXTS = {".png", ".jpg", ".jpeg", ".gif", ".webp"}
34
+ _PNG_MAGIC = b"\x89PNG\r\n\x1a\n"
35
+
36
+
37
+ def read_clipboard_png() -> bytes | None:
38
+ """Return image bytes from the OS clipboard, or ``None``.
39
+
40
+ Prefers a PNG coercion of raw clipboard image data; falls back to a
41
+ copied image file. Returns ``None`` on non-macOS platforms and
42
+ whenever the clipboard holds no image.
43
+ """
44
+ if sys.platform != "darwin":
45
+ return None
46
+ data = _read_png_via_osascript()
47
+ if data:
48
+ return data
49
+ return _read_image_from_file_url()
50
+
51
+
52
+ def _read_png_via_osascript() -> bytes | None:
53
+ """Coerce raw clipboard image data to PNG and read the bytes."""
54
+ fd, tmp_path = tempfile.mkstemp(suffix=".png")
55
+ os.close(fd)
56
+ try:
57
+ # AppleScript: try to grab the clipboard as PNG; bail with a
58
+ # sentinel if there's no image. Write to a temp file we can read
59
+ # back. `«class PNGf»` is the PNG pasteboard type; `«class furl»`
60
+ # (used below) is a file URL.
61
+ script = (
62
+ "try\n"
63
+ "\tset pngData to (the clipboard as «class PNGf»)\n"
64
+ "on error\n"
65
+ "\treturn \"NO_IMAGE\"\n"
66
+ "end try\n"
67
+ f"set outFile to (POSIX file \"{tmp_path}\")\n"
68
+ "try\n"
69
+ "\tset fh to open for access outFile with write permission\n"
70
+ "\tset eof fh to 0\n"
71
+ "\twrite pngData to fh\n"
72
+ "\tclose access fh\n"
73
+ "on error\n"
74
+ "\ttry\n"
75
+ "\t\tclose access fh\n"
76
+ "\tend try\n"
77
+ "\treturn \"WRITE_ERROR\"\n"
78
+ "end try\n"
79
+ "return \"OK\"\n"
80
+ )
81
+ result = subprocess.run(
82
+ ["osascript", "-e", script],
83
+ capture_output=True,
84
+ text=True,
85
+ timeout=15,
86
+ )
87
+ if (result.stdout or "").strip() != "OK":
88
+ return None
89
+ data = Path(tmp_path).read_bytes()
90
+ return data if _looks_like_png(data) else None
91
+ except Exception:
92
+ return None
93
+ finally:
94
+ try:
95
+ os.unlink(tmp_path)
96
+ except Exception:
97
+ pass
98
+
99
+
100
+ def _read_image_from_file_url() -> bytes | None:
101
+ """Read a copied image FILE (Finder copy) from its clipboard URL."""
102
+ script = (
103
+ "try\n"
104
+ "\treturn POSIX path of (the clipboard as «class furl»)\n"
105
+ "on error\n"
106
+ "\treturn \"\"\n"
107
+ "end try\n"
108
+ )
109
+ try:
110
+ result = subprocess.run(
111
+ ["osascript", "-e", script],
112
+ capture_output=True,
113
+ text=True,
114
+ timeout=10,
115
+ )
116
+ except Exception:
117
+ return None
118
+ path_str = (result.stdout or "").strip()
119
+ if not path_str:
120
+ return None
121
+ p = Path(path_str)
122
+ if p.suffix.lower() not in _IMAGE_EXTS or not p.is_file():
123
+ return None
124
+ try:
125
+ return p.read_bytes()
126
+ except Exception:
127
+ return None
128
+
129
+
130
+ def _looks_like_png(data: bytes) -> bool:
131
+ return bool(data) and data[:8] == _PNG_MAGIC
@@ -570,6 +570,16 @@ class _ChatTextArea(TextArea):
570
570
  # row in a live terminal.
571
571
  text = getattr(event, "text", "") or ""
572
572
  if not text:
573
+ # A terminal pastes ONLY text; an image copied to the OS
574
+ # clipboard arrives here as an EMPTY paste. This is exactly
575
+ # where we hook image capture: read the clipboard for a PNG
576
+ # and, if present, attach it to the next message.
577
+ try:
578
+ handler = getattr(self.screen, "_attach_clipboard_image", None)
579
+ if callable(handler) and handler():
580
+ event.stop()
581
+ except Exception:
582
+ pass
573
583
  return
574
584
  joined = text.replace("\r\n", "\n").replace("\r", "\n")
575
585
  prevent_default = getattr(event, "prevent_default", None)
@@ -984,6 +994,9 @@ class ChatScreen(Screen):
984
994
  # App.notify exactly once per finished/failed download.
985
995
  self._dl_notified: set[str] = set()
986
996
  self._pending_messages: list[str] = []
997
+ # Base64-encoded images captured from an empty (image) clipboard
998
+ # paste, attached to the FIRST user message of the next turn.
999
+ self._pending_images: list[str] = []
987
1000
  self._stream_buf: list[str] = []
988
1001
  self._last_assistant_text: str = ""
989
1002
  self._turn_start: float = 0
@@ -2230,7 +2243,9 @@ class ChatScreen(Screen):
2230
2243
  # Resolve the catalog entry behind the configured model path.
2231
2244
  choice = current_choice(config)
2232
2245
  model_disp = choice.name if choice is not None else _P(config.runtime.model or "—").name
2233
- mmproj_on = "yes" if (choice and choice.mmproj_path and choice.mmproj_path.is_file()) else "no"
2246
+ _vision_on = bool(getattr(config.runtime, "vision_enabled", False))
2247
+ _mmproj_cached = bool(choice and choice.mmproj_path and choice.mmproj_path.is_file())
2248
+ mmproj_on = "yes" if (_vision_on and _mmproj_cached) else ("off (cached)" if _mmproj_cached else "no")
2234
2249
 
2235
2250
  # Voice state (lazy)
2236
2251
  vs = getattr(self.tui, "voice_state", None)
@@ -2679,6 +2694,16 @@ class ChatScreen(Screen):
2679
2694
  "Type [bold]/vision[/] again to retry — partial download is preserved."
2680
2695
  )
2681
2696
  return
2697
+ # Persist the enabled flag now that the projector is on disk, so
2698
+ # the runtime relaunches WITH --mmproj and future toggles never
2699
+ # re-download (the file stays put; OFF just drops --mmproj).
2700
+ try:
2701
+ cfg = self.tui.config
2702
+ cfg.runtime.vision_enabled = True
2703
+ from ...config import save_config
2704
+ save_config(cfg)
2705
+ except Exception:
2706
+ pass
2682
2707
  log.append_info("Vision projector ready — restarting server to activate...")
2683
2708
  self._restart_for_vision_change(reason="Vision ON")
2684
2709
 
@@ -2752,6 +2777,69 @@ class ChatScreen(Screen):
2752
2777
 
2753
2778
  self.run_worker(_worker, thread=True, exclusive=False)
2754
2779
 
2780
+ def _attach_clipboard_image(self) -> bool:
2781
+ """Empty paste → maybe an image sits on the OS clipboard.
2782
+
2783
+ Reads it as PNG, base64-encodes it into `_pending_images` (sent
2784
+ with the next message), shows a visible indicator, and auto-enables
2785
+ vision when the model supports it. Returns True if an image was
2786
+ attached (so the caller can `event.stop()` and avoid a terminal
2787
+ beep). macOS-only under the hood; a no-op elsewhere.
2788
+ """
2789
+ try:
2790
+ from ..clipboard_image import read_clipboard_png
2791
+ except Exception:
2792
+ return False
2793
+ try:
2794
+ png = read_clipboard_png()
2795
+ except Exception:
2796
+ png = None
2797
+ if not png:
2798
+ return False
2799
+ import base64
2800
+ b64 = base64.b64encode(png).decode("ascii")
2801
+ if getattr(self, "_pending_images", None) is None:
2802
+ self._pending_images = []
2803
+ self._pending_images.append(b64)
2804
+ n = len(self._pending_images)
2805
+ try:
2806
+ log = self.query_one("#chat-log", ChatLog)
2807
+ log.append_info(
2808
+ f"📎 image attached ({n}) — it will be sent with your next message"
2809
+ )
2810
+ except Exception:
2811
+ pass
2812
+ try:
2813
+ self._maybe_enable_vision_for_image()
2814
+ except Exception:
2815
+ pass
2816
+ return True
2817
+
2818
+ def _maybe_enable_vision_for_image(self) -> None:
2819
+ """After attaching a pasted image, make sure the model can see it.
2820
+
2821
+ If the current model supports vision but vision is OFF, enable it
2822
+ (which only downloads the projector when genuinely missing). If the
2823
+ model can't do vision at all, tell the user to switch models.
2824
+ """
2825
+ try:
2826
+ from ...models_catalog import current as current_choice
2827
+ config = self.tui.config
2828
+ choice = current_choice(config)
2829
+ log = self.query_one("#chat-log", ChatLog)
2830
+ except Exception:
2831
+ return
2832
+ if choice is None or not getattr(choice, "supports_vision", False):
2833
+ log.append_info(
2834
+ "Note: the current model can't see images — switch to a vision "
2835
+ "model with /model to use this attachment."
2836
+ )
2837
+ return
2838
+ if getattr(config.runtime, "vision_enabled", False):
2839
+ return # already on
2840
+ log.append_info("Enabling vision so the model can see this image…")
2841
+ self._handle_vision_command("/vision")
2842
+
2755
2843
  def _handle_vision_command(self, text: str) -> None:
2756
2844
  """`/vision` toggles vision on/off for the current model.
2757
2845
 
@@ -2781,25 +2869,32 @@ class ChatScreen(Screen):
2781
2869
  except Exception:
2782
2870
  pass
2783
2871
  mmproj = choice.mmproj_path
2784
- has = bool(mmproj and mmproj.is_file())
2872
+ # `file_on_disk` = projector already downloaded; `enabled` = the
2873
+ # persistent config flag that decides whether the server loads it.
2874
+ # ON/OFF is driven by the FLAG, not file presence — turning OFF
2875
+ # keeps the file so re-enabling never re-downloads.
2876
+ file_on_disk = bool(mmproj and mmproj.is_file())
2877
+ enabled = bool(getattr(config.runtime, "vision_enabled", False))
2785
2878
 
2786
2879
  parts = text.strip().split()
2787
2880
  sub = parts[1] if len(parts) >= 2 else None
2788
2881
 
2789
- # ── bare /vision → toggle ─────────────────────────────────
2790
- if sub is None:
2791
- if has:
2792
- # Currently "on" → remove projector + restart server so
2793
- # it relaunches without --mmproj. Frees RAM immediately.
2794
- try:
2795
- mmproj.unlink()
2796
- except Exception as e:
2797
- log.append_error(f"Couldn't remove projector: {e}")
2798
- return
2799
- log.append_info("Vision OFF restarting server to release projector memory…")
2800
- self._restart_for_vision_change(reason="Vision OFF")
2801
- return
2802
- # Currently "off" → download + activate (async — keeps UI live)
2882
+ def _set_flag(value: bool) -> None:
2883
+ config.runtime.vision_enabled = value
2884
+ try:
2885
+ from ...config import save_config
2886
+ save_config(config)
2887
+ except Exception:
2888
+ pass
2889
+
2890
+ def _turn_on_with_existing_file() -> None:
2891
+ # Projector already on disk → just flip the flag + restart so
2892
+ # the runtime relaunches WITH --mmproj. No download.
2893
+ _set_flag(True)
2894
+ log.append_info("Vision ON — restarting server to load the projector…")
2895
+ self._restart_for_vision_change(reason="Vision ON")
2896
+
2897
+ def _download_then_enable() -> None:
2803
2898
  if getattr(self, "_vision_download_in_flight", False):
2804
2899
  log.append_info("Vision projector is already downloading — please wait.")
2805
2900
  return
@@ -2827,13 +2922,32 @@ class ChatScreen(Screen):
2827
2922
 
2828
2923
  import threading as _t
2829
2924
  _t.Thread(target=_worker, daemon=True).start()
2925
+
2926
+ # ── bare /vision → toggle ─────────────────────────────────
2927
+ if sub is None:
2928
+ if enabled:
2929
+ # Currently ON → flip flag off + restart so the server
2930
+ # relaunches WITHOUT --mmproj. Frees the encoder RAM but
2931
+ # KEEPS the projector file on disk (instant re-enable).
2932
+ _set_flag(False)
2933
+ log.append_info("Vision OFF — restarting server to release projector memory…")
2934
+ self._restart_for_vision_change(reason="Vision OFF")
2935
+ return
2936
+ # Currently OFF → enable. If the projector is already on disk,
2937
+ # just flip + restart; only download when genuinely missing.
2938
+ if file_on_disk:
2939
+ _turn_on_with_existing_file()
2940
+ else:
2941
+ _download_then_enable()
2830
2942
  return
2831
2943
 
2832
2944
  # ── power-user subcommands ───────────────────────────────
2833
2945
  if sub == "status":
2834
- if has:
2946
+ if enabled and file_on_disk:
2835
2947
  mb = mmproj.stat().st_size // (1024 * 1024)
2836
2948
  log.append_info(f"Vision: on · {mmproj.name} · {mb} MB")
2949
+ elif file_on_disk:
2950
+ log.append_info("Vision: off (projector cached on disk) · type /vision to enable instantly")
2837
2951
  else:
2838
2952
  log.append_info(
2839
2953
  f"Vision: off · type /vision to enable "
@@ -2842,15 +2956,20 @@ class ChatScreen(Screen):
2842
2956
  return
2843
2957
 
2844
2958
  if sub in ("on", "download", "setup"):
2845
- if has:
2959
+ if enabled:
2846
2960
  log.append_info("Vision already on.")
2847
2961
  return
2848
- self._handle_vision_command("/vision")
2962
+ if file_on_disk:
2963
+ _turn_on_with_existing_file()
2964
+ else:
2965
+ _download_then_enable()
2849
2966
  return
2850
2967
 
2851
2968
  if sub == "off":
2852
- if has:
2853
- self._handle_vision_command("/vision")
2969
+ if enabled:
2970
+ _set_flag(False)
2971
+ log.append_info("Vision OFF — restarting server to release projector memory…")
2972
+ self._restart_for_vision_change(reason="Vision OFF")
2854
2973
  else:
2855
2974
  log.append_info("Vision already off.")
2856
2975
  return
@@ -3585,6 +3704,18 @@ class ChatScreen(Screen):
3585
3704
  log.reset_steps()
3586
3705
  self._show_thinking()
3587
3706
  self._update_status()
3707
+ # Hand any images pasted from the clipboard to the engine so the
3708
+ # agent loop can attach them to THIS turn's first user message.
3709
+ # app.ask() composes text-only messages, so the images ride on the
3710
+ # engine object (which the loop already receives) rather than a
3711
+ # new param. Cleared after handoff so they send exactly once.
3712
+ _imgs = getattr(self, "_pending_images", None)
3713
+ if _imgs:
3714
+ try:
3715
+ self.tui.engine._pending_images = list(_imgs)
3716
+ except Exception:
3717
+ pass
3718
+ self._pending_images = []
3588
3719
  self.run_agent_turn(text)
3589
3720
 
3590
3721
  @work(exclusive=True, thread=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localcode
3
- Version: 0.3.17
3
+ Version: 0.3.18
4
4
  Summary: High-performance AI coding on consumer hardware.
5
5
  Author: LocalCode contributors
6
6
  License-Expression: Apache-2.0
@@ -893,6 +893,7 @@ src/localcode/tools/write_file.py
893
893
  src/localcode/tui/__init__.py
894
894
  src/localcode/tui/app.py
895
895
  src/localcode/tui/bridge.py
896
+ src/localcode/tui/clipboard_image.py
896
897
  src/localcode/tui/screens/__init__.py
897
898
  src/localcode/tui/screens/chat.py
898
899
  src/localcode/tui/screens/mode_picker.py
@@ -911,6 +912,7 @@ tests/test_architecture.py
911
912
  tests/test_bootstrap.py
912
913
  tests/test_checkpoint.py
913
914
  tests/test_churn_detection.py
915
+ tests/test_clipboard_image.py
914
916
  tests/test_compaction.py
915
917
  tests/test_comprehensive_agent.py
916
918
  tests/test_comprehensive_bg_download.py