@cavelang/cli 0.35.0 → 0.36.1

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 (327) hide show
  1. package/README.md +224 -12
  2. package/dist/internal/act/action.js +2 -1
  3. package/dist/internal/act/action.js.map +1 -1
  4. package/dist/internal/act/declare.d.ts.map +1 -1
  5. package/dist/internal/act/declare.js +82 -53
  6. package/dist/internal/act/declare.js.map +1 -1
  7. package/dist/internal/act/engine.d.ts +4 -3
  8. package/dist/internal/act/engine.d.ts.map +1 -1
  9. package/dist/internal/act/engine.js +121 -32
  10. package/dist/internal/act/engine.js.map +1 -1
  11. package/dist/internal/automate/cancellation.d.ts +3 -0
  12. package/dist/internal/automate/cancellation.d.ts.map +1 -0
  13. package/dist/internal/automate/cancellation.js +38 -0
  14. package/dist/internal/automate/cancellation.js.map +1 -0
  15. package/dist/internal/automate/declare.d.ts.map +1 -1
  16. package/dist/internal/automate/declare.js +49 -24
  17. package/dist/internal/automate/declare.js.map +1 -1
  18. package/dist/internal/automate/engine.d.ts +7 -3
  19. package/dist/internal/automate/engine.d.ts.map +1 -1
  20. package/dist/internal/automate/engine.js +196 -93
  21. package/dist/internal/automate/engine.js.map +1 -1
  22. package/dist/internal/automate/error-message.d.ts +3 -0
  23. package/dist/internal/automate/error-message.d.ts.map +1 -0
  24. package/dist/internal/automate/error-message.js +10 -0
  25. package/dist/internal/automate/error-message.js.map +1 -0
  26. package/dist/internal/automate/main.d.ts.map +1 -1
  27. package/dist/internal/automate/main.js +238 -35
  28. package/dist/internal/automate/main.js.map +1 -1
  29. package/dist/internal/automate/options.d.ts +4 -0
  30. package/dist/internal/automate/options.d.ts.map +1 -0
  31. package/dist/internal/automate/options.js +19 -0
  32. package/dist/internal/automate/options.js.map +1 -0
  33. package/dist/internal/connect/declared.d.ts +6 -27
  34. package/dist/internal/connect/declared.d.ts.map +1 -1
  35. package/dist/internal/connect/declared.js +165 -76
  36. package/dist/internal/connect/declared.js.map +1 -1
  37. package/dist/internal/connect/error-message.d.ts +3 -0
  38. package/dist/internal/connect/error-message.d.ts.map +1 -0
  39. package/dist/internal/connect/error-message.js +10 -0
  40. package/dist/internal/connect/error-message.js.map +1 -0
  41. package/dist/internal/connect/federation.d.ts +9 -0
  42. package/dist/internal/connect/federation.d.ts.map +1 -0
  43. package/dist/internal/connect/federation.js +19 -0
  44. package/dist/internal/connect/federation.js.map +1 -0
  45. package/dist/internal/connect/fetch-failure.d.ts +3 -0
  46. package/dist/internal/connect/fetch-failure.d.ts.map +1 -0
  47. package/dist/internal/connect/fetch-failure.js +36 -0
  48. package/dist/internal/connect/fetch-failure.js.map +1 -0
  49. package/dist/internal/connect/main.d.ts +1 -0
  50. package/dist/internal/connect/main.d.ts.map +1 -1
  51. package/dist/internal/connect/main.js +288 -114
  52. package/dist/internal/connect/main.js.map +1 -1
  53. package/dist/internal/connect/options.d.ts +3 -0
  54. package/dist/internal/connect/options.d.ts.map +1 -0
  55. package/dist/internal/connect/options.js +9 -0
  56. package/dist/internal/connect/options.js.map +1 -0
  57. package/dist/internal/connect/records.d.ts +3 -0
  58. package/dist/internal/connect/records.d.ts.map +1 -0
  59. package/dist/internal/connect/records.js +21 -0
  60. package/dist/internal/connect/records.js.map +1 -0
  61. package/dist/internal/connect/run.d.ts +1 -18
  62. package/dist/internal/connect/run.d.ts.map +1 -1
  63. package/dist/internal/connect/run.js +115 -55
  64. package/dist/internal/connect/run.js.map +1 -1
  65. package/dist/internal/connect/source.d.ts +3 -1
  66. package/dist/internal/connect/source.d.ts.map +1 -1
  67. package/dist/internal/connect/source.js +226 -47
  68. package/dist/internal/connect/source.js.map +1 -1
  69. package/dist/internal/connect/template.d.ts +2 -2
  70. package/dist/internal/connect/template.d.ts.map +1 -1
  71. package/dist/internal/connect/template.js +25 -9
  72. package/dist/internal/connect/template.js.map +1 -1
  73. package/dist/internal/connect/utf8.d.ts +3 -0
  74. package/dist/internal/connect/utf8.d.ts.map +1 -0
  75. package/dist/internal/connect/utf8.js +12 -0
  76. package/dist/internal/connect/utf8.js.map +1 -0
  77. package/dist/internal/eval/cleanup.d.ts +5 -0
  78. package/dist/internal/eval/cleanup.d.ts.map +1 -0
  79. package/dist/internal/eval/cleanup.js +50 -0
  80. package/dist/internal/eval/cleanup.js.map +1 -0
  81. package/dist/internal/eval/error-message.d.ts +3 -0
  82. package/dist/internal/eval/error-message.d.ts.map +1 -0
  83. package/dist/internal/eval/error-message.js +10 -0
  84. package/dist/internal/eval/error-message.js.map +1 -0
  85. package/dist/internal/eval/judge.d.ts.map +1 -1
  86. package/dist/internal/eval/judge.js +3 -31
  87. package/dist/internal/eval/judge.js.map +1 -1
  88. package/dist/internal/eval/loop.d.ts.map +1 -1
  89. package/dist/internal/eval/loop.js +18 -4
  90. package/dist/internal/eval/loop.js.map +1 -1
  91. package/dist/internal/eval/main.d.ts.map +1 -1
  92. package/dist/internal/eval/main.js +22 -10
  93. package/dist/internal/eval/main.js.map +1 -1
  94. package/dist/internal/eval/options.d.ts +6 -0
  95. package/dist/internal/eval/options.d.ts.map +1 -0
  96. package/dist/internal/eval/options.js +31 -0
  97. package/dist/internal/eval/options.js.map +1 -0
  98. package/dist/internal/eval/queries.d.ts.map +1 -1
  99. package/dist/internal/eval/queries.js +9 -6
  100. package/dist/internal/eval/queries.js.map +1 -1
  101. package/dist/internal/eval/run.d.ts.map +1 -1
  102. package/dist/internal/eval/run.js +112 -24
  103. package/dist/internal/eval/run.js.map +1 -1
  104. package/dist/internal/eval/score.d.ts.map +1 -1
  105. package/dist/internal/eval/score.js +9 -2
  106. package/dist/internal/eval/score.js.map +1 -1
  107. package/dist/internal/eval/suite.d.ts.map +1 -1
  108. package/dist/internal/eval/suite.js +14 -2
  109. package/dist/internal/eval/suite.js.map +1 -1
  110. package/dist/internal/ingest/cleanup.d.ts +5 -0
  111. package/dist/internal/ingest/cleanup.d.ts.map +1 -0
  112. package/dist/internal/ingest/cleanup.js +50 -0
  113. package/dist/internal/ingest/cleanup.js.map +1 -0
  114. package/dist/internal/ingest/content.d.ts +6 -0
  115. package/dist/internal/ingest/content.d.ts.map +1 -0
  116. package/dist/internal/ingest/content.js +25 -0
  117. package/dist/internal/ingest/content.js.map +1 -0
  118. package/dist/internal/ingest/context.d.ts.map +1 -1
  119. package/dist/internal/ingest/context.js +25 -7
  120. package/dist/internal/ingest/context.js.map +1 -1
  121. package/dist/internal/ingest/error-message.d.ts +3 -0
  122. package/dist/internal/ingest/error-message.d.ts.map +1 -0
  123. package/dist/internal/ingest/error-message.js +10 -0
  124. package/dist/internal/ingest/error-message.js.map +1 -0
  125. package/dist/internal/ingest/files.d.ts +4 -12
  126. package/dist/internal/ingest/files.d.ts.map +1 -1
  127. package/dist/internal/ingest/files.js +22 -10
  128. package/dist/internal/ingest/files.js.map +1 -1
  129. package/dist/internal/ingest/main.d.ts.map +1 -1
  130. package/dist/internal/ingest/main.js +46 -16
  131. package/dist/internal/ingest/main.js.map +1 -1
  132. package/dist/internal/ingest/options.d.ts +6 -0
  133. package/dist/internal/ingest/options.d.ts.map +1 -0
  134. package/dist/internal/ingest/options.js +27 -0
  135. package/dist/internal/ingest/options.js.map +1 -0
  136. package/dist/internal/ingest/prompt.d.ts.map +1 -1
  137. package/dist/internal/ingest/prompt.js +14 -10
  138. package/dist/internal/ingest/prompt.js.map +1 -1
  139. package/dist/internal/ingest/run.d.ts +9 -2
  140. package/dist/internal/ingest/run.d.ts.map +1 -1
  141. package/dist/internal/ingest/run.js +206 -62
  142. package/dist/internal/ingest/run.js.map +1 -1
  143. package/dist/internal/ingest/timeout.d.ts +3 -0
  144. package/dist/internal/ingest/timeout.d.ts.map +1 -0
  145. package/dist/internal/ingest/timeout.js +14 -0
  146. package/dist/internal/ingest/timeout.js.map +1 -0
  147. package/dist/internal/ingest/web.d.ts +2 -11
  148. package/dist/internal/ingest/web.d.ts.map +1 -1
  149. package/dist/internal/ingest/web.js +131 -25
  150. package/dist/internal/ingest/web.js.map +1 -1
  151. package/dist/internal/loop/budgets.d.ts +3 -0
  152. package/dist/internal/loop/budgets.d.ts.map +1 -0
  153. package/dist/internal/loop/budgets.js +10 -0
  154. package/dist/internal/loop/budgets.js.map +1 -0
  155. package/dist/internal/loop/index.d.ts +2 -0
  156. package/dist/internal/loop/index.d.ts.map +1 -1
  157. package/dist/internal/loop/index.js +2 -0
  158. package/dist/internal/loop/index.js.map +1 -1
  159. package/dist/internal/loop/json-answer.d.ts +7 -0
  160. package/dist/internal/loop/json-answer.d.ts.map +1 -0
  161. package/dist/internal/loop/json-answer.js +79 -0
  162. package/dist/internal/loop/json-answer.js.map +1 -0
  163. package/dist/internal/loop/json-spans.d.ts +3 -0
  164. package/dist/internal/loop/json-spans.d.ts.map +1 -0
  165. package/dist/internal/loop/json-spans.js +88 -0
  166. package/dist/internal/loop/json-spans.js.map +1 -0
  167. package/dist/internal/loop/llm.d.ts +3 -2
  168. package/dist/internal/loop/llm.d.ts.map +1 -1
  169. package/dist/internal/loop/llm.js +115 -32
  170. package/dist/internal/loop/llm.js.map +1 -1
  171. package/dist/internal/loop/process.d.ts +3 -1
  172. package/dist/internal/loop/process.d.ts.map +1 -1
  173. package/dist/internal/loop/process.js +159 -59
  174. package/dist/internal/loop/process.js.map +1 -1
  175. package/dist/internal/loop/read-snapshot.d.ts +4 -0
  176. package/dist/internal/loop/read-snapshot.d.ts.map +1 -0
  177. package/dist/internal/loop/read-snapshot.js +29 -0
  178. package/dist/internal/loop/read-snapshot.js.map +1 -0
  179. package/dist/internal/loop/reconstruct.d.ts +6 -5
  180. package/dist/internal/loop/reconstruct.d.ts.map +1 -1
  181. package/dist/internal/loop/reconstruct.js +19 -8
  182. package/dist/internal/loop/reconstruct.js.map +1 -1
  183. package/dist/internal/loop/score-settings.d.ts +5 -0
  184. package/dist/internal/loop/score-settings.d.ts.map +1 -0
  185. package/dist/internal/loop/score-settings.js +14 -0
  186. package/dist/internal/loop/score-settings.js.map +1 -0
  187. package/dist/internal/loop/sqlite.d.ts.map +1 -1
  188. package/dist/internal/loop/sqlite.js +15 -7
  189. package/dist/internal/loop/sqlite.js.map +1 -1
  190. package/dist/internal/loop/store.d.ts.map +1 -1
  191. package/dist/internal/loop/store.js +11 -7
  192. package/dist/internal/loop/store.js.map +1 -1
  193. package/dist/internal/loop/timeout.d.ts +3 -0
  194. package/dist/internal/loop/timeout.d.ts.map +1 -0
  195. package/dist/internal/loop/timeout.js +13 -0
  196. package/dist/internal/loop/timeout.js.map +1 -0
  197. package/dist/internal/mcp/error-message.d.ts +3 -0
  198. package/dist/internal/mcp/error-message.d.ts.map +1 -0
  199. package/dist/internal/mcp/error-message.js +10 -0
  200. package/dist/internal/mcp/error-message.js.map +1 -0
  201. package/dist/internal/mcp/main.d.ts.map +1 -1
  202. package/dist/internal/mcp/main.js +42 -27
  203. package/dist/internal/mcp/main.js.map +1 -1
  204. package/dist/internal/mcp/read-snapshot.d.ts +4 -0
  205. package/dist/internal/mcp/read-snapshot.d.ts.map +1 -0
  206. package/dist/internal/mcp/read-snapshot.js +22 -0
  207. package/dist/internal/mcp/read-snapshot.js.map +1 -0
  208. package/dist/internal/mcp/server.d.ts.map +1 -1
  209. package/dist/internal/mcp/server.js +181 -21
  210. package/dist/internal/mcp/server.js.map +1 -1
  211. package/dist/internal/mcp/source.d.ts +3 -0
  212. package/dist/internal/mcp/source.d.ts.map +1 -0
  213. package/dist/internal/mcp/source.js +13 -0
  214. package/dist/internal/mcp/source.js.map +1 -0
  215. package/dist/internal/mcp/tools.d.ts.map +1 -1
  216. package/dist/internal/mcp/tools.js +135 -72
  217. package/dist/internal/mcp/tools.js.map +1 -1
  218. package/dist/internal/rules/declarations.d.ts +6 -0
  219. package/dist/internal/rules/declarations.d.ts.map +1 -0
  220. package/dist/internal/rules/declarations.js +14 -0
  221. package/dist/internal/rules/declarations.js.map +1 -0
  222. package/dist/internal/rules/declare.d.ts.map +1 -1
  223. package/dist/internal/rules/declare.js +30 -16
  224. package/dist/internal/rules/declare.js.map +1 -1
  225. package/dist/internal/rules/engine.d.ts +8 -7
  226. package/dist/internal/rules/engine.d.ts.map +1 -1
  227. package/dist/internal/rules/engine.js +150 -44
  228. package/dist/internal/rules/engine.js.map +1 -1
  229. package/dist/internal/shape/alias-root.d.ts +3 -0
  230. package/dist/internal/shape/alias-root.d.ts.map +1 -0
  231. package/dist/internal/shape/alias-root.js +13 -0
  232. package/dist/internal/shape/alias-root.js.map +1 -0
  233. package/dist/internal/shape/check.d.ts +15 -3
  234. package/dist/internal/shape/check.d.ts.map +1 -1
  235. package/dist/internal/shape/check.js +230 -100
  236. package/dist/internal/shape/check.js.map +1 -1
  237. package/dist/internal/shape/client.d.ts.map +1 -1
  238. package/dist/internal/shape/client.js +42 -20
  239. package/dist/internal/shape/client.js.map +1 -1
  240. package/dist/internal/shape/constraints.d.ts +8 -0
  241. package/dist/internal/shape/constraints.d.ts.map +1 -0
  242. package/dist/internal/shape/constraints.js +17 -0
  243. package/dist/internal/shape/constraints.js.map +1 -0
  244. package/dist/internal/shape/edit-distance.d.ts +3 -0
  245. package/dist/internal/shape/edit-distance.d.ts.map +1 -0
  246. package/dist/internal/shape/edit-distance.js +33 -0
  247. package/dist/internal/shape/edit-distance.js.map +1 -0
  248. package/dist/internal/shape/gate.d.ts.map +1 -1
  249. package/dist/internal/shape/gate.js +0 -0
  250. package/dist/internal/shape/gate.js.map +1 -1
  251. package/dist/internal/shape/snapshot.d.ts +4 -0
  252. package/dist/internal/shape/snapshot.d.ts.map +1 -0
  253. package/dist/internal/shape/snapshot.js +20 -0
  254. package/dist/internal/shape/snapshot.js.map +1 -0
  255. package/dist/internal/shape/suggest.d.ts +8 -6
  256. package/dist/internal/shape/suggest.d.ts.map +1 -1
  257. package/dist/internal/shape/suggest.js +208 -92
  258. package/dist/internal/shape/suggest.js.map +1 -1
  259. package/dist/internal/sync/error-message.d.ts +3 -0
  260. package/dist/internal/sync/error-message.d.ts.map +1 -0
  261. package/dist/internal/sync/error-message.js +10 -0
  262. package/dist/internal/sync/error-message.js.map +1 -0
  263. package/dist/internal/sync/index.d.ts +3 -2
  264. package/dist/internal/sync/index.d.ts.map +1 -1
  265. package/dist/internal/sync/index.js +3 -2
  266. package/dist/internal/sync/index.js.map +1 -1
  267. package/dist/internal/sync/sync.d.ts +8 -5
  268. package/dist/internal/sync/sync.d.ts.map +1 -1
  269. package/dist/internal/sync/sync.js +322 -65
  270. package/dist/internal/sync/sync.js.map +1 -1
  271. package/dist/internal/view/api.d.ts +3 -1
  272. package/dist/internal/view/api.d.ts.map +1 -1
  273. package/dist/internal/view/api.js +154 -90
  274. package/dist/internal/view/api.js.map +1 -1
  275. package/dist/internal/view/error-message.d.ts +3 -0
  276. package/dist/internal/view/error-message.d.ts.map +1 -0
  277. package/dist/internal/view/error-message.js +10 -0
  278. package/dist/internal/view/error-message.js.map +1 -0
  279. package/dist/internal/view/main.d.ts.map +1 -1
  280. package/dist/internal/view/main.js +61 -8
  281. package/dist/internal/view/main.js.map +1 -1
  282. package/dist/internal/view/page.d.ts.map +1 -1
  283. package/dist/internal/view/page.js +119 -20
  284. package/dist/internal/view/page.js.map +1 -1
  285. package/dist/internal/view/report.d.ts.map +1 -1
  286. package/dist/internal/view/report.js +180 -145
  287. package/dist/internal/view/report.js.map +1 -1
  288. package/dist/internal/view/scope.d.ts +6 -2
  289. package/dist/internal/view/scope.d.ts.map +1 -1
  290. package/dist/internal/view/scope.js +107 -24
  291. package/dist/internal/view/scope.js.map +1 -1
  292. package/dist/internal/view/sensitivity.d.ts +4 -0
  293. package/dist/internal/view/sensitivity.d.ts.map +1 -0
  294. package/dist/internal/view/sensitivity.js +11 -0
  295. package/dist/internal/view/sensitivity.js.map +1 -0
  296. package/dist/internal/view/server.d.ts.map +1 -1
  297. package/dist/internal/view/server.js +57 -20
  298. package/dist/internal/view/server.js.map +1 -1
  299. package/dist/src/atomic-output.d.ts +3 -0
  300. package/dist/src/atomic-output.d.ts.map +1 -0
  301. package/dist/src/atomic-output.js +67 -0
  302. package/dist/src/atomic-output.js.map +1 -0
  303. package/dist/src/cli.d.ts +3 -2
  304. package/dist/src/cli.d.ts.map +1 -1
  305. package/dist/src/cli.js +188 -173
  306. package/dist/src/cli.js.map +1 -1
  307. package/dist/src/dispatch.d.ts.map +1 -1
  308. package/dist/src/dispatch.js +3 -2
  309. package/dist/src/dispatch.js.map +1 -1
  310. package/dist/src/doctor.d.ts.map +1 -1
  311. package/dist/src/doctor.js +178 -102
  312. package/dist/src/doctor.js.map +1 -1
  313. package/dist/src/error-message.d.ts +3 -0
  314. package/dist/src/error-message.d.ts.map +1 -0
  315. package/dist/src/error-message.js +20 -0
  316. package/dist/src/error-message.js.map +1 -0
  317. package/dist/src/hooks-config.d.ts +3 -0
  318. package/dist/src/hooks-config.d.ts.map +1 -0
  319. package/dist/src/hooks-config.js +23 -0
  320. package/dist/src/hooks-config.js.map +1 -0
  321. package/package.json +23 -20
  322. package/src/atomic-output.ts +47 -0
  323. package/src/cli.ts +170 -147
  324. package/src/dispatch.ts +3 -2
  325. package/src/doctor.ts +192 -111
  326. package/src/error-message.ts +13 -0
  327. package/src/hooks-config.ts +22 -0
@@ -1,3 +1,4 @@
1
+ import { booleanOption } from "./options.js";
1
2
  /**
2
3
  * Declared sources (spec §23.4) — a `cave connect` invocation persisted
3
4
  * in-band as ordinary attribute claims on a `source/<name>` entity:
@@ -21,7 +22,9 @@
21
22
  * what it declares are one store. `cave connect` with no source runs the
22
23
  * same declarations against a SQLite store, URLs included.
23
24
  */
24
- import { existsSync, mkdtempSync, readFileSync, rmSync } from 'node:fs';
25
+ import { errorMessage } from "./error-message.js";
26
+ import { existsSync, mkdtempSync, rmSync } from 'node:fs';
27
+ import { readText } from "./utf8.js";
25
28
  import { tmpdir } from 'node:os';
26
29
  import { dirname, extname, join, resolve } from 'node:path';
27
30
  import { LocateError, open } from '@cavelang/store';
@@ -52,7 +55,8 @@ export const unwrap = (value) => (value.startsWith('"') && value.endsWith('"') &
52
55
  export const deltasOf = (store) => {
53
56
  // Several belief series may speak about one attribute (the root file
54
57
  // and a followed source stamp differently): the newest current claim
55
- // wins, so what was asserted last is what runs.
58
+ // wins among surviving positive claims. A retraction removes only its
59
+ // own series and can expose another source's older declaration again.
56
60
  const byName = new Map();
57
61
  for (const row of sourceRows(store)) {
58
62
  if (row.attribute === null || row.value_text === null || !isAttribute(row.attribute)) {
@@ -84,8 +88,9 @@ export const merge = (known, delta) => {
84
88
  /**
85
89
  * The store's declared sources: every `source/<name>` whose current belief
86
90
  * carries a positive `path`, with the other declaration attributes that
87
- * are current alongside it. Retracting the `path` (`… @ 0%`) removes the
88
- * source; superseding it moves it.
91
+ * are current alongside it. Retracting a `path` (`… @ 0%`) removes that
92
+ * series; the source disappears only when no positive path series remains.
93
+ * Superseding the newest positive path moves it.
89
94
  */
90
95
  export const declaredSources = (store) => deltasOf(store).flatMap(delta => {
91
96
  const declared = merge(undefined, delta);
@@ -109,13 +114,23 @@ export const declaredIn = (text) => declarationsIn(text).flatMap(delta => {
109
114
  */
110
115
  export const declarationsIn = (text) => {
111
116
  const scratch = open();
117
+ let result;
112
118
  try {
113
119
  scratch.ingest(text);
114
- return deltasOf(scratch);
120
+ result = deltasOf(scratch);
115
121
  }
116
- finally {
117
- scratch.close();
122
+ catch (error) {
123
+ try {
124
+ scratch.close();
125
+ }
126
+ catch (closeError) {
127
+ const messages = [error, closeError].map(errorMessage);
128
+ throw new AggregateError([error, closeError], `declaration read failed: ${messages[0]}; scratch store close also failed: ${messages[1]}`, { cause: error });
129
+ }
130
+ throw error;
118
131
  }
132
+ scratch.close();
133
+ return result;
119
134
  };
120
135
  /** Where a declared path points: URLs as they are, files against the store's directory. */
121
136
  export const resolvePath = (path, dir) => Source.isUrl(path) ? path : resolve(dir, path);
@@ -144,13 +159,14 @@ export const describe = (declared) => {
144
159
  };
145
160
  /** The store directory a root path implies: the file's directory, or the working directory for `:memory:`. */
146
161
  export const directoryOf = (root) => root === ':memory:' || root === '' ? process.cwd() : dirname(resolve(root));
147
- const sourceOptions = (declared, fetchImpl) => ({
162
+ const sourceOptions = (declared, fetchImpl, signal) => ({
148
163
  ...declared.format === undefined || declared.format === 'cave' ? {} : { format: declared.format },
149
164
  ...declared.delimiter === undefined ? {} : { delimiter: declared.delimiter },
150
165
  ...declared.table === undefined ? {} : { table: declared.table },
151
166
  ...declared.sql === undefined ? {} : { sql: declared.sql },
152
167
  ...declared.records === undefined ? {} : { records: declared.records },
153
- ...fetchImpl === undefined ? {} : { fetchImpl }
168
+ ...fetchImpl === undefined ? {} : { fetchImpl },
169
+ ...signal === undefined ? {} : { signal }
154
170
  });
155
171
  /** The declaration's content, for change detection between passes of one run. */
156
172
  export const signature = (declared) => JSON.stringify(attributes.map(attribute => declared[attribute] ?? null));
@@ -170,8 +186,9 @@ export const followed = (store, declared) => recordedDeclaration(store, declared
170
186
  export const closure = (store, names) => {
171
187
  const owners = ownership(store);
172
188
  const selected = new Set(names);
173
- const queue = [...names];
174
- for (let owner = queue.shift(); owner !== undefined; owner = queue.shift()) {
189
+ const queue = [...selected];
190
+ for (let at = 0; at < queue.length; at++) {
191
+ const owner = queue[at];
175
192
  for (const name of owners.get(owner) ?? []) {
176
193
  if (!selected.has(name)) {
177
194
  selected.add(name);
@@ -221,25 +238,39 @@ const mappingSync = (declared, dir) => {
221
238
  if (Source.isUrl(declared.path)) {
222
239
  throw urlRefused(declared.path);
223
240
  }
224
- return { mapping: parseTemplate(readFileSync(resolvePath(declared.path, dir), 'utf8'), caveLabel), cave: true };
241
+ return { mapping: parseTemplate(readText(resolvePath(declared.path, dir)), caveLabel), cave: true };
225
242
  }
226
243
  // A file that exists is the mapping, whatever its name looks like; only
227
244
  // otherwise is the text read as an inline template.
228
245
  const mapPath = resolvePath(declared.map, dir);
229
246
  return !existsSync(mapPath) && Template.isInline(declared.map) ?
230
247
  { mapping: parseTemplate(Template.inlineDocument(declared.map), 'inline mapping'), cave: false } :
231
- { mapping: parseTemplate(readFileSync(mapPath, 'utf8'), `mapping ${declared.map}`), cave: false };
248
+ { mapping: parseTemplate(readText(mapPath), `mapping ${declared.map}`), cave: false };
232
249
  };
233
- const mappingAsync = async (declared, dir, fetchImpl) => {
250
+ const mappingAsync = async (declared, dir, fetchImpl, signal) => {
234
251
  if (isCave(declared) && Source.isUrl(declared.path)) {
235
252
  validate(declared);
236
- const { text } = await Source.fetchText(declared.path, sourceOptions(declared, fetchImpl));
253
+ const { text } = await Source.fetchText(declared.path, sourceOptions(declared, fetchImpl, signal));
237
254
  return { mapping: parseTemplate(text, caveLabel), cave: true };
238
255
  }
239
256
  return mappingSync(declared, dir);
240
257
  };
258
+ const captureDeclaration = (declared) => {
259
+ const { name, path, map, key, format, delimiter, table, sql, records } = declared;
260
+ return {
261
+ name, path,
262
+ ...map === undefined ? {} : { map },
263
+ ...key === undefined ? {} : { key },
264
+ ...format === undefined ? {} : { format },
265
+ ...delimiter === undefined ? {} : { delimiter },
266
+ ...table === undefined ? {} : { table },
267
+ ...sql === undefined ? {} : { sql },
268
+ ...records === undefined ? {} : { records }
269
+ };
270
+ };
241
271
  /** Loads a declared source synchronously — local files only (`assemble`); a URL is refused. */
242
272
  export const prepareSync = (declared, dir) => {
273
+ declared = captureDeclaration(declared);
243
274
  if (Source.isUrl(declared.path)) {
244
275
  throw urlRefused(declared.path);
245
276
  }
@@ -247,9 +278,14 @@ export const prepareSync = (declared, dir) => {
247
278
  return prepared(declared, dir, mapping, cave ? undefined : Source.loadSync(resolvePath(declared.path, dir), sourceOptions(declared)));
248
279
  };
249
280
  /** Loads a declared source, URLs included — a `.cave` URL is fetched and parsed as the template (`cave connect`). */
250
- export const prepare = async (declared, dir, fetchImpl) => {
251
- const { mapping, cave } = await mappingAsync(declared, dir, fetchImpl);
252
- return prepared(declared, dir, mapping, cave ? undefined : await Source.load(resolvePath(declared.path, dir), sourceOptions(declared, fetchImpl)));
281
+ export const prepare = async (declared, dir, fetchImpl, signal) => {
282
+ signal?.throwIfAborted();
283
+ declared = captureDeclaration(declared);
284
+ const { mapping, cave } = await mappingAsync(declared, dir, fetchImpl, signal);
285
+ signal?.throwIfAborted();
286
+ const loaded = cave ? undefined : await Source.load(resolvePath(declared.path, dir), sourceOptions(declared, fetchImpl, signal));
287
+ signal?.throwIfAborted();
288
+ return prepared(declared, dir, mapping, loaded);
253
289
  };
254
290
  /** How often one source may be re-declared within a pass before it is a cycle, not convergence. */
255
291
  const redeclarationLimit = 20;
@@ -286,19 +322,32 @@ export const discover = async (origin, root, options = {}) => (await discovery(o
286
322
  * leaves every effective declaration and owner the same, changes it.
287
323
  */
288
324
  export const declarationState = (store) => new Map(currentRowsUnder(store, prefix).map(row => [row.claim_key, row.id]));
289
- /** Whether two declaration snapshots agree, name by name. */
325
+ /** Compare keyed declaration signatures or claim-row identities without ignoring ownership changes. */
290
326
  export const sameDeclarations = (a, b) => a.size === b.size && [...a].every(([name, signature]) => b.get(name) === signature);
291
327
  /** How many times an overlay rediscovers when the declarations changed underneath it. */
292
328
  export const overlayAttempts = 3;
293
329
  export const staleOverlay = () => new Error(`the declared sources changed while the overlay loaded them, ${overlayAttempts} times over — retry when the store is quiet`);
294
330
  /** `discover`, also returning the declarations the snapshot started from. */
295
331
  export const discovery = async (origin, root, options = {}) => {
332
+ const signal = options.signal;
333
+ signal?.throwIfAborted();
334
+ options = {
335
+ signal,
336
+ fetchImpl: options.fetchImpl,
337
+ only: options.only,
338
+ force: options.force,
339
+ prune: options.prune,
340
+ skipFollowed: options.skipFollowed
341
+ };
342
+ for (const key of ['force', 'prune', 'skipFollowed'])
343
+ booleanOption(options[key], key);
296
344
  const dir = directoryOf(root);
297
345
  // Everything runs against a private snapshot of the store: the real
298
346
  // database holds no lock while sources load (a URL may take a minute),
299
347
  // and the copy is simply discarded. The baseline and the selection come
300
348
  // from that same snapshot, so they agree with each other.
301
349
  const { store, dispose } = snapshot(origin);
350
+ const errors = [];
302
351
  try {
303
352
  const baseline = declarationState(store);
304
353
  const names = declaredSources(store).map(declared => declared.name);
@@ -329,28 +378,58 @@ export const discovery = async (origin, root, options = {}) => {
329
378
  }
330
379
  version(next.name);
331
380
  done.set(next.name, signature(next));
332
- // The name rule holds for every declaration, skipped ones included.
333
- validate(next);
334
- // Followed means followed under this very declaration: a version a
335
- // replayed source produced, or one assembly replaced, is new. A source
336
- // already loaded in this discovery is never skipped again — a
337
- // declaration that went away and came back must run again, after the
338
- // intervening version.
339
- if (options.skipFollowed === true && !sequence.some(ready => ready.declared.name === next.name) && followed(store, next)) {
340
- continue;
381
+ try {
382
+ // The name rule holds for every declaration, skipped ones included.
383
+ validate(next);
384
+ // Followed means followed under this very declaration: a version a
385
+ // replayed source produced, or one assembly replaced, is new. A source
386
+ // already loaded in this discovery is never skipped again — a
387
+ // declaration that went away and came back must run again, after the
388
+ // intervening version.
389
+ if (options.skipFollowed === true && !sequence.some(ready => ready.declared.name === next.name) && followed(store, next)) {
390
+ continue;
391
+ }
392
+ options.signal?.throwIfAborted();
393
+ const loaded = await prepare(next, dir, options.fetchImpl, options.signal);
394
+ options.signal?.throwIfAborted();
395
+ sequence.push(loaded);
396
+ run(store, loaded, { force: options.force === true, prune: options.prune === true });
397
+ if (allowed !== undefined) {
398
+ // Ownership only changes when a source runs: one pass for this one.
399
+ for (const name of ownedDeclarations(store, loaded.declared.name))
400
+ allowed.add(name);
401
+ }
341
402
  }
342
- const loaded = await prepare(next, dir, options.fetchImpl);
343
- sequence.push(loaded);
344
- run(store, loaded, { force: options.force === true, prune: options.prune === true });
345
- if (allowed !== undefined) {
346
- // Ownership only changes when a source runs: one pass for this one.
347
- for (const name of ownedDeclarations(store, loaded.declared.name))
348
- allowed.add(name);
403
+ catch (error) {
404
+ // Preserve cancellation identity, including combined transport failures.
405
+ if (options.signal?.aborted)
406
+ throw error;
407
+ throw new LocateError(`${prefix}${next.name} (${next.path}): ${errorMessage(error)}`, { cause: error });
349
408
  }
350
409
  }
351
410
  }
411
+ catch (error) {
412
+ errors.push(error);
413
+ throw error;
414
+ }
352
415
  finally {
353
- dispose();
416
+ dispose(errors);
417
+ }
418
+ };
419
+ /** Attempt every owned cleanup step, preserving failures in occurrence order. */
420
+ const cleanupSnapshot = (errors, steps) => {
421
+ for (const step of steps) {
422
+ try {
423
+ step();
424
+ }
425
+ catch (error) {
426
+ errors.push(error);
427
+ }
428
+ }
429
+ if (errors.length === 1)
430
+ throw errors[0];
431
+ if (errors.length > 1) {
432
+ throw new AggregateError(errors, `discovery snapshot failed: ${errors.map(errorMessage).join('; ')}`, { cause: errors[0] });
354
433
  }
355
434
  };
356
435
  /** A private, disposable copy of a store — an exact snapshot in a temporary file, opened writable. */
@@ -366,15 +445,15 @@ const snapshot = (origin) => {
366
445
  const store = open(path, { registry: origin.baseRegistry(), access: 'no-migrate' });
367
446
  return {
368
447
  store,
369
- dispose: () => {
370
- store.close();
371
- rmSync(dir, { recursive: true, force: true });
372
- }
448
+ dispose: errors => cleanupSnapshot(errors, [
449
+ () => store.close(),
450
+ () => rmSync(dir, { recursive: true, force: true })
451
+ ])
373
452
  };
374
453
  }
375
454
  catch (error) {
376
- // A failed copy must not leave a database-sized directory behind.
377
- rmSync(dir, { recursive: true, force: true });
455
+ // Attempt removal even when creation failed, preserving both failures.
456
+ cleanupSnapshot([error], [() => rmSync(dir, { recursive: true, force: true })]);
378
457
  throw error;
379
458
  }
380
459
  };
@@ -430,37 +509,46 @@ const hasAnyDigest = (store, name) => {
430
509
  * source that was followed without a recorded declaration (digests, no
431
510
  * marker) is treated as changed, conservatively.
432
511
  */
433
- export const run = (store, ready, options = {}) =>
434
- // One transaction: a transition that retires the former unit and then
435
- // fails to ingest its replacement (a prelude the registry refuses, say)
436
- // rolls the retirement back, keeping the last good data.
437
- store.transaction(() => {
438
- const previous = recordedDeclaration(store, ready.declared.name);
439
- const transition = previous === undefined ?
440
- hasAnyDigest(store, ready.declared.name) :
441
- previous !== declarationDigest(ready.declared);
442
- // A .cave source that became a record source: its prelude unit is no
443
- // longer a lifecycle unit the pass would diff, so it is retired whole —
444
- // and the pass below runs forced, since the old prelude digest would
445
- // otherwise pass a same-text prelude off as unchanged.
446
- const retired = transition && !ready.cave ? retireRun(store, declaredNaming(ready.declared.name).run()) : 0;
447
- const passed = connect(store, ready.mapping, ready.records, {
448
- name: ready.declared.name,
449
- naming: declaredNaming(ready.declared.name),
450
- // A .cave source is data that changes: claims it no longer yields retract.
451
- preludeLifecycle: ready.cave,
452
- ...ready.source === undefined ? {} : { source: ready.source },
453
- ...ready.spans === undefined ? {} : { spans: ready.spans },
454
- ...ready.declared.key === undefined ? {} : { key: ready.declared.key },
455
- force: options.force === true || transition,
456
- prune: options.prune === true || transition
512
+ export const run = (store, ready, options = {}) => {
513
+ options = { force: booleanOption(options.force, 'force'), prune: booleanOption(options.prune, 'prune') };
514
+ // One transaction: a transition that retires the former unit and then
515
+ // fails to ingest its replacement (a prelude the registry refuses, say)
516
+ // rolls the retirement back, keeping the last good data.
517
+ return store.transaction(() => {
518
+ const previous = recordedDeclaration(store, ready.declared.name);
519
+ const transition = previous === undefined ?
520
+ hasAnyDigest(store, ready.declared.name) :
521
+ previous !== declarationDigest(ready.declared);
522
+ // A .cave source that became a record source: its prelude unit is no
523
+ // longer a lifecycle unit the pass would diff, so it is retired whole —
524
+ // and the pass below runs forced, since the old prelude digest would
525
+ // otherwise pass a same-text prelude off as unchanged.
526
+ const retired = transition && !ready.cave ? retireRun(store, declaredNaming(ready.declared.name).run()) : 0;
527
+ const passed = connect(store, ready.mapping, ready.records, {
528
+ name: ready.declared.name,
529
+ naming: declaredNaming(ready.declared.name),
530
+ // A .cave source is data that changes: claims it no longer yields retract.
531
+ preludeLifecycle: ready.cave,
532
+ ...ready.source === undefined ? {} : { source: ready.source },
533
+ ...ready.spans === undefined ? {} : { spans: ready.spans },
534
+ ...ready.declared.key === undefined ? {} : { key: ready.declared.key },
535
+ force: options.force === true || transition,
536
+ prune: options.prune === true || transition
537
+ });
538
+ const report = retired === 0 ? passed : { ...passed, retracted: passed.retracted + retired };
539
+ if (transition && report.failures.length > 0) {
540
+ // A new declaration can change record identity. Keeping only successful
541
+ // records would retire old data without a complete replacement and mark
542
+ // that incomplete transition as finished, preventing a faithful retry.
543
+ throw new Error(`cave connect: source/${ready.declared.name} replacement failed\n` +
544
+ report.failures.map(failure => `${failure.record}: ${failure.problems.join('; ')}`).join('\n'));
545
+ }
546
+ if (!followed(store, ready.declared)) {
547
+ store.ingest(`${prefix}${ready.declared.name} HAS ${declarationAttribute}: ${declarationDigest(ready.declared)} @${provenanceContext}`);
548
+ }
549
+ return report;
457
550
  });
458
- const report = retired === 0 ? passed : { ...passed, retracted: passed.retracted + retired };
459
- if (!followed(store, ready.declared)) {
460
- store.ingest(`${prefix}${ready.declared.name} HAS ${declarationAttribute}: ${declarationDigest(ready.declared)} @${provenanceContext}`);
461
- }
462
- return report;
463
- });
551
+ };
464
552
  /**
465
553
  * Follows every declared source of the store, the ones the followed
466
554
  * sources declare in turn included, until none is left. `root` is the
@@ -474,6 +562,7 @@ store.transaction(() => {
474
562
  * as with a text file that does not parse.
475
563
  */
476
564
  export const assemble = (store, root, options = {}) => {
565
+ const force = booleanOption(options.force, 'force');
477
566
  const dir = directoryOf(root);
478
567
  const done = new Map();
479
568
  const self = root === ':memory:' || root === '' ? undefined : resolve(root);
@@ -493,7 +582,7 @@ export const assemble = (store, root, options = {}) => {
493
582
  version(next.name);
494
583
  }
495
584
  catch (error) {
496
- throw new LocateError(error instanceof Error ? error.message : String(error));
585
+ throw new LocateError(errorMessage(error), { cause: error });
497
586
  }
498
587
  done.set(next.name, signature(next));
499
588
  try {
@@ -501,20 +590,20 @@ export const assemble = (store, root, options = {}) => {
501
590
  validate(next);
502
591
  }
503
592
  catch (error) {
504
- throw new LocateError(`${prefix}${next.name} (${next.path}): ${error instanceof Error ? error.message : String(error)}`);
593
+ throw new LocateError(`${prefix}${next.name} (${next.path}): ${errorMessage(error)}`, { cause: error });
505
594
  }
506
595
  if (Source.isUrl(next.path) || resolvePath(next.path, dir) === self) {
507
596
  continue;
508
597
  }
509
598
  try {
510
- const report = run(store, prepareSync(next, dir), { force: options.force === true });
599
+ const report = run(store, prepareSync(next, dir), { force });
511
600
  if (report.failures.length > 0) {
512
601
  throw new Error(report.failures.map(failure => `${failure.record}: ${failure.problems.join('; ')}`).join('\n'));
513
602
  }
514
603
  assembled.push({ declared: next, report });
515
604
  }
516
605
  catch (error) {
517
- throw new LocateError(`${prefix}${next.name} (${next.path}): ${error instanceof Error ? error.message : String(error)}`);
606
+ throw new LocateError(`${prefix}${next.name} (${next.path}): ${errorMessage(error)}`, { cause: error });
518
607
  }
519
608
  }
520
609
  };
@@ -1 +1 @@
1
- {"version":3,"file":"declared.js","sourceRoot":"","sources":["../../src/declared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declared.js","sourceRoot":"","sources":["../../src/declared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Preserve failures even when their diagnostic text cannot be read. */
2
+ export declare const errorMessage: (value: unknown) => string;
3
+ //# sourceMappingURL=error-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.d.ts","sourceRoot":"","sources":["../../src/error-message.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAM7C,CAAA"}
@@ -0,0 +1,10 @@
1
+ /** Preserve failures even when their diagnostic text cannot be read. */
2
+ export const errorMessage = (value) => {
3
+ try {
4
+ return value instanceof Error ? String(value.message) : String(value);
5
+ }
6
+ catch {
7
+ return '[unprintable thrown value]';
8
+ }
9
+ };
10
+ //# sourceMappingURL=error-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.js","sourceRoot":"","sources":["../../src/error-message.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE;IACrD,IAAI,CAAC;QACH,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,4BAA4B,CAAA;IACrC,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Store } from '@cavelang/store';
2
+ import type * as Template from './template.ts';
3
+ import type { ConnectOptions, Report } from './run.ts';
4
+ /** Internal projection boundary: capture results before the temporary source is rolled back. */
5
+ export declare const withFederatedSource: <T>(store: Store, mapping: Template.Mapping, records: readonly Record<string, unknown>[], options: ConnectOptions, project: () => T) => {
6
+ readonly result: T;
7
+ readonly report: Report;
8
+ };
9
+ //# sourceMappingURL=federation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/federation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAItD,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,GAAI,CAAC,EACnC,OAAO,KAAK,EACZ,SAAS,QAAQ,CAAC,OAAO,EACzB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,SAAS,cAAc,EACvB,SAAS,MAAM,CAAC,KACf;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAY/C,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { connect } from "./run.js";
2
+ const rollback = Symbol('cave-connect query rollback');
3
+ /** Internal projection boundary: capture results before the temporary source is rolled back. */
4
+ export const withFederatedSource = (store, mapping, records, options, project) => {
5
+ let outcome;
6
+ try {
7
+ store.transaction(() => {
8
+ const report = connect(store, mapping, records, { ...options, force: true, prune: false });
9
+ outcome = { result: project(), report };
10
+ throw rollback;
11
+ });
12
+ }
13
+ catch (error) {
14
+ if (error !== rollback)
15
+ throw error;
16
+ }
17
+ return outcome;
18
+ };
19
+ //# sourceMappingURL=federation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/federation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAGlC,MAAM,QAAQ,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AAEtD,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,OAAyB,EACzB,OAA2C,EAC3C,OAAuB,EACvB,OAAgB,EACiC,EAAE;IACnD,IAAI,OAAoE,CAAA;IACxE,IAAI,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1F,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAA;YACvC,MAAM,QAAQ,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAA;IACrC,CAAC;IACD,OAAO,OAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Preserve cancellation details and independent transport failures together. */
2
+ export declare const rethrowFetchFailure: (signal: AbortSignal | undefined, error: unknown) => never;
3
+ //# sourceMappingURL=fetch-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-failure.d.ts","sourceRoot":"","sources":["../../src/fetch-failure.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,WAAW,GAAG,SAAS,EAAE,OAAO,OAAO,KAAG,KAuBrF,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { errorMessage } from "./error-message.js";
2
+ /** Preserve cancellation details and independent transport failures together. */
3
+ export const rethrowFetchFailure = (signal, error) => {
4
+ if (!signal?.aborted)
5
+ throw error;
6
+ const reason = signal.reason;
7
+ const pending = [error], seen = new Set();
8
+ while (pending.length > 0) {
9
+ const value = pending.pop();
10
+ if (value === reason)
11
+ throw error;
12
+ if (seen.has(value))
13
+ continue;
14
+ seen.add(value);
15
+ try {
16
+ if (value instanceof AggregateError) {
17
+ try {
18
+ for (const inner of value.errors)
19
+ pending.push(inner);
20
+ }
21
+ catch { /* Opaque metadata cannot prove cancellation is already included. */ }
22
+ }
23
+ if (value instanceof Error) {
24
+ try {
25
+ const cause = value.cause;
26
+ if (cause !== undefined)
27
+ pending.push(cause);
28
+ }
29
+ catch { /* Retain the original error even when its cause cannot be read. */ }
30
+ }
31
+ }
32
+ catch { /* An opaque thrown object may reject prototype inspection too. */ }
33
+ }
34
+ throw new AggregateError([reason, error], `${errorMessage(reason)}; source fetch also failed: ${errorMessage(error)}`, { cause: reason });
35
+ };
36
+ //# sourceMappingURL=fetch-failure.js.map