@cavelang/cli 0.34.0 → 0.36.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 (344) hide show
  1. package/README.md +225 -13
  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 +240 -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 +204 -0
  34. package/dist/internal/connect/declared.d.ts.map +1 -0
  35. package/dist/internal/connect/declared.js +610 -0
  36. package/dist/internal/connect/declared.js.map +1 -0
  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/index.d.ts +4 -2
  50. package/dist/internal/connect/index.d.ts.map +1 -1
  51. package/dist/internal/connect/index.js +3 -1
  52. package/dist/internal/connect/index.js.map +1 -1
  53. package/dist/internal/connect/main.d.ts +1 -0
  54. package/dist/internal/connect/main.d.ts.map +1 -1
  55. package/dist/internal/connect/main.js +575 -59
  56. package/dist/internal/connect/main.js.map +1 -1
  57. package/dist/internal/connect/options.d.ts +3 -0
  58. package/dist/internal/connect/options.d.ts.map +1 -0
  59. package/dist/internal/connect/options.js +9 -0
  60. package/dist/internal/connect/options.js.map +1 -0
  61. package/dist/internal/connect/records.d.ts +3 -0
  62. package/dist/internal/connect/records.d.ts.map +1 -0
  63. package/dist/internal/connect/records.js +21 -0
  64. package/dist/internal/connect/records.js.map +1 -0
  65. package/dist/internal/connect/run.d.ts +48 -19
  66. package/dist/internal/connect/run.d.ts.map +1 -1
  67. package/dist/internal/connect/run.js +185 -77
  68. package/dist/internal/connect/run.js.map +1 -1
  69. package/dist/internal/connect/source.d.ts +36 -3
  70. package/dist/internal/connect/source.d.ts.map +1 -1
  71. package/dist/internal/connect/source.js +378 -39
  72. package/dist/internal/connect/source.js.map +1 -1
  73. package/dist/internal/connect/template.d.ts +20 -2
  74. package/dist/internal/connect/template.d.ts.map +1 -1
  75. package/dist/internal/connect/template.js +53 -9
  76. package/dist/internal/connect/template.js.map +1 -1
  77. package/dist/internal/connect/utf8.d.ts +3 -0
  78. package/dist/internal/connect/utf8.d.ts.map +1 -0
  79. package/dist/internal/connect/utf8.js +12 -0
  80. package/dist/internal/connect/utf8.js.map +1 -0
  81. package/dist/internal/eval/cleanup.d.ts +5 -0
  82. package/dist/internal/eval/cleanup.d.ts.map +1 -0
  83. package/dist/internal/eval/cleanup.js +50 -0
  84. package/dist/internal/eval/cleanup.js.map +1 -0
  85. package/dist/internal/eval/error-message.d.ts +3 -0
  86. package/dist/internal/eval/error-message.d.ts.map +1 -0
  87. package/dist/internal/eval/error-message.js +10 -0
  88. package/dist/internal/eval/error-message.js.map +1 -0
  89. package/dist/internal/eval/judge.d.ts.map +1 -1
  90. package/dist/internal/eval/judge.js +3 -31
  91. package/dist/internal/eval/judge.js.map +1 -1
  92. package/dist/internal/eval/loop.d.ts.map +1 -1
  93. package/dist/internal/eval/loop.js +18 -4
  94. package/dist/internal/eval/loop.js.map +1 -1
  95. package/dist/internal/eval/main.d.ts.map +1 -1
  96. package/dist/internal/eval/main.js +22 -10
  97. package/dist/internal/eval/main.js.map +1 -1
  98. package/dist/internal/eval/options.d.ts +6 -0
  99. package/dist/internal/eval/options.d.ts.map +1 -0
  100. package/dist/internal/eval/options.js +31 -0
  101. package/dist/internal/eval/options.js.map +1 -0
  102. package/dist/internal/eval/queries.d.ts.map +1 -1
  103. package/dist/internal/eval/queries.js +9 -6
  104. package/dist/internal/eval/queries.js.map +1 -1
  105. package/dist/internal/eval/run.d.ts.map +1 -1
  106. package/dist/internal/eval/run.js +112 -24
  107. package/dist/internal/eval/run.js.map +1 -1
  108. package/dist/internal/eval/score.d.ts.map +1 -1
  109. package/dist/internal/eval/score.js +9 -2
  110. package/dist/internal/eval/score.js.map +1 -1
  111. package/dist/internal/eval/suite.d.ts.map +1 -1
  112. package/dist/internal/eval/suite.js +14 -2
  113. package/dist/internal/eval/suite.js.map +1 -1
  114. package/dist/internal/ingest/cleanup.d.ts +5 -0
  115. package/dist/internal/ingest/cleanup.d.ts.map +1 -0
  116. package/dist/internal/ingest/cleanup.js +50 -0
  117. package/dist/internal/ingest/cleanup.js.map +1 -0
  118. package/dist/internal/ingest/content.d.ts +6 -0
  119. package/dist/internal/ingest/content.d.ts.map +1 -0
  120. package/dist/internal/ingest/content.js +25 -0
  121. package/dist/internal/ingest/content.js.map +1 -0
  122. package/dist/internal/ingest/context.d.ts.map +1 -1
  123. package/dist/internal/ingest/context.js +25 -7
  124. package/dist/internal/ingest/context.js.map +1 -1
  125. package/dist/internal/ingest/error-message.d.ts +3 -0
  126. package/dist/internal/ingest/error-message.d.ts.map +1 -0
  127. package/dist/internal/ingest/error-message.js +10 -0
  128. package/dist/internal/ingest/error-message.js.map +1 -0
  129. package/dist/internal/ingest/files.d.ts +4 -12
  130. package/dist/internal/ingest/files.d.ts.map +1 -1
  131. package/dist/internal/ingest/files.js +22 -10
  132. package/dist/internal/ingest/files.js.map +1 -1
  133. package/dist/internal/ingest/main.d.ts.map +1 -1
  134. package/dist/internal/ingest/main.js +48 -17
  135. package/dist/internal/ingest/main.js.map +1 -1
  136. package/dist/internal/ingest/options.d.ts +6 -0
  137. package/dist/internal/ingest/options.d.ts.map +1 -0
  138. package/dist/internal/ingest/options.js +27 -0
  139. package/dist/internal/ingest/options.js.map +1 -0
  140. package/dist/internal/ingest/prompt.d.ts.map +1 -1
  141. package/dist/internal/ingest/prompt.js +14 -10
  142. package/dist/internal/ingest/prompt.js.map +1 -1
  143. package/dist/internal/ingest/run.d.ts +9 -2
  144. package/dist/internal/ingest/run.d.ts.map +1 -1
  145. package/dist/internal/ingest/run.js +206 -62
  146. package/dist/internal/ingest/run.js.map +1 -1
  147. package/dist/internal/ingest/timeout.d.ts +3 -0
  148. package/dist/internal/ingest/timeout.d.ts.map +1 -0
  149. package/dist/internal/ingest/timeout.js +14 -0
  150. package/dist/internal/ingest/timeout.js.map +1 -0
  151. package/dist/internal/ingest/web.d.ts +2 -11
  152. package/dist/internal/ingest/web.d.ts.map +1 -1
  153. package/dist/internal/ingest/web.js +131 -25
  154. package/dist/internal/ingest/web.js.map +1 -1
  155. package/dist/internal/loop/budgets.d.ts +3 -0
  156. package/dist/internal/loop/budgets.d.ts.map +1 -0
  157. package/dist/internal/loop/budgets.js +10 -0
  158. package/dist/internal/loop/budgets.js.map +1 -0
  159. package/dist/internal/loop/index.d.ts +2 -0
  160. package/dist/internal/loop/index.d.ts.map +1 -1
  161. package/dist/internal/loop/index.js +2 -0
  162. package/dist/internal/loop/index.js.map +1 -1
  163. package/dist/internal/loop/json-answer.d.ts +7 -0
  164. package/dist/internal/loop/json-answer.d.ts.map +1 -0
  165. package/dist/internal/loop/json-answer.js +79 -0
  166. package/dist/internal/loop/json-answer.js.map +1 -0
  167. package/dist/internal/loop/json-spans.d.ts +3 -0
  168. package/dist/internal/loop/json-spans.d.ts.map +1 -0
  169. package/dist/internal/loop/json-spans.js +88 -0
  170. package/dist/internal/loop/json-spans.js.map +1 -0
  171. package/dist/internal/loop/llm.d.ts +3 -2
  172. package/dist/internal/loop/llm.d.ts.map +1 -1
  173. package/dist/internal/loop/llm.js +115 -32
  174. package/dist/internal/loop/llm.js.map +1 -1
  175. package/dist/internal/loop/process.d.ts +3 -1
  176. package/dist/internal/loop/process.d.ts.map +1 -1
  177. package/dist/internal/loop/process.js +159 -59
  178. package/dist/internal/loop/process.js.map +1 -1
  179. package/dist/internal/loop/read-snapshot.d.ts +4 -0
  180. package/dist/internal/loop/read-snapshot.d.ts.map +1 -0
  181. package/dist/internal/loop/read-snapshot.js +29 -0
  182. package/dist/internal/loop/read-snapshot.js.map +1 -0
  183. package/dist/internal/loop/reconstruct.d.ts +6 -5
  184. package/dist/internal/loop/reconstruct.d.ts.map +1 -1
  185. package/dist/internal/loop/reconstruct.js +19 -8
  186. package/dist/internal/loop/reconstruct.js.map +1 -1
  187. package/dist/internal/loop/score-settings.d.ts +5 -0
  188. package/dist/internal/loop/score-settings.d.ts.map +1 -0
  189. package/dist/internal/loop/score-settings.js +14 -0
  190. package/dist/internal/loop/score-settings.js.map +1 -0
  191. package/dist/internal/loop/sqlite.d.ts.map +1 -1
  192. package/dist/internal/loop/sqlite.js +15 -7
  193. package/dist/internal/loop/sqlite.js.map +1 -1
  194. package/dist/internal/loop/store.d.ts.map +1 -1
  195. package/dist/internal/loop/store.js +11 -7
  196. package/dist/internal/loop/store.js.map +1 -1
  197. package/dist/internal/loop/timeout.d.ts +3 -0
  198. package/dist/internal/loop/timeout.d.ts.map +1 -0
  199. package/dist/internal/loop/timeout.js +13 -0
  200. package/dist/internal/loop/timeout.js.map +1 -0
  201. package/dist/internal/mcp/error-message.d.ts +3 -0
  202. package/dist/internal/mcp/error-message.d.ts.map +1 -0
  203. package/dist/internal/mcp/error-message.js +10 -0
  204. package/dist/internal/mcp/error-message.js.map +1 -0
  205. package/dist/internal/mcp/main.d.ts.map +1 -1
  206. package/dist/internal/mcp/main.js +44 -27
  207. package/dist/internal/mcp/main.js.map +1 -1
  208. package/dist/internal/mcp/read-snapshot.d.ts +4 -0
  209. package/dist/internal/mcp/read-snapshot.d.ts.map +1 -0
  210. package/dist/internal/mcp/read-snapshot.js +22 -0
  211. package/dist/internal/mcp/read-snapshot.js.map +1 -0
  212. package/dist/internal/mcp/server.d.ts.map +1 -1
  213. package/dist/internal/mcp/server.js +181 -21
  214. package/dist/internal/mcp/server.js.map +1 -1
  215. package/dist/internal/mcp/source.d.ts +3 -0
  216. package/dist/internal/mcp/source.d.ts.map +1 -0
  217. package/dist/internal/mcp/source.js +13 -0
  218. package/dist/internal/mcp/source.js.map +1 -0
  219. package/dist/internal/mcp/tools.d.ts.map +1 -1
  220. package/dist/internal/mcp/tools.js +135 -72
  221. package/dist/internal/mcp/tools.js.map +1 -1
  222. package/dist/internal/rules/declarations.d.ts +6 -0
  223. package/dist/internal/rules/declarations.d.ts.map +1 -0
  224. package/dist/internal/rules/declarations.js +14 -0
  225. package/dist/internal/rules/declarations.js.map +1 -0
  226. package/dist/internal/rules/declare.d.ts.map +1 -1
  227. package/dist/internal/rules/declare.js +30 -16
  228. package/dist/internal/rules/declare.js.map +1 -1
  229. package/dist/internal/rules/engine.d.ts +8 -7
  230. package/dist/internal/rules/engine.d.ts.map +1 -1
  231. package/dist/internal/rules/engine.js +150 -44
  232. package/dist/internal/rules/engine.js.map +1 -1
  233. package/dist/internal/rules/rule.d.ts.map +1 -1
  234. package/dist/internal/rules/rule.js +1 -22
  235. package/dist/internal/rules/rule.js.map +1 -1
  236. package/dist/internal/shape/alias-root.d.ts +3 -0
  237. package/dist/internal/shape/alias-root.d.ts.map +1 -0
  238. package/dist/internal/shape/alias-root.js +13 -0
  239. package/dist/internal/shape/alias-root.js.map +1 -0
  240. package/dist/internal/shape/check.d.ts +15 -3
  241. package/dist/internal/shape/check.d.ts.map +1 -1
  242. package/dist/internal/shape/check.js +230 -100
  243. package/dist/internal/shape/check.js.map +1 -1
  244. package/dist/internal/shape/client.d.ts.map +1 -1
  245. package/dist/internal/shape/client.js +42 -20
  246. package/dist/internal/shape/client.js.map +1 -1
  247. package/dist/internal/shape/constraints.d.ts +8 -0
  248. package/dist/internal/shape/constraints.d.ts.map +1 -0
  249. package/dist/internal/shape/constraints.js +17 -0
  250. package/dist/internal/shape/constraints.js.map +1 -0
  251. package/dist/internal/shape/edit-distance.d.ts +3 -0
  252. package/dist/internal/shape/edit-distance.d.ts.map +1 -0
  253. package/dist/internal/shape/edit-distance.js +33 -0
  254. package/dist/internal/shape/edit-distance.js.map +1 -0
  255. package/dist/internal/shape/gate.d.ts.map +1 -1
  256. package/dist/internal/shape/gate.js +0 -0
  257. package/dist/internal/shape/gate.js.map +1 -1
  258. package/dist/internal/shape/snapshot.d.ts +4 -0
  259. package/dist/internal/shape/snapshot.d.ts.map +1 -0
  260. package/dist/internal/shape/snapshot.js +20 -0
  261. package/dist/internal/shape/snapshot.js.map +1 -0
  262. package/dist/internal/shape/suggest.d.ts +8 -6
  263. package/dist/internal/shape/suggest.d.ts.map +1 -1
  264. package/dist/internal/shape/suggest.js +208 -92
  265. package/dist/internal/shape/suggest.js.map +1 -1
  266. package/dist/internal/sync/error-message.d.ts +3 -0
  267. package/dist/internal/sync/error-message.d.ts.map +1 -0
  268. package/dist/internal/sync/error-message.js +10 -0
  269. package/dist/internal/sync/error-message.js.map +1 -0
  270. package/dist/internal/sync/index.d.ts +3 -2
  271. package/dist/internal/sync/index.d.ts.map +1 -1
  272. package/dist/internal/sync/index.js +3 -2
  273. package/dist/internal/sync/index.js.map +1 -1
  274. package/dist/internal/sync/sync.d.ts +8 -5
  275. package/dist/internal/sync/sync.d.ts.map +1 -1
  276. package/dist/internal/sync/sync.js +322 -65
  277. package/dist/internal/sync/sync.js.map +1 -1
  278. package/dist/internal/view/api.d.ts +3 -1
  279. package/dist/internal/view/api.d.ts.map +1 -1
  280. package/dist/internal/view/api.js +154 -90
  281. package/dist/internal/view/api.js.map +1 -1
  282. package/dist/internal/view/error-message.d.ts +3 -0
  283. package/dist/internal/view/error-message.d.ts.map +1 -0
  284. package/dist/internal/view/error-message.js +10 -0
  285. package/dist/internal/view/error-message.js.map +1 -0
  286. package/dist/internal/view/main.d.ts.map +1 -1
  287. package/dist/internal/view/main.js +63 -9
  288. package/dist/internal/view/main.js.map +1 -1
  289. package/dist/internal/view/page.d.ts.map +1 -1
  290. package/dist/internal/view/page.js +119 -20
  291. package/dist/internal/view/page.js.map +1 -1
  292. package/dist/internal/view/report.d.ts.map +1 -1
  293. package/dist/internal/view/report.js +180 -145
  294. package/dist/internal/view/report.js.map +1 -1
  295. package/dist/internal/view/scope.d.ts +6 -2
  296. package/dist/internal/view/scope.d.ts.map +1 -1
  297. package/dist/internal/view/scope.js +107 -24
  298. package/dist/internal/view/scope.js.map +1 -1
  299. package/dist/internal/view/sensitivity.d.ts +4 -0
  300. package/dist/internal/view/sensitivity.d.ts.map +1 -0
  301. package/dist/internal/view/sensitivity.js +11 -0
  302. package/dist/internal/view/sensitivity.js.map +1 -0
  303. package/dist/internal/view/server.d.ts.map +1 -1
  304. package/dist/internal/view/server.js +57 -20
  305. package/dist/internal/view/server.js.map +1 -1
  306. package/dist/src/atomic-output.d.ts +3 -0
  307. package/dist/src/atomic-output.d.ts.map +1 -0
  308. package/dist/src/atomic-output.js +67 -0
  309. package/dist/src/atomic-output.js.map +1 -0
  310. package/dist/src/cli.d.ts +17 -2
  311. package/dist/src/cli.d.ts.map +1 -1
  312. package/dist/src/cli.js +333 -195
  313. package/dist/src/cli.js.map +1 -1
  314. package/dist/src/commands.d.ts +2 -2
  315. package/dist/src/commands.js +2 -2
  316. package/dist/src/commands.js.map +1 -1
  317. package/dist/src/dispatch.d.ts.map +1 -1
  318. package/dist/src/dispatch.js +10 -3
  319. package/dist/src/dispatch.js.map +1 -1
  320. package/dist/src/doctor.d.ts +1 -1
  321. package/dist/src/doctor.d.ts.map +1 -1
  322. package/dist/src/doctor.js +192 -91
  323. package/dist/src/doctor.js.map +1 -1
  324. package/dist/src/error-message.d.ts +3 -0
  325. package/dist/src/error-message.d.ts.map +1 -0
  326. package/dist/src/error-message.js +20 -0
  327. package/dist/src/error-message.js.map +1 -0
  328. package/dist/src/hooks-config.d.ts +3 -0
  329. package/dist/src/hooks-config.d.ts.map +1 -0
  330. package/dist/src/hooks-config.js +23 -0
  331. package/dist/src/hooks-config.js.map +1 -0
  332. package/dist/src/index.d.ts +1 -1
  333. package/dist/src/index.d.ts.map +1 -1
  334. package/dist/src/index.js +1 -1
  335. package/dist/src/index.js.map +1 -1
  336. package/package.json +23 -20
  337. package/src/atomic-output.ts +47 -0
  338. package/src/cli.ts +345 -171
  339. package/src/commands.ts +2 -2
  340. package/src/dispatch.ts +10 -3
  341. package/src/doctor.ts +207 -100
  342. package/src/error-message.ts +13 -0
  343. package/src/hooks-config.ts +22 -0
  344. package/src/index.ts +1 -1
@@ -0,0 +1,204 @@
1
+ import type { Store } from '@cavelang/store';
2
+ import * as Source from './source.ts';
3
+ import * as Template from './template.ts';
4
+ import type { Report } from './run.ts';
5
+ /** Entity prefix of source declarations and policy (spec §26.3). */
6
+ export declare const prefix = "source/";
7
+ /** The declaration attributes, one per `cave connect` option. */
8
+ export declare const attributes: readonly ["path", "map", "key", "format", "delimiter", "table", "sql", "records"];
9
+ export type Attribute = typeof attributes[number];
10
+ export type Declared = {
11
+ /** The entity name after `source/`. */
12
+ readonly name: string;
13
+ /** File path (relative to the store's directory) or URL. */
14
+ readonly path: string;
15
+ /** Mapping template path, or an inline template (`?name IS person, …`); a `.cave` source needs none. */
16
+ readonly map?: string;
17
+ readonly key?: string;
18
+ /** `csv | tsv | json | jsonl | sqlite`, or `cave`; by extension when omitted. */
19
+ readonly format?: string;
20
+ readonly delimiter?: string;
21
+ readonly table?: string;
22
+ readonly sql?: string;
23
+ readonly records?: string;
24
+ };
25
+ export type t = Declared;
26
+ /** A source's declaration attributes as one text carries them — possibly partial, a delta over what the store knows. */
27
+ export type Delta = {
28
+ readonly name: string;
29
+ readonly fields: Partial<Record<Attribute, string>>;
30
+ };
31
+ /**
32
+ * A stored attribute value as declared: the store keeps a literal's
33
+ * delimiters (`"SELECT …"`, `` `?name IS person, …` ``), and a path, a
34
+ * query, or an inline mapping is the text inside them.
35
+ */
36
+ export declare const unwrap: (value: string) => string;
37
+ /** Every `source/<name>` attribute claim current in the store, grouped by source — complete or not. */
38
+ export declare const deltasOf: (store: Store) => Delta[];
39
+ /** A delta applied over a known declaration; a source without a `path` is not declared. */
40
+ export declare const merge: (known: undefined | Declared, delta: Delta) => undefined | Declared;
41
+ /**
42
+ * The store's declared sources: every `source/<name>` whose current belief
43
+ * carries a positive `path`, with the other declaration attributes that
44
+ * are current alongside it. Retracting a `path` (`… @ 0%`) removes that
45
+ * series; the source disappears only when no positive path series remains.
46
+ * Superseding the newest positive path moves it.
47
+ */
48
+ export declare const declaredSources: (store: Store) => Declared[];
49
+ /**
50
+ * The sources a CAVE text declares, read without touching any store: the
51
+ * text is replayed into a scratch in-memory store. This is how an overlay
52
+ * or a dry run discovers what a followed `.cave` source declares in turn,
53
+ * before anything is appended.
54
+ */
55
+ export declare const declaredIn: (text: string) => Declared[];
56
+ /**
57
+ * Every source declaration attribute a CAVE text carries, complete or
58
+ * partial: a followed `.cave` source may change just the map or key of a
59
+ * source the store already declares, and that delta must reach whatever
60
+ * reads declarations without appending (`discover`, `--name`).
61
+ */
62
+ export declare const declarationsIn: (text: string) => Delta[];
63
+ /** Where a declared path points: URLs as they are, files against the store's directory. */
64
+ export declare const resolvePath: (path: string, dir: string) => string;
65
+ /** A mapping-free CAVE text source: the file is its own template (all prelude). */
66
+ export declare const isCave: (declared: Declared) => boolean;
67
+ /** The declaration as the equivalent `cave connect` invocation, for listings. */
68
+ export declare const describe: (declared: Declared) => string;
69
+ /** The store directory a root path implies: the file's directory, or the working directory for `:memory:`. */
70
+ export declare const directoryOf: (root: string) => string;
71
+ /** The declaration's content, for change detection between passes of one run. */
72
+ export declare const signature: (declared: Declared) => string;
73
+ /** Bookkeeping attribute recording which declaration a source was last run under. */
74
+ export declare const declarationAttribute = "connect-declaration";
75
+ /** Digest of a declaration — what a run records, and what `followed` compares. */
76
+ export declare const declarationDigest: (declared: Declared) => string;
77
+ /**
78
+ * @returns `true` when the store followed the source under exactly this
79
+ * declaration: every run records the declaration's digest on the source
80
+ * entity (`source/<name> HAS connect-declaration: …`), so a source
81
+ * re-declared since — a local file that became a URL, say — is not
82
+ * followed, whatever digests its earlier version left behind.
83
+ */
84
+ export declare const followed: (store: Store, declared: Declared) => boolean;
85
+ /** A selection and everything it owns, transitively — what a named watch must watch. */
86
+ export declare const closure: (store: Store, names: readonly string[]) => Declared[];
87
+ /** A declared source loaded and ready for a pass. */
88
+ export type Prepared = {
89
+ readonly declared: Declared;
90
+ readonly mapping: Template.Mapping;
91
+ readonly records: readonly Record<string, unknown>[];
92
+ readonly spans?: NonNullable<Source.Loaded['spans']>;
93
+ /** The path or URL the records came from, as declared — portable in `@src:` spans. */
94
+ readonly source?: string;
95
+ readonly cave: boolean;
96
+ };
97
+ /** Loads a declared source synchronously — local files only (`assemble`); a URL is refused. */
98
+ export declare const prepareSync: (declared: Declared, dir: string) => Prepared;
99
+ /** Loads a declared source, URLs included — a `.cave` URL is fetched and parsed as the template (`cave connect`). */
100
+ export declare const prepare: (declared: Declared, dir: string, fetchImpl?: Source.FetchLike, signal?: AbortSignal) => Promise<Prepared>;
101
+ export type DiscoverOptions = {
102
+ readonly signal?: AbortSignal;
103
+ readonly fetchImpl?: Source.FetchLike;
104
+ /** Only this declared source (and what it declares in turn). */
105
+ readonly only?: string;
106
+ /** Simulate a `--force` pass: every followed text is applied, digest or not. */
107
+ readonly force?: boolean;
108
+ /** Simulate a `--prune` pass: records that left a source retract, declarations they made included. */
109
+ readonly prune?: boolean;
110
+ /**
111
+ * Skip sources the store has already followed (they carry a digest claim)
112
+ * — what a text store's overlay needs: assembly followed every local
113
+ * source on open, so only the URL ones, and what they declare, are left.
114
+ */
115
+ readonly skipFollowed?: boolean;
116
+ };
117
+ /** Counts a source's declaration versions within one pass and refuses a cycle. */
118
+ export declare const versionCounter: () => (name: string) => void;
119
+ /**
120
+ * Loads every declared source of the store without leaving anything in
121
+ * it, URLs included, and returns the exact sequence a pass would run —
122
+ * a source re-declared along the way appears again, later. Nothing is
123
+ * simulated: the sources run through the real pass against a private
124
+ * snapshot of the store, each exactly once as it is discovered, and the
125
+ * declarations are read from that copy as they stand after each run; so
126
+ * precedence, deltas, retractions, and what an unchanged source skips
127
+ * come out exactly as in the pass, and the real database holds no lock
128
+ * while sources load. `force` replays every text (the overlay applies
129
+ * everything it loads); `prune` retracts what vanished records declared.
130
+ */
131
+ export declare const discover: (origin: Store, root: string, options?: DiscoverOptions) => Promise<Prepared[]>;
132
+ /** A discovery's run sequence with the declaration state it started from — what an overlay must still see before replaying. */
133
+ export type Discovery = {
134
+ readonly sequence: Prepared[];
135
+ readonly baseline: ReadonlyMap<string, string>;
136
+ };
137
+ /**
138
+ * The declaration state an overlay depends on: the current row of every
139
+ * `source/…` claim key — effective declarations, shadowed series, partial
140
+ * deltas, bookkeeping, and the provenance ownership follows — keyed by
141
+ * claim key. Any change a writer makes to those inputs, even one that
142
+ * leaves every effective declaration and owner the same, changes it.
143
+ */
144
+ export declare const declarationState: (store: Store) => Map<string, string>;
145
+ /** Compare keyed declaration signatures or claim-row identities without ignoring ownership changes. */
146
+ export declare const sameDeclarations: (a: ReadonlyMap<string, string>, b: ReadonlyMap<string, string>) => boolean;
147
+ /** How many times an overlay rediscovers when the declarations changed underneath it. */
148
+ export declare const overlayAttempts = 3;
149
+ export declare const staleOverlay: () => Error;
150
+ /** `discover`, also returning the declarations the snapshot started from. */
151
+ export declare const discovery: (origin: Store, root: string, options?: DiscoverOptions) => Promise<Discovery>;
152
+ /**
153
+ * Names of the sources whose current declaration claims a followed source
154
+ * owns — appended under its run — so a selection keeps a source's
155
+ * descendants even when its run changed nothing.
156
+ */
157
+ export declare const ownedDeclarations: (store: Store, owner: string) => string[];
158
+ /**
159
+ * Who owns which declarations, in one pass over the current declaration
160
+ * rows: the prelude runs as `<owner>`, a record as `<owner>/<key>`, so a
161
+ * mapping that emits declarations per record owns them through its
162
+ * records.
163
+ */
164
+ export declare const ownership: (store: Store) => Map<string, Set<string>>;
165
+ /** Declaration signatures by name. */
166
+ export declare const signatures: (declared: readonly Declared[]) => Map<string, string>;
167
+ /** Names whose declaration was added, changed, or removed between two snapshots. */
168
+ export declare const changedNames: (before: ReadonlyMap<string, string>, after: ReadonlyMap<string, string>) => string[];
169
+ export type RunOptions = {
170
+ readonly force?: boolean;
171
+ readonly prune?: boolean;
172
+ };
173
+ /** The digest of the declaration a source was last run under, if any. */
174
+ export declare const recordedDeclaration: (store: Store, name: string) => undefined | string;
175
+ /**
176
+ * One pass of a prepared declared source under `declaredNaming` (spec
177
+ * §23.4), recording the declaration it ran under. A source whose
178
+ * declaration changed since its last run — another path, key, query, or
179
+ * record selector — prunes as it runs: records the new version does not
180
+ * produce are retired, since the per-record diff never visits them. A
181
+ * source that was followed without a recorded declaration (digests, no
182
+ * marker) is treated as changed, conservatively.
183
+ */
184
+ export declare const run: (store: Store, ready: Prepared, options?: RunOptions) => Report;
185
+ export type Assembled = {
186
+ readonly declared: Declared;
187
+ readonly report: Report;
188
+ };
189
+ /**
190
+ * Follows every declared source of the store, the ones the followed
191
+ * sources declare in turn included, until none is left. `root` is the
192
+ * store's own file (or `:memory:`): paths resolve against its directory
193
+ * and the root file itself is never re-read as a source, so a file that
194
+ * declares itself, directly or through a cycle, is loaded exactly once —
195
+ * one file under several names, with different mappings say, is followed
196
+ * under each. URL sources are skipped, not errors: fetching cannot be
197
+ * synchronous, and `cave connect` follows them. Other failures are
198
+ * `LocateError`s — the store is incomplete without its sources, exactly
199
+ * as with a text file that does not parse.
200
+ */
201
+ export declare const assemble: (store: Store, root: string, options?: {
202
+ readonly force?: boolean;
203
+ }) => Assembled[];
204
+ //# sourceMappingURL=declared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared.d.ts","sourceRoot":"","sources":["../../src/declared.ts"],"names":[],"mappings":"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"}