sensemaking 0.25.1 → 0.27.0

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 (332) hide show
  1. package/README.md +48 -12
  2. package/dist/cjs/cli/index.d.cts +3 -3
  3. package/dist/cjs/cli/index.d.ts +3 -3
  4. package/dist/cjs/cli/index.js +3 -3
  5. package/dist/cjs/cli/index.js.map +1 -1
  6. package/dist/cjs/cli/path.js +5 -29
  7. package/dist/cjs/cli/path.js.map +1 -1
  8. package/dist/cjs/cli/peek.js +43 -2
  9. package/dist/cjs/cli/peek.js.map +1 -1
  10. package/dist/cjs/cli/related.js +4 -3
  11. package/dist/cjs/cli/related.js.map +1 -1
  12. package/dist/cjs/cli/search.js +38 -6
  13. package/dist/cjs/cli/search.js.map +1 -1
  14. package/dist/cjs/commands/index.d.cts +6 -3
  15. package/dist/cjs/commands/index.d.ts +6 -3
  16. package/dist/cjs/commands/index.js +4 -0
  17. package/dist/cjs/commands/index.js.map +1 -1
  18. package/dist/cjs/commands/map.d.cts +14 -5
  19. package/dist/cjs/commands/map.d.ts +14 -5
  20. package/dist/cjs/commands/map.js +42 -35
  21. package/dist/cjs/commands/map.js.map +1 -1
  22. package/dist/cjs/commands/path.d.cts +14 -0
  23. package/dist/cjs/commands/path.d.ts +14 -0
  24. package/dist/cjs/commands/path.js +209 -0
  25. package/dist/cjs/commands/path.js.map +1 -0
  26. package/dist/cjs/commands/peek.d.cts +25 -2
  27. package/dist/cjs/commands/peek.d.ts +25 -2
  28. package/dist/cjs/commands/peek.js +131 -50
  29. package/dist/cjs/commands/peek.js.map +1 -1
  30. package/dist/cjs/commands/related.d.cts +16 -3
  31. package/dist/cjs/commands/related.d.ts +16 -3
  32. package/dist/cjs/commands/related.js +131 -98
  33. package/dist/cjs/commands/related.js.map +1 -1
  34. package/dist/cjs/commands/scope.d.cts +1 -0
  35. package/dist/cjs/commands/scope.d.ts +1 -0
  36. package/dist/cjs/commands/scope.js +149 -0
  37. package/dist/cjs/commands/scope.js.map +1 -1
  38. package/dist/cjs/commands/search.d.cts +30 -3
  39. package/dist/cjs/commands/search.d.ts +30 -3
  40. package/dist/cjs/commands/search.js +240 -73
  41. package/dist/cjs/commands/search.js.map +1 -1
  42. package/dist/cjs/commands/signals.d.cts +22 -7
  43. package/dist/cjs/commands/signals.d.ts +22 -7
  44. package/dist/cjs/commands/signals.js +77 -15
  45. package/dist/cjs/commands/signals.js.map +1 -1
  46. package/dist/cjs/commands/snapshot.d.cts +3 -0
  47. package/dist/cjs/commands/snapshot.d.ts +3 -0
  48. package/dist/cjs/commands/snapshot.js +180 -0
  49. package/dist/cjs/commands/snapshot.js.map +1 -0
  50. package/dist/cjs/config/load.js +6 -0
  51. package/dist/cjs/config/load.js.map +1 -1
  52. package/dist/cjs/embed/cohere.js +41 -16
  53. package/dist/cjs/embed/cohere.js.map +1 -1
  54. package/dist/cjs/embed/endpoint.d.cts +2 -0
  55. package/dist/cjs/embed/endpoint.d.ts +2 -0
  56. package/dist/cjs/embed/endpoint.js +30 -0
  57. package/dist/cjs/embed/endpoint.js.map +1 -0
  58. package/dist/cjs/embed/handoff.d.cts +7 -2
  59. package/dist/cjs/embed/handoff.d.ts +7 -2
  60. package/dist/cjs/embed/handoff.js +10 -0
  61. package/dist/cjs/embed/handoff.js.map +1 -1
  62. package/dist/cjs/embed/http.d.cts +18 -1
  63. package/dist/cjs/embed/http.d.ts +18 -1
  64. package/dist/cjs/embed/http.js +239 -40
  65. package/dist/cjs/embed/http.js.map +1 -1
  66. package/dist/cjs/embed/openai.js +39 -17
  67. package/dist/cjs/embed/openai.js.map +1 -1
  68. package/dist/cjs/embed/query.d.cts +9 -3
  69. package/dist/cjs/embed/query.d.ts +9 -3
  70. package/dist/cjs/embed/query.js +257 -90
  71. package/dist/cjs/embed/query.js.map +1 -1
  72. package/dist/cjs/embed/registry.d.cts +2 -2
  73. package/dist/cjs/embed/registry.d.ts +2 -2
  74. package/dist/cjs/embed/registry.js +36 -4
  75. package/dist/cjs/embed/registry.js.map +1 -1
  76. package/dist/cjs/embed/static.js +6 -2
  77. package/dist/cjs/embed/static.js.map +1 -1
  78. package/dist/cjs/embed/store.js +42 -77
  79. package/dist/cjs/embed/store.js.map +1 -1
  80. package/dist/cjs/embed/types.d.cts +5 -2
  81. package/dist/cjs/embed/types.d.ts +5 -2
  82. package/dist/cjs/embed/types.js.map +1 -1
  83. package/dist/cjs/features/embed.js +290 -43
  84. package/dist/cjs/features/embed.js.map +1 -1
  85. package/dist/cjs/graph/traverse.d.cts +2 -2
  86. package/dist/cjs/graph/traverse.d.ts +2 -2
  87. package/dist/cjs/graph/traverse.js +15 -5
  88. package/dist/cjs/graph/traverse.js.map +1 -1
  89. package/dist/cjs/index.d.cts +2 -2
  90. package/dist/cjs/index.d.ts +2 -2
  91. package/dist/cjs/index.js +6 -0
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/cjs/output/output.d.cts +4 -36
  94. package/dist/cjs/output/output.d.ts +4 -36
  95. package/dist/cjs/output/output.js +1 -2
  96. package/dist/cjs/output/output.js.map +1 -1
  97. package/dist/cjs/scan/pool.d.cts +2 -1
  98. package/dist/cjs/scan/pool.d.ts +2 -1
  99. package/dist/cjs/scan/pool.js +116 -27
  100. package/dist/cjs/scan/pool.js.map +1 -1
  101. package/dist/cjs/scan/reparse.d.cts +1 -0
  102. package/dist/cjs/scan/reparse.d.ts +1 -0
  103. package/dist/cjs/scan/reparse.js +75 -21
  104. package/dist/cjs/scan/reparse.js.map +1 -1
  105. package/dist/cjs/store/builder.d.cts +11 -21
  106. package/dist/cjs/store/builder.d.ts +11 -21
  107. package/dist/cjs/store/builder.js +1077 -438
  108. package/dist/cjs/store/builder.js.map +1 -1
  109. package/dist/cjs/store/duckdb/connection.js +16 -2
  110. package/dist/cjs/store/duckdb/connection.js.map +1 -1
  111. package/dist/cjs/store/duckdb/open.d.cts +1 -1
  112. package/dist/cjs/store/duckdb/open.d.ts +1 -1
  113. package/dist/cjs/store/duckdb/open.js +73 -65
  114. package/dist/cjs/store/duckdb/open.js.map +1 -1
  115. package/dist/cjs/store/duckdb/reconcile.js +533 -15
  116. package/dist/cjs/store/duckdb/reconcile.js.map +1 -1
  117. package/dist/cjs/store/embed-scope.js +19 -9
  118. package/dist/cjs/store/embed-scope.js.map +1 -1
  119. package/dist/cjs/store/index.d.cts +6 -0
  120. package/dist/cjs/store/index.d.ts +6 -0
  121. package/dist/cjs/store/index.js +8 -4
  122. package/dist/cjs/store/index.js.map +1 -1
  123. package/dist/cjs/store/open.d.cts +6 -1
  124. package/dist/cjs/store/open.d.ts +6 -1
  125. package/dist/cjs/store/open.js +230 -307
  126. package/dist/cjs/store/open.js.map +1 -1
  127. package/dist/cjs/store/readiness.d.cts +5 -0
  128. package/dist/cjs/store/readiness.d.ts +5 -0
  129. package/dist/cjs/store/readiness.js +39 -0
  130. package/dist/cjs/store/readiness.js.map +1 -0
  131. package/dist/cjs/store/reconcile.d.cts +26 -1
  132. package/dist/cjs/store/reconcile.d.ts +26 -1
  133. package/dist/cjs/store/reconcile.js +670 -576
  134. package/dist/cjs/store/reconcile.js.map +1 -1
  135. package/dist/cjs/store/signature.d.cts +1 -0
  136. package/dist/cjs/store/signature.d.ts +1 -0
  137. package/dist/cjs/store/signature.js +9 -0
  138. package/dist/cjs/store/signature.js.map +1 -1
  139. package/dist/cjs/store/sqlite/open.d.cts +1 -1
  140. package/dist/cjs/store/sqlite/open.d.ts +1 -1
  141. package/dist/cjs/store/sqlite/open.js +84 -90
  142. package/dist/cjs/store/sqlite/open.js.map +1 -1
  143. package/dist/cjs/store/sqlite/reconcile.js.map +1 -1
  144. package/dist/cjs/store/sqlite/store.js +63 -60
  145. package/dist/cjs/store/sqlite/store.js.map +1 -1
  146. package/dist/cjs/store/sqlite/vectors.d.cts +2 -2
  147. package/dist/cjs/store/sqlite/vectors.d.ts +2 -2
  148. package/dist/cjs/store/sqlite/vectors.js +8 -4
  149. package/dist/cjs/store/sqlite/vectors.js.map +1 -1
  150. package/dist/cjs/store/stages.js.map +1 -1
  151. package/dist/cjs/store/turso/connection.d.cts +1 -0
  152. package/dist/cjs/store/turso/connection.d.ts +1 -0
  153. package/dist/cjs/store/turso/connection.js +319 -94
  154. package/dist/cjs/store/turso/connection.js.map +1 -1
  155. package/dist/cjs/store/turso/open.d.cts +1 -1
  156. package/dist/cjs/store/turso/open.d.ts +1 -1
  157. package/dist/cjs/store/turso/open.js +70 -74
  158. package/dist/cjs/store/turso/open.js.map +1 -1
  159. package/dist/cjs/store/turso/store.js +25 -23
  160. package/dist/cjs/store/turso/store.js.map +1 -1
  161. package/dist/cjs/store/turso/vectors.d.cts +2 -2
  162. package/dist/cjs/store/turso/vectors.d.ts +2 -2
  163. package/dist/cjs/store/turso/vectors.js +26 -16
  164. package/dist/cjs/store/turso/vectors.js.map +1 -1
  165. package/dist/cjs/store/types.d.cts +4 -1
  166. package/dist/cjs/store/types.d.ts +4 -1
  167. package/dist/cjs/store/types.js.map +1 -1
  168. package/dist/cjs/store/vectors.d.cts +14 -1
  169. package/dist/cjs/store/vectors.d.ts +14 -1
  170. package/dist/cjs/store/vectors.js +61 -0
  171. package/dist/cjs/store/vectors.js.map +1 -1
  172. package/dist/cjs/watch.d.cts +6 -0
  173. package/dist/cjs/watch.d.ts +6 -0
  174. package/dist/cjs/watch.js +42 -10
  175. package/dist/cjs/watch.js.map +1 -1
  176. package/dist/cjs/workers/parse.d.cts +4 -3
  177. package/dist/cjs/workers/parse.d.ts +4 -3
  178. package/dist/cjs/workers/parse.js +19 -17
  179. package/dist/cjs/workers/parse.js.map +1 -1
  180. package/dist/esm/cli/index.d.ts +3 -3
  181. package/dist/esm/cli/index.js +3 -3
  182. package/dist/esm/cli/index.js.map +1 -1
  183. package/dist/esm/cli/path.js +4 -10
  184. package/dist/esm/cli/path.js.map +1 -1
  185. package/dist/esm/cli/peek.js +20 -2
  186. package/dist/esm/cli/peek.js.map +1 -1
  187. package/dist/esm/cli/related.js +5 -3
  188. package/dist/esm/cli/related.js.map +1 -1
  189. package/dist/esm/cli/search.js +12 -2
  190. package/dist/esm/cli/search.js.map +1 -1
  191. package/dist/esm/commands/index.d.ts +6 -3
  192. package/dist/esm/commands/index.js +1 -0
  193. package/dist/esm/commands/index.js.map +1 -1
  194. package/dist/esm/commands/map.d.ts +14 -5
  195. package/dist/esm/commands/map.js +2 -0
  196. package/dist/esm/commands/map.js.map +1 -1
  197. package/dist/esm/commands/path.d.ts +14 -0
  198. package/dist/esm/commands/path.js +33 -0
  199. package/dist/esm/commands/path.js.map +1 -0
  200. package/dist/esm/commands/peek.d.ts +25 -2
  201. package/dist/esm/commands/peek.js +59 -19
  202. package/dist/esm/commands/peek.js.map +1 -1
  203. package/dist/esm/commands/related.d.ts +16 -3
  204. package/dist/esm/commands/related.js +45 -28
  205. package/dist/esm/commands/related.js.map +1 -1
  206. package/dist/esm/commands/scope.d.ts +1 -0
  207. package/dist/esm/commands/scope.js +58 -0
  208. package/dist/esm/commands/scope.js.map +1 -1
  209. package/dist/esm/commands/search.d.ts +30 -3
  210. package/dist/esm/commands/search.js +95 -20
  211. package/dist/esm/commands/search.js.map +1 -1
  212. package/dist/esm/commands/signals.d.ts +22 -7
  213. package/dist/esm/commands/signals.js +74 -17
  214. package/dist/esm/commands/signals.js.map +1 -1
  215. package/dist/esm/commands/snapshot.d.ts +3 -0
  216. package/dist/esm/commands/snapshot.js +25 -0
  217. package/dist/esm/commands/snapshot.js.map +1 -0
  218. package/dist/esm/config/load.js +6 -0
  219. package/dist/esm/config/load.js.map +1 -1
  220. package/dist/esm/embed/cohere.js +35 -10
  221. package/dist/esm/embed/cohere.js.map +1 -1
  222. package/dist/esm/embed/endpoint.d.ts +2 -0
  223. package/dist/esm/embed/endpoint.js +11 -0
  224. package/dist/esm/embed/endpoint.js.map +1 -0
  225. package/dist/esm/embed/handoff.d.ts +7 -2
  226. package/dist/esm/embed/handoff.js +7 -0
  227. package/dist/esm/embed/handoff.js.map +1 -1
  228. package/dist/esm/embed/http.d.ts +18 -1
  229. package/dist/esm/embed/http.js +137 -17
  230. package/dist/esm/embed/http.js.map +1 -1
  231. package/dist/esm/embed/openai.js +34 -12
  232. package/dist/esm/embed/openai.js.map +1 -1
  233. package/dist/esm/embed/query.d.ts +9 -3
  234. package/dist/esm/embed/query.js +98 -26
  235. package/dist/esm/embed/query.js.map +1 -1
  236. package/dist/esm/embed/registry.d.ts +2 -2
  237. package/dist/esm/embed/registry.js +34 -5
  238. package/dist/esm/embed/registry.js.map +1 -1
  239. package/dist/esm/embed/static.js +10 -2
  240. package/dist/esm/embed/static.js.map +1 -1
  241. package/dist/esm/embed/store.js +30 -21
  242. package/dist/esm/embed/store.js.map +1 -1
  243. package/dist/esm/embed/types.d.ts +5 -2
  244. package/dist/esm/embed/types.js.map +1 -1
  245. package/dist/esm/features/embed.js +82 -21
  246. package/dist/esm/features/embed.js.map +1 -1
  247. package/dist/esm/graph/traverse.d.ts +2 -2
  248. package/dist/esm/graph/traverse.js +4 -2
  249. package/dist/esm/graph/traverse.js.map +1 -1
  250. package/dist/esm/index.d.ts +2 -2
  251. package/dist/esm/index.js +1 -1
  252. package/dist/esm/index.js.map +1 -1
  253. package/dist/esm/output/output.d.ts +4 -36
  254. package/dist/esm/output/output.js +1 -2
  255. package/dist/esm/output/output.js.map +1 -1
  256. package/dist/esm/scan/pool.d.ts +2 -1
  257. package/dist/esm/scan/pool.js +80 -23
  258. package/dist/esm/scan/pool.js.map +1 -1
  259. package/dist/esm/scan/reparse.d.ts +1 -0
  260. package/dist/esm/scan/reparse.js +40 -12
  261. package/dist/esm/scan/reparse.js.map +1 -1
  262. package/dist/esm/store/builder.d.ts +11 -21
  263. package/dist/esm/store/builder.js +337 -133
  264. package/dist/esm/store/builder.js.map +1 -1
  265. package/dist/esm/store/duckdb/connection.js +9 -1
  266. package/dist/esm/store/duckdb/connection.js.map +1 -1
  267. package/dist/esm/store/duckdb/open.d.ts +1 -1
  268. package/dist/esm/store/duckdb/open.js +13 -9
  269. package/dist/esm/store/duckdb/open.js.map +1 -1
  270. package/dist/esm/store/duckdb/reconcile.js +145 -10
  271. package/dist/esm/store/duckdb/reconcile.js.map +1 -1
  272. package/dist/esm/store/embed-scope.js +16 -6
  273. package/dist/esm/store/embed-scope.js.map +1 -1
  274. package/dist/esm/store/index.d.ts +6 -0
  275. package/dist/esm/store/index.js +10 -4
  276. package/dist/esm/store/index.js.map +1 -1
  277. package/dist/esm/store/open.d.ts +6 -1
  278. package/dist/esm/store/open.js +77 -87
  279. package/dist/esm/store/open.js.map +1 -1
  280. package/dist/esm/store/readiness.d.ts +5 -0
  281. package/dist/esm/store/readiness.js +11 -0
  282. package/dist/esm/store/readiness.js.map +1 -0
  283. package/dist/esm/store/reconcile.d.ts +26 -1
  284. package/dist/esm/store/reconcile.js +142 -120
  285. package/dist/esm/store/reconcile.js.map +1 -1
  286. package/dist/esm/store/signature.d.ts +1 -0
  287. package/dist/esm/store/signature.js +8 -0
  288. package/dist/esm/store/signature.js.map +1 -1
  289. package/dist/esm/store/sqlite/open.d.ts +1 -1
  290. package/dist/esm/store/sqlite/open.js +12 -12
  291. package/dist/esm/store/sqlite/open.js.map +1 -1
  292. package/dist/esm/store/sqlite/reconcile.js +2 -2
  293. package/dist/esm/store/sqlite/reconcile.js.map +1 -1
  294. package/dist/esm/store/sqlite/store.js +21 -18
  295. package/dist/esm/store/sqlite/store.js.map +1 -1
  296. package/dist/esm/store/sqlite/vectors.d.ts +2 -2
  297. package/dist/esm/store/sqlite/vectors.js +7 -5
  298. package/dist/esm/store/sqlite/vectors.js.map +1 -1
  299. package/dist/esm/store/stages.js.map +1 -1
  300. package/dist/esm/store/turso/connection.d.ts +1 -0
  301. package/dist/esm/store/turso/connection.js +97 -28
  302. package/dist/esm/store/turso/connection.js.map +1 -1
  303. package/dist/esm/store/turso/open.d.ts +1 -1
  304. package/dist/esm/store/turso/open.js +9 -8
  305. package/dist/esm/store/turso/open.js.map +1 -1
  306. package/dist/esm/store/turso/store.js +16 -14
  307. package/dist/esm/store/turso/store.js.map +1 -1
  308. package/dist/esm/store/turso/vectors.d.ts +2 -2
  309. package/dist/esm/store/turso/vectors.js +27 -17
  310. package/dist/esm/store/turso/vectors.js.map +1 -1
  311. package/dist/esm/store/types.d.ts +4 -1
  312. package/dist/esm/store/types.js.map +1 -1
  313. package/dist/esm/store/vectors.d.ts +14 -1
  314. package/dist/esm/store/vectors.js +55 -0
  315. package/dist/esm/store/vectors.js.map +1 -1
  316. package/dist/esm/watch.d.ts +6 -0
  317. package/dist/esm/watch.js +40 -14
  318. package/dist/esm/watch.js.map +1 -1
  319. package/dist/esm/workers/parse.d.ts +4 -3
  320. package/dist/esm/workers/parse.js +19 -17
  321. package/dist/esm/workers/parse.js.map +1 -1
  322. package/package.json +1 -1
  323. package/skills/sense/EXAMPLES.md +3 -3
  324. package/skills/sense/SKILL.md +11 -3
  325. package/skills/sense/references/search.md +17 -1
  326. package/skills/sense/references/sql.md +1 -1
  327. package/skills/sense/references/stores/duckdb.md +1 -1
  328. package/skills/sense/references/terminology.md +32 -0
  329. package/skills/sense-setup/SKILL.md +2 -2
  330. package/skills/sense-setup/references/embeddings.md +1 -1
  331. package/skills/sense-setup/references/store-benchmarks.md +5 -5
  332. package/skills/sense-setup/references/stores/duckdb.md +1 -1
@@ -29,14 +29,20 @@ var _errorsts = require("../errors.js");
29
29
  var _indexts1 = require("../features/index.js");
30
30
  var _builderts = require("./builder.js");
31
31
  var _cachets = require("./cache.js");
32
- var _embedscopets = require("./embed-scope.js");
33
- var _featurescopets = require("./feature-scope.js");
34
32
  var _lockwaitts = require("./lock-wait.js");
35
- var _presetscopets = require("./preset-scope.js");
33
+ var _readinessts = require("./readiness.js");
36
34
  var _sharedts = require("./shared.js");
37
35
  var _signaturets = require("./signature.js");
38
36
  var _stagests = require("./stages.js");
39
37
  var _transactionts = require("./transaction.js");
38
+ function _array_like_to_array(arr, len) {
39
+ if (len == null || len > arr.length) len = arr.length;
40
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
41
+ return arr2;
42
+ }
43
+ function _array_without_holes(arr) {
44
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
45
+ }
40
46
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
41
47
  try {
42
48
  var info = gen[key](arg);
@@ -63,6 +69,17 @@ function _async_to_generator(fn) {
63
69
  });
64
70
  };
65
71
  }
72
+ function _iterable_to_array(iter) {
73
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
74
+ return Array.from(iter);
75
+ }
76
+ }
77
+ function _non_iterable_spread() {
78
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
79
+ }
80
+ function _to_consumable_array(arr) {
81
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
82
+ }
66
83
  function _ts_generator(thisArg, body) {
67
84
  var f, y, t, _ = {
68
85
  label: 0,
@@ -162,7 +179,14 @@ function _ts_generator(thisArg, body) {
162
179
  };
163
180
  }
164
181
  }
165
- var CORE_READY_META_KEY = 'core_ready';
182
+ function _unsupported_iterable_to_array(o, minLen) {
183
+ if (!o) return;
184
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
185
+ var n = Object.prototype.toString.call(o).slice(8, -1);
186
+ if (n === "Object" && o.constructor) n = o.constructor.name;
187
+ if (n === "Map" || n === "Set") return Array.from(n);
188
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
189
+ }
166
190
  var LOCK_POLL_MS = 50;
167
191
  var lockWait = (0, _nodediagnostics_channel.channel)('sensemaking.store.lock-wait');
168
192
  function notReady(reason) {
@@ -292,7 +316,7 @@ function assertCoreSchema(conn) {
292
316
  }
293
317
  function connectExisting(cfg, dialect, requirements) {
294
318
  return _async_to_generator(function() {
295
- var _cfg_configDir, configDir, dbPath, _ref, handle, conn, version, features, ready, unused, wantFeatures, _dialect_assertLexicalReady, err;
319
+ var _cfg_configDir, configDir, dbPath, _ref, handle, conn, state, unused, _state_version, wantFeatures, _dialect_assertLexicalReady, err;
296
320
  return _ts_generator(this, function(_state) {
297
321
  switch(_state.label){
298
322
  case 0:
@@ -312,73 +336,97 @@ function connectExisting(cfg, dialect, requirements) {
312
336
  case 2:
313
337
  _state.trys.push([
314
338
  2,
315
- 12,
339
+ 9,
316
340
  ,
317
- 14
341
+ 11
318
342
  ]);
319
343
  _state.label = 3;
320
344
  case 3:
321
345
  _state.trys.push([
322
346
  3,
323
- 8,
347
+ 5,
324
348
  ,
325
- 9
349
+ 6
326
350
  ]);
327
351
  return [
328
352
  4,
329
- (0, _sharedts.getMeta)(conn, 'schema_version')
353
+ (0, _transactionts.withTransaction)(conn, function() {
354
+ return _async_to_generator(function() {
355
+ var version, features, ready;
356
+ return _ts_generator(this, function(_state) {
357
+ switch(_state.label){
358
+ case 0:
359
+ return [
360
+ 4,
361
+ (0, _sharedts.getMeta)(conn, 'schema_version')
362
+ ];
363
+ case 1:
364
+ version = _state.sent();
365
+ return [
366
+ 4,
367
+ (0, _sharedts.getMeta)(conn, _readinessts.FEATURE_SIGNATURE_META_KEY)
368
+ ];
369
+ case 2:
370
+ features = _state.sent();
371
+ return [
372
+ 4,
373
+ (0, _sharedts.getMeta)(conn, _readinessts.CORE_READY_META_KEY)
374
+ ];
375
+ case 3:
376
+ ready = _state.sent();
377
+ return [
378
+ 4,
379
+ assertCoreSchema(conn)
380
+ ];
381
+ case 4:
382
+ _state.sent();
383
+ return [
384
+ 2,
385
+ {
386
+ version: version,
387
+ features: features,
388
+ ready: ready
389
+ }
390
+ ];
391
+ }
392
+ });
393
+ })();
394
+ })
330
395
  ];
331
396
  case 4:
332
- version = _state.sent();
333
- return [
334
- 4,
335
- (0, _sharedts.getMeta)(conn, 'features')
336
- ];
337
- case 5:
338
- features = _state.sent();
339
- return [
340
- 4,
341
- (0, _sharedts.getMeta)(conn, CORE_READY_META_KEY)
342
- ];
343
- case 6:
344
- ready = _state.sent();
345
- return [
346
- 4,
347
- assertCoreSchema(conn)
348
- ];
349
- case 7:
350
- _state.sent();
397
+ state = _state.sent();
351
398
  return [
352
399
  3,
353
- 9
400
+ 6
354
401
  ];
355
- case 8:
402
+ case 5:
356
403
  unused = _state.sent();
357
404
  if (!(0, _nodefs.existsSync)(dbPath)) throw notReady("the derived index was deleted while opening ".concat(dbPath));
358
405
  throw notReady("the derived index at ".concat(dbPath, " has no compatible schema"));
359
- case 9:
360
- if (version !== dialect.schemaVersion) {
361
- throw notReady("the derived index at ".concat(dbPath, " uses schema ").concat(version !== null && version !== void 0 ? version : 'unknown', ", but this sense version requires ").concat(dialect.schemaVersion));
406
+ case 6:
407
+ if (state.version !== dialect.schemaVersion) {
408
+ ;
409
+ throw notReady("the derived index at ".concat(dbPath, " uses schema ").concat((_state_version = state.version) !== null && _state_version !== void 0 ? _state_version : 'unknown', ", but this sense version requires ").concat(dialect.schemaVersion));
362
410
  }
363
411
  wantFeatures = (0, _indexts.featureSignature)(cfg, _indexts1.FEATURES);
364
- if (features !== wantFeatures) {
412
+ if (!(0, _readinessts.isPublishedFeatureSignature)(state.features, wantFeatures)) {
365
413
  throw notReady("the derived index at ".concat(dbPath, " was built for different configuration features"));
366
414
  }
367
- if (ready !== '1') {
415
+ if (!(0, _readinessts.isCoreReady)(state.ready)) {
368
416
  throw notReady("the derived index at ".concat(dbPath, " has an incomplete core build"));
369
417
  }
370
418
  if (!requirements.has('lexical')) return [
371
419
  3,
372
- 11
420
+ 8
373
421
  ];
374
422
  return [
375
423
  4,
376
424
  (_dialect_assertLexicalReady = dialect.assertLexicalReady) === null || _dialect_assertLexicalReady === void 0 ? void 0 : _dialect_assertLexicalReady.call(dialect, conn)
377
425
  ];
378
- case 10:
426
+ case 7:
379
427
  _state.sent();
380
- _state.label = 11;
381
- case 11:
428
+ _state.label = 8;
429
+ case 8:
382
430
  if (!(0, _nodefs.existsSync)(dbPath)) throw notReady("the derived index was deleted while opening ".concat(dbPath));
383
431
  return [
384
432
  2,
@@ -393,7 +441,7 @@ function connectExisting(cfg, dialect, requirements) {
393
441
  observational: true
394
442
  }
395
443
  ];
396
- case 12:
444
+ case 9:
397
445
  err = _state.sent();
398
446
  return [
399
447
  4,
@@ -401,10 +449,10 @@ function connectExisting(cfg, dialect, requirements) {
401
449
  observational: true
402
450
  })
403
451
  ];
404
- case 13:
452
+ case 10:
405
453
  _state.sent();
406
454
  throw err;
407
- case 14:
455
+ case 11:
408
456
  return [
409
457
  2
410
458
  ];
@@ -413,8 +461,9 @@ function connectExisting(cfg, dialect, requirements) {
413
461
  })();
414
462
  }
415
463
  function connectForBuild(cfg, dialect, requirements) {
464
+ var cacheReplaced = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
416
465
  return _async_to_generator(function() {
417
- var _cfg_configDir, _cfg_rootDir, configDir, stateDir, dbPath, _ref, handle, conn, closed, builder, version, features, ready, wantFeatures, recoverIncomplete, forcedPaths, embedInvalidate, featureToggles, _cfg_rootDir1, changedKeys, presetForced, embedKind, toggles, changed, changed1, changed2, _ref1, recordedMaxMs, embedParsed, _tmp, featureParsed, _tmp1, _ref2, parsed, warnings, stages, _tmp2, _dialect_prepareLexical, err;
466
+ var _cfg_configDir, configDir, stateDir, dbPath, _ref, handle, conn, closed, builder, _dialect_prepareConnection, version, _ref1, recordedMaxMs, _ref2, parsed, warnings, stages, messages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, message, _dialect_prepareLexical, err, cleanupTasks, builderToClose, cleanup, cleanupErrors;
418
467
  return _ts_generator(this, function(_state) {
419
468
  switch(_state.label){
420
469
  case 0:
@@ -434,17 +483,13 @@ function connectForBuild(cfg, dialect, requirements) {
434
483
  case 1:
435
484
  _ref = _state.sent(), handle = _ref.handle, conn = _ref.conn;
436
485
  closed = false;
437
- builder = (0, _builderts.createBuilder)(conn, cfg, {
438
- rootDir: (_cfg_rootDir = cfg.rootDir) !== null && _cfg_rootDir !== void 0 ? _cfg_rootDir : cfg.baseDir,
439
- configDir: configDir
440
- }, dialect.reconcileDialect);
441
486
  _state.label = 2;
442
487
  case 2:
443
488
  _state.trys.push([
444
489
  2,
445
- 35,
490
+ 17,
446
491
  ,
447
- 39
492
+ 19
448
493
  ]);
449
494
  return [
450
495
  4,
@@ -458,139 +503,52 @@ function connectForBuild(cfg, dialect, requirements) {
458
503
  ];
459
504
  case 4:
460
505
  version = _state.sent();
461
- return [
462
- 4,
463
- (0, _sharedts.getMeta)(conn, 'features')
464
- ];
465
- case 5:
466
- features = _state.sent();
467
- return [
468
- 4,
469
- (0, _sharedts.getMeta)(conn, CORE_READY_META_KEY)
470
- ];
471
- case 6:
472
- ready = _state.sent();
473
- wantFeatures = (0, _indexts.featureSignature)(cfg, _indexts1.FEATURES);
474
- // `ready=0` may belong to another SQLite builder, so recovery stays in place and lets the
475
- // engine serialize it. It never unlinks the cache.
476
- return [
477
- 4,
478
- (0, _sharedts.setMeta)(conn, CORE_READY_META_KEY, '0')
479
- ];
480
- case 7:
481
- _state.sent();
482
- recoverIncomplete = ready === '0' && (version === null || version === dialect.schemaVersion);
483
506
  if (!(version !== null && version !== dialect.schemaVersion)) return [
484
507
  3,
485
- 9
508
+ 6
486
509
  ];
487
510
  console.error('sense: cache format changed (new sensemaking version); rebuilding the index');
488
- closed = true;
489
511
  return [
490
512
  4,
491
513
  dialect.close(handle)
492
514
  ];
493
- case 8:
515
+ case 5:
494
516
  _state.sent();
517
+ closed = true;
518
+ if (cacheReplaced) throw notReady("the derived index at ".concat(dbPath, " still reports incompatible schema ").concat(version, " after cache replacement"));
495
519
  (0, _cachets.clearCache)(cfg);
496
520
  return [
497
521
  2,
498
- connectForBuild(cfg, dialect, requirements)
499
- ];
500
- case 9:
501
- if (!recoverIncomplete) return [
502
- 3,
503
- 10
504
- ];
505
- console.error('sense: recovering an incomplete index generation in place');
506
- return [
507
- 3,
508
- 16
509
- ];
510
- case 10:
511
- if (!(features !== null && features !== wantFeatures)) return [
512
- 3,
513
- 16
514
- ];
515
- changedKeys = (0, _signaturets.changedSignatureKeys)(features !== null && features !== void 0 ? features : '', wantFeatures);
516
- presetForced = (0, _presetscopets.isPresetOnlyChange)(changedKeys) ? (0, _presetscopets.forcedPresetPaths)(cfg, (_cfg_rootDir1 = cfg.rootDir) !== null && _cfg_rootDir1 !== void 0 ? _cfg_rootDir1 : cfg.baseDir, features !== null && features !== void 0 ? features : '', changedKeys) : null;
517
- embedKind = changedKeys.size === 1 && changedKeys.has('embed') ? (0, _embedscopets.classifyEmbedChange)(features !== null && features !== void 0 ? features : '', wantFeatures) : null;
518
- toggles = (0, _featurescopets.isFeatureOnlyChange)(changedKeys) ? (0, _featurescopets.classifyFeatureToggles)(features !== null && features !== void 0 ? features : '', wantFeatures, changedKeys) : null;
519
- if (!(changedKeys.size === 1 && changedKeys.has('embed') && (0, _signaturets.embedIdentityAdopted)(features !== null && features !== void 0 ? features : '', wantFeatures))) return [
520
- 3,
521
- 11
522
+ connectForBuild(cfg, dialect, requirements, true)
522
523
  ];
523
- console.error("sense: recorded the embedding model's resolved identity; vectors are unaffected");
524
- return [
525
- 3,
526
- 16
527
- ];
528
- case 11:
529
- if (!(embedKind !== null)) return [
530
- 3,
531
- 12
532
- ];
533
- embedInvalidate = embedKind;
534
- console.error(embedKind === 'model' ? 'sense: config change (embed settings) invalidates only the stale vectors' : 'sense: config change (embed settings) rebuilds only the embeddings it affects');
535
- return [
536
- 3,
537
- 16
538
- ];
539
- case 12:
540
- if (!(presetForced !== null)) return [
541
- 3,
542
- 13
543
- ];
544
- forcedPaths = presetForced;
545
- changed = (0, _signaturets.signatureDiff)(features !== null && features !== void 0 ? features : '', wantFeatures);
546
- console.error("sense: config change (".concat(changed, ") reparses only the files it affects"));
547
- return [
548
- 3,
549
- 16
550
- ];
551
- case 13:
552
- if (!(toggles !== null)) return [
553
- 3,
554
- 14
555
- ];
556
- featureToggles = toggles;
557
- changed1 = (0, _signaturets.signatureDiff)(features !== null && features !== void 0 ? features : '', wantFeatures);
558
- console.error("sense: config change (".concat(changed1, ") reparses only the feature it affects"));
559
- return [
524
+ case 6:
525
+ if (!(version === null)) return [
560
526
  3,
561
- 16
527
+ 8
562
528
  ];
563
- case 14:
564
- changed2 = (0, _signaturets.signatureDiff)(features !== null && features !== void 0 ? features : '', wantFeatures);
565
- console.error("sense: config change (".concat(changed2, ") rebuilds the index"));
566
- closed = true;
567
529
  return [
568
530
  4,
569
- dialect.close(handle)
531
+ dialect.ensureCoreSchema(handle, conn)
570
532
  ];
571
- case 15:
533
+ case 7:
572
534
  _state.sent();
573
- (0, _cachets.clearCache)(cfg);
574
- return [
575
- 2,
576
- connectForBuild(cfg, dialect, requirements)
577
- ];
578
- case 16:
535
+ _state.label = 8;
536
+ case 8:
579
537
  return [
580
538
  4,
581
- dialect.ensureSchema(handle, conn, cfg)
539
+ (_dialect_prepareConnection = dialect.prepareConnection) === null || _dialect_prepareConnection === void 0 ? void 0 : _dialect_prepareConnection.call(dialect, handle, conn, cfg)
582
540
  ];
583
- case 17:
541
+ case 9:
584
542
  _state.sent();
585
543
  if (!dialect.setDerivedBusyTimeout) return [
586
544
  3,
587
- 20
545
+ 12
588
546
  ];
589
547
  return [
590
548
  4,
591
549
  (0, _sharedts.getMeta)(conn, 'reconcile_max_ms')
592
550
  ];
593
- case 18:
551
+ case 10:
594
552
  recordedMaxMs = Number.apply(void 0, [
595
553
  (_ref1 = _state.sent()) !== null && _ref1 !== void 0 ? _ref1 : '0'
596
554
  ]);
@@ -598,118 +556,56 @@ function connectForBuild(cfg, dialect, requirements) {
598
556
  4,
599
557
  dialect.setDerivedBusyTimeout(handle, conn, Math.min(Math.max(30000, 3 * recordedMaxMs), 600000))
600
558
  ];
601
- case 19:
559
+ case 11:
602
560
  _state.sent();
603
- _state.label = 20;
604
- case 20:
605
- if (!embedInvalidate) return [
606
- 3,
607
- 22
608
- ];
609
- return [
610
- 4,
611
- builder.invalidate(embedInvalidate)
612
- ];
613
- case 21:
614
- _tmp = _state.sent().parsed;
615
- return [
616
- 3,
617
- 23
618
- ];
619
- case 22:
620
- _tmp = 0;
621
- _state.label = 23;
622
- case 23:
623
- embedParsed = _tmp;
624
- if (!featureToggles) return [
625
- 3,
626
- 25
627
- ];
628
- return [
629
- 4,
630
- builder.invalidateFeatures(featureToggles)
631
- ];
632
- case 24:
633
- _tmp1 = _state.sent().parsed;
634
- return [
635
- 3,
636
- 26
637
- ];
638
- case 25:
639
- _tmp1 = 0;
640
- _state.label = 26;
641
- case 26:
642
- featureParsed = _tmp1;
643
- if (!recoverIncomplete) return [
644
- 3,
645
- 28
646
- ];
647
- return [
648
- 4,
649
- builder.recover()
650
- ];
651
- case 27:
652
- _tmp2 = _state.sent();
653
- return [
654
- 3,
655
- 30
656
- ];
657
- case 28:
658
- return [
659
- 4,
660
- builder.build(forcedPaths)
661
- ];
662
- case 29:
663
- _tmp2 = _state.sent();
664
- _state.label = 30;
665
- case 30:
666
- _ref2 = _tmp2, parsed = _ref2.parsed, warnings = _ref2.warnings, stages = _ref2.stages;
561
+ _state.label = 12;
562
+ case 12:
563
+ builder = (0, _builderts.createBuilder)(conn, cfg, dialect.reconcileDialect, function(snapshotCfg) {
564
+ return dialect.ensureFeatureSchema(handle, conn, snapshotCfg);
565
+ });
667
566
  return [
668
567
  4,
669
- (0, _transactionts.withTransaction)(conn, function() {
670
- return _async_to_generator(function() {
671
- return _ts_generator(this, function(_state) {
672
- switch(_state.label){
673
- case 0:
674
- return [
675
- 4,
676
- (0, _sharedts.setMeta)(conn, 'features', wantFeatures)
677
- ];
678
- case 1:
679
- _state.sent();
680
- return [
681
- 4,
682
- (0, _sharedts.setMeta)(conn, CORE_READY_META_KEY, '1')
683
- ];
684
- case 2:
685
- _state.sent();
686
- return [
687
- 2
688
- ];
689
- }
690
- });
691
- })();
692
- })
568
+ builder.build()
693
569
  ];
694
- case 31:
695
- _state.sent();
570
+ case 13:
571
+ _ref2 = _state.sent(), parsed = _ref2.parsed, warnings = _ref2.warnings, stages = _ref2.stages, messages = _ref2.messages;
572
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
573
+ try {
574
+ for(_iterator = messages[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
575
+ message = _step.value;
576
+ console.error(message);
577
+ }
578
+ } catch (err) {
579
+ _didIteratorError = true;
580
+ _iteratorError = err;
581
+ } finally{
582
+ try {
583
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
584
+ _iterator.return();
585
+ }
586
+ } finally{
587
+ if (_didIteratorError) {
588
+ throw _iteratorError;
589
+ }
590
+ }
591
+ }
696
592
  if (!requirements.has('lexical')) return [
697
593
  3,
698
- 33
594
+ 15
699
595
  ];
700
596
  return [
701
597
  4,
702
598
  (_dialect_prepareLexical = dialect.prepareLexical) === null || _dialect_prepareLexical === void 0 ? void 0 : _dialect_prepareLexical.call(dialect, conn)
703
599
  ];
704
- case 32:
600
+ case 14:
705
601
  _state.sent();
706
- _state.label = 33;
707
- case 33:
602
+ _state.label = 15;
603
+ case 15:
708
604
  return [
709
605
  4,
710
606
  builder.close()
711
607
  ];
712
- case 34:
608
+ case 16:
713
609
  _state.sent();
714
610
  return [
715
611
  2,
@@ -718,34 +614,40 @@ function connectForBuild(cfg, dialect, requirements) {
718
614
  conn: conn,
719
615
  cfg: cfg,
720
616
  dbPath: dbPath,
721
- parsed: parsed + embedParsed + featureParsed,
617
+ parsed: parsed,
722
618
  warnings: warnings,
723
619
  stages: stages,
724
620
  observational: false
725
621
  }
726
622
  ];
727
- case 35:
623
+ case 17:
728
624
  err = _state.sent();
625
+ cleanupTasks = [];
626
+ if (builder) {
627
+ builderToClose = builder;
628
+ cleanupTasks.push(Promise.resolve().then(function() {
629
+ return builderToClose.close();
630
+ }));
631
+ }
632
+ if (!closed) cleanupTasks.push(Promise.resolve().then(function() {
633
+ return dialect.close(handle);
634
+ }));
729
635
  return [
730
636
  4,
731
- builder.close()
732
- ];
733
- case 36:
734
- _state.sent();
735
- if (!!closed) return [
736
- 3,
737
- 38
738
- ];
739
- return [
740
- 4,
741
- dialect.close(handle)
637
+ Promise.allSettled(cleanupTasks)
742
638
  ];
743
- case 37:
744
- _state.sent();
745
- _state.label = 38;
746
- case 38:
639
+ case 18:
640
+ cleanup = _state.sent();
641
+ cleanupErrors = cleanup.filter(function(result) {
642
+ return result.status === 'rejected';
643
+ }).map(function(result) {
644
+ return result.reason;
645
+ });
646
+ if (cleanupErrors.length > 0) throw new AggregateError([
647
+ err
648
+ ].concat(_to_consumable_array(cleanupErrors)), 'opening the derived index failed and cleanup also failed');
747
649
  throw err;
748
- case 39:
650
+ case 19:
749
651
  return [
750
652
  2
751
653
  ];
@@ -753,24 +655,29 @@ function connectForBuild(cfg, dialect, requirements) {
753
655
  });
754
656
  })();
755
657
  }
756
- function prepareDocumentEmbeddings(store, cfg, allowed) {
757
- return _async_to_generator(function() {
758
- var preparedSignature, actualSignature, changedKeys, update, result;
658
+ function prepareDocumentEmbeddings(_0, _1, _2) {
659
+ return _async_to_generator(function(store, cfg, allowed) {
660
+ var options, _options_signal, _options_signal1, _options_signal2, preparedSignature, actualSignature, changedKeys;
661
+ var _arguments = arguments;
759
662
  return _ts_generator(this, function(_state) {
760
663
  switch(_state.label){
761
664
  case 0:
665
+ options = _arguments.length > 3 && _arguments[3] !== void 0 ? _arguments[3] : {};
666
+ (_options_signal = options.signal) === null || _options_signal === void 0 ? void 0 : _options_signal.throwIfAborted();
762
667
  return [
763
668
  4,
764
- (0, _sharedts.getMeta)(store, 'features')
669
+ (0, _sharedts.getMeta)(store, _readinessts.FEATURE_SIGNATURE_META_KEY)
765
670
  ];
766
671
  case 1:
767
672
  preparedSignature = _state.sent();
673
+ (_options_signal1 = options.signal) === null || _options_signal1 === void 0 ? void 0 : _options_signal1.throwIfAborted();
768
674
  return [
769
675
  4,
770
- (0, _queryts.embedPending)(store, cfg, allowed)
676
+ (0, _queryts.embedPending)(store, cfg, allowed, preparedSignature, options)
771
677
  ];
772
678
  case 2:
773
679
  _state.sent();
680
+ (_options_signal2 = options.signal) === null || _options_signal2 === void 0 ? void 0 : _options_signal2.throwIfAborted();
774
681
  actualSignature = (0, _indexts.featureSignature)(cfg, _indexts1.FEATURES);
775
682
  if (preparedSignature === actualSignature) return [
776
683
  2
@@ -781,32 +688,54 @@ function prepareDocumentEmbeddings(store, cfg, allowed) {
781
688
  }
782
689
  return [
783
690
  4,
784
- store.prepare('UPDATE meta SET value = ? WHERE key = ? AND value = ?')
691
+ store.transaction(function() {
692
+ return _async_to_generator(function() {
693
+ var _options_signal, _options_signal1, _options_signal2, update, result;
694
+ return _ts_generator(this, function(_state) {
695
+ switch(_state.label){
696
+ case 0:
697
+ (_options_signal = options.signal) === null || _options_signal === void 0 ? void 0 : _options_signal.throwIfAborted();
698
+ return [
699
+ 4,
700
+ store.prepare('UPDATE meta SET value = ? WHERE key = ? AND value = ?')
701
+ ];
702
+ case 1:
703
+ update = _state.sent();
704
+ (_options_signal1 = options.signal) === null || _options_signal1 === void 0 ? void 0 : _options_signal1.throwIfAborted();
705
+ return [
706
+ 4,
707
+ update.run(actualSignature, _readinessts.FEATURE_SIGNATURE_META_KEY, preparedSignature)
708
+ ];
709
+ case 2:
710
+ result = _state.sent();
711
+ (_options_signal2 = options.signal) === null || _options_signal2 === void 0 ? void 0 : _options_signal2.throwIfAborted();
712
+ if (Number(result.changes) !== 1) throw notReady('another build changed the index configuration while vectors were being prepared');
713
+ return [
714
+ 2
715
+ ];
716
+ }
717
+ });
718
+ })();
719
+ })
785
720
  ];
786
721
  case 3:
787
- update = _state.sent();
788
- return [
789
- 4,
790
- update.run(actualSignature, 'features', preparedSignature)
791
- ];
792
- case 4:
793
- result = _state.sent();
794
- if (Number(result.changes) !== 1) throw notReady('another build changed the index configuration while vectors were being prepared');
722
+ _state.sent();
795
723
  return [
796
724
  2
797
725
  ];
798
726
  }
799
727
  });
800
- })();
728
+ }).apply(this, arguments);
801
729
  }
802
730
  function openWithDialect(_0, _1) {
803
731
  return _async_to_generator(function(input, dialect) {
804
- var options, _options_requirements, cfg, buildEnabled, defaultRequirements, requirements, connected, _tmp, store, err;
732
+ var options, _options_requirements, _options_signal, cfg, buildEnabled, defaultRequirements, requirements, connected, _tmp, store, _options_signal1, err, cleanup;
805
733
  var _arguments = arguments;
806
734
  return _ts_generator(this, function(_state) {
807
735
  switch(_state.label){
808
736
  case 0:
809
737
  options = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : {};
738
+ (_options_signal = options.signal) === null || _options_signal === void 0 ? void 0 : _options_signal.throwIfAborted();
810
739
  cfg = normaliseConfig(input);
811
740
  buildEnabled = options.build !== false;
812
741
  defaultRequirements = new Set(buildEnabled ? [
@@ -847,7 +776,7 @@ function openWithDialect(_0, _1) {
847
776
  5,
848
777
  8,
849
778
  ,
850
- 13
779
+ 10
851
780
  ]);
852
781
  store = dialect.createStore(connected.handle, connected.conn, connected.cfg, {
853
782
  observational: connected.observational
@@ -859,12 +788,15 @@ function openWithDialect(_0, _1) {
859
788
  ];
860
789
  return [
861
790
  4,
862
- prepareDocumentEmbeddings(store, connected.cfg)
791
+ prepareDocumentEmbeddings(store, connected.cfg, undefined, {
792
+ signal: options.signal
793
+ })
863
794
  ];
864
795
  case 6:
865
796
  _state.sent();
866
797
  _state.label = 7;
867
798
  case 7:
799
+ (_options_signal1 = options.signal) === null || _options_signal1 === void 0 ? void 0 : _options_signal1.throwIfAborted();
868
800
  return [
869
801
  2,
870
802
  {
@@ -878,33 +810,24 @@ function openWithDialect(_0, _1) {
878
810
  ];
879
811
  case 8:
880
812
  err = _state.sent();
881
- if (!store) return [
882
- 3,
883
- 10
884
- ];
885
813
  return [
886
814
  4,
887
- store.close()
815
+ Promise.allSettled([
816
+ Promise.resolve().then(function() {
817
+ return store ? store.close() : dialect.close(connected.handle, {
818
+ observational: connected.observational
819
+ });
820
+ })
821
+ ])
888
822
  ];
889
823
  case 9:
890
- _state.sent();
891
- return [
892
- 3,
893
- 12
894
- ];
895
- case 10:
896
- return [
897
- 4,
898
- dialect.close(connected.handle, {
899
- observational: connected.observational
900
- })
901
- ];
902
- case 11:
903
- _state.sent();
904
- _state.label = 12;
905
- case 12:
824
+ cleanup = _state.sent();
825
+ if (cleanup[0].status === 'rejected') throw new AggregateError([
826
+ err,
827
+ cleanup[0].reason
828
+ ], 'opening the derived index failed and cleanup also failed');
906
829
  throw err;
907
- case 13:
830
+ case 10:
908
831
  return [
909
832
  2
910
833
  ];