@delali/narsil 0.1.15 → 0.2.1-next.25

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 (267) hide show
  1. package/NOTICE +54 -0
  2. package/README.md +38 -982
  3. package/dist/adapters/filesystem.d.ts +23 -1
  4. package/dist/adapters/filesystem.mjs +1 -1
  5. package/dist/adapters/indexeddb.d.ts +25 -1
  6. package/dist/adapters/indexeddb.mjs +1 -1
  7. package/dist/adapters/memory.d.ts +14 -1
  8. package/dist/adapters-CVqI5NBt.d.ts +149 -0
  9. package/dist/{chunk-HMO6OMZ3.mjs → chunk-ASI6AOW2.mjs} +1073 -506
  10. package/dist/{chunk-HRABJLPB.mjs → chunk-BKAI2WXI.mjs} +1 -0
  11. package/dist/{chunk-WISGW24C.mjs → chunk-FKK76OR7.mjs} +56 -55
  12. package/dist/chunk-GHJWC2E5.mjs +9 -0
  13. package/dist/chunk-KH3YGMVT.mjs +15 -0
  14. package/dist/chunk-TGP5M5R7.mjs +880 -0
  15. package/dist/chunk-U2BKYEC7.mjs +254 -0
  16. package/dist/{chunk-ALB35PRQ.mjs → chunk-UNJZ7ZDB.mjs} +18 -0
  17. package/dist/{chunk-MEW7HD75.mjs → chunk-WLR5BFL3.mjs} +2557 -1166
  18. package/dist/config-CAjTHzkH.d.ts +256 -0
  19. package/dist/direct-executor-3W4QRA4E.mjs +5 -0
  20. package/dist/distribution/coordinator/etcd.d.ts +44 -3
  21. package/dist/distribution/coordinator/etcd.mjs +2 -2
  22. package/dist/distribution/coordinator/in-memory.d.ts +14 -3
  23. package/dist/distribution.d.ts +318 -45
  24. package/dist/distribution.mjs +1875 -1772
  25. package/dist/embeddings/openai.d.ts +28 -1
  26. package/dist/embeddings/openai.mjs +1 -1
  27. package/dist/engine-CCrlfLyq.d.ts +431 -0
  28. package/dist/index.browser.mjs +4571 -1776
  29. package/dist/index.d.ts +180 -6
  30. package/dist/index.mjs +6 -5
  31. package/dist/invalidation/broadcast-channel.d.ts +20 -1
  32. package/dist/invalidation/filesystem.d.ts +24 -1
  33. package/dist/invalidation/noop.d.ts +14 -1
  34. package/dist/language-DB8KG1z5.d.ts +53 -0
  35. package/dist/languages/albanian.d.ts +15 -0
  36. package/dist/languages/albanian.mjs +103 -0
  37. package/dist/languages/amharic.d.ts +15 -0
  38. package/dist/languages/amharic.mjs +240 -0
  39. package/dist/languages/arabic.d.ts +10 -1
  40. package/dist/languages/arabic.mjs +939 -154
  41. package/dist/languages/armenian.d.ts +10 -1
  42. package/dist/languages/armenian.mjs +275 -243
  43. package/dist/languages/azerbaijani.d.ts +15 -0
  44. package/dist/languages/azerbaijani.mjs +152 -0
  45. package/dist/languages/bambara.d.ts +15 -0
  46. package/dist/languages/bambara.mjs +60 -0
  47. package/dist/languages/basque.d.ts +14 -0
  48. package/dist/languages/basque.mjs +726 -0
  49. package/dist/languages/belarusian.d.ts +15 -0
  50. package/dist/languages/belarusian.mjs +100 -0
  51. package/dist/languages/bengali.d.ts +15 -0
  52. package/dist/languages/bengali.mjs +128 -0
  53. package/dist/languages/bosnian.d.ts +15 -0
  54. package/dist/languages/bosnian.mjs +197 -0
  55. package/dist/languages/breton.d.ts +15 -0
  56. package/dist/languages/breton.mjs +96 -0
  57. package/dist/languages/bulgarian.d.ts +10 -1
  58. package/dist/languages/bulgarian.mjs +11 -2
  59. package/dist/languages/burmese.d.ts +15 -0
  60. package/dist/languages/burmese.mjs +57 -0
  61. package/dist/languages/catalan.d.ts +14 -0
  62. package/dist/languages/catalan.mjs +987 -0
  63. package/dist/languages/chinese.d.ts +11 -1
  64. package/dist/languages/chinese.mjs +4 -3
  65. package/dist/languages/croatian.d.ts +15 -0
  66. package/dist/languages/croatian.mjs +191 -0
  67. package/dist/languages/czech.d.ts +14 -0
  68. package/dist/languages/czech.mjs +628 -0
  69. package/dist/languages/dagbani.d.ts +11 -1
  70. package/dist/languages/dagbani.mjs +11 -2
  71. package/dist/languages/danish.d.ts +10 -1
  72. package/dist/languages/danish.mjs +215 -110
  73. package/dist/languages/dutch.d.ts +10 -1
  74. package/dist/languages/dutch.mjs +1248 -163
  75. package/dist/languages/english.d.ts +10 -1
  76. package/dist/languages/english.mjs +2 -1
  77. package/dist/languages/esperanto.d.ts +14 -0
  78. package/dist/languages/esperanto.mjs +689 -0
  79. package/dist/languages/estonian.d.ts +14 -0
  80. package/dist/languages/estonian.mjs +2160 -0
  81. package/dist/languages/ewe.d.ts +11 -1
  82. package/dist/languages/ewe.mjs +11 -2
  83. package/dist/languages/faroese.d.ts +15 -0
  84. package/dist/languages/faroese.mjs +93 -0
  85. package/dist/languages/fijian.d.ts +15 -0
  86. package/dist/languages/fijian.mjs +55 -0
  87. package/dist/languages/finnish.d.ts +10 -1
  88. package/dist/languages/finnish.mjs +528 -263
  89. package/dist/languages/french.d.ts +10 -1
  90. package/dist/languages/french.mjs +950 -437
  91. package/dist/languages/ga.d.ts +11 -1
  92. package/dist/languages/ga.mjs +2 -1
  93. package/dist/languages/galician.d.ts +15 -0
  94. package/dist/languages/galician.mjs +172 -0
  95. package/dist/languages/georgian.d.ts +15 -0
  96. package/dist/languages/georgian.mjs +91 -0
  97. package/dist/languages/german.d.ts +10 -1
  98. package/dist/languages/german.mjs +432 -162
  99. package/dist/languages/greek.d.ts +10 -1
  100. package/dist/languages/greek.mjs +1970 -281
  101. package/dist/languages/guarani.d.ts +15 -0
  102. package/dist/languages/guarani.mjs +132 -0
  103. package/dist/languages/gujarati.d.ts +15 -0
  104. package/dist/languages/gujarati.mjs +234 -0
  105. package/dist/languages/haitian-creole.d.ts +15 -0
  106. package/dist/languages/haitian-creole.mjs +106 -0
  107. package/dist/languages/hausa.d.ts +11 -1
  108. package/dist/languages/hausa.mjs +2 -1
  109. package/dist/languages/hawaiian.d.ts +15 -0
  110. package/dist/languages/hawaiian.mjs +69 -0
  111. package/dist/languages/hebrew.d.ts +15 -0
  112. package/dist/languages/hebrew.mjs +213 -0
  113. package/dist/languages/hindi.d.ts +10 -1
  114. package/dist/languages/hindi.mjs +175 -97
  115. package/dist/languages/hungarian.d.ts +10 -1
  116. package/dist/languages/hungarian.mjs +412 -326
  117. package/dist/languages/icelandic.d.ts +15 -0
  118. package/dist/languages/icelandic.mjs +161 -0
  119. package/dist/languages/igbo.d.ts +11 -1
  120. package/dist/languages/igbo.mjs +2 -1
  121. package/dist/languages/indonesian.d.ts +10 -1
  122. package/dist/languages/indonesian.mjs +329 -137
  123. package/dist/languages/irish.d.ts +10 -1
  124. package/dist/languages/irish.mjs +223 -139
  125. package/dist/languages/italian.d.ts +10 -1
  126. package/dist/languages/italian.mjs +703 -406
  127. package/dist/languages/japanese.d.ts +11 -1
  128. package/dist/languages/japanese.mjs +5 -108
  129. package/dist/languages/kannada.d.ts +15 -0
  130. package/dist/languages/kannada.mjs +94 -0
  131. package/dist/languages/kazakh.d.ts +15 -0
  132. package/dist/languages/kazakh.mjs +90 -0
  133. package/dist/languages/khmer.d.ts +15 -0
  134. package/dist/languages/khmer.mjs +181 -0
  135. package/dist/languages/kinyarwanda.d.ts +15 -0
  136. package/dist/languages/kinyarwanda.mjs +99 -0
  137. package/dist/languages/kirundi.d.ts +15 -0
  138. package/dist/languages/kirundi.mjs +92 -0
  139. package/dist/languages/korean.d.ts +15 -0
  140. package/dist/languages/korean.mjs +252 -0
  141. package/dist/languages/kurmanji.d.ts +15 -0
  142. package/dist/languages/kurmanji.mjs +50 -0
  143. package/dist/languages/kyrgyz.d.ts +15 -0
  144. package/dist/languages/kyrgyz.mjs +108 -0
  145. package/dist/languages/lao.d.ts +15 -0
  146. package/dist/languages/lao.mjs +63 -0
  147. package/dist/languages/latin.d.ts +15 -0
  148. package/dist/languages/latin.mjs +69 -0
  149. package/dist/languages/latvian.d.ts +15 -0
  150. package/dist/languages/latvian.mjs +173 -0
  151. package/dist/languages/lingala.d.ts +15 -0
  152. package/dist/languages/lingala.mjs +61 -0
  153. package/dist/languages/lithuanian.d.ts +14 -0
  154. package/dist/languages/lithuanian.mjs +571 -0
  155. package/dist/languages/luxembourgish.d.ts +15 -0
  156. package/dist/languages/luxembourgish.mjs +214 -0
  157. package/dist/languages/macedonian.d.ts +15 -0
  158. package/dist/languages/macedonian.mjs +808 -0
  159. package/dist/languages/malagasy.d.ts +15 -0
  160. package/dist/languages/malagasy.mjs +67 -0
  161. package/dist/languages/malay.d.ts +15 -0
  162. package/dist/languages/malay.mjs +482 -0
  163. package/dist/languages/malayalam.d.ts +15 -0
  164. package/dist/languages/malayalam.mjs +122 -0
  165. package/dist/languages/maltese.d.ts +15 -0
  166. package/dist/languages/maltese.mjs +139 -0
  167. package/dist/languages/maori.d.ts +15 -0
  168. package/dist/languages/maori.mjs +79 -0
  169. package/dist/languages/marathi.d.ts +15 -0
  170. package/dist/languages/marathi.mjs +111 -0
  171. package/dist/languages/nepali.d.ts +10 -1
  172. package/dist/languages/nepali.mjs +209 -99
  173. package/dist/languages/norwegian.d.ts +10 -1
  174. package/dist/languages/norwegian.mjs +218 -85
  175. package/dist/languages/oromo.d.ts +15 -0
  176. package/dist/languages/oromo.mjs +78 -0
  177. package/dist/languages/persian.d.ts +14 -0
  178. package/dist/languages/persian.mjs +710 -0
  179. package/dist/languages/polish.d.ts +14 -0
  180. package/dist/languages/polish.mjs +614 -0
  181. package/dist/languages/portuguese.d.ts +10 -1
  182. package/dist/languages/portuguese.mjs +613 -380
  183. package/dist/languages/punjabi.d.ts +15 -0
  184. package/dist/languages/punjabi.mjs +197 -0
  185. package/dist/languages/romanian.d.ts +10 -1
  186. package/dist/languages/romanian.mjs +561 -382
  187. package/dist/languages/russian.d.ts +10 -1
  188. package/dist/languages/russian.mjs +373 -244
  189. package/dist/languages/samoan.d.ts +15 -0
  190. package/dist/languages/samoan.mjs +63 -0
  191. package/dist/languages/sanskrit.d.ts +10 -1
  192. package/dist/languages/sanskrit.mjs +2 -2
  193. package/dist/languages/scottish-gaelic.d.ts +15 -0
  194. package/dist/languages/scottish-gaelic.mjs +370 -0
  195. package/dist/languages/serbian.d.ts +10 -1
  196. package/dist/languages/serbian.mjs +3635 -155
  197. package/dist/languages/shona.d.ts +15 -0
  198. package/dist/languages/shona.mjs +91 -0
  199. package/dist/languages/sinhala.d.ts +15 -0
  200. package/dist/languages/sinhala.mjs +182 -0
  201. package/dist/languages/slovak.d.ts +15 -0
  202. package/dist/languages/slovak.mjs +430 -0
  203. package/dist/languages/slovenian.d.ts +10 -1
  204. package/dist/languages/slovenian.mjs +11 -2
  205. package/dist/languages/sorani.d.ts +15 -0
  206. package/dist/languages/sorani.mjs +156 -0
  207. package/dist/languages/spanish.d.ts +10 -1
  208. package/dist/languages/spanish.mjs +676 -374
  209. package/dist/languages/swahili.d.ts +10 -1
  210. package/dist/languages/swahili.mjs +2 -1
  211. package/dist/languages/swedish.d.ts +10 -1
  212. package/dist/languages/swedish.mjs +237 -95
  213. package/dist/languages/tagalog.d.ts +15 -0
  214. package/dist/languages/tagalog.mjs +159 -0
  215. package/dist/languages/tamil.d.ts +10 -1
  216. package/dist/languages/tamil.mjs +836 -64
  217. package/dist/languages/tatar.d.ts +15 -0
  218. package/dist/languages/tatar.mjs +1017 -0
  219. package/dist/languages/telugu.d.ts +15 -0
  220. package/dist/languages/telugu.mjs +62 -0
  221. package/dist/languages/thai.d.ts +15 -0
  222. package/dist/languages/thai.mjs +65 -0
  223. package/dist/languages/tibetan.d.ts +15 -0
  224. package/dist/languages/tibetan.mjs +119 -0
  225. package/dist/languages/tigrinya.d.ts +15 -0
  226. package/dist/languages/tigrinya.mjs +194 -0
  227. package/dist/languages/tongan.d.ts +15 -0
  228. package/dist/languages/tongan.mjs +56 -0
  229. package/dist/languages/turkish.d.ts +10 -1
  230. package/dist/languages/turkish.mjs +1246 -393
  231. package/dist/languages/twi.d.ts +11 -1
  232. package/dist/languages/twi.mjs +13 -2
  233. package/dist/languages/ukrainian.d.ts +10 -1
  234. package/dist/languages/ukrainian.mjs +125 -47
  235. package/dist/languages/urdu.d.ts +15 -0
  236. package/dist/languages/urdu.mjs +528 -0
  237. package/dist/languages/vietnamese.d.ts +15 -0
  238. package/dist/languages/vietnamese.mjs +277 -0
  239. package/dist/languages/welsh.d.ts +15 -0
  240. package/dist/languages/welsh.mjs +446 -0
  241. package/dist/languages/wolof.d.ts +15 -0
  242. package/dist/languages/wolof.mjs +79 -0
  243. package/dist/languages/xhosa.d.ts +15 -0
  244. package/dist/languages/xhosa.mjs +95 -0
  245. package/dist/languages/yoruba.d.ts +11 -1
  246. package/dist/languages/yoruba.mjs +1 -0
  247. package/dist/languages/zulu.d.ts +11 -1
  248. package/dist/languages/zulu.mjs +2 -1
  249. package/dist/persistence/durability/checkpoint-worker.d.ts +13 -0
  250. package/dist/persistence/durability/checkpoint-worker.mjs +6 -5
  251. package/dist/schema-CE6S_aAr.d.ts +208 -0
  252. package/dist/search-CgQQIciB.d.ts +786 -0
  253. package/dist/server.d.ts +214 -12
  254. package/dist/server.mjs +41 -2
  255. package/dist/types-BV3nAKTL.d.ts +302 -0
  256. package/dist/vector/hnsw-build-worker.d.ts +68 -2
  257. package/dist/vector/hnsw-build-worker.mjs +0 -2
  258. package/dist/workers/entry.mjs +2 -2
  259. package/package.json +14 -4
  260. package/dist/adapters-Bo2JQg8b.d.ts +0 -37
  261. package/dist/chunk-TW6BXTOL.mjs +0 -338
  262. package/dist/config-CojEPOgS.d.ts +0 -481
  263. package/dist/direct-executor-E52FFGDE.mjs +0 -4
  264. package/dist/language-ONQ3iVDf.d.ts +0 -14
  265. package/dist/narsil-D-84Nvm4.d.ts +0 -72
  266. package/dist/schema-DCgkO1j4.d.ts +0 -65
  267. package/dist/types-DHX6zGeD.d.ts +0 -73
@@ -1,481 +0,0 @@
1
- import { b as PersistenceAdapter, I as InvalidationAdapter, E as EmbeddingAdapter } from './adapters-Bo2JQg8b.js';
2
- import { A as AnyDocument, b as ScoringMode, S as SchemaDefinition, I as IndexConfig } from './schema-DCgkO1j4.js';
3
-
4
- declare const ErrorCodes: {
5
- readonly SCHEMA_INVALID_TYPE: "SCHEMA_INVALID_TYPE";
6
- readonly SCHEMA_MISSING_FIELD: "SCHEMA_MISSING_FIELD";
7
- readonly SCHEMA_DEPTH_EXCEEDED: "SCHEMA_DEPTH_EXCEEDED";
8
- readonly SCHEMA_INVALID_VECTOR_DIMENSION: "SCHEMA_INVALID_VECTOR_DIMENSION";
9
- readonly SCHEMA_INVALID_GEOPOINT: "SCHEMA_INVALID_GEOPOINT";
10
- readonly DOC_NOT_FOUND: "DOC_NOT_FOUND";
11
- readonly DOC_ALREADY_EXISTS: "DOC_ALREADY_EXISTS";
12
- readonly DOC_VALIDATION_FAILED: "DOC_VALIDATION_FAILED";
13
- readonly INDEX_NOT_FOUND: "INDEX_NOT_FOUND";
14
- readonly INDEX_ALREADY_EXISTS: "INDEX_ALREADY_EXISTS";
15
- readonly PARTITION_CORRUPTED: "PARTITION_CORRUPTED";
16
- readonly PARTITION_REBALANCING_BACKPRESSURE: "PARTITION_REBALANCING_BACKPRESSURE";
17
- readonly WORKER_CRASHED: "WORKER_CRASHED";
18
- readonly WORKER_BUSY: "WORKER_BUSY";
19
- readonly WORKER_TIMEOUT: "WORKER_TIMEOUT";
20
- readonly PERSISTENCE_SAVE_FAILED: "PERSISTENCE_SAVE_FAILED";
21
- readonly PERSISTENCE_LOAD_FAILED: "PERSISTENCE_LOAD_FAILED";
22
- readonly PERSISTENCE_DELETE_FAILED: "PERSISTENCE_DELETE_FAILED";
23
- readonly PERSISTENCE_CRC_MISMATCH: "PERSISTENCE_CRC_MISMATCH";
24
- readonly PERSISTENCE_WAL_CORRUPT: "PERSISTENCE_WAL_CORRUPT";
25
- readonly PERSISTENCE_FSYNC_FAILED: "PERSISTENCE_FSYNC_FAILED";
26
- readonly SEARCH_INVALID_FIELD: "SEARCH_INVALID_FIELD";
27
- readonly SEARCH_INVALID_VECTOR_SIZE: "SEARCH_INVALID_VECTOR_SIZE";
28
- readonly VECTOR_DIMENSION_MISMATCH: "VECTOR_DIMENSION_MISMATCH";
29
- readonly SEARCH_INVALID_FILTER: "SEARCH_INVALID_FILTER";
30
- readonly SEARCH_INVALID_MODE: "SEARCH_INVALID_MODE";
31
- readonly SEARCH_INVALID_CURSOR: "SEARCH_INVALID_CURSOR";
32
- readonly LANGUAGE_NOT_SUPPORTED: "LANGUAGE_NOT_SUPPORTED";
33
- readonly ENVELOPE_VERSION_MISMATCH: "ENVELOPE_VERSION_MISMATCH";
34
- readonly ENVELOPE_INVALID_MAGIC: "ENVELOPE_INVALID_MAGIC";
35
- readonly PARTITION_CAPACITY_EXCEEDED: "PARTITION_CAPACITY_EXCEEDED";
36
- readonly EMBEDDING_FAILED: "EMBEDDING_FAILED";
37
- readonly EMBEDDING_DIMENSION_MISMATCH: "EMBEDDING_DIMENSION_MISMATCH";
38
- readonly EMBEDDING_NO_SOURCE: "EMBEDDING_NO_SOURCE";
39
- readonly EMBEDDING_CONFIG_INVALID: "EMBEDDING_CONFIG_INVALID";
40
- readonly DOC_MISSING_REQUIRED_FIELD: "DOC_MISSING_REQUIRED_FIELD";
41
- readonly CONFIG_INVALID: "CONFIG_INVALID";
42
- readonly QUERY_ROUTING_FAILED: "QUERY_ROUTING_FAILED";
43
- readonly QUERY_PARTIAL_FAILURE: "QUERY_PARTIAL_FAILURE";
44
- readonly QUERY_NODE_TIMEOUT: "QUERY_NODE_TIMEOUT";
45
- readonly QUERY_NO_ACTIVE_REPLICA: "QUERY_NO_ACTIVE_REPLICA";
46
- readonly ALLOCATION_NO_DATA_NODES: "ALLOCATION_NO_DATA_NODES";
47
- readonly ALLOCATION_INVALID_CONFIG: "ALLOCATION_INVALID_CONFIG";
48
- readonly ALLOCATION_FAILED: "ALLOCATION_FAILED";
49
- readonly CONTROLLER_LEASE_LOST: "CONTROLLER_LEASE_LOST";
50
- readonly CONTROLLER_NOT_ACTIVE: "CONTROLLER_NOT_ACTIVE";
51
- readonly CONTROLLER_METADATA_INVALID: "CONTROLLER_METADATA_INVALID";
52
- readonly NODE_BOOTSTRAP_FAILED: "NODE_BOOTSTRAP_FAILED";
53
- readonly NODE_ALREADY_JOINED: "NODE_ALREADY_JOINED";
54
- readonly NODE_NOT_JOINED: "NODE_NOT_JOINED";
55
- readonly COORDINATOR_DEPENDENCY_MISSING: "COORDINATOR_DEPENDENCY_MISSING";
56
- readonly REPLICATION_ENTRY_INVALID: "REPLICATION_ENTRY_INVALID";
57
- readonly REPLICATION_INSYNC_REMOVAL_FAILED: "REPLICATION_INSYNC_REMOVAL_FAILED";
58
- readonly REPLICATION_ROLLBACK_FAILED: "REPLICATION_ROLLBACK_FAILED";
59
- readonly SNAPSHOT_SYNC_UNAUTHORIZED: "SNAPSHOT_SYNC_UNAUTHORIZED";
60
- readonly SNAPSHOT_SYNC_REQUEST_INVALID: "SNAPSHOT_SYNC_REQUEST_INVALID";
61
- readonly SNAPSHOT_SYNC_INDEX_NOT_FOUND: "SNAPSHOT_SYNC_INDEX_NOT_FOUND";
62
- readonly SNAPSHOT_SYNC_TOO_LARGE: "SNAPSHOT_SYNC_TOO_LARGE";
63
- readonly SNAPSHOT_SYNC_CAPACITY_EXHAUSTED: "SNAPSHOT_SYNC_CAPACITY_EXHAUSTED";
64
- readonly SNAPSHOT_SYNC_SNAPSHOT_FAILED: "SNAPSHOT_SYNC_SNAPSHOT_FAILED";
65
- readonly SNAPSHOT_SYNC_DECODE_FAILED: "SNAPSHOT_SYNC_DECODE_FAILED";
66
- readonly SNAPSHOT_SYNC_FRAME_INVALID: "SNAPSHOT_SYNC_FRAME_INVALID";
67
- readonly SNAPSHOT_SYNC_HEADER_INVALID: "SNAPSHOT_SYNC_HEADER_INVALID";
68
- readonly SNAPSHOT_SYNC_HEADER_MISMATCH: "SNAPSHOT_SYNC_HEADER_MISMATCH";
69
- readonly SNAPSHOT_SYNC_CHUNK_OUT_OF_ORDER: "SNAPSHOT_SYNC_CHUNK_OUT_OF_ORDER";
70
- readonly SNAPSHOT_SYNC_CHUNK_OVERFLOW: "SNAPSHOT_SYNC_CHUNK_OVERFLOW";
71
- readonly SNAPSHOT_SYNC_CHUNK_SIZE_EXCEEDED: "SNAPSHOT_SYNC_CHUNK_SIZE_EXCEEDED";
72
- readonly SNAPSHOT_SYNC_CHUNK_MISSING: "SNAPSHOT_SYNC_CHUNK_MISSING";
73
- readonly SNAPSHOT_SYNC_END_MISSING: "SNAPSHOT_SYNC_END_MISSING";
74
- readonly SNAPSHOT_SYNC_CHECKSUM_MISMATCH: "SNAPSHOT_SYNC_CHECKSUM_MISMATCH";
75
- readonly SNAPSHOT_SYNC_PRIMARY_ERROR: "SNAPSHOT_SYNC_PRIMARY_ERROR";
76
- readonly SNAPSHOT_SYNC_NO_TARGETS: "SNAPSHOT_SYNC_NO_TARGETS";
77
- readonly SNAPSHOT_SYNC_TRANSPORT_FAILED: "SNAPSHOT_SYNC_TRANSPORT_FAILED";
78
- readonly SNAPSHOT_SYNC_SCHEMA_UNAVAILABLE: "SNAPSHOT_SYNC_SCHEMA_UNAVAILABLE";
79
- readonly SNAPSHOT_SYNC_RESTORE_FAILED: "SNAPSHOT_SYNC_RESTORE_FAILED";
80
- readonly SNAPSHOT_SYNC_RESTORE_CLEANUP_FAILED: "SNAPSHOT_SYNC_RESTORE_CLEANUP_FAILED";
81
- readonly SNAPSHOT_SYNC_TIMEOUT: "SNAPSHOT_SYNC_TIMEOUT";
82
- readonly SNAPSHOT_SYNC_ALLOCATION_UNAVAILABLE: "SNAPSHOT_SYNC_ALLOCATION_UNAVAILABLE";
83
- readonly SNAPSHOT_SYNC_NOT_ASSIGNED: "SNAPSHOT_SYNC_NOT_ASSIGNED";
84
- readonly SNAPSHOT_SYNC_ABORTED: "SNAPSHOT_SYNC_ABORTED";
85
- };
86
- type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
87
- declare class NarsilError extends Error {
88
- readonly code: ErrorCode;
89
- readonly details: Record<string, unknown>;
90
- constructor(code: ErrorCode, message: string, details?: Record<string, unknown>);
91
- }
92
-
93
- type ComparisonFilter = {
94
- eq?: number | string | boolean;
95
- ne?: number | string | boolean;
96
- gt?: number;
97
- lt?: number;
98
- gte?: number;
99
- lte?: number;
100
- between?: [number, number];
101
- };
102
- type StringFilter = ComparisonFilter & {
103
- in?: string[];
104
- nin?: string[];
105
- startsWith?: string;
106
- endsWith?: string;
107
- };
108
- type ArrayFilter = {
109
- containsAll?: (string | number | boolean)[];
110
- matchesAny?: (string | number | boolean)[];
111
- size?: ComparisonFilter;
112
- };
113
- type PresenceFilter = {
114
- exists?: boolean;
115
- notExists?: boolean;
116
- isEmpty?: boolean;
117
- isNotEmpty?: boolean;
118
- };
119
- type GeoRadiusFilter = {
120
- radius: {
121
- lat: number;
122
- lon: number;
123
- distance: number;
124
- unit: 'km' | 'mi' | 'm';
125
- inside?: boolean;
126
- highPrecision?: boolean;
127
- };
128
- };
129
- type GeoPolygonFilter = {
130
- polygon: {
131
- points: Array<{
132
- lat: number;
133
- lon: number;
134
- }>;
135
- inside?: boolean;
136
- };
137
- };
138
- type GeoFilter = GeoRadiusFilter | GeoPolygonFilter;
139
- type FieldFilter = ComparisonFilter | StringFilter | ArrayFilter | PresenceFilter | GeoFilter;
140
- type FilterExpression = {
141
- fields?: Record<string, FieldFilter>;
142
- and?: FilterExpression[];
143
- or?: FilterExpression[];
144
- not?: FilterExpression;
145
- };
146
-
147
- type SearchMode = 'fulltext' | 'vector' | 'hybrid';
148
- type TermMatchPolicy = 'all' | 'any' | number;
149
- interface QueryParams {
150
- term?: string;
151
- fields?: string[];
152
- filters?: FilterExpression;
153
- boost?: Record<string, number>;
154
- scoring?: ScoringMode;
155
- minScore?: number;
156
- termMatch?: TermMatchPolicy;
157
- tolerance?: number;
158
- prefixLength?: number;
159
- /**
160
- * Treat the last query token as an unfinished word so it also matches
161
- * indexed terms that complete it ("secur" matches "security"). Earlier
162
- * tokens must match fully; `tolerance` keeps applying to them but not to
163
- * the prefix token. Completions score against a shared document frequency
164
- * and are demoted below full-word matches. Ignored when `exact` is true.
165
- * Off by default.
166
- */
167
- prefix?: boolean;
168
- exact?: boolean;
169
- facets?: FacetConfig;
170
- sort?: Record<string, 'asc' | 'desc'>;
171
- group?: GroupConfig;
172
- limit?: number;
173
- offset?: number;
174
- searchAfter?: string;
175
- highlight?: HighlightConfig;
176
- pinned?: Array<{
177
- docId: string;
178
- position: number;
179
- }>;
180
- mode?: SearchMode;
181
- vector?: VectorQueryConfig;
182
- hybrid?: HybridConfig;
183
- includeScoreComponents?: boolean;
184
- }
185
- /**
186
- * Vector-search inputs passed under `QueryParams.vector`.
187
- *
188
- * Supply either a raw `value` array or a `text` string for auto-embedding;
189
- * passing both throws `EMBEDDING_CONFIG_INVALID`. Result count is governed
190
- * by the outer query's `limit`, not by any field on this object.
191
- */
192
- interface VectorQueryConfig {
193
- /**
194
- * Name of the schema field that holds the vector to compare against.
195
- * Must reference a field declared as `vector[N]` in the index schema.
196
- */
197
- field: string;
198
- /**
199
- * Raw query vector. Length must match the indexed field's dimension or
200
- * the search rejects the request with `VECTOR_DIMENSION_MISMATCH`.
201
- */
202
- value?: number[];
203
- /**
204
- * Text to embed at query time using the index or instance embedding
205
- * adapter. Mutually exclusive with `value`; requires a configured adapter.
206
- */
207
- text?: string;
208
- /**
209
- * Score floor applied during ranking. Hits scoring below this value
210
- * are dropped before `limit` is enforced, so the returned hit count
211
- * can be smaller than `limit` even when more documents exist. The
212
- * floor is interpreted in score space for every metric; for
213
- * `euclidean`, distance is mapped to a similarity score of
214
- * `1 / (1 + distance)` first. Defaults to no floor.
215
- */
216
- similarity?: number;
217
- /**
218
- * Similarity metric used for ranking. Defaults to `cosine`. Choose
219
- * `dotProduct` for raw inner-product scoring on already-normalised
220
- * vectors and `euclidean` for distance-based ordering.
221
- */
222
- metric?: 'cosine' | 'dotProduct' | 'euclidean';
223
- /**
224
- * HNSW exploration factor for approximate search. Higher values raise
225
- * recall at the cost of latency. Ignored while the field is still
226
- * served by the brute-force backend. Defaults to the engine's built-in
227
- * value when omitted.
228
- */
229
- efSearch?: number;
230
- }
231
- interface HybridConfig {
232
- strategy?: 'rrf' | 'linear';
233
- k?: number;
234
- alpha?: number;
235
- }
236
- interface FacetConfig {
237
- [field: string]: {
238
- limit?: number;
239
- sort?: 'asc' | 'desc';
240
- ranges?: Array<{
241
- from: number;
242
- to: number;
243
- }>;
244
- };
245
- }
246
- interface GroupConfig {
247
- fields: string[];
248
- maxPerGroup?: number;
249
- reduce?: GroupReducer;
250
- }
251
- type GroupReducer = {
252
- reducer: (accumulator: unknown, doc: AnyDocument, score: number) => unknown;
253
- initialValue: () => unknown;
254
- };
255
- interface HighlightConfig {
256
- fields: string[];
257
- preTag?: string;
258
- postTag?: string;
259
- maxSnippetLength?: number;
260
- }
261
- interface SuggestParams {
262
- prefix: string;
263
- limit?: number;
264
- }
265
-
266
- interface QueryResult<T = AnyDocument> {
267
- hits: Array<Hit<T>>;
268
- count: number;
269
- elapsed: number;
270
- cursor?: string;
271
- facets?: Record<string, FacetResult>;
272
- groups?: GroupResult[];
273
- }
274
- interface Hit<T = AnyDocument> {
275
- id: string;
276
- score: number;
277
- document: T;
278
- scoreComponents?: ScoreComponents;
279
- highlights?: Record<string, HighlightMatch>;
280
- }
281
- interface ScoreComponents {
282
- termFrequencies: Record<string, number>;
283
- fieldLengths: Record<string, number>;
284
- idf: Record<string, number>;
285
- }
286
- interface HighlightMatch {
287
- snippet: string;
288
- positions: Array<{
289
- start: number;
290
- end: number;
291
- }>;
292
- }
293
- interface FacetResult {
294
- values: Record<string, number>;
295
- count: number;
296
- }
297
- interface GroupResult {
298
- values: Record<string, unknown>;
299
- hits: Array<Hit>;
300
- }
301
- interface PreflightResult {
302
- count: number;
303
- elapsed: number;
304
- }
305
- interface BatchResult {
306
- succeeded: string[];
307
- failed: Array<{
308
- docId: string;
309
- error: NarsilError;
310
- }>;
311
- }
312
- interface IndexStats {
313
- documentCount: number;
314
- partitionCount: number;
315
- /**
316
- * Formula-based estimate of the index's main-thread memory footprint, summed
317
- * across every partition and vector index for this index. Computed from
318
- * structural counters (document count, posting counts, field-index sizes),
319
- * not measured. Per-object V8 overhead (hidden classes, map transitions,
320
- * GC headers) is not captured here, so this number routinely undershoots
321
- * the real heap by a meaningful factor. Use {@link Narsil.getMemoryStats}
322
- * when sizing host memory.
323
- */
324
- estimatedMemoryBytes: number;
325
- language: string;
326
- schema: SchemaDefinition;
327
- }
328
- interface IndexInfo {
329
- name: string;
330
- documentCount: number;
331
- partitionCount: number;
332
- language: string;
333
- }
334
- interface PartitionStatsResult {
335
- partitionId: number;
336
- documentCount: number;
337
- /**
338
- * Formula-based estimate of this partition's memory footprint. V8 has no
339
- * per-object heap accounting API, so this number is derived from structural
340
- * counters (document count, posting counts, field-index sizes) and does not
341
- * include per-object overhead. Treat as an estimate, not a measurement.
342
- */
343
- estimatedMemoryBytes: number;
344
- }
345
- interface SuggestResult {
346
- terms: Array<{
347
- term: string;
348
- documentFrequency: number;
349
- }>;
350
- elapsed: number;
351
- }
352
- /**
353
- * Snapshot of V8 heap usage as reported by `process.memoryUsage()`. All values
354
- * are bytes. `null` in environments that do not expose `process.memoryUsage`,
355
- * such as browsers.
356
- */
357
- interface ProcessMemoryReport {
358
- heapUsed: number;
359
- heapTotal: number;
360
- external: number;
361
- rss: number;
362
- }
363
- interface MemoryStats {
364
- /**
365
- * V8 heap usage for the host process at the moment the call was made. This
366
- * is process-wide, not engine-wide; if multiple Narsil engines are running
367
- * in the same process every engine's `getMemoryStats` returns the same
368
- * `process` figures. `null` in browsers and any runtime where
369
- * `process.memoryUsage` is unavailable.
370
- */
371
- process: ProcessMemoryReport | null;
372
- /**
373
- * Sum of every index's {@link IndexStats.estimatedMemoryBytes} held by this
374
- * engine. Formula-based; treat as an estimate, not a measurement. Useful
375
- * for cross-engine relative comparisons inside a single process where
376
- * `process.heapUsed` cannot tell engines apart.
377
- */
378
- estimatedIndexBytes: number;
379
- /**
380
- * Per-worker V8 heap usage when the engine has been promoted to a worker
381
- * pool. Empty when no workers are active.
382
- */
383
- workers: Array<{
384
- workerId: number;
385
- heapUsed: number;
386
- heapTotal: number;
387
- external: number;
388
- }>;
389
- }
390
- interface VectorMaintenanceResult {
391
- fieldName: string;
392
- tombstoneRatio: number;
393
- graphCount: number;
394
- bufferSize: number;
395
- building: boolean;
396
- estimatedCompactMs: number;
397
- estimatedOptimizeMs: number;
398
- }
399
-
400
- interface NarsilPlugin {
401
- name: string;
402
- beforeInsert?(ctx: InsertContext): void | Promise<void>;
403
- afterInsert?(ctx: InsertContext): void | Promise<void>;
404
- beforeRemove?(ctx: RemoveContext): void | Promise<void>;
405
- afterRemove?(ctx: RemoveContext): void | Promise<void>;
406
- beforeUpdate?(ctx: UpdateContext): void | Promise<void>;
407
- afterUpdate?(ctx: UpdateContext): void | Promise<void>;
408
- beforeSearch?(ctx: SearchContext): void | Promise<void>;
409
- afterSearch?(ctx: SearchContext): void | Promise<void>;
410
- onIndexCreate?(ctx: IndexContext): void | Promise<void>;
411
- onIndexDrop?(ctx: IndexContext): void | Promise<void>;
412
- onPartitionSplit?(ctx: PartitionContext): void | Promise<void>;
413
- onWorkerPromote?(ctx: WorkerContext): void | Promise<void>;
414
- }
415
- interface InsertContext {
416
- indexName: string;
417
- docId: string;
418
- document: AnyDocument;
419
- }
420
- interface RemoveContext {
421
- indexName: string;
422
- docId: string;
423
- }
424
- interface UpdateContext {
425
- indexName: string;
426
- docId: string;
427
- oldDocument: AnyDocument;
428
- newDocument: AnyDocument;
429
- }
430
- interface SearchContext {
431
- indexName: string;
432
- params: QueryParams;
433
- results?: QueryResult;
434
- }
435
- interface IndexContext {
436
- indexName: string;
437
- config: IndexConfig;
438
- }
439
- interface PartitionContext {
440
- indexName: string;
441
- oldPartitionCount: number;
442
- newPartitionCount: number;
443
- }
444
- interface WorkerContext {
445
- workerCount: number;
446
- reason: string;
447
- }
448
-
449
- interface NarsilConfig {
450
- persistence?: PersistenceAdapter;
451
- invalidation?: InvalidationAdapter;
452
- plugins?: NarsilPlugin[];
453
- idGenerator?: () => string;
454
- workers?: WorkerConfig;
455
- flush?: FlushConfig;
456
- embedding?: EmbeddingAdapter;
457
- /** Named adapters; names persist in index metadata so recovery can rebind. */
458
- embeddingAdapters?: Record<string, EmbeddingAdapter>;
459
- durability?: DurabilityConfig;
460
- }
461
- interface DurabilityConfig {
462
- directory?: string;
463
- mode?: 'sync' | 'async';
464
- flushIntervalMs?: number;
465
- segmentMaxBytes?: number;
466
- checkpointIntervalMs?: number;
467
- checkpointMutationThreshold?: number;
468
- compactionThreshold?: number;
469
- }
470
- interface WorkerConfig {
471
- enabled?: boolean;
472
- count?: number;
473
- promotionThreshold?: number;
474
- totalPromotionThreshold?: number;
475
- }
476
- interface FlushConfig {
477
- interval?: number;
478
- mutationThreshold?: number;
479
- }
480
-
481
- export { type ArrayFilter as A, type BatchResult as B, type ComparisonFilter as C, type VectorQueryConfig as D, type ErrorCode as E, type FacetConfig as F, type GeoPolygonFilter as G, type HighlightConfig as H, type IndexContext as I, type WorkerContext as J, type MemoryStats as M, type NarsilConfig as N, type PartitionContext as P, type QueryParams as Q, type RemoveContext as R, type ScoreComponents as S, type TermMatchPolicy as T, type UpdateContext as U, type VectorMaintenanceResult as V, type WorkerConfig as W, ErrorCodes as a, type FacetResult as b, type FilterExpression as c, type FlushConfig as d, type GeoRadiusFilter as e, type GroupConfig as f, type GroupReducer as g, type GroupResult as h, type HighlightMatch as i, type Hit as j, type HybridConfig as k, type IndexInfo as l, type IndexStats as m, type InsertContext as n, NarsilError as o, type NarsilPlugin as p, type PartitionStatsResult as q, type PreflightResult as r, type PresenceFilter as s, type ProcessMemoryReport as t, type QueryResult as u, type SearchContext as v, type SearchMode as w, type StringFilter as x, type SuggestParams as y, type SuggestResult as z };
@@ -1,4 +0,0 @@
1
- export { createDirectExecutor } from './chunk-HMO6OMZ3.mjs';
2
- import './chunk-S7RJJMHI.mjs';
3
- import './chunk-TW6BXTOL.mjs';
4
- import './chunk-ALB35PRQ.mjs';
@@ -1,14 +0,0 @@
1
- interface LanguageModule {
2
- name: string;
3
- stemmer: ((token: string) => string) | null;
4
- stopWords: Set<string>;
5
- tokenizer?: TokenizerConfig;
6
- }
7
- interface TokenizerConfig {
8
- splitPattern?: RegExp;
9
- normalizeDiacritics?: boolean;
10
- minTokenLength?: number;
11
- stripPossessive?: boolean;
12
- }
13
-
14
- export type { LanguageModule as L };
@@ -1,72 +0,0 @@
1
- import { l as IndexInfo, m as IndexStats, q as PartitionStatsResult, B as BatchResult, Q as QueryParams, u as QueryResult, r as PreflightResult, y as SuggestParams, z as SuggestResult, M as MemoryStats, V as VectorMaintenanceResult, N as NarsilConfig } from './config-CojEPOgS.js';
2
- import { I as IndexConfig, A as AnyDocument, a as InsertOptions, P as PartitionConfig } from './schema-DCgkO1j4.js';
3
- import { E as EmbeddingAdapter } from './adapters-Bo2JQg8b.js';
4
-
5
- type NarsilEventMap = {
6
- persistenceError: {
7
- indexName: string;
8
- partitionId: number;
9
- error: Error;
10
- retriesExhausted: boolean;
11
- };
12
- workerCrash: {
13
- workerId: number;
14
- indexNames: string[];
15
- error: Error;
16
- };
17
- workerPromote: {
18
- workerCount: number;
19
- reason: string;
20
- };
21
- partitionRebalance: {
22
- indexName: string;
23
- oldCount: number;
24
- newCount: number;
25
- };
26
- durabilityError: {
27
- error: Error;
28
- };
29
- };
30
-
31
- interface Narsil {
32
- createIndex(name: string, config: IndexConfig): Promise<void>;
33
- /** Registers an adapter under a name that index configs can reference and
34
- * durability metadata can persist; re-registering rebinds referencing indexes. */
35
- registerEmbeddingAdapter(name: string, adapter: EmbeddingAdapter): void;
36
- dropIndex(name: string): Promise<void>;
37
- listIndexes(): IndexInfo[];
38
- getStats(indexName: string): IndexStats;
39
- getPartitionStats(indexName: string): PartitionStatsResult[];
40
- insert(indexName: string, document: AnyDocument, docId?: string, options?: InsertOptions): Promise<string>;
41
- insertBatch(indexName: string, documents: AnyDocument[], options?: InsertOptions): Promise<BatchResult>;
42
- remove(indexName: string, docId: string): Promise<void>;
43
- removeBatch(indexName: string, docIds: string[]): Promise<BatchResult>;
44
- update(indexName: string, docId: string, document: AnyDocument): Promise<void>;
45
- updateBatch(indexName: string, updates: Array<{
46
- docId: string;
47
- document: AnyDocument;
48
- }>): Promise<BatchResult>;
49
- get(indexName: string, docId: string): Promise<AnyDocument | undefined>;
50
- getMultiple(indexName: string, docIds: string[]): Promise<Map<string, AnyDocument>>;
51
- has(indexName: string, docId: string): Promise<boolean>;
52
- countDocuments(indexName: string): Promise<number>;
53
- query<T = AnyDocument>(indexName: string, params: QueryParams): Promise<QueryResult<T>>;
54
- preflight(indexName: string, params: QueryParams): Promise<PreflightResult>;
55
- suggest(indexName: string, params: SuggestParams): Promise<SuggestResult>;
56
- snapshot(indexName: string): Promise<Uint8Array>;
57
- restore(indexName: string, data: Uint8Array): Promise<void>;
58
- checkpoint(indexName: string): Promise<void>;
59
- clear(indexName: string): Promise<void>;
60
- rebalance(indexName: string, targetPartitionCount: number): Promise<void>;
61
- updatePartitionConfig(indexName: string, config: Partial<PartitionConfig>): Promise<void>;
62
- getMemoryStats(): Promise<MemoryStats>;
63
- compactVectors(indexName: string, fieldName?: string): Promise<void>;
64
- optimizeVectors(indexName: string, fieldName?: string): Promise<void>;
65
- vectorMaintenanceStatus(indexName: string): VectorMaintenanceResult[];
66
- on<K extends keyof NarsilEventMap>(event: K, handler: (payload: NarsilEventMap[K]) => void): void;
67
- off<K extends keyof NarsilEventMap>(event: K, handler: (payload: NarsilEventMap[K]) => void): void;
68
- shutdown(): Promise<void>;
69
- }
70
- declare function createNarsil(config?: NarsilConfig): Promise<Narsil>;
71
-
72
- export { type Narsil as N, type NarsilEventMap as a, createNarsil as c };
@@ -1,65 +0,0 @@
1
- import { E as EmbeddingAdapter } from './adapters-Bo2JQg8b.js';
2
-
3
- type AnyDocument = Record<string, unknown> & {
4
- id?: string;
5
- };
6
- type FieldType = 'string' | 'number' | 'boolean' | 'enum' | 'geopoint' | `vector[${number}]` | 'string[]' | 'number[]' | 'boolean[]' | 'enum[]';
7
- type SchemaDefinition = {
8
- [field: string]: FieldType | SchemaDefinition;
9
- };
10
- type VectorQuantizationMode = 'sq8' | 'none';
11
- interface VectorIndexConfig {
12
- threshold?: number;
13
- filterThreshold?: number;
14
- hnswConfig?: {
15
- m?: number;
16
- efConstruction?: number;
17
- metric?: 'cosine' | 'dotProduct' | 'euclidean';
18
- };
19
- quantization?: VectorQuantizationMode;
20
- }
21
- interface EmbeddingFieldConfig {
22
- /** An adapter instance, or a registered adapter name. Only a name survives
23
- * durability recovery, since instances cannot be serialised. */
24
- adapter?: EmbeddingAdapter | string;
25
- fields: Record<string, string | string[]>;
26
- }
27
- interface IndexConfig {
28
- schema: SchemaDefinition;
29
- language?: string;
30
- partitions?: PartitionConfig;
31
- defaultScoring?: ScoringMode;
32
- bm25?: BM25Params;
33
- stopWords?: Set<string> | ((defaults: Set<string>) => Set<string>);
34
- tokenizer?: CustomTokenizer;
35
- trackPositions?: boolean;
36
- vectorPromotion?: VectorIndexConfig;
37
- strict?: boolean;
38
- embedding?: EmbeddingFieldConfig;
39
- required?: string[];
40
- /**
41
- * Return the words users typed from suggest() and prefix expansion
42
- * instead of index stems, at an insert-throughput cost. Default false.
43
- */
44
- surfaceForms?: boolean;
45
- }
46
- interface BM25Params {
47
- k1?: number;
48
- b?: number;
49
- }
50
- interface CustomTokenizer {
51
- tokenize(text: string): Array<{
52
- token: string;
53
- position: number;
54
- }>;
55
- }
56
- interface PartitionConfig {
57
- maxDocsPerPartition?: number;
58
- maxPartitions?: number;
59
- }
60
- type ScoringMode = 'local' | 'dfs' | 'broadcast';
61
- interface InsertOptions {
62
- skipClone?: boolean;
63
- }
64
-
65
- export type { AnyDocument as A, BM25Params as B, CustomTokenizer as C, EmbeddingFieldConfig as E, FieldType as F, IndexConfig as I, PartitionConfig as P, SchemaDefinition as S, InsertOptions as a, ScoringMode as b };