From 0f951691ca16a71f6fafb553a1de04b1f1c1fbfc Mon Sep 17 00:00:00 2001 From: leehack <1233094+leehack@users.noreply.github.com> Date: Thu, 26 Mar 2026 14:26:37 +0000 Subject: [PATCH] chore(native): sync native release b8533 --- hook/build.dart | 2 +- lib/src/backends/llama_cpp/bindings.dart | 180 ++++++++++++----------- 2 files changed, 95 insertions(+), 87 deletions(-) diff --git a/hook/build.dart b/hook/build.dart index 6d9fc93..4227cc5 100644 --- a/hook/build.dart +++ b/hook/build.dart @@ -9,7 +9,7 @@ import 'package:path/path.dart' as path; import 'package:llamadart/src/hook/native_bundle_config.dart'; -const _llamaCppTag = 'b8480'; +const _llamaCppTag = 'b8533'; const _nativeRepoSlug = 'leehack/llamadart-native'; const _baseUrl = 'https://github.com/$_nativeRepoSlug/releases/download/$_llamaCppTag'; diff --git a/lib/src/backends/llama_cpp/bindings.dart b/lib/src/backends/llama_cpp/bindings.dart index bae4236..2ea3033 100644 --- a/lib/src/backends/llama_cpp/bindings.dart +++ b/lib/src/backends/llama_cpp/bindings.dart @@ -92,6 +92,14 @@ external ffi.Pointer llama_model_load_from_file( llama_model_params params, ); +@ffi.Native< + ffi.Pointer Function(ffi.Pointer, llama_model_params) +>() +external ffi.Pointer llama_model_load_from_file_ptr( + ffi.Pointer file, + llama_model_params params, +); + @ffi.Native< ffi.Pointer Function( ffi.Pointer>, @@ -8646,6 +8654,92 @@ typedef llama_model_set_tensor_data_t = final class gguf_context extends ffi.Opaque {} +final class _IO_marker extends ffi.Opaque {} + +typedef __off_t = ffi.Long; +typedef Dart__off_t = int; +typedef _IO_lock_t = ffi.Void; +typedef Dart_IO_lock_t = void; +typedef __off64_t = ffi.Long; +typedef Dart__off64_t = int; + +final class _IO_codecvt extends ffi.Opaque {} + +final class _IO_wide_data extends ffi.Opaque {} + +final class _IO_FILE extends ffi.Struct { + @ffi.Int() + external int _flags; + + external ffi.Pointer _IO_read_ptr; + + external ffi.Pointer _IO_read_end; + + external ffi.Pointer _IO_read_base; + + external ffi.Pointer _IO_write_base; + + external ffi.Pointer _IO_write_ptr; + + external ffi.Pointer _IO_write_end; + + external ffi.Pointer _IO_buf_base; + + external ffi.Pointer _IO_buf_end; + + external ffi.Pointer _IO_save_base; + + external ffi.Pointer _IO_backup_base; + + external ffi.Pointer _IO_save_end; + + external ffi.Pointer<_IO_marker> _markers; + + external ffi.Pointer<_IO_FILE> _chain; + + @ffi.Int() + external int _fileno; + + @ffi.Int() + external int _flags2; + + @__off_t() + external int _old_offset; + + @ffi.UnsignedShort() + external int _cur_column; + + @ffi.SignedChar() + external int _vtable_offset; + + @ffi.Array.multi([1]) + external ffi.Array _shortbuf; + + external ffi.Pointer<_IO_lock_t> _lock; + + @__off64_t() + external int _offset; + + external ffi.Pointer<_IO_codecvt> _codecvt; + + external ffi.Pointer<_IO_wide_data> _wide_data; + + external ffi.Pointer<_IO_FILE> _freeres_list; + + external ffi.Pointer _freeres_buf; + + @ffi.Size() + external int __pad5; + + @ffi.Int() + external int _mode; + + @ffi.Array.multi([20]) + external ffi.Array _unused2; +} + +typedef FILE = _IO_FILE; + enum llama_params_fit_status { LLAMA_PARAMS_FIT_STATUS_SUCCESS(0), LLAMA_PARAMS_FIT_STATUS_FAILURE(1), @@ -9110,92 +9204,6 @@ final class ggml_init_params extends ffi.Struct { typedef ggml_guid_t = ffi.Pointer>; -final class _IO_marker extends ffi.Opaque {} - -typedef __off_t = ffi.Long; -typedef Dart__off_t = int; -typedef _IO_lock_t = ffi.Void; -typedef Dart_IO_lock_t = void; -typedef __off64_t = ffi.Long; -typedef Dart__off64_t = int; - -final class _IO_codecvt extends ffi.Opaque {} - -final class _IO_wide_data extends ffi.Opaque {} - -final class _IO_FILE extends ffi.Struct { - @ffi.Int() - external int _flags; - - external ffi.Pointer _IO_read_ptr; - - external ffi.Pointer _IO_read_end; - - external ffi.Pointer _IO_read_base; - - external ffi.Pointer _IO_write_base; - - external ffi.Pointer _IO_write_ptr; - - external ffi.Pointer _IO_write_end; - - external ffi.Pointer _IO_buf_base; - - external ffi.Pointer _IO_buf_end; - - external ffi.Pointer _IO_save_base; - - external ffi.Pointer _IO_backup_base; - - external ffi.Pointer _IO_save_end; - - external ffi.Pointer<_IO_marker> _markers; - - external ffi.Pointer<_IO_FILE> _chain; - - @ffi.Int() - external int _fileno; - - @ffi.Int() - external int _flags2; - - @__off_t() - external int _old_offset; - - @ffi.UnsignedShort() - external int _cur_column; - - @ffi.SignedChar() - external int _vtable_offset; - - @ffi.Array.multi([1]) - external ffi.Array _shortbuf; - - external ffi.Pointer<_IO_lock_t> _lock; - - @__off64_t() - external int _offset; - - external ffi.Pointer<_IO_codecvt> _codecvt; - - external ffi.Pointer<_IO_wide_data> _wide_data; - - external ffi.Pointer<_IO_FILE> _freeres_list; - - external ffi.Pointer _freeres_buf; - - @ffi.Size() - external int __pad5; - - @ffi.Int() - external int _mode; - - @ffi.Array.multi([20]) - external ffi.Array _unused2; -} - -typedef FILE = _IO_FILE; - enum ggml_op_pool { GGML_OP_POOL_MAX(0), GGML_OP_POOL_AVG(1),