The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SQLiteVecKit, reference 0.1.1 (07c446), with Swift 6.4 for macOS (SPM) on 26 Sep 2026 06:24:22 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/carlosypunto/SQLiteVecKit.git
Reference: 0.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/carlosypunto/SQLiteVecKit
 * tag               0.1.1      -> FETCH_HEAD
HEAD is now at 07c4466 docs: expand inline DocC across the public API for 0.1.1
Cloned https://github.com/carlosypunto/SQLiteVecKit.git
Revision (git rev-parse @):
07c446657c25a521ab88475fa1bb899b4d19f5eb
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/carlosypunto/SQLiteVecKit.git at 0.1.1
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/carlosypunto/SQLiteVecKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[53 / 109]
[56 / 110] CSQLiteVec
[60 / 116]
[67 / 124] CSQLiteVec
[70 / 124]
[72 / 124] CSQLiteVec
[73 / 126] SQLiteVecStore
[83 / 171]
[90 / 171]
[92 / 171]
[94 / 171]
[98 / 171]
[100 / 171]
[103 / 171]
[106 / 171]
[108 / 171]
[109 / 171]
[120 / 171] SQLiteVecStore
[121 / 171] SQLiteVecStore
[141 / 174]
[142 / 175]
[146 / 182] IngestingChunks-product
[151 / 184] OwnTables-product
[154 / 184] FilteringWithSQL-product
[156 / 186] FilteringWithSQL-product
[157 / 186] EmbeddingSpaceManifest-product
[170 / 187] EmbeddingSpaceManifest-product
[172 / 187] IngestingChunks-product
[183 / 189] CreatingAStore-product
[187 / 189] CreatingAStore-product
Build complete! (10.03 sec)
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/SQLiteVecShim.c:11:
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:627:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  627 |   int sz = element_size * init_capacity;
      |       ~~   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1066:60: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 1066 | int _cmp(const void *a, const void *b) { return (*(i64 *)a - *(i64 *)b); }
      |                                          ~~~~~~  ~~~~~~~~~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1109:51: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1109 |   sqlite3_result_blob(context, vector, dimensions * sizeof(f32),
      |   ~~~~~~~~~~~~~~~~~~~                  ~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1127:51: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1127 |   sqlite3_result_blob(context, vector, dimensions / CHAR_BIT, SQLITE_TRANSIENT);
      |   ~~~~~~~~~~~~~~~~~~~                  ~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1144:40: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1144 |   sqlite3_result_blob(context, vector, dimensions, SQLITE_TRANSIENT);
      |   ~~~~~~~~~~~~~~~~~~~                  ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1282:33: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 1282 |     sqlite3_result_int(context, result);
      |     ~~~~~~~~~~~~~~~~~~          ^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1394:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1394 |   int sz = dimensions / CHAR_BIT;
      |       ~~   ~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1448:23: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1448 |   int sz = dimensions * sizeof(i8);
      |       ~~   ~~~~~~~~~~~^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1473:48: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1473 |   sqlite3_result_blob(context, out, dimensions * sizeof(i8), sqlite3_free);
      |   ~~~~~~~~~~~~~~~~~~~               ~~~~~~~~~~~^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1503:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1503 |     f32 *out = sqlite3_malloc(outSize);
      |                ~~~~~~~~~~~~~~ ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1512:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1512 |     sqlite3_result_blob(context, out, outSize, sqlite3_free);
      |     ~~~~~~~~~~~~~~~~~~~               ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1518:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1518 |     i8 *out = sqlite3_malloc(outSize);
      |               ~~~~~~~~~~~~~~ ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1527:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1527 |     sqlite3_result_blob(context, out, outSize, sqlite3_free);
      |     ~~~~~~~~~~~~~~~~~~~               ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1561:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1561 |     f32 *out = sqlite3_malloc(outSize);
      |                ~~~~~~~~~~~~~~ ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1570:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1570 |     sqlite3_result_blob(context, out, outSize, sqlite3_free);
      |     ~~~~~~~~~~~~~~~~~~~               ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1576:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1576 |     i8 *out = sqlite3_malloc(outSize);
      |               ~~~~~~~~~~~~~~ ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1585:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1585 |     sqlite3_result_blob(context, out, outSize, sqlite3_free);
      |     ~~~~~~~~~~~~~~~~~~~               ^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1654:21: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1654 |     int outSize = n * sizeof(f32);
      |         ~~~~~~~   ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1669:21: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1669 |     int outSize = n * sizeof(i8);
      |         ~~~~~~~   ~~^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1692:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1692 |     int outSize = n / CHAR_BIT;
      |         ~~~~~~~   ~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1785:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1785 |   int outSize = dimensions * sizeof(f32);
      |       ~~~~~~~   ~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1805:48: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 1805 |   sqlite3_result_blob(context, out, dimensions * sizeof(f32), sqlite3_free);
      |   ~~~~~~~~~~~~~~~~~~~               ~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1960:25: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1960 |   keyLength = token.end - token.start;
      |             ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:1974:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1974 |   valueLength = token.end - token.start;
      |               ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2017:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2017 |   column_name_length = token.end - token.start;
      |                      ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2025:55: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2025 |   if (sqlite3_strnicmp(token.start, "text", token.end - token.start) == 0) {
      |       ~~~~~~~~~~~~~~~~                      ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2030:41: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2029 |              sqlite3_strnicmp(token.start, "integer",
      |              ~~~~~~~~~~~~~~~~
 2030 |                               token.end - token.start) == 0) {
      |                               ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2027:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2027 |   } else if (sqlite3_strnicmp(token.start, "int", token.end - token.start) ==
      |              ~~~~~~~~~~~~~~~~                     ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2042:60: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2042 |   if (sqlite3_strnicmp(token.start, "partition", token.end - token.start) != 0) {
      |       ~~~~~~~~~~~~~~~~                           ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2052:54: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2052 |   if (sqlite3_strnicmp(token.start, "key", token.end - token.start) != 0) {
      |       ~~~~~~~~~~~~~~~~                     ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2100:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2100 |   column_name_length = token.end - token.start;
      |                      ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2108:55: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2108 |   if (sqlite3_strnicmp(token.start, "text", token.end - token.start) == 0) {
      |       ~~~~~~~~~~~~~~~~                      ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2113:41: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2112 |              sqlite3_strnicmp(token.start, "integer",
      |              ~~~~~~~~~~~~~~~~
 2113 |                               token.end - token.start) == 0) {
      |                               ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2110:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2110 |   } else if (sqlite3_strnicmp(token.start, "int", token.end - token.start) ==
      |              ~~~~~~~~~~~~~~~~                     ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2118:41: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2117 |              sqlite3_strnicmp(token.start, "double",
      |              ~~~~~~~~~~~~~~~~
 2118 |                               token.end - token.start) == 0) {
      |                               ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2115:63: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2115 |   } else if (sqlite3_strnicmp(token.start, "float", token.end - token.start) ==
      |              ~~~~~~~~~~~~~~~~                       ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2120:62: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2120 |   } else if (sqlite3_strnicmp(token.start, "blob", token.end - token.start) ==0) {
      |              ~~~~~~~~~~~~~~~~                      ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2172:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2172 |   column_name_length = token.end - token.start;
      |                      ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2181:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2181 |   int n = token.end - token.start;
      |       ~   ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2232:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2232 |   column_name_length = token.end - token.start;
      |                      ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2240:55: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2240 |   if (sqlite3_strnicmp(token.start, "text", token.end - token.start) == 0) {
      |       ~~~~~~~~~~~~~~~~                      ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2245:41: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2244 |              sqlite3_strnicmp(token.start, "integer",
      |              ~~~~~~~~~~~~~~~~
 2245 |                               token.end - token.start) == 0) {
      |                               ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2242:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2242 |   } else if (sqlite3_strnicmp(token.start, "int", token.end - token.start) ==
      |              ~~~~~~~~~~~~~~~~                     ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2257:58: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2257 |   if (sqlite3_strnicmp(token.start, "primary", token.end - token.start) != 0) {
      |       ~~~~~~~~~~~~~~~~                         ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2267:54: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2267 |   if (sqlite3_strnicmp(token.start, "key", token.end - token.start) != 0) {
      |       ~~~~~~~~~~~~~~~~                     ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2362:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2362 |   nameLength = token.end - token.start;
      |              ~ ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2420:31: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2420 |     int keyLength = token.end - token.start;
      |         ~~~~~~~~~   ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2441:35: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 2441 |       int valueLength = token.end - token.start;
      |           ~~~~~~~~~~~   ~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2792:38: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2792 |   npy_scanner_init(&scanner, header, headerLength);
      |   ~~~~~~~~~~~~~~~~                   ^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:2987:7: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 2987 |   n = fread(&header, sizeof(unsigned char), 10, file);
      |     ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3006:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 3006 |   i32 dataSize = fileSize - totalHeaderLength;
      |       ~~~~~~~~   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3017:7: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 3017 |   n = fread(headerX, sizeof(char), headerLength, file);
      |     ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3037:19: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 3036 |   i32 expectedDataSize =
      |       ~~~~~~~~~~~~~~~~
 3037 |       numElements * vector_byte_size(element_type, numDimensions);
      |       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3048:45: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 3048 |   pCur->chunksBuffer = sqlite3_malloc(pCur->chunksBufferSize);
      |                        ~~~~~~~~~~~~~~ ~~~~~~^~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3109:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 3108 |   i32 expectedDataSize =
      |       ~~~~~~~~~~~~~~~~
 3109 |       (*numElements * vector_byte_size(*element_type, *numDimensions));
      |        ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3327:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 3323 |       sqlite3_result_blob(
      |       ~~~~~~~~~~~~~~~~~~~
 3324 |           context,
 3325 |           &((unsigned char *)
 3326 |                 pCur->vector)[pCur->iRowid * pCur->nDimensions * sizeof(f32)],
 3327 |           pCur->nDimensions * sizeof(f32), SQLITE_TRANSIENT);
      |           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3356:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 3351 |       sqlite3_result_blob(
      |       ~~~~~~~~~~~~~~~~~~~
 3352 |           context,
 3353 |           &((unsigned char *)
 3354 |                 pCur->chunksBuffer)[pCur->currentChunkIndex *
 3355 |                                     pCur->nDimensions * sizeof(f32)],
 3356 |           pCur->nDimensions * sizeof(f32), SQLITE_TRANSIENT);
      |           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3980:29: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 3980 |   blobOffset = chunk_offset * size;
      |              ~ ~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3982:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 3982 |   buf = sqlite3_malloc(size);
      |         ~~~~~~~~~~~~~~ ^~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:3988:43: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 3988 |   rc = sqlite3_blob_read(vectorBlob, buf, size, blobOffset);
      |        ~~~~~~~~~~~~~~~~~                  ^~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4002:22: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 4002 |     *outVectorSize = size;
      |                    ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4130:77: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 4130 |       rc = sqlite3_blob_read(blobValue, &block, sizeof(block), chunk_offset / CHAR_BIT);
      |            ~~~~~~~~~~~~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4140:77: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 4140 |       rc = sqlite3_blob_read(blobValue, &value, sizeof(value), chunk_offset * sizeof(i64));
      |            ~~~~~~~~~~~~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4149:77: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 4149 |       rc = sqlite3_blob_read(blobValue, &value, sizeof(value), chunk_offset * sizeof(double));
      |            ~~~~~~~~~~~~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4158:100: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 4158 |       rc = sqlite3_blob_read(blobValue, &view, VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH, chunk_offset * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH);
      |            ~~~~~~~~~~~~~~~~~                                                          ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4758:44: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 4758 |     rc = vec0_parse_vector_column(argv[i], strlen(argv[i]), &vecColumn);
      |          ~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4792:55: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 4792 |     rc = vec0_parse_partition_key_definition(argv[i], strlen(argv[i]), &cName,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4820:53: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 4820 |     rc = vec0_parse_primary_key_definition(argv[i], strlen(argv[i]), &cName,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4838:58: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 4838 |     rc = vec0_parse_auxiliary_column_definition(argv[i], strlen(argv[i]), &cName,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4866:57: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 4866 |     rc = vec0_parse_metadata_column_definition(argv[i], strlen(argv[i]), &cName,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:4898:43: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 4898 |     rc = vec0_parse_table_option(argv[i], strlen(argv[i]), &key, &keyLength,
      |          ~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:5833:34: warning: implicit conversion loses integer precision: 'sqlite3_uint64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 5833 |     pIdxInfo->idxNum = pIdxInfo->colUsed;
      |                      ~ ~~~~~~~~~~^~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6040:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 6040 |   int idxStrLength = strlen(idxStr);
      |       ~~~~~~~~~~~~   ^~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6552:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 6552 |               metadataInIdx = i;
      |                             ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6612:83: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 6612 |       rc = vec0_metadata_filter_text(p, value, buffer, size, op, b, metadata_idx, chunk_rowid, aMetadataIn, argv_idx);
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~                                              ^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6657:34: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 6657 |   topk_rowids = sqlite3_malloc(k * sizeof(i64));
      |                 ~~~~~~~~~~~~~~ ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6664:37: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 6664 |   topk_distances = sqlite3_malloc(k * sizeof(f32));
      |                    ~~~~~~~~~~~~~~ ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6671:38: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 6671 |   tmp_topk_rowids = sqlite3_malloc(k * sizeof(i64));
      |                     ~~~~~~~~~~~~~~ ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6678:41: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 6678 |   tmp_topk_distances = sqlite3_malloc(k * sizeof(f32));
      |                        ~~~~~~~~~~~~~~ ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6687:32: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 6687 |   baseVectors = sqlite3_malloc(baseVectorsSize);
      |                 ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6711:38: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 6711 |   chunk_topk_idxs = sqlite3_malloc(k * sizeof(i32));
      |                     ~~~~~~~~~~~~~~ ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6732:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 6732 |   int idxStrLength = strlen(idxStr);
      |       ~~~~~~~~~~~~   ^~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6812:54: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 6812 |     rc = sqlite3_blob_read(blobVectors, baseVectors, currentBaseVectorsSize, 0);
      |          ~~~~~~~~~~~~~~~~~                           ^~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:6982:17: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 6981 |     min_idx(chunk_distances, p->chunk_size, b, chunk_topk_idxs,
      |     ~~~~~~~
 6982 |             min(k, p->chunk_size), bTaken, &used1);
      |                 ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:113:36: note: expanded from macro 'min'
  113 | #define min(a, b) (((a) <= (b)) ? (a) : (b))
      |                                    ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:7424:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 7424 |   int idxStrLength = strlen(idxStr);
      |       ~~~~~~~~~~~~   ^~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:7632:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 7630 |     sqlite3_result_blob(
      |     ~~~~~~~~~~~~~~~~~~~
 7631 |         context, pCur->point_data->vectors[vector_idx],
 7632 |         vector_column_byte_size(pVtab->vector_columns[vector_idx]),
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:7915:42: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 7915 |   *bufferChunksValidity = sqlite3_malloc(validitySize);
      |                           ~~~~~~~~~~~~~~ ^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:7924:26: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 7923 |   rc = sqlite3_blob_read(*blobChunksValidity, (void *)*bufferChunksValidity,
      |        ~~~~~~~~~~~~~~~~~
 7924 |                          validitySize, 0);
      |                          ^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:7994:44: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 7994 |     *bufferChunksValidity = sqlite3_malloc(validitySize);
      |                             ~~~~~~~~~~~~~~ ^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:7996:28: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 7995 |     rc = sqlite3_blob_read(*blobChunksValidity, (void *)*bufferChunksValidity,
      |          ~~~~~~~~~~~~~~~~~
 7996 |                            validitySize, 0);
      |                            ^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8034:20: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 8034 |     n = dimensions * sizeof(f32);
      |       ~ ~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8035:40: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 8035 |     offset = chunk_offset * dimensions * sizeof(f32);
      |            ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8038:20: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 8038 |     n = dimensions * sizeof(i8);
      |       ~ ~~~~~~~~~~~^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8039:40: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 8039 |     offset = chunk_offset * dimensions * sizeof(i8);
      |            ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8042:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 8042 |     n = dimensions / CHAR_BIT;
      |       ~ ~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8043:40: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 8043 |     offset = chunk_offset * dimensions / CHAR_BIT;
      |            ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8077:68: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 8077 |   rc = sqlite3_blob_write(blobChunksValidity, &bx, 1, chunk_offset / CHAR_BIT);
      |        ~~~~~~~~~~~~~~~~~~                             ~~~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8159:40: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 8158 |   rc = sqlite3_blob_write(blobChunksRowids, &rowid, sizeof(i64),
      |        ~~~~~~~~~~~~~~~~~~
 8159 |                           chunk_offset * sizeof(i64));
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8245:75: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 8245 |       rc = sqlite3_blob_write(blobValue, &block, sizeof(u8), chunk_offset / CHAR_BIT);
      |            ~~~~~~~~~~~~~~~~~~                                ~~~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8250:78: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 8250 |       rc = sqlite3_blob_write(blobValue, &value, sizeof(value), chunk_offset * sizeof(i64));
      |            ~~~~~~~~~~~~~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8255:78: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 8255 |       rc = sqlite3_blob_write(blobValue, &value, sizeof(value), chunk_offset * sizeof(double));
      |            ~~~~~~~~~~~~~~~~~~                                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8260:76: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 8260 |       rc = sqlite3_blob_read(blobValue, &prev_n, sizeof(int), chunk_offset * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH);
      |            ~~~~~~~~~~~~~~~~~                                  ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8272:101: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 8272 |       rc = sqlite3_blob_write(blobValue, &view, VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH, chunk_offset * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH);
      |            ~~~~~~~~~~~~~~~~~~                                                          ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8580:37: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8580 |   int validityOffset = chunk_offset / CHAR_BIT;
      |       ~~~~~~~~~~~~~~   ~~~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8653:40: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8652 |   rc = sqlite3_blob_write(blobChunksRowids, &zero, sizeof(zero),
      |        ~~~~~~~~~~~~~~~~~~
 8653 |                           chunk_offset * sizeof(i64));
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8690:36: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 8690 |     void *zeroBuf = sqlite3_malloc(n);
      |                     ~~~~~~~~~~~~~~ ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8697:67: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8697 |     rc = sqlite3_blob_write(blobVectors, zeroBuf, n, chunk_offset * n);
      |          ~~~~~~~~~~~~~~~~~~                          ~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8697:51: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 8697 |     rc = sqlite3_blob_write(blobVectors, zeroBuf, n, chunk_offset * n);
      |          ~~~~~~~~~~~~~~~~~~                       ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8907:75: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8907 |       rc = sqlite3_blob_write(blobValue, &block, sizeof(u8), chunk_offset / CHAR_BIT);
      |            ~~~~~~~~~~~~~~~~~~                                ~~~~~~~~~~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8912:70: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8912 |       rc = sqlite3_blob_write(blobValue, &v, sizeof(v), chunk_offset * sizeof(i64));
      |            ~~~~~~~~~~~~~~~~~~                           ~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8917:70: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8917 |       rc = sqlite3_blob_write(blobValue, &v, sizeof(v), chunk_offset * sizeof(double));
      |            ~~~~~~~~~~~~~~~~~~                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8922:71: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8922 |       rc = sqlite3_blob_read(blobValue, &n, sizeof(int), chunk_offset * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH);
      |            ~~~~~~~~~~~~~~~~~                             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:8929:76: warning: implicit conversion loses integer precision: 'u64' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
 8929 |       rc = sqlite3_blob_write(blobValue, &view, sizeof(view), chunk_offset * VEC0_METADATA_TEXT_VIEW_BUFFER_LENGTH);
      |            ~~~~~~~~~~~~~~~~~~                                 ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9882:41: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32]
 9882 |     i32 *topk_rowids = sqlite3_malloc(k * sizeof(i32));
      |                        ~~~~~~~~~~~~~~ ~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9887:43: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 9887 |     f32 *distances = sqlite3_malloc(bsize * sizeof(f32));
      |                      ~~~~~~~~~~~~~~ ~~~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9899:33: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 9899 |     u8 *candidates = bitmap_new(bsize);
      |                      ~~~~~~~~~~ ^~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9902:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 9902 |     u8 *taken = bitmap_new(bsize);
      |                 ~~~~~~~~~~ ^~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9905:29: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 9905 |     bitmap_fill(candidates, bsize);
      |     ~~~~~~~~~~~             ^~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9907:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 9907 |       bitmap_set(candidates, i, 0);
      |       ~~~~~~~~~~             ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9910:56: warning: implicit conversion loses integer precision: 'i64' (aka 'long long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 9910 |     min_idx(distances, bsize, candidates, topk_rowids, k, taken, &k_used);
      |     ~~~~~~~                                            ^
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9910:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'i32' (aka 'int') [-Wshorten-64-to-32]
 9910 |     min_idx(distances, bsize, candidates, topk_rowids, k, taken, &k_used);
      |     ~~~~~~~            ^~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9986:31: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
 9982 |       sqlite3_result_blob(
      |       ~~~~~~~~~~~~~~~~~~~
 9983 |           context,
 9984 |           ((unsigned char *)p->blob->p) +
 9985 |               (pCur->iRowid * p->blob->dimensions * sizeof(float)),
 9986 |           p->blob->dimensions * sizeof(float), SQLITE_TRANSIENT);
      |           ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CSQLiteVec/sqlite-vec.c:9999:47: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
  9996 |       sqlite3_result_blob(context,
       |       ~~~~~~~~~~~~~~~~~~~
  9997 |                           ((unsigned char *)p->blob->p) +
  9998 |                               (rowid * p->blob->dimensions * sizeof(float)),
  9999 |                           p->blob->dimensions * sizeof(float),
       |                           ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
123 warnings generated.
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SQLiteVecKit",
  "name" : "SQLiteVecKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "SQLiteVecStore",
      "targets" : [
        "SQLiteVecStore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Searching",
      "targets" : [
        "Searching"
      ],
      "type" : {
        "snippet" : null
      }
    },
    {
      "name" : "IngestingChunks",
      "targets" : [
        "IngestingChunks"
      ],
      "type" : {
        "snippet" : null
      }
    },
    {
      "name" : "EmbeddingSpaceManifest",
      "targets" : [
        "EmbeddingSpaceManifest"
      ],
      "type" : {
        "snippet" : null
      }
    },
    {
      "name" : "CreatingAStore",
      "targets" : [
        "CreatingAStore"
      ],
      "type" : {
        "snippet" : null
      }
    },
    {
      "name" : "OwnTables",
      "targets" : [
        "OwnTables"
      ],
      "type" : {
        "snippet" : null
      }
    },
    {
      "name" : "FilteringWithSQL",
      "targets" : [
        "FilteringWithSQL"
      ],
      "type" : {
        "snippet" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SQLiteVecStoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SQLiteVecStoreTests",
      "path" : "Tests/SQLiteVecStoreTests",
      "sources" : [
        "ConcurrencyTests.swift",
        "ErrorTests.swift",
        "InitAndSchemaTests.swift",
        "InsertTests.swift",
        "MetadataTests.swift",
        "MutationTests.swift",
        "SQLAccessTests.swift",
        "SearchTests.swift",
        "SourceAndCountTests.swift",
        "TestSupport.swift",
        "TextSearchTests.swift",
        "VectorStoreBenchmarkTests.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore",
        "CSQLiteVec"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SQLiteVecStore",
      "module_type" : "SwiftTarget",
      "name" : "SQLiteVecStore",
      "path" : "Sources/SQLiteVecStore",
      "product_memberships" : [
        "SQLiteVecStore",
        "Searching",
        "IngestingChunks",
        "EmbeddingSpaceManifest",
        "CreatingAStore",
        "OwnTables",
        "FilteringWithSQL"
      ],
      "sources" : [
        "Store/DBHandle.swift",
        "Store/VectorStore+Helpers.swift",
        "Store/VectorStore+Insert.swift",
        "Store/VectorStore+Mutations.swift",
        "Store/VectorStore+RawSQL.swift",
        "Store/VectorStore+Search.swift",
        "Store/VectorStore.swift",
        "Types/DistanceMetric.swift",
        "Types/HybridSearchResult.swift",
        "Types/MetadataJSON.swift",
        "Types/SQLValue.swift",
        "Types/SQLiteError.swift",
        "Types/SearchResult.swift",
        "Types/VectorEntry.swift"
      ],
      "target_dependencies" : [
        "CSQLiteVec"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CSQLiteVecTests",
      "module_type" : "SwiftTarget",
      "name" : "CSQLiteVecTests",
      "path" : "Tests/CSQLiteVecTests",
      "sources" : [
        "CSQLiteVecTests.swift"
      ],
      "target_dependencies" : [
        "CSQLiteVec"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CSQLiteVec",
      "module_type" : "ClangTarget",
      "name" : "CSQLiteVec",
      "path" : "Sources/CSQLiteVec",
      "product_memberships" : [
        "SQLiteVecStore",
        "Searching",
        "IngestingChunks",
        "EmbeddingSpaceManifest",
        "CreatingAStore",
        "OwnTables",
        "FilteringWithSQL"
      ],
      "sources" : [
        "SQLiteVecBootstrap.c",
        "SQLiteVecShim.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Searching",
      "module_type" : "SwiftTarget",
      "name" : "Searching",
      "path" : "Snippets",
      "product_memberships" : [
        "Searching"
      ],
      "sources" : [
        "Searching.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore"
      ],
      "type" : "snippet"
    },
    {
      "c99name" : "IngestingChunks",
      "module_type" : "SwiftTarget",
      "name" : "IngestingChunks",
      "path" : "Snippets",
      "product_memberships" : [
        "IngestingChunks"
      ],
      "sources" : [
        "IngestingChunks.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore"
      ],
      "type" : "snippet"
    },
    {
      "c99name" : "EmbeddingSpaceManifest",
      "module_type" : "SwiftTarget",
      "name" : "EmbeddingSpaceManifest",
      "path" : "Snippets",
      "product_memberships" : [
        "EmbeddingSpaceManifest"
      ],
      "sources" : [
        "EmbeddingSpaceManifest.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore"
      ],
      "type" : "snippet"
    },
    {
      "c99name" : "CreatingAStore",
      "module_type" : "SwiftTarget",
      "name" : "CreatingAStore",
      "path" : "Snippets",
      "product_memberships" : [
        "CreatingAStore"
      ],
      "sources" : [
        "CreatingAStore.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore"
      ],
      "type" : "snippet"
    },
    {
      "c99name" : "OwnTables",
      "module_type" : "SwiftTarget",
      "name" : "OwnTables",
      "path" : "Snippets",
      "product_memberships" : [
        "OwnTables"
      ],
      "sources" : [
        "OwnTables.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore"
      ],
      "type" : "snippet"
    },
    {
      "c99name" : "FilteringWithSQL",
      "module_type" : "SwiftTarget",
      "name" : "FilteringWithSQL",
      "path" : "Snippets",
      "product_memberships" : [
        "FilteringWithSQL"
      ],
      "sources" : [
        "FilteringWithSQL.swift"
      ],
      "target_dependencies" : [
        "SQLiteVecStore"
      ],
      "type" : "snippet"
    }
  ],
  "tools_version" : "6.0"
}
Done.