AiGatewayService 使用了 @Optional() 导致不报错但始终为 null, sendMessage 永远走 fallbackReply。现在导入 AiModule 正确注入。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Verify UniFFI C ABI symbols exist in the static library.
|
|
# Run after build-ios.sh or independently to diagnose FFI issues.
|
|
set -e
|
|
|
|
LIB="${1:-bindings/ios/simulator/libzx_document_ffi.a}"
|
|
|
|
if [ ! -f "$LIB" ]; then
|
|
echo "ERROR: Library not found: $LIB"
|
|
exit 1
|
|
fi
|
|
|
|
echo "==> Checking UniFFI C ABI symbols in $LIB..."
|
|
|
|
PASS=0
|
|
FAIL=0
|
|
|
|
check() {
|
|
if nm "$LIB" 2>/dev/null | grep -q "_$1"; then
|
|
PASS=$((PASS + 1))
|
|
else
|
|
echo " MISSING: _$1"
|
|
FAIL=$((FAIL + 1))
|
|
fi
|
|
}
|
|
|
|
# API dispatch functions
|
|
check uniffi_zx_document_ffi_fn_func_detect_material_type
|
|
check uniffi_zx_document_ffi_fn_func_parse_markdown
|
|
check uniffi_zx_document_ffi_fn_func_parse_text
|
|
check uniffi_zx_document_ffi_fn_func_read_image_meta
|
|
check uniffi_zx_document_ffi_fn_func_read_text_stats
|
|
check uniffi_zx_document_ffi_fn_func_search_markdown_blocks
|
|
check uniffi_zx_document_ffi_fn_func_search_text_content
|
|
check uniffi_zx_document_ffi_fn_func_create_note_anchor
|
|
check uniffi_zx_document_ffi_fn_func_push_reading_event
|
|
check uniffi_zx_document_ffi_fn_func_update_reading_position
|
|
check uniffi_zx_document_ffi_fn_func_export_pending_events
|
|
check uniffi_zx_document_ffi_fn_func_clear_exported_events
|
|
|
|
# Buffer management
|
|
check ffi_zx_document_ffi_rustbuffer_alloc
|
|
check ffi_zx_document_ffi_rustbuffer_from_bytes
|
|
check ffi_zx_document_ffi_rustbuffer_free
|
|
check ffi_zx_document_ffi_rustbuffer_reserve
|
|
check ffi_zx_document_ffi_uniffi_contract_version
|
|
|
|
echo ""
|
|
echo "Results: $PASS passed, $FAIL missing"
|
|
|
|
if [ "$FAIL" -gt 0 ]; then
|
|
echo "ERROR: $FAIL required symbol(s) missing."
|
|
exit 1
|
|
fi
|
|
|
|
echo "All symbols OK!"
|