@amalgm/shell 0.1.164-preview.36072132286 → 0.1.164-preview.36809057014

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 (475) hide show
  1. package/PURPOSE.md +642 -128
  2. package/README.md +10 -8
  3. package/dist/accepted-tail.d.ts +26 -0
  4. package/dist/accepted-tail.js +37 -0
  5. package/dist/accepted-tail.js.map +1 -0
  6. package/dist/agent-execution.d.ts +16 -1
  7. package/dist/agent-execution.js +13 -5
  8. package/dist/agent-execution.js.map +1 -1
  9. package/dist/apply-cleanup.d.ts +28 -0
  10. package/dist/apply-cleanup.js +166 -0
  11. package/dist/apply-cleanup.js.map +1 -0
  12. package/dist/apply-recovery.d.ts +47 -0
  13. package/dist/apply-recovery.js +99 -0
  14. package/dist/apply-recovery.js.map +1 -0
  15. package/dist/apply-rows.d.ts +72 -0
  16. package/dist/apply-rows.js +150 -0
  17. package/dist/apply-rows.js.map +1 -0
  18. package/dist/apply-saves.d.ts +85 -0
  19. package/dist/apply-saves.js +238 -0
  20. package/dist/apply-saves.js.map +1 -0
  21. package/dist/boot.js +2 -1
  22. package/dist/boot.js.map +1 -1
  23. package/dist/capture-work.d.ts +8 -0
  24. package/dist/capture-work.js +67 -0
  25. package/dist/capture-work.js.map +1 -0
  26. package/dist/cargo-group.d.ts +45 -0
  27. package/dist/cargo-group.js +88 -0
  28. package/dist/cargo-group.js.map +1 -0
  29. package/dist/channel-session.d.ts +4 -2
  30. package/dist/channel-session.js +4 -3
  31. package/dist/channel-session.js.map +1 -1
  32. package/dist/chat-composition.d.ts +2 -0
  33. package/dist/chat-composition.js +1 -0
  34. package/dist/chat-composition.js.map +1 -1
  35. package/dist/cli.js +20 -1
  36. package/dist/cli.js.map +1 -1
  37. package/dist/construct-apply-host.d.ts +4 -2
  38. package/dist/construct-apply-host.js +8 -3
  39. package/dist/construct-apply-host.js.map +1 -1
  40. package/dist/construct-door.js +1 -1
  41. package/dist/construct-door.js.map +1 -1
  42. package/dist/construct-ledger.d.ts +6 -1
  43. package/dist/construct-ledger.js +21 -33
  44. package/dist/construct-ledger.js.map +1 -1
  45. package/dist/content-cache-collection.d.ts +18 -0
  46. package/dist/content-cache-collection.js +99 -0
  47. package/dist/content-cache-collection.js.map +1 -0
  48. package/dist/content-cache-host.d.ts +83 -17
  49. package/dist/content-cache-host.js +335 -95
  50. package/dist/content-cache-host.js.map +1 -1
  51. package/dist/content-cache-namespace.d.ts +59 -0
  52. package/dist/content-cache-namespace.js +210 -0
  53. package/dist/content-cache-namespace.js.map +1 -0
  54. package/dist/content-cache-ownership.d.ts +13 -0
  55. package/dist/content-cache-ownership.js +75 -0
  56. package/dist/content-cache-ownership.js.map +1 -0
  57. package/dist/content-cache-retention.d.ts +23 -0
  58. package/dist/content-cache-retention.js +195 -0
  59. package/dist/content-cache-retention.js.map +1 -0
  60. package/dist/content-capture-pool.d.ts +287 -0
  61. package/dist/content-capture-pool.js +461 -0
  62. package/dist/content-capture-pool.js.map +1 -0
  63. package/dist/content-capture-worker.d.ts +8 -0
  64. package/dist/content-capture-worker.js +109 -0
  65. package/dist/content-capture-worker.js.map +1 -0
  66. package/dist/content-clock.d.ts +42 -0
  67. package/dist/content-clock.js +166 -0
  68. package/dist/content-clock.js.map +1 -0
  69. package/dist/content-direct.d.ts +2 -0
  70. package/dist/content-direct.js +12 -0
  71. package/dist/content-direct.js.map +1 -1
  72. package/dist/content-failure.d.ts +18 -0
  73. package/dist/content-failure.js +38 -0
  74. package/dist/content-failure.js.map +1 -0
  75. package/dist/content-stream-thread.d.ts +60 -0
  76. package/dist/content-stream-thread.js +95 -0
  77. package/dist/content-stream-thread.js.map +1 -0
  78. package/dist/content-stream-worker.d.ts +7 -0
  79. package/dist/content-stream-worker.js +52 -0
  80. package/dist/content-stream-worker.js.map +1 -0
  81. package/dist/declaration-absorption.d.ts +37 -0
  82. package/dist/declaration-absorption.js +119 -0
  83. package/dist/declaration-absorption.js.map +1 -0
  84. package/dist/declaration-chain.d.ts +36 -0
  85. package/dist/declaration-chain.js +96 -0
  86. package/dist/declaration-chain.js.map +1 -0
  87. package/dist/declaration-commit.d.ts +31 -0
  88. package/dist/declaration-commit.js +49 -0
  89. package/dist/declaration-commit.js.map +1 -0
  90. package/dist/declaration-hold.d.ts +22 -0
  91. package/dist/declaration-hold.js +24 -0
  92. package/dist/declaration-hold.js.map +1 -0
  93. package/dist/declaration-journal.d.ts +62 -0
  94. package/dist/declaration-journal.js +99 -0
  95. package/dist/declaration-journal.js.map +1 -0
  96. package/dist/declaration-save.d.ts +31 -0
  97. package/dist/declaration-save.js +134 -0
  98. package/dist/declaration-save.js.map +1 -0
  99. package/dist/detection/accepted-result.d.ts +19 -1
  100. package/dist/detection/accepted-result.js +36 -5
  101. package/dist/detection/accepted-result.js.map +1 -1
  102. package/dist/detection/admission-save.d.ts +55 -0
  103. package/dist/detection/admission-save.js +48 -0
  104. package/dist/detection/admission-save.js.map +1 -0
  105. package/dist/detection/admission-units.d.ts +66 -0
  106. package/dist/detection/admission-units.js +322 -0
  107. package/dist/detection/admission-units.js.map +1 -0
  108. package/dist/detection/alias-discovery.d.ts +12 -0
  109. package/dist/detection/alias-discovery.js +80 -0
  110. package/dist/detection/alias-discovery.js.map +1 -0
  111. package/dist/detection/alias-examination.d.ts +30 -0
  112. package/dist/detection/alias-examination.js +49 -0
  113. package/dist/detection/alias-examination.js.map +1 -0
  114. package/dist/detection/apply-ownership.d.ts +81 -0
  115. package/dist/detection/apply-ownership.js +232 -0
  116. package/dist/detection/apply-ownership.js.map +1 -0
  117. package/dist/detection/basis-advanced.d.ts +11 -0
  118. package/dist/detection/basis-advanced.js +26 -0
  119. package/dist/detection/basis-advanced.js.map +1 -0
  120. package/dist/detection/capture-outcome.d.ts +16 -0
  121. package/dist/detection/capture-outcome.js +92 -0
  122. package/dist/detection/capture-outcome.js.map +1 -0
  123. package/dist/detection/container-membership.d.ts +32 -0
  124. package/dist/detection/container-membership.js +49 -0
  125. package/dist/detection/container-membership.js.map +1 -0
  126. package/dist/detection/detect-cancelled.d.ts +6 -0
  127. package/dist/detection/detect-cancelled.js +10 -0
  128. package/dist/detection/detect-cancelled.js.map +1 -0
  129. package/dist/detection/directory-proof.d.ts +47 -0
  130. package/dist/detection/directory-proof.js +77 -0
  131. package/dist/detection/directory-proof.js.map +1 -0
  132. package/dist/detection/disposition-rows.d.ts +18 -0
  133. package/dist/detection/disposition-rows.js +29 -0
  134. package/dist/detection/disposition-rows.js.map +1 -0
  135. package/dist/detection/dispositions.d.ts +130 -0
  136. package/dist/detection/dispositions.js +248 -0
  137. package/dist/detection/dispositions.js.map +1 -0
  138. package/dist/detection/git-notice.d.ts +88 -0
  139. package/dist/detection/git-notice.js +444 -0
  140. package/dist/detection/git-notice.js.map +1 -0
  141. package/dist/detection/ground-proof.d.ts +130 -0
  142. package/dist/detection/ground-proof.js +274 -0
  143. package/dist/detection/ground-proof.js.map +1 -0
  144. package/dist/detection/ground-reader.d.ts +29 -0
  145. package/dist/detection/ground-reader.js +102 -0
  146. package/dist/detection/ground-reader.js.map +1 -0
  147. package/dist/detection/held-territory.d.ts +51 -0
  148. package/dist/detection/held-territory.js +205 -0
  149. package/dist/detection/held-territory.js.map +1 -0
  150. package/dist/detection/identity-discovery.d.ts +45 -0
  151. package/dist/detection/identity-discovery.js +287 -0
  152. package/dist/detection/identity-discovery.js.map +1 -0
  153. package/dist/detection/maintenance-sweep.d.ts +108 -0
  154. package/dist/detection/maintenance-sweep.js +325 -0
  155. package/dist/detection/maintenance-sweep.js.map +1 -0
  156. package/dist/detection/name-reach.d.ts +12 -0
  157. package/dist/detection/name-reach.js +28 -0
  158. package/dist/detection/name-reach.js.map +1 -0
  159. package/dist/detection/notebook-basis.d.ts +5 -7
  160. package/dist/detection/notebook-basis.js +6 -7
  161. package/dist/detection/notebook-basis.js.map +1 -1
  162. package/dist/detection/owed-selection.d.ts +51 -0
  163. package/dist/detection/owed-selection.js +169 -0
  164. package/dist/detection/owed-selection.js.map +1 -0
  165. package/dist/detection/portable.d.ts +34 -34
  166. package/dist/detection/portable.js +67 -93
  167. package/dist/detection/portable.js.map +1 -1
  168. package/dist/detection/reconciliation-coverage.d.ts +7 -0
  169. package/dist/detection/reconciliation-coverage.js +16 -0
  170. package/dist/detection/reconciliation-coverage.js.map +1 -0
  171. package/dist/detection/repository-publication.d.ts +20 -0
  172. package/dist/detection/repository-publication.js +79 -0
  173. package/dist/detection/repository-publication.js.map +1 -0
  174. package/dist/detection/repository-routes.d.ts +43 -0
  175. package/dist/detection/repository-routes.js +97 -0
  176. package/dist/detection/repository-routes.js.map +1 -0
  177. package/dist/detection/root-examination.d.ts +94 -0
  178. package/dist/detection/root-examination.js +523 -0
  179. package/dist/detection/root-examination.js.map +1 -0
  180. package/dist/detection/runtime.d.ts +131 -64
  181. package/dist/detection/runtime.js +808 -1103
  182. package/dist/detection/runtime.js.map +1 -1
  183. package/dist/detection/scoped-identity-port.d.ts +34 -0
  184. package/dist/detection/scoped-identity-port.js +81 -0
  185. package/dist/detection/scoped-identity-port.js.map +1 -0
  186. package/dist/detection/seal-law.d.ts +66 -0
  187. package/dist/detection/seal-law.js +116 -0
  188. package/dist/detection/seal-law.js.map +1 -0
  189. package/dist/detection/sharing-policy.d.ts +11 -0
  190. package/dist/detection/sharing-policy.js +32 -0
  191. package/dist/detection/sharing-policy.js.map +1 -0
  192. package/dist/detection/thread-database.d.ts +4 -0
  193. package/dist/detection/thread-database.js +30 -0
  194. package/dist/detection/thread-database.js.map +1 -0
  195. package/dist/detection/unreadable.d.ts +11 -0
  196. package/dist/detection/unreadable.js +9 -0
  197. package/dist/detection/unreadable.js.map +1 -0
  198. package/dist/detection/verified-content.d.ts +6 -0
  199. package/dist/detection/verified-content.js +12 -0
  200. package/dist/detection/verified-content.js.map +1 -0
  201. package/dist/detection/walk-law.d.ts +34 -0
  202. package/dist/detection/walk-law.js +55 -0
  203. package/dist/detection/walk-law.js.map +1 -0
  204. package/dist/development/fly-guest.js +2 -1
  205. package/dist/development/fly-guest.js.map +1 -1
  206. package/dist/entity-apply-host.d.ts +29 -13
  207. package/dist/entity-apply-host.js +1426 -461
  208. package/dist/entity-apply-host.js.map +1 -1
  209. package/dist/entity-apply-store.d.ts +77 -30
  210. package/dist/entity-apply-store.js +221 -516
  211. package/dist/entity-apply-store.js.map +1 -1
  212. package/dist/entity-record-observability.js +2 -0
  213. package/dist/entity-record-observability.js.map +1 -1
  214. package/dist/entity-record-saves.d.ts +20 -0
  215. package/dist/entity-record-saves.js +91 -0
  216. package/dist/entity-record-saves.js.map +1 -0
  217. package/dist/entity-record-store.d.ts +15 -7
  218. package/dist/entity-record-store.js +57 -117
  219. package/dist/entity-record-store.js.map +1 -1
  220. package/dist/files-register-host.d.ts +22 -3
  221. package/dist/files-register-host.js +70 -31
  222. package/dist/files-register-host.js.map +1 -1
  223. package/dist/filesystem.js +3 -2
  224. package/dist/filesystem.js.map +1 -1
  225. package/dist/git-binding.d.ts +65 -0
  226. package/dist/git-binding.js +220 -0
  227. package/dist/git-binding.js.map +1 -0
  228. package/dist/git-capture.d.ts +39 -0
  229. package/dist/git-capture.js +86 -0
  230. package/dist/git-capture.js.map +1 -0
  231. package/dist/git-card.d.ts +12 -0
  232. package/dist/git-card.js +123 -0
  233. package/dist/git-card.js.map +1 -0
  234. package/dist/git-checkpoint-construction.d.ts +41 -0
  235. package/dist/git-checkpoint-construction.js +96 -0
  236. package/dist/git-checkpoint-construction.js.map +1 -0
  237. package/dist/git-checkpoint-preparation.d.ts +37 -0
  238. package/dist/git-checkpoint-preparation.js +145 -0
  239. package/dist/git-checkpoint-preparation.js.map +1 -0
  240. package/dist/git-command.d.ts +61 -8
  241. package/dist/git-command.js +217 -63
  242. package/dist/git-command.js.map +1 -1
  243. package/dist/git-configuration.d.ts +40 -0
  244. package/dist/git-configuration.js +217 -0
  245. package/dist/git-configuration.js.map +1 -0
  246. package/dist/git-evidence.d.ts +61 -0
  247. package/dist/git-evidence.js +181 -0
  248. package/dist/git-evidence.js.map +1 -0
  249. package/dist/git-index-entries.d.ts +15 -0
  250. package/dist/git-index-entries.js +44 -0
  251. package/dist/git-index-entries.js.map +1 -0
  252. package/dist/git-index-format.d.ts +35 -0
  253. package/dist/git-index-format.js +293 -0
  254. package/dist/git-index-format.js.map +1 -0
  255. package/dist/git-index-witness.d.ts +33 -0
  256. package/dist/git-index-witness.js +69 -0
  257. package/dist/git-index-witness.js.map +1 -0
  258. package/dist/git-literal-host.d.ts +82 -0
  259. package/dist/git-literal-host.js +172 -0
  260. package/dist/git-literal-host.js.map +1 -0
  261. package/dist/git-literal-read.d.ts +88 -0
  262. package/dist/git-literal-read.js +170 -0
  263. package/dist/git-literal-read.js.map +1 -0
  264. package/dist/git-literal-replay.d.ts +33 -0
  265. package/dist/git-literal-replay.js +268 -0
  266. package/dist/git-literal-replay.js.map +1 -0
  267. package/dist/git-native-file.d.ts +42 -0
  268. package/dist/git-native-file.js +145 -0
  269. package/dist/git-native-file.js.map +1 -0
  270. package/dist/git-native-index.d.ts +21 -0
  271. package/dist/git-native-index.js +44 -0
  272. package/dist/git-native-index.js.map +1 -0
  273. package/dist/git-operation-host.d.ts +48 -0
  274. package/dist/git-operation-host.js +127 -0
  275. package/dist/git-operation-host.js.map +1 -0
  276. package/dist/git-private-index.d.ts +11 -0
  277. package/dist/git-private-index.js +42 -0
  278. package/dist/git-private-index.js.map +1 -0
  279. package/dist/git-private-repository.d.ts +4 -0
  280. package/dist/git-private-repository.js +69 -0
  281. package/dist/git-private-repository.js.map +1 -0
  282. package/dist/git-private-view.d.ts +39 -0
  283. package/dist/git-private-view.js +162 -0
  284. package/dist/git-private-view.js.map +1 -0
  285. package/dist/git-ref-store.d.ts +12 -0
  286. package/dist/git-ref-store.js +68 -0
  287. package/dist/git-ref-store.js.map +1 -0
  288. package/dist/git-registration-host.d.ts +20 -30
  289. package/dist/git-registration-host.js +86 -249
  290. package/dist/git-registration-host.js.map +1 -1
  291. package/dist/git-repository-host.d.ts +148 -22
  292. package/dist/git-repository-host.js +633 -650
  293. package/dist/git-repository-host.js.map +1 -1
  294. package/dist/git-worktree-host.d.ts +2 -0
  295. package/dist/git-worktree-host.js +16 -0
  296. package/dist/git-worktree-host.js.map +1 -0
  297. package/dist/graph-publication.d.ts +75 -0
  298. package/dist/graph-publication.js +203 -0
  299. package/dist/graph-publication.js.map +1 -0
  300. package/dist/ground-basis.d.ts +242 -0
  301. package/dist/ground-basis.js +1023 -0
  302. package/dist/ground-basis.js.map +1 -0
  303. package/dist/ground-checkpoint-worker.d.ts +1 -0
  304. package/dist/ground-checkpoint-worker.js +84 -0
  305. package/dist/ground-checkpoint-worker.js.map +1 -0
  306. package/dist/ground-checkpoints.d.ts +16 -0
  307. package/dist/ground-checkpoints.js +45 -0
  308. package/dist/ground-checkpoints.js.map +1 -0
  309. package/dist/ground-coordination.d.ts +107 -3
  310. package/dist/ground-coordination.js +249 -24
  311. package/dist/ground-coordination.js.map +1 -1
  312. package/dist/ground-database.d.ts +42 -0
  313. package/dist/ground-database.js +290 -0
  314. package/dist/ground-database.js.map +1 -0
  315. package/dist/ground-differences.d.ts +23 -0
  316. package/dist/ground-differences.js +47 -0
  317. package/dist/ground-differences.js.map +1 -0
  318. package/dist/ground-holders.d.ts +4 -0
  319. package/dist/ground-holders.js +15 -0
  320. package/dist/ground-holders.js.map +1 -0
  321. package/dist/ground-initialization-worker.d.ts +1 -0
  322. package/dist/ground-initialization-worker.js +20 -0
  323. package/dist/ground-initialization-worker.js.map +1 -0
  324. package/dist/ground-initialization.d.ts +35 -0
  325. package/dist/ground-initialization.js +102 -0
  326. package/dist/ground-initialization.js.map +1 -0
  327. package/dist/ground-install-saves.d.ts +63 -0
  328. package/dist/ground-install-saves.js +139 -0
  329. package/dist/ground-install-saves.js.map +1 -0
  330. package/dist/ground-inventory-schema.d.ts +18 -0
  331. package/dist/ground-inventory-schema.js +168 -0
  332. package/dist/ground-inventory-schema.js.map +1 -0
  333. package/dist/ground-profile.d.ts +7 -0
  334. package/dist/ground-profile.js +52 -0
  335. package/dist/ground-profile.js.map +1 -0
  336. package/dist/ground-root-index.d.ts +2 -1
  337. package/dist/ground-root-index.js +16 -14
  338. package/dist/ground-root-index.js.map +1 -1
  339. package/dist/ground-row.d.ts +62 -0
  340. package/dist/ground-row.js +70 -0
  341. package/dist/ground-row.js.map +1 -0
  342. package/dist/ground-save-ops.d.ts +44 -0
  343. package/dist/ground-save-ops.js +41 -0
  344. package/dist/ground-save-ops.js.map +1 -0
  345. package/dist/ground-saver-worker.d.ts +1 -0
  346. package/dist/ground-saver-worker.js +156 -0
  347. package/dist/ground-saver-worker.js.map +1 -0
  348. package/dist/ground-saver.d.ts +75 -0
  349. package/dist/ground-saver.js +216 -0
  350. package/dist/ground-saver.js.map +1 -0
  351. package/dist/ground-store.d.ts +84 -0
  352. package/dist/ground-store.js +473 -0
  353. package/dist/ground-store.js.map +1 -0
  354. package/dist/ground-territory.d.ts +130 -0
  355. package/dist/ground-territory.js +511 -0
  356. package/dist/ground-territory.js.map +1 -0
  357. package/dist/index.d.ts +1 -1
  358. package/dist/index.js.map +1 -1
  359. package/dist/installation/ownership.d.ts +0 -2
  360. package/dist/installation/ownership.js +3 -15
  361. package/dist/installation/ownership.js.map +1 -1
  362. package/dist/machine-host.d.ts +3 -2
  363. package/dist/machine-host.js +28 -16
  364. package/dist/machine-host.js.map +1 -1
  365. package/dist/materialized-graph.d.ts +7 -7
  366. package/dist/materialized-graph.js +11 -23
  367. package/dist/materialized-graph.js.map +1 -1
  368. package/dist/module-thread.d.ts +9 -0
  369. package/dist/module-thread.js +10 -0
  370. package/dist/module-thread.js.map +1 -0
  371. package/dist/native/fsevents-stream.node +0 -0
  372. package/dist/physical-path-witness.d.ts +64 -0
  373. package/dist/physical-path-witness.js +168 -0
  374. package/dist/physical-path-witness.js.map +1 -0
  375. package/dist/register-upload-fusion.d.ts +5 -4
  376. package/dist/register-upload-fusion.js +9 -6
  377. package/dist/register-upload-fusion.js.map +1 -1
  378. package/dist/registry-graph.d.ts +3 -2
  379. package/dist/registry-graph.js +9 -6
  380. package/dist/registry-graph.js.map +1 -1
  381. package/dist/registry-page-cache.d.ts +5 -2
  382. package/dist/registry-page-cache.js.map +1 -1
  383. package/dist/repository-identity-steps.d.ts +5 -0
  384. package/dist/repository-identity-steps.js +33 -0
  385. package/dist/repository-identity-steps.js.map +1 -0
  386. package/dist/runtime-node-flags.d.ts +10 -0
  387. package/dist/runtime-node-flags.js +11 -0
  388. package/dist/runtime-node-flags.js.map +1 -0
  389. package/dist/service/adapter.d.ts +1 -1
  390. package/dist/service/adapter.js +1 -1
  391. package/dist/service/adapter.js.map +1 -1
  392. package/dist/service/cli.js +16 -20
  393. package/dist/service/cli.js.map +1 -1
  394. package/dist/service/control.d.ts +2 -2
  395. package/dist/service/keepalive.d.ts +4 -11
  396. package/dist/service/keepalive.js +65 -118
  397. package/dist/service/keepalive.js.map +1 -1
  398. package/dist/service/policy.d.ts +36 -0
  399. package/dist/service/policy.js +25 -0
  400. package/dist/service/policy.js.map +1 -0
  401. package/dist/service/portable.d.ts +1 -1
  402. package/dist/service/portable.js +1 -1
  403. package/dist/service/portable.js.map +1 -1
  404. package/dist/service/recovery.d.ts +10 -9
  405. package/dist/service/recovery.js +29 -19
  406. package/dist/service/recovery.js.map +1 -1
  407. package/dist/service/windows-action.d.ts +5 -3
  408. package/dist/service/windows-action.js +6 -9
  409. package/dist/service/windows-action.js.map +1 -1
  410. package/dist/service/windows-task.js +5 -5
  411. package/dist/service/windows-task.js.map +1 -1
  412. package/dist/sharing-admission.d.ts +17 -0
  413. package/dist/sharing-admission.js +128 -0
  414. package/dist/sharing-admission.js.map +1 -0
  415. package/dist/snapshot-delivery-baseline.d.ts +12 -3
  416. package/dist/snapshot-delivery-baseline.js +41 -42
  417. package/dist/snapshot-delivery-baseline.js.map +1 -1
  418. package/dist/source-proof.d.ts +36 -0
  419. package/dist/source-proof.js +70 -0
  420. package/dist/source-proof.js.map +1 -0
  421. package/dist/source-signature.d.ts +56 -0
  422. package/dist/source-signature.js +56 -0
  423. package/dist/source-signature.js.map +1 -0
  424. package/dist/source-witness.d.ts +15 -0
  425. package/dist/source-witness.js +29 -0
  426. package/dist/source-witness.js.map +1 -0
  427. package/dist/sqlite-durability.d.ts +31 -0
  428. package/dist/sqlite-durability.js +28 -0
  429. package/dist/sqlite-durability.js.map +1 -0
  430. package/dist/sqlite.d.ts +8 -2
  431. package/dist/sqlite.js +27 -4
  432. package/dist/sqlite.js.map +1 -1
  433. package/dist/sync-address.d.ts +19 -0
  434. package/dist/sync-address.js +52 -0
  435. package/dist/sync-address.js.map +1 -0
  436. package/dist/sync-setting.d.ts +15 -0
  437. package/dist/sync-setting.js +13 -0
  438. package/dist/sync-setting.js.map +1 -1
  439. package/dist/turns.d.ts +42 -0
  440. package/dist/turns.js +112 -0
  441. package/dist/turns.js.map +1 -0
  442. package/dist/updates/bootstrap.d.ts +53 -7
  443. package/dist/updates/bootstrap.js +224 -137
  444. package/dist/updates/bootstrap.js.map +1 -1
  445. package/dist/updates/controller.d.ts +8 -0
  446. package/dist/updates/controller.js +27 -3
  447. package/dist/updates/controller.js.map +1 -1
  448. package/dist/updates/store.d.ts +3 -0
  449. package/dist/updates/store.js +12 -0
  450. package/dist/updates/store.js.map +1 -1
  451. package/dist/user-ground-host.d.ts +364 -69
  452. package/dist/user-ground-host.js +5231 -3366
  453. package/dist/user-ground-host.js.map +1 -1
  454. package/dist/watching/fsevents.d.ts +52 -1
  455. package/dist/watching/fsevents.js +60 -25
  456. package/dist/watching/fsevents.js.map +1 -1
  457. package/dist/watching/host.d.ts +129 -5
  458. package/dist/watching/host.js +433 -80
  459. package/dist/watching/host.js.map +1 -1
  460. package/dist/watching/index.d.ts +1 -1
  461. package/dist/wire-binary.d.ts +3 -2
  462. package/dist/wire-binary.js +10 -8
  463. package/dist/wire-binary.js.map +1 -1
  464. package/dist/wire-client.d.ts +3 -4
  465. package/dist/wire-client.js +18 -44
  466. package/dist/wire-client.js.map +1 -1
  467. package/dist/wire-outbox.d.ts +34 -0
  468. package/dist/wire-outbox.js +127 -0
  469. package/dist/wire-outbox.js.map +1 -0
  470. package/dist/workspace-host.d.ts +4 -0
  471. package/dist/workspace-host.js +12 -1
  472. package/dist/workspace-host.js.map +1 -1
  473. package/examinations/fixtures/private-wire-authority.js +133 -10
  474. package/npm-shrinkwrap.json +43 -56
  475. package/package.json +26 -13
@@ -1,35 +1,35 @@
1
+ import { type UnavailableRoot } from "./detection/unreadable.js";
2
+ import { type GroundRow } from "./ground-row.js";
1
3
  import { type UserGroundPort, type UserHomeDeclaration } from "@amalgm/core/identity";
2
- import { type EntityType, type FilesAddPorts, type FilesRegisterPorts, type UserGroundIdentity } from "@amalgm/live";
3
- import type Database from "better-sqlite3";
4
+ import { EntityApplyRail, type EntityRecordDelivery, type FilesAddPorts, type FilesRegisterPorts, type MaintenanceReceipts, type UserGroundIdentity } from "@amalgm/live";
4
5
  import { type FilesStageObserver } from "./files-observability.js";
5
6
  import { type EntityApplyHostOptions, type EntityApplyStageEvidence } from "./entity-apply-host.js";
6
7
  import { type ConstructRecordChange } from "./construct-door.js";
7
8
  import type { ConstructPort, SharingPorts } from "@amalgm/live/sharing";
9
+ import type { DiscoveryStats } from "./detection/identity-discovery.js";
10
+ import type { RootExaminationTimings } from "./detection/root-examination.js";
11
+ import { type VisitOutcome } from "./detection/maintenance-sweep.js";
8
12
  import { type DurabilityBarrier } from "./durability-barrier.js";
13
+ import { type DetectCommitEvidence } from "./detection/runtime.js";
9
14
  import { type OpenNativeWatch, type WatchCoverageEvidence, type WatchHealth } from "./watching/index.js";
10
15
  import { WireClient } from "./wire-client.js";
11
- interface GroundRow {
12
- readonly resourceId: string;
13
- readonly rootUUID: string;
14
- readonly uuid: string;
15
- readonly type: EntityType;
16
- readonly parentUUID: string | null;
17
- readonly name: string;
18
- readonly status: "active";
19
- readonly version: string;
20
- readonly payloadVersion: string | null;
21
- readonly transportVersion: string | null;
22
- readonly relativePath: string;
23
- readonly absolutePath: string;
24
- readonly deviceNumber: number;
25
- readonly inode: number;
26
- readonly byteSize: number | null;
27
- readonly modifiedTimeMs: number | null;
28
- readonly changedTimeMs: number | null;
29
- readonly filesystemMode: number | null;
30
- readonly contentVerifiedAtMs: number | null;
16
+ /** One identity discovery: whether the rows a scoped root's repositories no
17
+ * longer found are absent from its whole namespace, and what it cost. */
18
+ export interface DetectDiscoveryEvidence {
19
+ readonly rootId: string;
20
+ readonly directory: string;
21
+ readonly rows: number;
22
+ readonly elapsedMs: number;
23
+ /** absent: witnessed; found: an identity stands where the pass did not
24
+ * observe it; gap: the namespace could not answer; failed: a fault. */
25
+ readonly outcome: "absent" | "found" | "gap" | "failed";
26
+ readonly reason: string | null;
27
+ readonly found: number;
28
+ readonly stats?: DiscoveryStats;
31
29
  }
32
30
  export interface DetectScanEvidence {
31
+ readonly outcome: "observed" | "failed";
32
+ readonly error?: string;
33
33
  readonly rootId: string;
34
34
  readonly directory: string;
35
35
  readonly scope: "complete" | "paths" | "none";
@@ -41,6 +41,8 @@ export interface DetectScanEvidence {
41
41
  readonly durationMs: number;
42
42
  readonly plannedRows?: number;
43
43
  readonly records?: number;
44
+ /** Results Build settled against an exact accepted result: no record. */
45
+ readonly settled?: number;
44
46
  readonly recordBytes?: number;
45
47
  /** Wall time inside readdir/lstat — the traversal's own cost. */
46
48
  readonly walkMs?: number;
@@ -53,17 +55,36 @@ export interface DetectScanEvidence {
53
55
  readonly captureBytes?: number;
54
56
  /** Wall time inside Git index inspection during the walk. */
55
57
  readonly gitMs?: number;
56
- /** Wall time proving repository identity through Git, across every
57
- * repository. Repositories are sealed one at a time, so this is serial. */
58
- readonly repositoryIdentityMs?: number;
59
58
  /** Wall time packing repository transport bytes, across every repository. */
60
59
  readonly repositoryCaptureMs?: number;
60
+ /** Largest individual synchronous capture, separate from the batch sum. */
61
+ readonly repositoryCaptureMaxMs?: number;
62
+ readonly repositoryCaptureMaxId?: string;
63
+ readonly repositoryCaptureMaxOutcome?: "captured" | "failed";
64
+ readonly repositoryCaptureFailures?: number;
61
65
  /** Wall time sealing and re-inspecting repository transport artifacts. */
62
66
  readonly repositorySealMs?: number;
67
+ /** Repository seal outcomes: `reuse`, `miss:<reason>`, `write`,
68
+ * `write-refused:<reason>`. Evidence only; never an input to a decision. */
69
+ readonly seal?: Readonly<Record<string, number>>;
63
70
  /** Wall time resolving stored UUIDs against what the walk found. */
64
71
  readonly reconcileMs?: number;
65
72
  /** Wall time planning and persisting rows once identity is settled. */
66
73
  readonly persistMs?: number;
74
+ /** A complete examination's outcome: `reused` when disk equals O and B
75
+ * stands at O's selection, `scoped:<repositories>+<folders>` when a scope
76
+ * holds its differences, otherwise the first reason the main walk answers.
77
+ * Evidence only. */
78
+ readonly selection?: string;
79
+ /** Where a content thread's examination of a quiet root went. */
80
+ readonly pooled?: RootExaminationTimings;
81
+ }
82
+ /** What one flush boundary proved: every root, except those Git refused. */
83
+ export interface FlushOutcome {
84
+ readonly refused: readonly {
85
+ readonly directory: string;
86
+ readonly reason: string;
87
+ }[];
67
88
  }
68
89
  export interface UserGroundHostOptions {
69
90
  /** Runtime-owned transport. Standalone host examinations may own their client. */
@@ -86,6 +107,12 @@ export interface UserGroundHostOptions {
86
107
  readonly durabilityBarrier?: DurabilityBarrier;
87
108
  /** Root-scoped Detect evidence for product diagnostics and examinations. */
88
109
  readonly onDetectScan?: (evidence: DetectScanEvidence) => void;
110
+ /** Passive full-ground examination receipt, emitted only after an outer
111
+ * Record commit. Omitted in production; never changes admission decisions. */
112
+ readonly onDetectCommit?: (evidence: DetectCommitEvidence) => void;
113
+ /** Controlled source-race seam for full-ground examinations. Production
114
+ * supplies no callback; the proof must close after this scheduling boundary. */
115
+ readonly onRepositoryYield?: (rootPath: string, repositoryPath: string) => void;
89
116
  /** Transient Apply progress; durable responsibility remains in SQLite. */
90
117
  readonly onApplyStage?: (evidence: EntityApplyStageEvidence) => void;
91
118
  /** Crash seam for derived-address relocation examinations. */
@@ -116,6 +143,45 @@ export interface UserGroundHostOptions {
116
143
  readonly filesTraceActive?: () => boolean;
117
144
  }
118
145
  export type WorkspaceAddStage = "intent-recorded" | "materialization-verified" | "rows-committed" | "ground-revealed" | "binding-created" | "watching";
146
+ /** Resources always close. Catch-up is proved through the final cutoff,
147
+ * cancelled by pause, or incomplete: a durable Apply intent owns ground the
148
+ * final pass could not attribute, Git refused a root, a root's ground was
149
+ * still moving through the final pass, user ground could not be read, or a
150
+ * Register declaration still awaits the authority. A failed step rejects
151
+ * close with no catch-up claim. Startup suspects every root regardless;
152
+ * nothing here lets it skip. */
153
+ export type UserGroundCatchUp = {
154
+ readonly state: "complete-through-cutoff";
155
+ } | {
156
+ readonly state: "cancelled";
157
+ } | {
158
+ readonly state: "incomplete";
159
+ readonly cutoff: readonly {
160
+ readonly rootId: string;
161
+ readonly generation: number;
162
+ }[];
163
+ readonly unresolvedRoots: readonly string[];
164
+ readonly owningIntents: readonly {
165
+ readonly entityId: string;
166
+ readonly attemptId: string;
167
+ }[];
168
+ readonly refusedRoots: readonly {
169
+ readonly directory: string;
170
+ readonly reason: string;
171
+ }[];
172
+ readonly movingRoots: readonly string[];
173
+ readonly unavailableRoots: readonly UnavailableRoot[];
174
+ /** Register declarations the authority has not accepted. */
175
+ readonly heldRoots: readonly string[];
176
+ };
177
+ /** Resources always close; delivery never claims synchronization. Records
178
+ * still pending are saved locally and send again, under the same mutation
179
+ * identity, when Files next starts. Null when no Record rail ran. */
180
+ export interface UserGroundClosed {
181
+ readonly resources: "closed";
182
+ readonly catchUp: UserGroundCatchUp;
183
+ readonly delivery: EntityRecordDelivery | null;
184
+ }
119
185
  export interface UserGroundCloseOptions {
120
186
  /** False cancels this lifetime without catching up. Durable work and the
121
187
  * blind interval remain for resume; ordinary product shutdown catches up. */
@@ -128,20 +194,43 @@ export declare class UserGroundHost {
128
194
  private readonly wire;
129
195
  private readonly ownedWire;
130
196
  private readonly operations;
197
+ /** Roots whose pooled scope refused after its snapshot: their next
198
+ * complete examination is the main walk, never the same scope again. */
199
+ private readonly walkOwed;
131
200
  private closeTask;
132
201
  private readonly direct;
133
202
  private readonly watchHost;
134
203
  private activeIdentity;
135
204
  private rescanTimer;
136
205
  private rescanGenerationStartedAt;
137
- private watchDirty;
206
+ /** Roots whose repository Git itself will not open, with the reason. Every
207
+ * examination re-derives the answer, so restart finds each one again. */
208
+ private readonly rootRefusals;
209
+ /** The committed head this machine last read or published. */
138
210
  private cloudState;
139
211
  private converged;
140
212
  /** Cumulative graph-page reads, reported as diffs on the stages that
141
213
  * materialize roots so the ledger shows what each operation actually read. */
142
214
  private readonly graphPageReads;
143
- private syncing;
215
+ /** Named and repository lanes by lane key: one attempt per lane and root,
216
+ * NAMED_DETECT_LANES at once. */
217
+ private readonly namedAttempts;
218
+ private namedRotation;
219
+ /** Roots whose ground an effect holds; they wait for its release holding no slot. */
220
+ private readonly groundWaits;
221
+ /** The one complete-lane attempt. */
222
+ private completeAttempt;
223
+ /** Lanes whose last attempt failed. A parked lane holds no slot. */
224
+ private readonly parkedDetect;
225
+ /** Callers proving a finite ticket; every finished attempt wakes them. */
226
+ private readonly detectWaiters;
144
227
  private recordRail;
228
+ /** Rail rings a Detect commit owes, queued for a later turn so the
229
+ * committing task ends before a rail's drain starts. Each stays here until
230
+ * it runs; shutdown drains them into its flushes and pause retires them,
231
+ * since a ring only wakes durable work. */
232
+ private readonly nextTurns;
233
+ private stopCacheMaintenance;
145
234
  private recordStore;
146
235
  private entityAccess;
147
236
  private constructLedger;
@@ -149,13 +238,27 @@ export declare class UserGroundHost {
149
238
  private releaseGrantWatch;
150
239
  private applyRail;
151
240
  private applyHost;
241
+ private detectJobs;
242
+ /** This runtime's identity in the disposition ledger. */
243
+ private readonly incarnation;
244
+ private detectLedger;
152
245
  private namedDetect;
153
- private coldOperation;
154
246
  private closing;
247
+ /** Add journeys holding their ground; the maintenance sweep waits them out. */
248
+ private workspaceAdds;
249
+ /** The periodic metadata sweep of every Watch root. Its findings are owed
250
+ * to the scoped lanes; it never writes. */
251
+ private readonly maintenance;
252
+ /** The maintenance requests each cut captured before its proof read. */
253
+ private readonly maintenanceCoverage;
155
254
  /** Visible-ground effects coordinate by address cone: Detect passes hold
156
255
  * the roots they observe, Apply holds its target addresses, Register and
157
256
  * Add hold the ground they materialize. Unrelated cones never wait. */
158
257
  private readonly ground;
258
+ private readonly boundUserRoots;
259
+ /** Apply waits on ground without a deadline; shutdown cancels them just
260
+ * before it stops the Apply rail, which resumes from durable intents. */
261
+ private readonly applyWaits;
159
262
  readonly port: UserGroundPort;
160
263
  constructor(options: UserGroundHostOptions);
161
264
  /** One admitted Files journey; shutdown waits for every writer to settle. */
@@ -167,6 +270,17 @@ export declare class UserGroundHost {
167
270
  databasePath(identity: UserGroundIdentity): string;
168
271
  rows(identity: UserGroundIdentity): GroundRow[];
169
272
  watchHealth(): WatchHealth;
273
+ /** Read-only reasons owned by the running Apply coordinator. */
274
+ applyWaiting(): ReturnType<EntityApplyRail["waiting"]>;
275
+ private wakeObservedApply;
276
+ /** A Detect dependency is a request, never a hope. It is made in the same
277
+ * synchronous step that parks the waiter, which the rail already wakes for
278
+ * any examination after its comparison. The named ground is suspected like
279
+ * a native ring, so one finite examination follows even when nothing else
280
+ * changes; its settlement wakes the waiter, and a no-op examination only
281
+ * lets it compare again. It holds no ground its own examination needs. */
282
+ private openDetectLedger;
283
+ private requestExamination;
170
284
  watchEvidence(): WatchCoverageEvidence;
171
285
  coverWorkspaceEvidence(workspaceId: string): WatchCoverageEvidence;
172
286
  /** Add already projects authoritative rows; this proves that the same
@@ -185,29 +299,131 @@ export declare class UserGroundHost {
185
299
  * the next start or an explicit re-Add, while readiness proceeds. */
186
300
  private resumeWorkspaceAdds;
187
301
  private resumeWorkspaceAdd;
188
- /** Finish the user-visible register journey inside the one persistent Files
189
- * owner. The declaration remains durable if any later stage fails, and a
190
- * retry reuses its UUID through filesCommandPorts().register. */
302
+ /** Register W: publish its declaration D, W's walked subtree and the core
303
+ * records that reach it, in one graph head. Locally Register admits D and
304
+ * the bookkeeping that installs it, and nothing else: every other
305
+ * observation stays owed to ordinary Detect, and W stays held from it until
306
+ * the authority accepts D. Live's binding and reference stay durable if a
307
+ * later stage fails, so a retry declares the same W again. */
191
308
  completeWorkspaceRegistration(workspaceId: string): Promise<{
192
309
  readonly registered: true;
310
+ readonly alreadyRegistered?: true;
193
311
  readonly entityCount: number;
194
312
  readonly cloudHead: string;
195
313
  readonly watch: WatchCoverageEvidence;
196
314
  }>;
315
+ /** An accepted W publishes no head, yet its accepted cargo must stand whole
316
+ * at the authority. What the authority lacks ships again from whatever
317
+ * here still holds it exactly: a cache copy, or ground whose row names the
318
+ * accepted payload. The rest was overtaken here or left this machine; the
319
+ * stage names how much, and newer local work syncs as its own Records. */
320
+ private restoreAcceptedCargo;
321
+ /** Register's Watch evidence: W's ground has one healthy content owner. */
322
+ private registrationCoverage;
323
+ /** The core root D's chain lands in: AV's, which must be the core ground
324
+ * this machine holds, or D would name ground it never observed. */
325
+ private declarationCoreRoot;
326
+ /** Whether AV holds W as its own active root. Anything else AV holds of W
327
+ * refuses: once another root holds W, that root's graph owns its identity. */
328
+ private acceptedWorkspace;
329
+ /** Walk W once, seal what D names, and publish D. W alone is leased and
330
+ * cut, through the authority's answer: core and every other root keep
331
+ * detecting and applying, and a walk its own ground overtook walks again.
332
+ * An authority that moved past the view D was folded on refuses it; D then
333
+ * folds onto the newer view beside a new journal row, with no new walk. */
334
+ private declareWorkspace;
335
+ /** Fold D onto a fresh accepted view and admit it beside a new journal
336
+ * row. The commit reads the chain's addresses again, so core Detect working
337
+ * beside Register is never overwritten; a chain that moved folds again. */
338
+ private declarationFold;
339
+ /** W's ground on this machine: its binding, and every bound workspace it
340
+ * encloses, whose identities it keeps. */
341
+ private declarationGround;
342
+ /** One declaring walk of W: observed whole and selected under W's own
343
+ * policy, with nothing persisted. Selected bytes ship from the walk's own
344
+ * read, and every artifact D names seals before D can be journaled. */
345
+ private walkDeclaration;
346
+ /** One maintenance visit of a Watch root that begins after now, settled
347
+ * once the ordinary lanes discharged what it found: a metadata comparison,
348
+ * never a content reread. */
349
+ requestVisit(rootId: string): Promise<VisitOutcome>;
350
+ /** Each Watch root's maintenance visit receipts now. */
351
+ maintenanceReceipts(): ReadonlyMap<string, MaintenanceReceipts>;
197
352
  /** Prove one finite observation boundary in SQLite, immutable content
198
353
  * storage, and the official cloud head. Rings received during that proof
199
- * remain pending and already own their next debounced Detect pass. */
200
- flush(): Promise<void>;
201
- private syncNow;
202
- private flushObservedChanges;
354
+ * remain pending and already own their next debounced Detect pass. Roots
355
+ * refused at that boundary are named: their local rows are current, and
356
+ * their last complete result remains the official one. */
357
+ flush(): Promise<FlushOutcome>;
358
+ /** Prove everything owed now, through its current cutoff. Ground still
359
+ * moving when no retry remains names every root the cutoff left unsettled
360
+ * that no unreadable ground explains. */
361
+ private proveOwed;
362
+ /** Run lanes until everything this ticket scoped at its cutoff is settled.
363
+ * An attempt that covered the ticket and failed fails the caller honestly;
364
+ * attempts on other ground, or frozen before the ticket, never do. */
365
+ private proveTicket;
366
+ /** Every attempt already running, drained. Outcomes stay with their lanes. */
367
+ private detectDrained;
368
+ /** Start every lane with owed work and a free slot. Synchronous and
369
+ * idempotent, so every ring, release, retry and finished attempt may call
370
+ * it. A caller proving a ticket passes it: a lane parked on a failure that
371
+ * serves the ticket runs now, because a finite proof observes its own
372
+ * attempt. An owner wait never reruns; unchanged work cannot end it. */
373
+ private dispatchDetect;
374
+ private nextTurn;
375
+ private endNextTurns;
376
+ /** What every lane is doing as one starts, so starvation is visible. */
377
+ private laneState;
378
+ private awaitGround;
379
+ /** A lane slot or ground wait ended: lanes restart, then every ticket
380
+ * re-examines. Waking a ticket before its slot is free would find the lane
381
+ * still serving and sleep through the release. */
382
+ private laneFreed;
383
+ /** Timers, releases and finished attempts wake lanes; cold journeys and
384
+ * shutdown own their own proofs. */
385
+ private wakeDetect;
386
+ private blocked;
387
+ /** What a lane's failure is to the tickets it covered. A basis that
388
+ * advanced while Detect read is truth still arriving, never a fault: its
389
+ * cuts stay pending as moving ground, re-read on the lane's retry.
390
+ *
391
+ * An owner wait answers a ticket only while an owner it names stands.
392
+ * Owners that all ended during the attempt released before it could park,
393
+ * and a release unparks only waits already parked: what they withheld is
394
+ * merely stale, ground still moving, and their release's ring reruns it.
395
+ * This read and the park share one synchronous turn, so a release after it
396
+ * finds the park. Unreadable ownership keeps the wait. */
397
+ private laneCause;
398
+ /** Consecutive racy readings per lane. Waiting is the answer until the
399
+ * RACY_READINGS-th, which is reported unsettled while the lane retries. */
400
+ private readonly racyReadings;
401
+ private racyUnsettled;
402
+ private park;
403
+ private unpark;
404
+ private clearDetectParks;
405
+ /** A failed attempt answers every ticket its cuts covered; its slot's
406
+ * release wakes them. */
407
+ private detectEnded;
203
408
  /** Install the exact snapshot/tail boundary before Receive or Apply can
204
409
  * treat older official history as materialization work. The SQLite cursor,
205
410
  * retained Inbox resolution, and Apply baseline all derive from the same N. */
206
411
  private adoptCloudDeliveryBaseline;
207
412
  private startRecordRail;
208
413
  private startApplyRail;
209
- close(options?: UserGroundCloseOptions): Promise<void>;
414
+ close(options?: UserGroundCloseOptions): Promise<UserGroundClosed>;
415
+ /** Every step runs in order even after an earlier one failed; the failures
416
+ * reject together only once every resource is closed. */
210
417
  private shutdown;
418
+ /** Pause cancels this lifetime. Durable work and the blind interval remain
419
+ * for resume; nothing here claims catch-up. */
420
+ private cancelLifetime;
421
+ /** Command shutdown is the last catch-up boundary. Durable Apply ownership
422
+ * of observed or unreachable ground, Git refusing a root, ground still
423
+ * moving through the final pass, or user ground this process cannot read
424
+ * leaves it incomplete; startup suspects every root unconditionally, and
425
+ * a terminal Apply or a changed refusal wakes the held Detect. */
426
+ private catchUpThroughCutoff;
211
427
  /**
212
428
  * The host half of Sharing's ports: the access tables over the tunnel, the
213
429
  * owner and principal lookups the gateway answers, and this computer's
@@ -226,6 +442,8 @@ export declare class UserGroundHost {
226
442
  recordConstruct(change: ConstructRecordChange): Promise<void>;
227
443
  /** The entity type this computer recorded for a UUID, for construct doors. */
228
444
  constructKind(uuid: string): string | null;
445
+ /** The user root's synchronization address, resolved once when first
446
+ * bound; every child cone is derived from it. */
229
447
  private userRoot;
230
448
  private cacheDir;
231
449
  private cloudPort;
@@ -263,6 +481,7 @@ export declare class UserGroundHost {
263
481
  * The graph proves every page against its declared identity as it parses,
264
482
  * so this reader only guards the cache against torn copies. */
265
483
  private readGraphPage;
484
+ private graphPagePath;
266
485
  private localPort;
267
486
  /** Send's small-cargo fast path: the record's sealed artifact rides the
268
487
  * submit frame itself, so one round trip carries record, manifest, and
@@ -296,22 +515,106 @@ export declare class UserGroundHost {
296
515
  private downloadContent;
297
516
  private reserveGroundRoots;
298
517
  private ensureWatchers;
518
+ /** Rings arrive in bursts; one quiet window, bounded by a maximum deferral,
519
+ * gathers them before lanes are dispatched. */
299
520
  private scheduleRescan;
300
- /** A finite cold command may suppress Detect while it owns publication, but
301
- * it may never consume a Watch generation that arrived during that window. */
302
- private finishColdOperation;
303
521
  private acquireGroundScope;
304
- private syncLocalChanges;
522
+ /** Add holds its ground for its whole cold journey; no maintenance visit
523
+ * starts until it releases. */
524
+ private holdWorkspaceAdd;
525
+ private suspectPhysical;
526
+ /** A durable binding is registration evidence even if the native event
527
+ * that created it was lost across a crash. Rebuild coverage first, then
528
+ * express that uncertainty through Watch like every other Detect input.
529
+ * These are ambiguous recovery facts, so each affected root is wholly
530
+ * suspect; unrelated roots remain untouched. */
531
+ private repairRegistrationGround;
532
+ /** A prepared lane holds its slot across one boundary, then activates.
533
+ * Whatever activation declines stays owed: the freed slot dispatches again,
534
+ * which prepares afresh. */
535
+ private startNamed;
536
+ /** ACTIVATE, one synchronous step. The runtime and the root's binding are
537
+ * those PREPARE read, or nothing is cut. Only names still owed are cut:
538
+ * newer names wait for a lane that prepared them. The prepared footprint is
539
+ * a proposal the collection enforces: storage it resolves outside the lease
540
+ * fails it for a wider retry, and admission re-checks the index it routed by. */
541
+ private activateNamed;
542
+ /** One root's named rings of one kind, cut now and proved by name or inside
543
+ * their repositories. The cut ends settled, escalated to the complete
544
+ * lane, or pending behind a park. Only what a later reading of the same
545
+ * names answers is parked here: what the narrow proof cannot conclude, a
546
+ * refusal or a fault, is escalated like a widened proof, since rerunning
547
+ * it unchanged would fail again and hold the root's later names behind it. */
548
+ private namedLane;
549
+ private proveNamed;
550
+ /** Named rings inside repositories are examined there by the complete
551
+ * lane's own repository handler and per-unit admission, without waiting
552
+ * behind a complete proof. Names that cannot stand inside their
553
+ * repositories are escalated with the wider proof they need. */
554
+ private proveRepositories;
555
+ /** A cut's alias hints are decided before its proof settles them: what they
556
+ * owe rings as a later generation, the domain only when a hint cannot bound
557
+ * its objects. */
558
+ private discoverAliases;
559
+ /** One maintenance visit of a Watch root, against O as it stands. A visit
560
+ * that read the whole namespace and could trust O at its root is a complete
561
+ * walk that stands. */
562
+ private maintainRoot;
563
+ /** Each cut captures, before its proof reads, the maintenance requests that
564
+ * proof answers: a named cut those at and beneath its paths, a complete cut
565
+ * every promoted one. */
566
+ private coverMaintenance;
567
+ /** Proved cuts answer what they covered; failed, deferred or cancelled ones never do. */
568
+ private maintenanceServed;
569
+ /** An escalated cut's requests are owed to the wider proof. Watch escalates
570
+ * only its own names, so the sweep's are escalated beside them: the
571
+ * complete lane proves those paths, not the whole root. */
572
+ private escalateMaintenance;
573
+ private startComplete;
574
+ /** Whole-root proofs, one attempt at a time. Every cut it freezes is
575
+ * released when it ends, proved or not. */
576
+ private completeLane;
577
+ /** One complete attempt owns at most one complete-domain continuation, over
578
+ * its finite original cutoffs. Each pass admits what it proved; whatever
579
+ * moved stays pending for its next ring or a short timer, never a retry
580
+ * inside this turn. */
581
+ private syncObservationCuts;
582
+ /** Complete observations are examined on content threads, concurrently:
583
+ * disk and Git against O by the main walk's own laws, and O against its
584
+ * selection standing in B. A root that proves unchanged is not walked
585
+ * here, and one whose differences a scope can hold is examined only
586
+ * there; any other answers with the first reason, and the main walk
587
+ * observes it. */
588
+ private examineQuietRoots;
589
+ /** A root's first absence would otherwise list its whole namespace while an
590
+ * edit waits. Once a complete walk of the root stands (Register's walk,
591
+ * an Add's verified install, a complete examination, or a maintenance visit
592
+ * that read it whole), the discovery thread lists it in the background, so a
593
+ * later absence re-reads only directories whose signatures moved. It seeks
594
+ * nothing and concludes nothing: when it cannot close, the next discovery
595
+ * reads cold, as it would have. */
596
+ private warmDiscovery;
597
+ /** Names a named proof escalated are examined inside the repositories they
598
+ * reach, by the same handler a pooled examination's differences use.
599
+ * Nothing else of the root is read. A root that is itself a repository has
600
+ * no frame to scope inside: its own walk reads only Watch's names and what
601
+ * its Git holds dirty or untracked. What cannot be routed to repositories
602
+ * needs the complete root, and says why. */
603
+ private directScope;
305
604
  private syncLocalChangesUnlocked;
306
- private publishPendingSnapshotsBeforeLookup;
307
- /** Register is the deliberate cold graph-publication boundary. Ordinary
308
- * Watch detection stops at a durable exact record and never rebuilds this
309
- * resource snapshot. */
310
- private prepareSnapshotPublication;
311
- private publishMaterializedSnapshot;
312
- /** Close the graph-preparation stage with every leg it spent, so a slow
313
- * preparation names the slow part instead of one opaque number. */
314
- private finishPreparation;
605
+ /** Declarations whose outcome this process never learned resolve before a
606
+ * lookup reads the head. A submitted row may already be accepted: its exact
607
+ * mutation recovers the receipt. A conclusive refusal settles the row as
608
+ * rejected, and its ground stays held until Register declares it again. */
609
+ private resolveDeclarationsBeforeLookup;
610
+ /** AV: the authority's current head H plus every accepted result Receive
611
+ * has delivered after its watermark M. The head is read fresh, because a
612
+ * graph-head commit is never an entity delivery. `beyond` is a delivery a
613
+ * refused watermark proved the authority holds, so Receive reaches past it
614
+ * before the tail is read. Neither Apply nor Send is waited on: accepted
615
+ * state is what the authority has accepted, whatever this machine has
616
+ * physically applied or still owes. */
617
+ private freshAcceptedView;
315
618
  /** Which of these heads does the authority hold sealed under the current
316
619
  * content contract — and which of the sealed ones are packed, their whole
317
620
  * closure inside immutable packs? Batched so a whole workspace costs a
@@ -320,29 +623,21 @@ export declare class UserGroundHost {
320
623
  * answer is a protocol 16 capability and is required: a missing field
321
624
  * means an older gateway, and this machine refuses to guess placement. */
322
625
  private sealInventory;
323
- private publishPendingSnapshots;
324
626
  /** Seal this publication's graph pages. Pages are immutable, content
325
627
  * addressed, and already in memory, so the authority's seal inventory alone
326
628
  * decides what still has to move and whole pages ride the cargo stream. The
327
629
  * head may not commit until every page it newly names is sealed. */
328
630
  private uploadGraphPages;
329
- private publishLoadedSnapshot;
631
+ /** Seal a journaled declaration's pages and submit its exact head commit.
632
+ * Its content sealed before the row was journaled, so only pages move here.
633
+ * Acceptance clears the row and wakes the ground it held: acceptance is not
634
+ * an entity delivery, so no delivery would wake it. A non-retryable answer
635
+ * settles the row as rejected; every other failure leaves it pending with
636
+ * its outcome unknown. */
637
+ private submitDeclaration;
638
+ /** The accepted declaration no longer holds its ground. Acceptance is not
639
+ * an entity delivery and rings no filesystem event, so it wakes what the
640
+ * declaration held itself: the core records it added are suspected, and
641
+ * every lane parked on its root reruns with whatever W owes. */
642
+ private wakeDeclaration;
330
643
  }
331
- /** The single opener and schema-migration entry for a user ground database.
332
- * Exported so the upgrade path is provable in isolation — the journal
333
- * conversion law test opens a legacy file through this exact entry inside a
334
- * heap-capped child process. */
335
- export declare function initializeDatabase(file: string): Database.Database;
336
- /** A local sibling-set change can alter collision-derived disk addresses
337
- * without changing any portable record. Detect commits its portable truth
338
- * first, then settles only the affected sibling groups while it still owns
339
- * their ground cone: it reads exactly those parents and their children, and
340
- * a relocated subtree by its address range, never the whole ground. Rows
341
- * move before bytes, matching Apply's recovery law; Watch observes the
342
- * resulting renames as the same UUIDs at their newly derived addresses and
343
- * therefore emits no Record. */
344
- export declare function settleMaterializedSlotAddresses(file: string, parentUUIDs: ReadonlySet<string>): {
345
- readonly rowsRead: number;
346
- readonly relocatedRoots: number;
347
- };
348
- export {};