@descryy/core 0.4.0 → 0.5.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 (353) hide show
  1. package/dist/budget/reply.d.ts +11 -46
  2. package/dist/budget/reply.d.ts.map +1 -1
  3. package/dist/budget/reply.js +10 -39
  4. package/dist/budget/reply.js.map +1 -1
  5. package/dist/budget/size.d.ts +2 -21
  6. package/dist/budget/size.d.ts.map +1 -1
  7. package/dist/budget/size.js +3 -24
  8. package/dist/budget/size.js.map +1 -1
  9. package/dist/capabilities/preconditions.d.ts +7 -68
  10. package/dist/capabilities/preconditions.d.ts.map +1 -1
  11. package/dist/capabilities/preconditions.js +6 -57
  12. package/dist/capabilities/preconditions.js.map +1 -1
  13. package/dist/contracts/engine.d.ts +23 -11
  14. package/dist/contracts/engine.d.ts.map +1 -1
  15. package/dist/contracts/engine.js +23 -11
  16. package/dist/contracts/engine.js.map +1 -1
  17. package/dist/contracts/orphans.d.ts +18 -122
  18. package/dist/contracts/orphans.d.ts.map +1 -1
  19. package/dist/contracts/orphans.js +36 -134
  20. package/dist/contracts/orphans.js.map +1 -1
  21. package/dist/contracts/paths.d.ts +4 -114
  22. package/dist/contracts/paths.d.ts.map +1 -1
  23. package/dist/contracts/paths.js +7 -140
  24. package/dist/contracts/paths.js.map +1 -1
  25. package/dist/contracts/shapes.d.ts +13 -66
  26. package/dist/contracts/shapes.d.ts.map +1 -1
  27. package/dist/contracts/shapes.js +20 -91
  28. package/dist/contracts/shapes.js.map +1 -1
  29. package/dist/governance/budget.d.ts +12 -48
  30. package/dist/governance/budget.d.ts.map +1 -1
  31. package/dist/governance/budget.js +12 -48
  32. package/dist/governance/budget.js.map +1 -1
  33. package/dist/governance/candidate-boundary.d.ts +4 -32
  34. package/dist/governance/candidate-boundary.d.ts.map +1 -1
  35. package/dist/governance/candidate-boundary.js +4 -32
  36. package/dist/governance/candidate-boundary.js.map +1 -1
  37. package/dist/governance/escalation.d.ts +7 -45
  38. package/dist/governance/escalation.d.ts.map +1 -1
  39. package/dist/governance/escalation.js +7 -45
  40. package/dist/governance/escalation.js.map +1 -1
  41. package/dist/governance/fact-boundary.d.ts +7 -49
  42. package/dist/governance/fact-boundary.d.ts.map +1 -1
  43. package/dist/governance/fact-boundary.js +5 -43
  44. package/dist/governance/fact-boundary.js.map +1 -1
  45. package/dist/governance/finding-funnel.d.ts +11 -72
  46. package/dist/governance/finding-funnel.d.ts.map +1 -1
  47. package/dist/governance/finding-funnel.js +9 -68
  48. package/dist/governance/finding-funnel.js.map +1 -1
  49. package/dist/graph/build.d.ts +9 -90
  50. package/dist/graph/build.d.ts.map +1 -1
  51. package/dist/graph/build.js +15 -62
  52. package/dist/graph/build.js.map +1 -1
  53. package/dist/graph/cross-language.d.ts +4 -43
  54. package/dist/graph/cross-language.d.ts.map +1 -1
  55. package/dist/graph/cross-language.js +9 -77
  56. package/dist/graph/cross-language.js.map +1 -1
  57. package/dist/graph/merge.d.ts +8 -88
  58. package/dist/graph/merge.d.ts.map +1 -1
  59. package/dist/graph/merge.js +9 -93
  60. package/dist/graph/merge.js.map +1 -1
  61. package/dist/graph/observed-tests.d.ts +7 -68
  62. package/dist/graph/observed-tests.d.ts.map +1 -1
  63. package/dist/graph/observed-tests.js +5 -60
  64. package/dist/graph/observed-tests.js.map +1 -1
  65. package/dist/graph/persist.d.ts +2 -25
  66. package/dist/graph/persist.d.ts.map +1 -1
  67. package/dist/graph/persist.js +2 -25
  68. package/dist/graph/persist.js.map +1 -1
  69. package/dist/graph/runtime-confirmation.d.ts +14 -91
  70. package/dist/graph/runtime-confirmation.d.ts.map +1 -1
  71. package/dist/graph/runtime-confirmation.js +19 -103
  72. package/dist/graph/runtime-confirmation.js.map +1 -1
  73. package/dist/ledger/mint.d.ts +9 -43
  74. package/dist/ledger/mint.d.ts.map +1 -1
  75. package/dist/ledger/mint.js +15 -65
  76. package/dist/ledger/mint.js.map +1 -1
  77. package/dist/ledger/resolve.d.ts +13 -81
  78. package/dist/ledger/resolve.d.ts.map +1 -1
  79. package/dist/ledger/resolve.js +13 -76
  80. package/dist/ledger/resolve.js.map +1 -1
  81. package/dist/multipr/fingerprint.d.ts +5 -46
  82. package/dist/multipr/fingerprint.d.ts.map +1 -1
  83. package/dist/multipr/fingerprint.js +22 -74
  84. package/dist/multipr/fingerprint.js.map +1 -1
  85. package/dist/multipr/hidden-dependency.d.ts +13 -73
  86. package/dist/multipr/hidden-dependency.d.ts.map +1 -1
  87. package/dist/multipr/hidden-dependency.js +12 -63
  88. package/dist/multipr/hidden-dependency.js.map +1 -1
  89. package/dist/multipr/mechanical.d.ts +25 -160
  90. package/dist/multipr/mechanical.d.ts.map +1 -1
  91. package/dist/multipr/mechanical.js +21 -137
  92. package/dist/multipr/mechanical.js.map +1 -1
  93. package/dist/multipr/migration-heads.d.ts +18 -105
  94. package/dist/multipr/migration-heads.d.ts.map +1 -1
  95. package/dist/multipr/migration-heads.js +15 -84
  96. package/dist/multipr/migration-heads.js.map +1 -1
  97. package/dist/multipr/overlap.d.ts +16 -94
  98. package/dist/multipr/overlap.d.ts.map +1 -1
  99. package/dist/multipr/overlap.js +25 -105
  100. package/dist/multipr/overlap.js.map +1 -1
  101. package/dist/multipr/scope-store.d.ts +15 -80
  102. package/dist/multipr/scope-store.d.ts.map +1 -1
  103. package/dist/multipr/scope-store.js +17 -87
  104. package/dist/multipr/scope-store.js.map +1 -1
  105. package/dist/multipr/superseded.d.ts +10 -95
  106. package/dist/multipr/superseded.d.ts.map +1 -1
  107. package/dist/multipr/superseded.js +7 -60
  108. package/dist/multipr/superseded.js.map +1 -1
  109. package/dist/query/confirmed-facts.d.ts +12 -58
  110. package/dist/query/confirmed-facts.d.ts.map +1 -1
  111. package/dist/query/confirmed-facts.js +8 -47
  112. package/dist/query/confirmed-facts.js.map +1 -1
  113. package/dist/query/declared-value-closure.d.ts +13 -104
  114. package/dist/query/declared-value-closure.d.ts.map +1 -1
  115. package/dist/query/declared-value-closure.js +15 -104
  116. package/dist/query/declared-value-closure.js.map +1 -1
  117. package/dist/query/memory.d.ts +4 -16
  118. package/dist/query/memory.d.ts.map +1 -1
  119. package/dist/query/memory.js +9 -22
  120. package/dist/query/memory.js.map +1 -1
  121. package/dist/query/prominence.d.ts +6 -55
  122. package/dist/query/prominence.d.ts.map +1 -1
  123. package/dist/query/prominence.js +6 -55
  124. package/dist/query/prominence.js.map +1 -1
  125. package/dist/query/provider.d.ts +27 -93
  126. package/dist/query/provider.d.ts.map +1 -1
  127. package/dist/query/provider.js +8 -29
  128. package/dist/query/provider.js.map +1 -1
  129. package/dist/query/queries.d.ts +15 -65
  130. package/dist/query/queries.d.ts.map +1 -1
  131. package/dist/query/queries.js +30 -104
  132. package/dist/query/queries.js.map +1 -1
  133. package/dist/query/refusal-fetch.d.ts +8 -85
  134. package/dist/query/refusal-fetch.d.ts.map +1 -1
  135. package/dist/query/refusal-fetch.js +11 -93
  136. package/dist/query/refusal-fetch.js.map +1 -1
  137. package/dist/query/refusal-questions.d.ts +17 -92
  138. package/dist/query/refusal-questions.d.ts.map +1 -1
  139. package/dist/query/refusal-questions.js +14 -78
  140. package/dist/query/refusal-questions.js.map +1 -1
  141. package/dist/query/resolution-floor.d.ts +3 -23
  142. package/dist/query/resolution-floor.d.ts.map +1 -1
  143. package/dist/query/resolution-floor.js +3 -23
  144. package/dist/query/resolution-floor.js.map +1 -1
  145. package/dist/query/root-cause-score.d.ts +11 -161
  146. package/dist/query/root-cause-score.d.ts.map +1 -1
  147. package/dist/query/root-cause-score.js +6 -137
  148. package/dist/query/root-cause-score.js.map +1 -1
  149. package/dist/query/row-closure-picture.d.ts +5 -67
  150. package/dist/query/row-closure-picture.d.ts.map +1 -1
  151. package/dist/query/row-closure-picture.js +6 -67
  152. package/dist/query/row-closure-picture.js.map +1 -1
  153. package/dist/query/similar-incidents.d.ts +6 -41
  154. package/dist/query/similar-incidents.d.ts.map +1 -1
  155. package/dist/query/similar-incidents.js +15 -69
  156. package/dist/query/similar-incidents.js.map +1 -1
  157. package/dist/query/sqlite.d.ts +3 -7
  158. package/dist/query/sqlite.d.ts.map +1 -1
  159. package/dist/query/sqlite.js +9 -19
  160. package/dist/query/sqlite.js.map +1 -1
  161. package/dist/query/test-coverage.d.ts +5 -45
  162. package/dist/query/test-coverage.d.ts.map +1 -1
  163. package/dist/query/test-coverage.js +10 -53
  164. package/dist/query/test-coverage.js.map +1 -1
  165. package/dist/query/traverse.d.ts +22 -126
  166. package/dist/query/traverse.d.ts.map +1 -1
  167. package/dist/query/traverse.js +25 -126
  168. package/dist/query/traverse.js.map +1 -1
  169. package/dist/query/unresolved.d.ts +19 -164
  170. package/dist/query/unresolved.d.ts.map +1 -1
  171. package/dist/query/unresolved.js +11 -138
  172. package/dist/query/unresolved.js.map +1 -1
  173. package/dist/query/verification-status.d.ts +12 -109
  174. package/dist/query/verification-status.d.ts.map +1 -1
  175. package/dist/query/verification-status.js +9 -99
  176. package/dist/query/verification-status.js.map +1 -1
  177. package/dist/recording/migrate.d.ts +4 -10
  178. package/dist/recording/migrate.d.ts.map +1 -1
  179. package/dist/recording/migrate.js +4 -10
  180. package/dist/recording/migrate.js.map +1 -1
  181. package/dist/recording/reader.d.ts +2 -7
  182. package/dist/recording/reader.d.ts.map +1 -1
  183. package/dist/recording/reader.js +2 -7
  184. package/dist/recording/reader.js.map +1 -1
  185. package/dist/recording/redact.d.ts +6 -57
  186. package/dist/recording/redact.d.ts.map +1 -1
  187. package/dist/recording/redact.js +8 -64
  188. package/dist/recording/redact.js.map +1 -1
  189. package/dist/recording/schema.d.ts +3 -38
  190. package/dist/recording/schema.d.ts.map +1 -1
  191. package/dist/recording/schema.js +3 -38
  192. package/dist/recording/schema.js.map +1 -1
  193. package/dist/recording/writer.d.ts +11 -74
  194. package/dist/recording/writer.d.ts.map +1 -1
  195. package/dist/recording/writer.js +3 -43
  196. package/dist/recording/writer.js.map +1 -1
  197. package/dist/scoping/fanout.d.ts +6 -68
  198. package/dist/scoping/fanout.d.ts.map +1 -1
  199. package/dist/scoping/fanout.js +6 -68
  200. package/dist/scoping/fanout.js.map +1 -1
  201. package/dist/scoping/score.d.ts +20 -70
  202. package/dist/scoping/score.d.ts.map +1 -1
  203. package/dist/scoping/score.js +20 -70
  204. package/dist/scoping/score.js.map +1 -1
  205. package/dist/scoping/tiers.d.ts +4 -16
  206. package/dist/scoping/tiers.d.ts.map +1 -1
  207. package/dist/scoping/tiers.js +4 -16
  208. package/dist/scoping/tiers.js.map +1 -1
  209. package/dist/scoping/traverse.d.ts +3 -25
  210. package/dist/scoping/traverse.d.ts.map +1 -1
  211. package/dist/scoping/traverse.js +14 -49
  212. package/dist/scoping/traverse.js.map +1 -1
  213. package/dist/scoping/weights.d.ts +10 -74
  214. package/dist/scoping/weights.d.ts.map +1 -1
  215. package/dist/scoping/weights.js +14 -86
  216. package/dist/scoping/weights.js.map +1 -1
  217. package/dist/sources/confirmed/incidents.d.ts +5 -35
  218. package/dist/sources/confirmed/incidents.d.ts.map +1 -1
  219. package/dist/sources/confirmed/incidents.js +14 -48
  220. package/dist/sources/confirmed/incidents.js.map +1 -1
  221. package/dist/sources/git/diff.d.ts +71 -65
  222. package/dist/sources/git/diff.d.ts.map +1 -1
  223. package/dist/sources/git/diff.js +136 -83
  224. package/dist/sources/git/diff.js.map +1 -1
  225. package/dist/sources/git/env.d.ts +7 -0
  226. package/dist/sources/git/env.d.ts.map +1 -1
  227. package/dist/sources/git/env.js +10 -11
  228. package/dist/sources/git/env.js.map +1 -1
  229. package/dist/sources/git/history.d.ts +64 -84
  230. package/dist/sources/git/history.d.ts.map +1 -1
  231. package/dist/sources/git/history.js +141 -112
  232. package/dist/sources/git/history.js.map +1 -1
  233. package/dist/sources/git/incidents.d.ts +13 -75
  234. package/dist/sources/git/incidents.d.ts.map +1 -1
  235. package/dist/sources/git/incidents.js +21 -91
  236. package/dist/sources/git/incidents.js.map +1 -1
  237. package/dist/sources/git/index.d.ts +5 -3
  238. package/dist/sources/git/index.d.ts.map +1 -1
  239. package/dist/sources/git/index.js +3 -2
  240. package/dist/sources/git/index.js.map +1 -1
  241. package/dist/sources/git/source.d.ts +9 -79
  242. package/dist/sources/git/source.d.ts.map +1 -1
  243. package/dist/sources/git/source.js +33 -133
  244. package/dist/sources/git/source.js.map +1 -1
  245. package/dist/sources/migrations/across-change.d.ts +94 -0
  246. package/dist/sources/migrations/across-change.d.ts.map +1 -0
  247. package/dist/sources/migrations/across-change.js +278 -0
  248. package/dist/sources/migrations/across-change.js.map +1 -0
  249. package/dist/sources/migrations/dialects.d.ts +20 -36
  250. package/dist/sources/migrations/dialects.d.ts.map +1 -1
  251. package/dist/sources/migrations/dialects.js +11 -36
  252. package/dist/sources/migrations/dialects.js.map +1 -1
  253. package/dist/sources/migrations/index.d.ts +3 -1
  254. package/dist/sources/migrations/index.d.ts.map +1 -1
  255. package/dist/sources/migrations/index.js +2 -1
  256. package/dist/sources/migrations/index.js.map +1 -1
  257. package/dist/sources/migrations/read.d.ts +14 -79
  258. package/dist/sources/migrations/read.d.ts.map +1 -1
  259. package/dist/sources/migrations/read.js +14 -89
  260. package/dist/sources/migrations/read.js.map +1 -1
  261. package/dist/sources/workspace/workspace.d.ts +6 -42
  262. package/dist/sources/workspace/workspace.d.ts.map +1 -1
  263. package/dist/sources/workspace/workspace.js +10 -53
  264. package/dist/sources/workspace/workspace.js.map +1 -1
  265. package/dist/store/driver/driver.d.ts +9 -38
  266. package/dist/store/driver/driver.d.ts.map +1 -1
  267. package/dist/store/driver/driver.js +4 -22
  268. package/dist/store/driver/driver.js.map +1 -1
  269. package/dist/store/driver/node-sqlite.d.ts +3 -12
  270. package/dist/store/driver/node-sqlite.d.ts.map +1 -1
  271. package/dist/store/driver/node-sqlite.js +4 -18
  272. package/dist/store/driver/node-sqlite.js.map +1 -1
  273. package/dist/store/index.d.ts +2 -7
  274. package/dist/store/index.d.ts.map +1 -1
  275. package/dist/store/index.js +4 -10
  276. package/dist/store/index.js.map +1 -1
  277. package/dist/store/migrate.d.ts +14 -50
  278. package/dist/store/migrate.d.ts.map +1 -1
  279. package/dist/store/migrate.js +15 -52
  280. package/dist/store/migrate.js.map +1 -1
  281. package/dist/store/reader.d.ts +19 -84
  282. package/dist/store/reader.d.ts.map +1 -1
  283. package/dist/store/reader.js +25 -92
  284. package/dist/store/reader.js.map +1 -1
  285. package/dist/store/schema.d.ts +14 -76
  286. package/dist/store/schema.d.ts.map +1 -1
  287. package/dist/store/schema.js +14 -76
  288. package/dist/store/schema.js.map +1 -1
  289. package/dist/store/writer.d.ts +14 -88
  290. package/dist/store/writer.d.ts.map +1 -1
  291. package/dist/store/writer.js +29 -123
  292. package/dist/store/writer.js.map +1 -1
  293. package/dist/tiers/certify.d.ts +46 -281
  294. package/dist/tiers/certify.d.ts.map +1 -1
  295. package/dist/tiers/certify.js +46 -226
  296. package/dist/tiers/certify.js.map +1 -1
  297. package/dist/tiers/ladder.d.ts +7 -51
  298. package/dist/tiers/ladder.d.ts.map +1 -1
  299. package/dist/tiers/ladder.js +13 -89
  300. package/dist/tiers/ladder.js.map +1 -1
  301. package/dist/validation/attributes.d.ts +6 -55
  302. package/dist/validation/attributes.d.ts.map +1 -1
  303. package/dist/validation/attributes.js +6 -55
  304. package/dist/validation/attributes.js.map +1 -1
  305. package/dist/validation/config-graph.d.ts +7 -56
  306. package/dist/validation/config-graph.d.ts.map +1 -1
  307. package/dist/validation/config-graph.js +15 -61
  308. package/dist/validation/config-graph.js.map +1 -1
  309. package/dist/validation/env.d.ts +7 -1
  310. package/dist/validation/env.d.ts.map +1 -1
  311. package/dist/validation/env.js +3 -1
  312. package/dist/validation/env.js.map +1 -1
  313. package/dist/validation/join-substitution.d.ts +22 -120
  314. package/dist/validation/join-substitution.d.ts.map +1 -1
  315. package/dist/validation/join-substitution.js +13 -90
  316. package/dist/validation/join-substitution.js.map +1 -1
  317. package/dist/validation/migration-integrity.d.ts +11 -72
  318. package/dist/validation/migration-integrity.d.ts.map +1 -1
  319. package/dist/validation/migration-integrity.js +16 -79
  320. package/dist/validation/migration-integrity.js.map +1 -1
  321. package/dist/validation/migrations.d.ts +22 -101
  322. package/dist/validation/migrations.d.ts.map +1 -1
  323. package/dist/validation/migrations.js +19 -83
  324. package/dist/validation/migrations.js.map +1 -1
  325. package/dist/validation/nodes.d.ts +3 -1
  326. package/dist/validation/nodes.d.ts.map +1 -1
  327. package/dist/validation/nodes.js +3 -1
  328. package/dist/validation/nodes.js.map +1 -1
  329. package/dist/validation/rollback.d.ts +10 -73
  330. package/dist/validation/rollback.d.ts.map +1 -1
  331. package/dist/validation/rollback.js +15 -82
  332. package/dist/validation/rollback.js.map +1 -1
  333. package/dist/validation/route-drift.d.ts +9 -62
  334. package/dist/validation/route-drift.d.ts.map +1 -1
  335. package/dist/validation/route-drift.js +7 -52
  336. package/dist/validation/route-drift.js.map +1 -1
  337. package/dist/validation/sources.d.ts +16 -94
  338. package/dist/validation/sources.d.ts.map +1 -1
  339. package/dist/validation/sources.js +51 -147
  340. package/dist/validation/sources.js.map +1 -1
  341. package/dist/worker/pool.d.ts +6 -45
  342. package/dist/worker/pool.d.ts.map +1 -1
  343. package/dist/worker/pool.js +5 -42
  344. package/dist/worker/pool.js.map +1 -1
  345. package/dist/worker/protocol.d.ts +7 -20
  346. package/dist/worker/protocol.d.ts.map +1 -1
  347. package/dist/worker/protocol.js +3 -10
  348. package/dist/worker/protocol.js.map +1 -1
  349. package/dist/worker/traversal.worker.d.ts +2 -21
  350. package/dist/worker/traversal.worker.d.ts.map +1 -1
  351. package/dist/worker/traversal.worker.js +4 -23
  352. package/dist/worker/traversal.worker.js.map +1 -1
  353. package/package.json +11 -2
@@ -1,58 +1,7 @@
1
1
  /**
2
- * The git history `IRSource` — architecture §11.6 and §11.7.
3
- *
4
- * It is an `IRSource` and **not** a `LanguageAdapter`, which is the whole reason
5
- * that split exists: history is a producer of IR with no parser, no language and
6
- * no resolution beyond R0, and without the narrower interface it would need a
7
- * second write path — and a second write path is how un-provenanced rows reach
8
- * storage.
9
- *
10
- * ## Everything here is R0, and that is not a formality
11
- *
12
- * Co-change is not code analysis. It observes that two files were edited in the
13
- * same commit, which is evidence about *people*, not about program structure.
14
- * R0's confidence ceiling (DEC-019) therefore caps every edge this source emits
15
- * at 0.5, and §11A.5's reliability cap makes any finding resting on one Class C
16
- * — a behavioural prediction that must be live-confirmed or dropped. That is the
17
- * correct treatment: "these two files usually change together" is a hint for a
18
- * human, never a claim about what breaks.
19
- *
20
- * ## Precision over recall, applied three times
21
- *
22
- * 1. **Merge commits are excluded from co-change.** A merge's file list is the
23
- * union of both branches, so counting it would report every file in a large
24
- * merge as coupled to every other. This exclusion is scoped to co-change —
25
- * it does **not** apply to resolving what a revert names (see below): a
26
- * revert of "Merge pull request #N" is a real incident whose target
27
- * happens to be a merge commit, and excluding it from co-change is not a
28
- * reason to also make it unresolvable as an incident.
29
- * 2. **Large commits are excluded.** A commit touching hundreds of files is a
30
- * reformat or a dependency bump; including it adds O(n²) edges that mean
31
- * nothing.
32
- * 3. **Only explicit reverts become incidents.** A commit whose message merely
33
- * contains "fix" is not evidence of an incident. `git revert` writes a
34
- * machine-generated `This reverts commit <sha>.` line, and that is the only
35
- * signal used.
36
- *
37
- * ## Resolving what a revert names
38
- *
39
- * `readHistory` indexes commits reachable from `HEAD`, minus merges. A revert
40
- * commit's target sha can miss that index for two reasons that have nothing to
41
- * do with whether the incident is real: the target is a merge commit (excluded
42
- * above), or the target was never merged as itself — a squash/rebase-merge
43
- * workflow (GitHub's default) discards the original commits and only the
44
- * squashed commit survives on `HEAD`, so "Revert PR #N" names a sha that is
45
- * either real-but-unreachable (still sitting on an abandoned branch) or
46
- * genuinely gone (garbage-collected after the branch was deleted). Measured
47
- * against 5 real repos, 6 of 9 real reverts fell into these two buckets and
48
- * were silently dropped by a naive index lookup.
49
- *
50
- * `resolveCommitBySha` is the fallback: it goes straight to the object
51
- * database (`git cat-file` / `git diff-tree`), which enforces neither
52
- * constraint `readHistory` applies. It resolves the merge case and the
53
- * unreachable-but-present case. Only the genuinely-gone case still fails, and
54
- * that failure is disclosed via `unresolved` (below) rather than dropped with
55
- * no trace — this is the fallback CLAUDE.md rule 7 requires labelling.
2
+ * Git history `IRSource` (§11.6/§11.7) — an `IRSource`, not a `LanguageAdapter`: one write path, no un-provenanced rows. Everything is R0; DEC-019 caps confidence at 0.5 and §11A.5 caps any finding at Class C — co-change is evidence about people, not code.
3
+ * Precision over recall: merge commits excluded from co-change (not from revert resolution below), large commits excluded, only explicit-revert trailers become incidents.
4
+ * `resolveCommitBySha` recovers reverts the primary index misses (6/9 real reverts, 5 repos, needed it); a genuinely-gone target is disclosed via `unresolved`, never dropped (rule 7).
56
5
  */
57
6
  import { edgeId, fileQsp, nodeId, } from "@descryy/ir";
58
7
  import { gitHead, isGitRepository, readHistory, resolveCommitBySha, } from "./history.js";
@@ -60,24 +9,11 @@ import { detectIncidents } from "./incidents.js";
60
9
  export const GIT_SOURCE_ID = "git-history";
61
10
  export const GIT_SOURCE_VERSION = "0.1.0";
62
11
  const PRODUCED_BY = `${GIT_SOURCE_ID}@${GIT_SOURCE_VERSION}`;
63
- /**
64
- * `CHANGES_WITH` is a symmetric relationship stored in one canonical direction.
65
- *
66
- * Emitting both directions would double the edge count and make the pair count
67
- * twice in any per-edge aggregate. The cost is that a caller must traverse it
68
- * undirected — `direction: "both"` — and forgetting that yields a *missing*
69
- * edge, which is a disclosed gap rather than a wrong answer. That asymmetry is
70
- * why this is the safe default and not the convenient one.
71
- */
12
+ /** `CHANGES_WITH` is symmetric, stored one direction only — a caller must
13
+ * traverse `direction: "both"`, or gets a disclosed missing edge, not a wrong one. */
72
14
  export const UNDIRECTED_EDGE_TYPES = ["CHANGES_WITH"];
73
- /**
74
- * Detect a revert and the commit it reverted.
75
- *
76
- * `git revert` writes `This reverts commit <40 hex>.` into the body. Nothing
77
- * else is trusted: matching on the word "fix" would classify ordinary work as an
78
- * incident, and an `INCIDENT` node is a durable, earned fact (DEC-017) that
79
- * outlives every rebuild.
80
- */
15
+ /** Detects a revert and the commit it reverted, via `git revert`'s machine-written
16
+ * trailer only — an `INCIDENT` node is a durable, earned fact (DEC-017). */
81
17
  const REVERTS = /This reverts commit ([0-9a-f]{40})/;
82
18
  export function revertedShaOf(commit) {
83
19
  const match = REVERTS.exec(commit.body);
@@ -92,18 +28,15 @@ export function createGitSource(options) {
92
28
  async emit(ctx) {
93
29
  const repo = options.repo || ctx.root.repo;
94
30
  const cwd = options.cwd;
95
- // INCIDENT and FIX_PATTERN are workspace-scoped (DEC-054), FILE is
96
- // repo-scoped, and `scopeOf` picks between them per type — this source does
97
- // not choose, and must not.
31
+ // INCIDENT/FIX_PATTERN are workspace-scoped (DEC-054), FILE repo-scoped.
98
32
  const scope = { repo, workspace: ctx.root.workspace };
99
33
  if (!(await isGitRepository(cwd))) {
100
- // Not an error. A repo with no history is a repo about which this source
101
- // has nothing to say, and an empty batch says exactly that.
34
+ // Not an error — a repo with no history has nothing to say here.
102
35
  return emptyBatch(repo, ctx.root.workspace, ctx.root.commitSha);
103
36
  }
104
37
  const commits = await readHistory(cwd, options);
105
38
  const head = await gitHead(cwd);
106
- // --- co-change (§11.7) ------------------------------------------------
39
+ // Co-change (§11.7).
107
40
  const fileChanges = new Map();
108
41
  const pairs = new Map();
109
42
  const touched = new Set();
@@ -128,28 +61,17 @@ export function createGitSource(options) {
128
61
  }
129
62
  }
130
63
  }
131
- // --- incidents (§11.6) ------------------------------------------------
64
+ // Incidents (§11.6).
132
65
  const maxFilesPerCommit = options.maxFilesPerCommit ?? 50;
133
- // Which commits describe a failure, and how we know — `incidents.ts`.
134
- // Three mechanisms now, all of them resting on something a person
135
- // declared: the trailer `git revert` writes, the `Revert "…"` subject a
136
- // person or GitHub's own button writes, and a `Fixes #123` a developer
137
- // wrote to say something was broken. Nothing here reads "fix" out of
138
- // prose; see that module's header for why an EARNED node cannot be minted
139
- // from an inference.
66
+ // Three declared mechanisms (incidents.ts): a revert trailer, a `Revert
67
+ // "…"` subject, or a `Fixes #123` — never inferred from prose like "fix".
140
68
  const detected = detectIncidents(commits);
141
69
  const incidents = [...detected.incidents];
142
- // A revert whose target sha could not be resolved by any means — real,
143
- // per the commit's own machine-generated message, but with no commit to
144
- // hang an INCIDENT on. Disclosed via `unresolved`, never dropped with no
145
- // trace (CLAUDE.md rule 7).
70
+ // Real per the commit's own message but unresolvable to a commit — disclosed
71
+ // via `unresolved`, never silently dropped (rule 7).
146
72
  const unresolvedReverts = [];
147
73
  for (const trailer of detected.unresolvedTrailers) {
148
- // Not in the primary, HEAD-reachable, --no-merges index. Try the
149
- // object database directly before giving up — see the module doc's
150
- // "Resolving what a revert names". `detectIncidents` is synchronous and
151
- // cannot do this, which is why it hands the case back rather than
152
- // refusing it itself.
74
+ // Not in the primary index — try the object database (see module doc).
153
75
  const reverted = await resolveCommitBySha(cwd, trailer.revertedSha, maxFilesPerCommit);
154
76
  if (reverted === null) {
155
77
  unresolvedReverts.push({
@@ -168,9 +90,8 @@ export function createGitSource(options) {
168
90
  correlatedPaths: [...new Set(reverted.changes.map((c) => c.path))].sort(),
169
91
  });
170
92
  }
171
- // A `Revert "…"` whose quoted subject this history does not contain, or
172
- // contains twice. Not resolvable out of band the way a sha is — a subject
173
- // is not an identity — so these are refusals as detected.
93
+ // A quoted subject not found (or found twice) — a subject isn't an
94
+ // identity, so unresolvable out of band, unlike a sha.
174
95
  for (const refusal of detected.refusals) {
175
96
  const fix = commits.find((c) => c.sha === refusal.fixSha);
176
97
  if (fix === undefined)
@@ -182,7 +103,7 @@ export function createGitSource(options) {
182
103
  for (const path of found.correlatedPaths)
183
104
  touched.add(path);
184
105
  }
185
- // --- nodes ------------------------------------------------------------
106
+ // Nodes.
186
107
  const nodes = [];
187
108
  const sourceFiles = [...touched].sort();
188
109
  for (const path of sourceFiles) {
@@ -192,26 +113,16 @@ export function createGitSource(options) {
192
113
  name: path.split("/").pop() ?? path,
193
114
  file: path,
194
115
  range: null,
195
- // History cannot tell what language a file is written in, and guessing
196
- // from the extension would be a language decision made by a source
197
- // that has no business making one (DEC-026).
116
+ // Guessing language from the extension would be a language decision
117
+ // made by a source with no business making one (DEC-026).
198
118
  language: null,
199
119
  producedBy: PRODUCED_BY,
200
120
  resolution: 0,
201
121
  attrs: { changeCount: fileChanges.get(path) ?? 0 },
202
122
  });
203
123
  }
204
- /**
205
- * One incident can be reached by more than one fix — two commits both
206
- * saying `Fixes #7` are one defect fixed twice, not two defects. So the
207
- * `INCIDENT` node is keyed and emitted once; the `FIX_PATTERN` and the
208
- * `FIXED_BY` edge are per-fix.
209
- *
210
- * The issue form's qualified symbol path carries the repository even
211
- * though `INCIDENT` is workspace-scoped (DEC-054), because `#123` in one
212
- * repository is not `#123` in another and a bare number would collide two
213
- * unrelated defects into one node across a linked workspace.
214
- */
124
+ /** One incident, multiple fixes — `INCIDENT` keyed and emitted once, `FIX_PATTERN`
125
+ * per-fix. Issue id carries the repo (DEC-054) so `#123` doesn't collide across repos. */
215
126
  const incidentIdOf = (found) => found.incidentCommit !== null
216
127
  ? nodeId(scope, "INCIDENT", found.incidentCommit.sha, null)
217
128
  : nodeId(scope, "INCIDENT", `issue:${repo}${found.issueRef ?? ""}`, null);
@@ -239,10 +150,7 @@ export function createGitSource(options) {
239
150
  : {
240
151
  id,
241
152
  type: "INCIDENT",
242
- // The issue reference and nothing more. Descry reads no tracker
243
- // and must not imply it knows the issue's title, or even that
244
- // the issue was filed as a defect — only that the developer who
245
- // closed it said their commit fixed something.
153
+ // Issue reference only — no tracker is read, so no title or defect status is implied.
246
154
  name: `${repo}${found.issueRef ?? ""}`,
247
155
  file: null,
248
156
  range: null,
@@ -275,13 +183,9 @@ export function createGitSource(options) {
275
183
  },
276
184
  });
277
185
  }
278
- // The fix commit is real and independently verifiable (it exists, its
279
- // sha and message are facts) even when its target is not — so it still
280
- // earns a FIX_PATTERN node. What it does NOT get is an INCIDENT, a
281
- // FIXED_BY edge or any INCIDENT_CORRELATED edge, because none of those
282
- // can be built without a resolved target. The gap is recorded below in
283
- // `unresolved`, not implied by a node that silently has no incoming
284
- // FIXED_BY edge.
186
+ // The fix commit is real, so it earns a FIX_PATTERN node — but no INCIDENT,
187
+ // FIXED_BY or INCIDENT_CORRELATED edge, since none can be built without a
188
+ // resolved target; the gap is recorded in `unresolved` instead.
285
189
  for (const { fix } of unresolvedReverts) {
286
190
  nodes.push({
287
191
  id: nodeId(scope, "FIX_PATTERN", fix.sha, null),
@@ -295,7 +199,7 @@ export function createGitSource(options) {
295
199
  attrs: { commitSha: fix.sha, revertedShaUnresolved: true },
296
200
  });
297
201
  }
298
- // --- edges ------------------------------------------------------------
202
+ // Edges.
299
203
  const nodeIds = new Set(nodes.map((n) => n.id));
300
204
  const edges = [];
301
205
  const unresolved = [];
@@ -313,9 +217,8 @@ export function createGitSource(options) {
313
217
  to: nodeId(scope, "FILE", fileQsp(b), null),
314
218
  type: "CHANGES_WITH",
315
219
  resolution: 0,
316
- // Clamped to the R0 ceiling by the Normaliser. Passing the raw ratio
317
- // and letting it clamp is deliberate — the clamp is recorded, so the
318
- // graph shows that history was capped rather than that it was weak.
220
+ // Raw ratio passed through; the Normaliser's R0 clamp is recorded,
221
+ // showing history was capped rather than weak.
319
222
  confidence,
320
223
  producedBy: PRODUCED_BY,
321
224
  attrs: {
@@ -339,9 +242,8 @@ export function createGitSource(options) {
339
242
  attrs: { commitSha: fix.sha, refusalClass: "capability-gap" },
340
243
  });
341
244
  }
342
- // One INCIDENT_CORRELATED edge set per incident, not per fix: two commits
343
- // closing one issue would otherwise write the same file edge twice, and
344
- // the second write says nothing the first did not.
245
+ // Per incident, not per fix — two commits closing one issue would
246
+ // otherwise write the same file edge twice.
345
247
  const correlated = new Set();
346
248
  for (const found of incidents) {
347
249
  const incidentId = incidentIdOf(found);
@@ -391,9 +293,7 @@ export function createGitSource(options) {
391
293
  });
392
294
  }
393
295
  }
394
- // Deterministic ordering. Two runs over the same history must produce a
395
- // byte-identical batch, or the store's content hash moves for no reason
396
- // and the Step 6 determinism proof stops meaning anything.
296
+ // Deterministic ordering — two runs must produce a byte-identical batch.
397
297
  nodes.sort((a, b) => a.id.localeCompare(b.id));
398
298
  edges.sort((a, b) => edgeId(a.from, a.to, a.type).localeCompare(edgeId(b.from, b.to, b.type)));
399
299
  unresolved.sort((a, b) => `${a.fromNodeId}${a.rawTarget}`.localeCompare(`${b.fromNodeId}${b.rawTarget}`));
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/sources/git/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,EACL,MAAM,EACN,OAAO,EACP,MAAM,GAQP,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,eAAe,EACf,WAAW,EACX,kBAAkB,GAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,WAAW,GAAG,GAAG,aAAa,IAAI,kBAAkB,EAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,cAAc,CAAU,CAAC;AA8B/D;;;;;;;GAOG;AACH,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAEpD,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,OAAO,EAAE,kBAAkB;QAE3B,KAAK,CAAC,IAAI,CAAC,GAAoB;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACxB,mEAAmE;YACnE,4EAA4E;YAC5E,4BAA4B;YAC5B,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAErE,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClC,yEAAyE;gBACzE,4DAA4D;gBAC5D,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAEhC,yEAAyE;YAEzE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7C,kEAAkE;wBAClE,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;wBACnE,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;4BACtB,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yEAAyE;YAEzE,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAE1D,sEAAsE;YACtE,kEAAkE;YAClE,wEAAwE;YACxE,uEAAuE;YACvE,qEAAqE;YACrE,0EAA0E;YAC1E,qBAAqB;YACrB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAuB,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE9D,uEAAuE;YACvE,wEAAwE;YACxE,yEAAyE;YACzE,4BAA4B;YAC5B,MAAM,iBAAiB,GAAyD,EAAE,CAAC;YAEnF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAClD,iEAAiE;gBACjE,mEAAmE;gBACnE,wEAAwE;gBACxE,kEAAkE;gBAClE,sBAAsB;gBACtB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACvF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,iBAAiB,CAAC,IAAI,CAAC;wBACrB,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,SAAS,EAAE,OAAO,CAAC,WAAW;wBAC9B,MAAM,EACJ,+EAA+E;4BAC/E,6EAA6E;qBAChF,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,iBAAiB;oBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,cAAc,EAAE,QAAQ;oBACxB,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;iBAC1E,CAAC,CAAC;YACL,CAAC;YAED,wEAAwE;YACxE,0EAA0E;YAC1E,0DAA0D;YAC1D,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,GAAG,KAAK,SAAS;oBAAE,SAAS;gBAChC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CACzF,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,eAAe;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAED,yEAAyE;YAEzE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAExC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;oBAC9C,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI;oBACnC,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,uEAAuE;oBACvE,mEAAmE;oBACnE,6CAA6C;oBAC7C,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACnD,CAAC,CAAC;YACL,CAAC;YAED;;;;;;;;;;eAUG;YACH,MAAM,YAAY,GAAG,CAAC,KAAuB,EAAU,EAAE,CACvD,KAAK,CAAC,cAAc,KAAK,IAAI;gBAC3B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAE9E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACpC,aAAa,CAAC,GAAG,CACf,EAAE,EACF,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC3B,CAAC,CAAC;wBACE,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBAChD,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,WAAW;wBACvB,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG;4BACnC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;4BACzB,WAAW,EAAE,KAAK,CAAC,SAAS;yBAC7B;qBACF;oBACH,CAAC,CAAC;wBACE,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,gEAAgE;wBAChE,8DAA8D;wBAC9D,gEAAgE;wBAChE,+CAA+C;wBAC/C,IAAI,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACtC,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,WAAW;wBACvB,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE;4BACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;4BAC9B,SAAS,EAAE,IAAI;4BACf,WAAW,EAAE,KAAK,CAAC,SAAS;yBAC7B;qBACF,CACN,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAEtC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;oBACrD,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACrC,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;wBACxB,WAAW,EAAE,KAAK,CAAC,SAAS;wBAC5B,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;wBAC/E,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACnE;iBACF,CAAC,CAAC;YACL,CAAC;YAED,sEAAsE;YACtE,uEAAuE;YACvE,mEAAmE;YACnE,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,iBAAiB;YACjB,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;oBAC/C,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC/B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE;iBAC3D,CAAC,CAAC;YACL,CAAC;YAED,yEAAyE;YAEzE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAoB,EAAE,CAAC;YAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAqB,CAAC;gBACvD,IAAI,IAAI,CAAC,OAAO,GAAG,UAAU;oBAAE,SAAS;gBACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,UAAU,GAAG,aAAa;oBAAE,SAAS;gBAEzC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC7C,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC3C,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,CAAC;oBACb,qEAAqE;oBACrE,qEAAqE;oBACrE,oEAAoE;oBACpE,UAAU;oBACV,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ;wBACR,QAAQ;wBACR,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACF,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1D,UAAU,CAAC,IAAI,CAAC;oBACd,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS;oBACT,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,WAAW;oBACvB,MAAM;oBACN,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE;iBAC9D,CAAC,CAAC;YACL,CAAC;YAED,0EAA0E;YAC1E,wEAAwE;YACxE,mDAAmD;YACnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAErC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE;iBACxC,CAAC,CAAC;gBAEH,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC1D,MAAM,GAAG,GAAG,GAAG,UAAU,KAAK,MAAM,EAAE,CAAC;oBACvC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAClC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzB,UAAU,CAAC,IAAI,CAAC;4BACd,UAAU,EAAE,UAAU;4BACtB,QAAQ,EAAE,qBAAqB;4BAC/B,SAAS,EAAE,IAAI;4BACf,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,IAAI;4BACV,UAAU,EAAE,WAAW;4BACvB,MAAM,EACJ,KAAK,CAAC,cAAc,KAAK,IAAI;gCAC3B,CAAC,CAAC,gEAAgE;gCAClE,CAAC,CAAC,qEAAqE;yBAC5E,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,MAAM;wBACV,IAAI,EAAE,qBAAqB;wBAC3B,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,WAAW;wBACvB,KAAK,EAAE;4BACL,WAAW,EAAE,KAAK,CAAC,SAAS;4BAC5B,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI;gCAC/B,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gCACjC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;yBAC7C;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,wEAAwE;YACxE,2DAA2D;YAC3D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAE1G,OAAO;gBACL,IAAI;gBACJ,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACxE,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,WAAW;gBACvB,WAAW;gBACX,YAAY,EAAE,EAAE;gBAChB,iBAAiB,EAAE,CAAC;gBACpB,KAAK;gBACL,KAAK;gBACL,UAAU;aACX,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,SAA6B,EAAE,SAAiB;IAChF,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,SAAS;QACT,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,CAAC;QACpB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/sources/git/source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,MAAM,EACN,OAAO,EACP,MAAM,GAQP,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,eAAe,EACf,WAAW,EACX,kBAAkB,GAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,WAAW,GAAG,GAAG,aAAa,IAAI,kBAAkB,EAAE,CAAC;AAE7D;uFACuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,cAAc,CAAU,CAAC;AAkB/D;6EAC6E;AAC7E,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAEpD,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,OAAO,EAAE,kBAAkB;QAE3B,KAAK,CAAC,IAAI,CAAC,GAAoB;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACxB,yEAAyE;YACzE,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAErE,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClC,iEAAiE;gBACjE,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAEhC,qBAAqB;YACrB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7C,kEAAkE;wBAClE,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;wBACnE,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;4BACtB,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qBAAqB;YACrB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAE1D,wEAAwE;YACxE,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAuB,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE9D,6EAA6E;YAC7E,qDAAqD;YACrD,MAAM,iBAAiB,GAAyD,EAAE,CAAC;YAEnF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAClD,uEAAuE;gBACvE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACvF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,iBAAiB,CAAC,IAAI,CAAC;wBACrB,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,SAAS,EAAE,OAAO,CAAC,WAAW;wBAC9B,MAAM,EACJ,+EAA+E;4BAC/E,6EAA6E;qBAChF,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,iBAAiB;oBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,cAAc,EAAE,QAAQ;oBACxB,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;iBAC1E,CAAC,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,uDAAuD;YACvD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,GAAG,KAAK,SAAS;oBAAE,SAAS;gBAChC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CACzF,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,eAAe;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAED,SAAS;YACT,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAExC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;oBAC9C,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI;oBACnC,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,oEAAoE;oBACpE,0DAA0D;oBAC1D,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACnD,CAAC,CAAC;YACL,CAAC;YAED;uGAC2F;YAC3F,MAAM,YAAY,GAAG,CAAC,KAAuB,EAAU,EAAE,CACvD,KAAK,CAAC,cAAc,KAAK,IAAI;gBAC3B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAE9E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACpC,aAAa,CAAC,GAAG,CACf,EAAE,EACF,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC3B,CAAC,CAAC;wBACE,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBAChD,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,WAAW;wBACvB,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG;4BACnC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;4BACzB,WAAW,EAAE,KAAK,CAAC,SAAS;yBAC7B;qBACF;oBACH,CAAC,CAAC;wBACE,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,sFAAsF;wBACtF,IAAI,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACtC,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,WAAW;wBACvB,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE;4BACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;4BAC9B,SAAS,EAAE,IAAI;4BACf,WAAW,EAAE,KAAK,CAAC,SAAS;yBAC7B;qBACF,CACN,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAEtC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;oBACrD,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACrC,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;wBACxB,WAAW,EAAE,KAAK,CAAC,SAAS;wBAC5B,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;wBAC/E,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACnE;iBACF,CAAC,CAAC;YACL,CAAC;YAED,4EAA4E;YAC5E,0EAA0E;YAC1E,gEAAgE;YAChE,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;oBAC/C,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC/B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE;iBAC3D,CAAC,CAAC;YACL,CAAC;YAED,SAAS;YACT,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAoB,EAAE,CAAC;YAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAqB,CAAC;gBACvD,IAAI,IAAI,CAAC,OAAO,GAAG,UAAU;oBAAE,SAAS;gBACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,UAAU,GAAG,aAAa;oBAAE,SAAS;gBAEzC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC7C,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC3C,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,CAAC;oBACb,mEAAmE;oBACnE,+CAA+C;oBAC/C,UAAU;oBACV,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ;wBACR,QAAQ;wBACR,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACF,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1D,UAAU,CAAC,IAAI,CAAC;oBACd,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS;oBACT,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,WAAW;oBACvB,MAAM;oBACN,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE;iBAC9D,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,4CAA4C;YAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAErC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE;iBACxC,CAAC,CAAC;gBAEH,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC1D,MAAM,GAAG,GAAG,GAAG,UAAU,KAAK,MAAM,EAAE,CAAC;oBACvC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAClC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzB,UAAU,CAAC,IAAI,CAAC;4BACd,UAAU,EAAE,UAAU;4BACtB,QAAQ,EAAE,qBAAqB;4BAC/B,SAAS,EAAE,IAAI;4BACf,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,IAAI;4BACV,UAAU,EAAE,WAAW;4BACvB,MAAM,EACJ,KAAK,CAAC,cAAc,KAAK,IAAI;gCAC3B,CAAC,CAAC,gEAAgE;gCAClE,CAAC,CAAC,qEAAqE;yBAC5E,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,MAAM;wBACV,IAAI,EAAE,qBAAqB;wBAC3B,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,WAAW;wBACvB,KAAK,EAAE;4BACL,WAAW,EAAE,KAAK,CAAC,SAAS;4BAC5B,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI;gCAC/B,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gCACjC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;yBAC7C;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAE1G,OAAO;gBACL,IAAI;gBACJ,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACxE,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,WAAW;gBACvB,WAAW;gBACX,YAAY,EAAE,EAAE;gBAChB,iBAAiB,EAAE,CAAC;gBACpB,KAAK;gBACL,KAAK;gBACL,UAAU;aACX,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,SAA6B,EAAE,SAAiB;IAChF,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,SAAS;QACT,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,CAAC;QACpB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * §14.6 for one change against a base branch — the shape `cross_pr` actually has.
3
+ *
4
+ * ## Why the base branch is the second member of the set
5
+ *
6
+ * `migration-heads.ts` computes heads across a *set of changes*, and `cross_pr`
7
+ * has one. That is not a mismatch, it is a missing member: the set the
8
+ * migration runner will see after this merge is **base's migrations plus this
9
+ * change's**, and heads over that union is exactly the computation the runner
10
+ * performs when it refuses with *"multiple head revisions are present"*.
11
+ *
12
+ * So base is read as a change with its own id. Nothing about the check changes;
13
+ * it is given the set it was always meant to have.
14
+ *
15
+ * ## The one wrong sentence this must not say
16
+ *
17
+ * A base branch that already forks produces two heads whatever the change does.
18
+ * Reporting that as *this* change's conflict is a wrong sentence about the wrong
19
+ * person, and it would fire on every change to such a repository until someone
20
+ * fixed a fork they did not create.
21
+ *
22
+ * So base is measured **alone** first. Its head count is a fact about base:
23
+ *
24
+ * | base alone | what this reports |
25
+ * | --- | --- |
26
+ * | one head | the union is computed and `baseHead` is supplied, so stale-history is checked too |
27
+ * | more than one | a disclosure naming base's fork, and no conflict attributed to the change |
28
+ * | none — no migrations at all | the change's own migrations, with nothing to fork from |
29
+ *
30
+ * ## Reading base without checking it out
31
+ *
32
+ * `git ls-tree` names base's files and `git show base:<path>` reads one. Neither
33
+ * touches the working tree, so this is safe to run mid-edit — which is the only
34
+ * time anyone runs a pre-merge check.
35
+ *
36
+ * The tree is narrowed by {@link looksLikeMigration} before anything is read. A
37
+ * base branch is thousands of paths and its migrations are dozens; reading all
38
+ * of them to discover that would be the check's whole cost paid for nothing.
39
+ *
40
+ * ## Everything here is R0 and the ceiling follows
41
+ *
42
+ * A regex over source text, per `read.ts`. The class column is a ceiling rather
43
+ * than a floor, so a conflict computed from these records caps at C however
44
+ * certain the arithmetic above it. Reaching A needs the framework's own
45
+ * migration history, which needs the tool installed and run, and nothing here
46
+ * installs or runs anything.
47
+ */
48
+ import type { MigrationHeadReport } from "../../multipr/migration-heads.ts";
49
+ import type { MigrationReadReport } from "./read.ts";
50
+ /** A migration no runner will see, because of where it is. */
51
+ export interface MisplacedMigration {
52
+ readonly file: string;
53
+ readonly revision: string;
54
+ /** The dialect it parses as — the same one this repository already uses. */
55
+ readonly dialect: string;
56
+ }
57
+ export interface MigrationsAcrossChange {
58
+ /** Base's own migrations, read from the tree rather than the working copy. */
59
+ readonly base: MigrationReadReport;
60
+ /** What this change adds or edits. */
61
+ readonly change: MigrationReadReport;
62
+ /**
63
+ * Base's single head, or `null` when base has none or more than one.
64
+ *
65
+ * `null` for two different reasons and the notes say which. Supplying it is
66
+ * what enables the stale-history check one level up.
67
+ */
68
+ readonly baseHead: string | null;
69
+ /** Heads over the union — the computation the migration runner performs. */
70
+ readonly report: MigrationHeadReport;
71
+ /**
72
+ * Well-formed migrations sitting where no migration tool looks.
73
+ *
74
+ * Not part of the head computation, and that is the point: the runner cannot
75
+ * see them either, so a merge that "leaves one head" can be true and
76
+ * incomplete at once.
77
+ */
78
+ readonly misplaced: readonly MisplacedMigration[];
79
+ readonly notes: readonly string[];
80
+ }
81
+ export interface AcrossChangeOptions {
82
+ /** Cap on files read per side. Truncation is disclosed, never silent. */
83
+ readonly maxFiles?: number;
84
+ /** Paths this change touched. Read from git when not supplied. */
85
+ readonly changedFiles?: readonly string[];
86
+ }
87
+ /**
88
+ * Read both sides of a merge and compute the heads it would leave.
89
+ *
90
+ * @param base the branch this change would merge into
91
+ * @param head the tip being reviewed
92
+ */
93
+ export declare function readMigrationsAcrossChange(cwd: string, base: string, head: string, options?: AcrossChangeOptions): Promise<MigrationsAcrossChange>;
94
+ //# sourceMappingURL=across-change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"across-change.d.ts","sourceRoot":"","sources":["../../../src/sources/migrations/across-change.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AA0BrD,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AA2HD,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAqGjC"}