@shrkcrft/cli 0.1.0-alpha.30 → 0.1.0-alpha.31

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 (510) hide show
  1. package/dist/asset-preview/apply-asset-preview.js +1 -1
  2. package/dist/authoring/authoring-kit.d.ts +9 -1
  3. package/dist/authoring/authoring-kit.d.ts.map +1 -1
  4. package/dist/authoring/authoring-kit.js +26 -13
  5. package/dist/bootstrap/unlinked-workspace-dependency.d.ts +11 -0
  6. package/dist/bootstrap/unlinked-workspace-dependency.d.ts.map +1 -0
  7. package/dist/bootstrap/unlinked-workspace-dependency.js +99 -0
  8. package/dist/command-registry.d.ts +100 -1
  9. package/dist/command-registry.d.ts.map +1 -1
  10. package/dist/command-registry.js +130 -3
  11. package/dist/commands/api-diff.command.d.ts.map +1 -1
  12. package/dist/commands/api-diff.command.js +12 -0
  13. package/dist/commands/apply.command.d.ts.map +1 -1
  14. package/dist/commands/apply.command.js +3 -0
  15. package/dist/commands/arch.command.d.ts.map +1 -1
  16. package/dist/commands/arch.command.js +26 -7
  17. package/dist/commands/architecture.command.d.ts.map +1 -1
  18. package/dist/commands/architecture.command.js +8 -2
  19. package/dist/commands/baseline.command.d.ts +54 -3
  20. package/dist/commands/baseline.command.d.ts.map +1 -1
  21. package/dist/commands/baseline.command.js +582 -74
  22. package/dist/commands/biome.command.d.ts.map +1 -1
  23. package/dist/commands/biome.command.js +20 -0
  24. package/dist/commands/boundaries.command.d.ts +9 -1
  25. package/dist/commands/boundaries.command.d.ts.map +1 -1
  26. package/dist/commands/boundaries.command.js +88 -20
  27. package/dist/commands/bundle.command.d.ts.map +1 -1
  28. package/dist/commands/bundle.command.js +57 -11
  29. package/dist/commands/cache-align.command.d.ts.map +1 -1
  30. package/dist/commands/cache-align.command.js +3 -1
  31. package/dist/commands/changelog-data.d.ts.map +1 -1
  32. package/dist/commands/changelog-data.js +138 -0
  33. package/dist/commands/changes.command.d.ts.map +1 -1
  34. package/dist/commands/changes.command.js +15 -0
  35. package/dist/commands/check.command.d.ts.map +1 -1
  36. package/dist/commands/check.command.js +1241 -322
  37. package/dist/commands/checks.command.d.ts.map +1 -1
  38. package/dist/commands/checks.command.js +188 -40
  39. package/dist/commands/ci.command.d.ts.map +1 -1
  40. package/dist/commands/ci.command.js +35 -2
  41. package/dist/commands/code-intel.command.d.ts.map +1 -1
  42. package/dist/commands/code-intel.command.js +3 -0
  43. package/dist/commands/command-catalog.d.ts +23 -1
  44. package/dist/commands/command-catalog.d.ts.map +1 -1
  45. package/dist/commands/command-catalog.js +152 -35
  46. package/dist/commands/commands.command.d.ts +21 -3
  47. package/dist/commands/commands.command.d.ts.map +1 -1
  48. package/dist/commands/commands.command.js +172 -27
  49. package/dist/commands/compress.command.d.ts.map +1 -1
  50. package/dist/commands/compress.command.js +4 -0
  51. package/dist/commands/constructs.command.d.ts.map +1 -1
  52. package/dist/commands/constructs.command.js +50 -12
  53. package/dist/commands/context.command.d.ts.map +1 -1
  54. package/dist/commands/context.command.js +40 -5
  55. package/dist/commands/contract-templates.command.d.ts.map +1 -1
  56. package/dist/commands/contract-templates.command.js +9 -1
  57. package/dist/commands/contract.command.d.ts.map +1 -1
  58. package/dist/commands/contract.command.js +35 -0
  59. package/dist/commands/conventions.command.d.ts.map +1 -1
  60. package/dist/commands/conventions.command.js +189 -29
  61. package/dist/commands/coverage.command.d.ts.map +1 -1
  62. package/dist/commands/coverage.command.js +9 -0
  63. package/dist/commands/daily.commands.d.ts +0 -1
  64. package/dist/commands/daily.commands.d.ts.map +1 -1
  65. package/dist/commands/daily.commands.js +12 -76
  66. package/dist/commands/dashboard.command.d.ts.map +1 -1
  67. package/dist/commands/dashboard.command.js +10 -0
  68. package/dist/commands/dev.command.d.ts.map +1 -1
  69. package/dist/commands/dev.command.js +45 -2
  70. package/dist/commands/diagnostics.command.d.ts +0 -2
  71. package/dist/commands/diagnostics.command.d.ts.map +1 -1
  72. package/dist/commands/diagnostics.command.js +5 -78
  73. package/dist/commands/diff-check.command.d.ts +6 -4
  74. package/dist/commands/diff-check.command.d.ts.map +1 -1
  75. package/dist/commands/diff-check.command.js +190 -103
  76. package/dist/commands/docs-references.command.d.ts +13 -0
  77. package/dist/commands/docs-references.command.d.ts.map +1 -1
  78. package/dist/commands/docs-references.command.js +269 -72
  79. package/dist/commands/doctor.command.d.ts.map +1 -1
  80. package/dist/commands/doctor.command.js +58 -4
  81. package/dist/commands/drift.command.d.ts.map +1 -1
  82. package/dist/commands/drift.command.js +17 -4
  83. package/dist/commands/eslint.command.d.ts.map +1 -1
  84. package/dist/commands/eslint.command.js +20 -0
  85. package/dist/commands/export.command.d.ts.map +1 -1
  86. package/dist/commands/export.command.js +23 -1
  87. package/dist/commands/feedback-dispatch.command.d.ts.map +1 -1
  88. package/dist/commands/feedback-dispatch.command.js +29 -0
  89. package/dist/commands/feedback.command.d.ts.map +1 -1
  90. package/dist/commands/feedback.command.js +6 -1
  91. package/dist/commands/finish.command.d.ts.map +1 -1
  92. package/dist/commands/finish.command.js +32 -8
  93. package/dist/commands/fix.command.d.ts.map +1 -1
  94. package/dist/commands/fix.command.js +19 -0
  95. package/dist/commands/gate.command.d.ts +6 -1
  96. package/dist/commands/gate.command.d.ts.map +1 -1
  97. package/dist/commands/gate.command.js +50 -124
  98. package/dist/commands/gates.command.d.ts +52 -0
  99. package/dist/commands/gates.command.d.ts.map +1 -1
  100. package/dist/commands/gates.command.js +811 -185
  101. package/dist/commands/gen.command.d.ts.map +1 -1
  102. package/dist/commands/gen.command.js +4 -0
  103. package/dist/commands/generated.command.d.ts +33 -3
  104. package/dist/commands/generated.command.d.ts.map +1 -1
  105. package/dist/commands/generated.command.js +499 -147
  106. package/dist/commands/graph-code-subverbs.d.ts +15 -0
  107. package/dist/commands/graph-code-subverbs.d.ts.map +1 -1
  108. package/dist/commands/graph-code-subverbs.js +198 -24
  109. package/dist/commands/graph.command.d.ts.map +1 -1
  110. package/dist/commands/graph.command.js +79 -37
  111. package/dist/commands/help.command.d.ts +30 -6
  112. package/dist/commands/help.command.d.ts.map +1 -1
  113. package/dist/commands/help.command.js +323 -199
  114. package/dist/commands/helper.command.d.ts +1 -0
  115. package/dist/commands/helper.command.d.ts.map +1 -1
  116. package/dist/commands/helper.command.js +195 -56
  117. package/dist/commands/impact.command.d.ts.map +1 -1
  118. package/dist/commands/impact.command.js +115 -12
  119. package/dist/commands/infer.command.d.ts.map +1 -1
  120. package/dist/commands/infer.command.js +20 -45
  121. package/dist/commands/ingest.command.d.ts +0 -1
  122. package/dist/commands/ingest.command.d.ts.map +1 -1
  123. package/dist/commands/ingest.command.js +25 -41
  124. package/dist/commands/knowledge-author.command.d.ts +0 -3
  125. package/dist/commands/knowledge-author.command.d.ts.map +1 -1
  126. package/dist/commands/knowledge-author.command.js +10 -23
  127. package/dist/commands/knowledge.command.d.ts.map +1 -1
  128. package/dist/commands/knowledge.command.js +469 -129
  129. package/dist/commands/languages.command.d.ts.map +1 -1
  130. package/dist/commands/languages.command.js +27 -0
  131. package/dist/commands/lint.command.d.ts.map +1 -1
  132. package/dist/commands/lint.command.js +3 -0
  133. package/dist/commands/mcp.command.d.ts +18 -0
  134. package/dist/commands/mcp.command.d.ts.map +1 -1
  135. package/dist/commands/mcp.command.js +33 -8
  136. package/dist/commands/onboard.command.d.ts.map +1 -1
  137. package/dist/commands/onboard.command.js +20 -0
  138. package/dist/commands/owners.command.d.ts.map +1 -1
  139. package/dist/commands/owners.command.js +14 -2
  140. package/dist/commands/packs-new.d.ts +13 -1
  141. package/dist/commands/packs-new.d.ts.map +1 -1
  142. package/dist/commands/packs-new.js +500 -335
  143. package/dist/commands/packs.command.d.ts.map +1 -1
  144. package/dist/commands/packs.command.js +378 -36
  145. package/dist/commands/paths.command.d.ts.map +1 -1
  146. package/dist/commands/paths.command.js +9 -1
  147. package/dist/commands/pipelines.command.d.ts.map +1 -1
  148. package/dist/commands/pipelines.command.js +7 -1
  149. package/dist/commands/plan-check.command.d.ts.map +1 -1
  150. package/dist/commands/plan-check.command.js +3 -0
  151. package/dist/commands/plan.command.d.ts.map +1 -1
  152. package/dist/commands/plan.command.js +3 -0
  153. package/dist/commands/playbooks.command.d.ts.map +1 -1
  154. package/dist/commands/playbooks.command.js +7 -2
  155. package/dist/commands/policy-lint.command.d.ts +19 -2
  156. package/dist/commands/policy-lint.command.d.ts.map +1 -1
  157. package/dist/commands/policy-lint.command.js +224 -65
  158. package/dist/commands/policy.command.d.ts.map +1 -1
  159. package/dist/commands/policy.command.js +6 -1
  160. package/dist/commands/pr.command.d.ts.map +1 -1
  161. package/dist/commands/pr.command.js +14 -0
  162. package/dist/commands/presets.command.d.ts.map +1 -1
  163. package/dist/commands/presets.command.js +12 -27
  164. package/dist/commands/profiles.command.d.ts.map +1 -1
  165. package/dist/commands/profiles.command.js +94 -26
  166. package/dist/commands/provenance.command.js +1 -1
  167. package/dist/commands/quality.command.d.ts.map +1 -1
  168. package/dist/commands/quality.command.js +129 -33
  169. package/dist/commands/recommend.command.d.ts +20 -4
  170. package/dist/commands/recommend.command.d.ts.map +1 -1
  171. package/dist/commands/recommend.command.js +172 -278
  172. package/dist/commands/registrations.command.d.ts.map +1 -1
  173. package/dist/commands/registrations.command.js +138 -13
  174. package/dist/commands/registry-lifecycle-run.d.ts +14 -0
  175. package/dist/commands/registry-lifecycle-run.d.ts.map +1 -0
  176. package/dist/commands/registry-lifecycle-run.js +336 -0
  177. package/dist/commands/registry.command.d.ts.map +1 -1
  178. package/dist/commands/registry.command.js +235 -62
  179. package/dist/commands/release.command.d.ts.map +1 -1
  180. package/dist/commands/release.command.js +99 -20
  181. package/dist/commands/report.command.d.ts.map +1 -1
  182. package/dist/commands/report.command.js +38 -2
  183. package/dist/commands/reuse-coverage.command.d.ts +23 -0
  184. package/dist/commands/reuse-coverage.command.d.ts.map +1 -0
  185. package/dist/commands/reuse-coverage.command.js +536 -0
  186. package/dist/commands/reuse.command.d.ts +3 -18
  187. package/dist/commands/reuse.command.d.ts.map +1 -1
  188. package/dist/commands/reuse.command.js +395 -244
  189. package/dist/commands/review.command.d.ts.map +1 -1
  190. package/dist/commands/review.command.js +33 -1
  191. package/dist/commands/rounds.command.d.ts.map +1 -1
  192. package/dist/commands/rounds.command.js +5 -0
  193. package/dist/commands/safety.command.d.ts.map +1 -1
  194. package/dist/commands/safety.command.js +9 -0
  195. package/dist/commands/scaffolds.command.d.ts.map +1 -1
  196. package/dist/commands/scaffolds.command.js +97 -25
  197. package/dist/commands/search.command.d.ts +0 -8
  198. package/dist/commands/search.command.d.ts.map +1 -1
  199. package/dist/commands/search.command.js +136 -28
  200. package/dist/commands/self-config-xrefs.command.d.ts +24 -0
  201. package/dist/commands/self-config-xrefs.command.d.ts.map +1 -0
  202. package/dist/commands/self-config-xrefs.command.js +170 -0
  203. package/dist/commands/self-config.command.d.ts.map +1 -1
  204. package/dist/commands/self-config.command.js +261 -65
  205. package/dist/commands/smart-context.command.d.ts.map +1 -1
  206. package/dist/commands/smart-context.command.js +39 -3
  207. package/dist/commands/spec.command.d.ts.map +1 -1
  208. package/dist/commands/spec.command.js +3 -0
  209. package/dist/commands/stats.command.d.ts.map +1 -1
  210. package/dist/commands/stats.command.js +3 -0
  211. package/dist/commands/surface.command.d.ts +6 -1
  212. package/dist/commands/surface.command.d.ts.map +1 -1
  213. package/dist/commands/surface.command.js +256 -54
  214. package/dist/commands/task-context.command.js +1 -1
  215. package/dist/commands/task.command.d.ts.map +1 -1
  216. package/dist/commands/task.command.js +22 -1
  217. package/dist/commands/templates.command.d.ts +4 -0
  218. package/dist/commands/templates.command.d.ts.map +1 -1
  219. package/dist/commands/templates.command.js +109 -22
  220. package/dist/commands/test.command.d.ts.map +1 -1
  221. package/dist/commands/test.command.js +161 -33
  222. package/dist/commands/tests.command.d.ts.map +1 -1
  223. package/dist/commands/tests.command.js +29 -3
  224. package/dist/commands/trace.command.d.ts.map +1 -1
  225. package/dist/commands/trace.command.js +29 -4
  226. package/dist/commands/watch.command.d.ts.map +1 -1
  227. package/dist/commands/watch.command.js +3 -0
  228. package/dist/commands/why.command.d.ts.map +1 -1
  229. package/dist/commands/why.command.js +3 -0
  230. package/dist/commands/wiring.command.d.ts +18 -4
  231. package/dist/commands/wiring.command.d.ts.map +1 -1
  232. package/dist/commands/wiring.command.js +360 -73
  233. package/dist/dashboard/code-intelligence-data.js +4 -4
  234. package/dist/diff/deleted-orphan-coverage.d.ts +32 -0
  235. package/dist/diff/deleted-orphan-coverage.d.ts.map +1 -0
  236. package/dist/diff/deleted-orphan-coverage.js +107 -0
  237. package/dist/diff/deleted-orphan-scope-notes.d.ts +23 -0
  238. package/dist/diff/deleted-orphan-scope-notes.d.ts.map +1 -0
  239. package/dist/diff/deleted-orphan-scope-notes.js +49 -0
  240. package/dist/diff/deleted-orphans.d.ts +32 -0
  241. package/dist/diff/deleted-orphans.d.ts.map +1 -1
  242. package/dist/diff/deleted-orphans.js +42 -2
  243. package/dist/dispatch/closest-match.d.ts +15 -0
  244. package/dist/dispatch/closest-match.d.ts.map +1 -0
  245. package/dist/dispatch/closest-match.js +47 -0
  246. package/dist/dispatch/global-flags.d.ts +94 -0
  247. package/dist/dispatch/global-flags.d.ts.map +1 -0
  248. package/dist/dispatch/global-flags.js +123 -0
  249. package/dist/dispatch/guard-invocation-input.d.ts +24 -0
  250. package/dist/dispatch/guard-invocation-input.d.ts.map +1 -0
  251. package/dist/dispatch/guard-invocation-input.js +1 -0
  252. package/dist/dispatch/guard-invocation.d.ts +33 -0
  253. package/dist/dispatch/guard-invocation.d.ts.map +1 -0
  254. package/dist/dispatch/guard-invocation.js +183 -0
  255. package/dist/dispatch/help-intercept.d.ts +22 -0
  256. package/dist/dispatch/help-intercept.d.ts.map +1 -0
  257. package/dist/dispatch/help-intercept.js +42 -0
  258. package/dist/dispatch/i-declared-invocation.d.ts +17 -0
  259. package/dist/dispatch/i-declared-invocation.d.ts.map +1 -0
  260. package/dist/dispatch/i-declared-invocation.js +1 -0
  261. package/dist/dispatch/i-unknown-flag-refusal-input.d.ts +28 -0
  262. package/dist/dispatch/i-unknown-flag-refusal-input.d.ts.map +1 -0
  263. package/dist/dispatch/i-unknown-flag-refusal-input.js +1 -0
  264. package/dist/dispatch/invocation-rejection-kind.d.ts +15 -0
  265. package/dist/dispatch/invocation-rejection-kind.d.ts.map +1 -0
  266. package/dist/dispatch/invocation-rejection-kind.js +15 -0
  267. package/dist/dispatch/invocation-rejection.d.ts +18 -0
  268. package/dist/dispatch/invocation-rejection.d.ts.map +1 -0
  269. package/dist/dispatch/invocation-rejection.js +1 -0
  270. package/dist/dispatch/judge-invocation.d.ts +24 -0
  271. package/dist/dispatch/judge-invocation.d.ts.map +1 -0
  272. package/dist/dispatch/judge-invocation.js +50 -0
  273. package/dist/dispatch/positional-mode.d.ts +18 -0
  274. package/dist/dispatch/positional-mode.d.ts.map +1 -0
  275. package/dist/dispatch/positional-mode.js +18 -0
  276. package/dist/dispatch/read-tracking-map.d.ts +28 -0
  277. package/dist/dispatch/read-tracking-map.d.ts.map +1 -0
  278. package/dist/dispatch/read-tracking-map.js +58 -0
  279. package/dist/dispatch/refuse-sibling-valve-flags.d.ts +30 -0
  280. package/dist/dispatch/refuse-sibling-valve-flags.d.ts.map +1 -0
  281. package/dist/dispatch/refuse-sibling-valve-flags.js +65 -0
  282. package/dist/dispatch/subverb-spec.d.ts +26 -0
  283. package/dist/dispatch/subverb-spec.d.ts.map +1 -0
  284. package/dist/dispatch/subverb-spec.js +1 -0
  285. package/dist/dispatch/undocumented-flag-reads.d.ts +22 -0
  286. package/dist/dispatch/undocumented-flag-reads.d.ts.map +1 -0
  287. package/dist/dispatch/undocumented-flag-reads.js +283 -0
  288. package/dist/dispatch/unknown-flag-refusal-mode.d.ts +13 -0
  289. package/dist/dispatch/unknown-flag-refusal-mode.d.ts.map +1 -0
  290. package/dist/dispatch/unknown-flag-refusal-mode.js +13 -0
  291. package/dist/dispatch/unknown-flag-refusal.d.ts +22 -0
  292. package/dist/dispatch/unknown-flag-refusal.d.ts.map +1 -0
  293. package/dist/dispatch/unknown-flag-refusal.js +57 -0
  294. package/dist/dispatch/unread-flags.d.ts +152 -0
  295. package/dist/dispatch/unread-flags.d.ts.map +1 -0
  296. package/dist/dispatch/unread-flags.js +295 -0
  297. package/dist/dispatch/verdict-valve-flag.d.ts +21 -0
  298. package/dist/dispatch/verdict-valve-flag.d.ts.map +1 -0
  299. package/dist/dispatch/verdict-valve-flag.js +21 -0
  300. package/dist/dispatch/walk-declared-subverbs.d.ts +14 -0
  301. package/dist/dispatch/walk-declared-subverbs.d.ts.map +1 -0
  302. package/dist/dispatch/walk-declared-subverbs.js +28 -0
  303. package/dist/exit-codes.d.ts +41 -3
  304. package/dist/exit-codes.d.ts.map +1 -1
  305. package/dist/exit-codes.js +153 -14
  306. package/dist/finish/run-finish.d.ts +72 -5
  307. package/dist/finish/run-finish.d.ts.map +1 -1
  308. package/dist/finish/run-finish.js +453 -104
  309. package/dist/gates/accepted-empty-note.d.ts +10 -0
  310. package/dist/gates/accepted-empty-note.d.ts.map +1 -0
  311. package/dist/gates/accepted-empty-note.js +11 -0
  312. package/dist/gates/allow-empty.d.ts +25 -0
  313. package/dist/gates/allow-empty.d.ts.map +1 -0
  314. package/dist/gates/allow-empty.js +27 -0
  315. package/dist/gates/asset-doctor-failing-units.d.ts +16 -0
  316. package/dist/gates/asset-doctor-failing-units.d.ts.map +1 -0
  317. package/dist/gates/asset-doctor-failing-units.js +14 -0
  318. package/dist/gates/asset-doctor-failure-line.d.ts +16 -0
  319. package/dist/gates/asset-doctor-failure-line.d.ts.map +1 -0
  320. package/dist/gates/asset-doctor-failure-line.js +28 -0
  321. package/dist/gates/empty-rule-advice-lines.d.ts +15 -0
  322. package/dist/gates/empty-rule-advice-lines.d.ts.map +1 -0
  323. package/dist/gates/empty-rule-advice-lines.js +20 -0
  324. package/dist/gates/gate-envelope.d.ts +85 -8
  325. package/dist/gates/gate-envelope.d.ts.map +1 -1
  326. package/dist/gates/gate-envelope.js +56 -7
  327. package/dist/gates/gate-rule-globs.d.ts +37 -3
  328. package/dist/gates/gate-rule-globs.d.ts.map +1 -1
  329. package/dist/gates/gate-rule-globs.js +78 -40
  330. package/dist/gates/gate-rule-view.d.ts +17 -4
  331. package/dist/gates/gate-rule-view.d.ts.map +1 -1
  332. package/dist/gates/gate-rule-view.js +105 -90
  333. package/dist/gates/i-coverage-dead-glob.d.ts +19 -0
  334. package/dist/gates/i-coverage-dead-glob.d.ts.map +1 -0
  335. package/dist/gates/i-coverage-dead-glob.js +1 -0
  336. package/dist/gates/i-coverage-negation.d.ts +13 -0
  337. package/dist/gates/i-coverage-negation.d.ts.map +1 -0
  338. package/dist/gates/i-coverage-negation.js +1 -0
  339. package/dist/gates/i-registration-query-settle-input.d.ts +18 -0
  340. package/dist/gates/i-registration-query-settle-input.d.ts.map +1 -0
  341. package/dist/gates/i-registration-query-settle-input.js +1 -0
  342. package/dist/gates/i-unit-state-note-row.d.ts +16 -0
  343. package/dist/gates/i-unit-state-note-row.d.ts.map +1 -0
  344. package/dist/gates/i-unit-state-note-row.js +1 -0
  345. package/dist/gates/i-unit-state-notes.d.ts +32 -0
  346. package/dist/gates/i-unit-state-notes.d.ts.map +1 -0
  347. package/dist/gates/i-unit-state-notes.js +1 -0
  348. package/dist/gates/incomplete-registry-inventory.d.ts +19 -0
  349. package/dist/gates/incomplete-registry-inventory.d.ts.map +1 -0
  350. package/dist/gates/incomplete-registry-inventory.js +63 -0
  351. package/dist/gates/measure-registration-roles.d.ts +10 -0
  352. package/dist/gates/measure-registration-roles.d.ts.map +1 -0
  353. package/dist/gates/measure-registration-roles.js +9 -0
  354. package/dist/gates/plane-verdict.d.ts +14 -0
  355. package/dist/gates/plane-verdict.d.ts.map +1 -0
  356. package/dist/gates/plane-verdict.js +22 -0
  357. package/dist/gates/qualify-clean-for-units.d.ts +12 -0
  358. package/dist/gates/qualify-clean-for-units.d.ts.map +1 -0
  359. package/dist/gates/qualify-clean-for-units.js +18 -0
  360. package/dist/gates/registration-graph-verdict.d.ts +34 -0
  361. package/dist/gates/registration-graph-verdict.d.ts.map +1 -0
  362. package/dist/gates/registration-graph-verdict.js +70 -0
  363. package/dist/gates/registration-roles.d.ts +9 -0
  364. package/dist/gates/registration-roles.d.ts.map +1 -0
  365. package/dist/gates/registration-roles.js +1 -0
  366. package/dist/gates/registry-liveness.d.ts +11 -0
  367. package/dist/gates/registry-liveness.d.ts.map +1 -0
  368. package/dist/gates/registry-liveness.js +13 -0
  369. package/dist/gates/rule-coverage.d.ts +187 -4
  370. package/dist/gates/rule-coverage.d.ts.map +1 -1
  371. package/dist/gates/rule-coverage.js +501 -49
  372. package/dist/gates/run-gate-planes.d.ts +14 -0
  373. package/dist/gates/run-gate-planes.d.ts.map +1 -1
  374. package/dist/gates/run-gate-planes.js +172 -30
  375. package/dist/gates/scaffold-selftest.d.ts +56 -0
  376. package/dist/gates/scaffold-selftest.d.ts.map +1 -0
  377. package/dist/gates/scaffold-selftest.js +119 -0
  378. package/dist/gates/seam-rejected-rules.d.ts +28 -0
  379. package/dist/gates/seam-rejected-rules.d.ts.map +1 -0
  380. package/dist/gates/seam-rejected-rules.js +95 -0
  381. package/dist/gates/self-test-check.d.ts +29 -0
  382. package/dist/gates/self-test-check.d.ts.map +1 -0
  383. package/dist/gates/self-test-check.js +1 -0
  384. package/dist/gates/self-test-subject.d.ts +28 -0
  385. package/dist/gates/self-test-subject.d.ts.map +1 -0
  386. package/dist/gates/self-test-subject.js +1 -0
  387. package/dist/gates/self-test.d.ts +20 -0
  388. package/dist/gates/self-test.d.ts.map +1 -0
  389. package/dist/gates/self-test.js +82 -0
  390. package/dist/gates/settle-verdict.d.ts +14 -0
  391. package/dist/gates/settle-verdict.d.ts.map +1 -0
  392. package/dist/gates/settle-verdict.js +13 -0
  393. package/dist/gates/settled-verdict.d.ts +8 -0
  394. package/dist/gates/settled-verdict.d.ts.map +1 -0
  395. package/dist/gates/settled-verdict.js +1 -0
  396. package/dist/gates/template-registry-coverage.d.ts +18 -0
  397. package/dist/gates/template-registry-coverage.d.ts.map +1 -0
  398. package/dist/gates/template-registry-coverage.js +24 -0
  399. package/dist/gates/unit-state-notes.d.ts +40 -0
  400. package/dist/gates/unit-state-notes.d.ts.map +1 -0
  401. package/dist/gates/unit-state-notes.js +71 -0
  402. package/dist/gates/verdict-line.d.ts +18 -0
  403. package/dist/gates/verdict-line.d.ts.map +1 -0
  404. package/dist/gates/verdict-line.js +40 -0
  405. package/dist/graph/graph-reuse-lookup.d.ts +10 -0
  406. package/dist/graph/graph-reuse-lookup.d.ts.map +1 -0
  407. package/dist/graph/graph-reuse-lookup.js +41 -0
  408. package/dist/graph/index-behind-hint.d.ts +11 -0
  409. package/dist/graph/index-behind-hint.d.ts.map +1 -0
  410. package/dist/graph/index-behind-hint.js +27 -0
  411. package/dist/knowledge/knowledge-stale-gate-flags.d.ts +3 -0
  412. package/dist/knowledge/knowledge-stale-gate-flags.d.ts.map +1 -0
  413. package/dist/knowledge/knowledge-stale-gate-flags.js +1 -0
  414. package/dist/knowledge/knowledge-stale-gate-input.d.ts +3 -0
  415. package/dist/knowledge/knowledge-stale-gate-input.d.ts.map +1 -0
  416. package/dist/knowledge/knowledge-stale-gate-input.js +1 -0
  417. package/dist/knowledge/knowledge-stale-gate-result.d.ts +3 -0
  418. package/dist/knowledge/knowledge-stale-gate-result.d.ts.map +1 -0
  419. package/dist/knowledge/knowledge-stale-gate-result.js +1 -0
  420. package/dist/knowledge/knowledge-stale-gate.d.ts +10 -0
  421. package/dist/knowledge/knowledge-stale-gate.d.ts.map +1 -0
  422. package/dist/knowledge/knowledge-stale-gate.js +9 -0
  423. package/dist/main.d.ts.map +1 -1
  424. package/dist/main.js +200 -83
  425. package/dist/output/failure-hints.d.ts.map +1 -1
  426. package/dist/output/failure-hints.js +11 -9
  427. package/dist/output/rejected-entries-note.d.ts +57 -0
  428. package/dist/output/rejected-entries-note.d.ts.map +1 -0
  429. package/dist/output/rejected-entries-note.js +103 -0
  430. package/dist/output/stdout-is-pipe.d.ts +13 -0
  431. package/dist/output/stdout-is-pipe.d.ts.map +1 -0
  432. package/dist/output/stdout-is-pipe.js +21 -0
  433. package/dist/packs/stale-build-warning.d.ts +11 -0
  434. package/dist/packs/stale-build-warning.d.ts.map +1 -0
  435. package/dist/packs/stale-build-warning.js +23 -0
  436. package/dist/quality/run-quality.d.ts +123 -0
  437. package/dist/quality/run-quality.d.ts.map +1 -0
  438. package/dist/quality/run-quality.js +442 -0
  439. package/dist/schemas/json-schemas.d.ts +184 -3
  440. package/dist/schemas/json-schemas.d.ts.map +1 -1
  441. package/dist/schemas/json-schemas.js +113 -2
  442. package/dist/shrk.d.ts +3 -0
  443. package/dist/shrk.d.ts.map +1 -0
  444. package/dist/shrk.js +30 -0
  445. package/dist/surface/audience-applicability.d.ts +26 -0
  446. package/dist/surface/audience-applicability.d.ts.map +1 -0
  447. package/dist/surface/audience-applicability.js +60 -0
  448. package/dist/surface/catalog-command-safety.d.ts +18 -0
  449. package/dist/surface/catalog-command-safety.d.ts.map +1 -0
  450. package/dist/surface/catalog-command-safety.js +62 -0
  451. package/dist/surface/cli-command-resolver.d.ts +21 -0
  452. package/dist/surface/cli-command-resolver.d.ts.map +1 -0
  453. package/dist/surface/cli-command-resolver.js +87 -0
  454. package/dist/surface/command-dispatch-kind.d.ts +20 -0
  455. package/dist/surface/command-dispatch-kind.d.ts.map +1 -0
  456. package/dist/surface/command-dispatch-kind.js +20 -0
  457. package/dist/surface/command-index-entry.d.ts +40 -0
  458. package/dist/surface/command-index-entry.d.ts.map +1 -0
  459. package/dist/surface/command-index-entry.js +1 -0
  460. package/dist/surface/command-index.d.ts +77 -0
  461. package/dist/surface/command-index.d.ts.map +1 -0
  462. package/dist/surface/command-index.js +323 -0
  463. package/dist/surface/i-command-index.d.ts +22 -0
  464. package/dist/surface/i-command-index.d.ts.map +1 -0
  465. package/dist/surface/i-command-index.js +1 -0
  466. package/dist/surface/i-command-string-context.d.ts +20 -0
  467. package/dist/surface/i-command-string-context.d.ts.map +1 -0
  468. package/dist/surface/i-command-string-context.js +1 -0
  469. package/dist/surface/i-surface-denial.d.ts +13 -0
  470. package/dist/surface/i-surface-denial.d.ts.map +1 -0
  471. package/dist/surface/i-surface-denial.js +1 -0
  472. package/dist/surface/load-surface-context.d.ts +17 -1
  473. package/dist/surface/load-surface-context.d.ts.map +1 -1
  474. package/dist/surface/load-surface-context.js +48 -10
  475. package/dist/surface/not-enabled-error.d.ts +38 -4
  476. package/dist/surface/not-enabled-error.d.ts.map +1 -1
  477. package/dist/surface/not-enabled-error.js +96 -6
  478. package/dist/surface/profiles.d.ts +7 -0
  479. package/dist/surface/profiles.d.ts.map +1 -1
  480. package/dist/surface/resolve-command-string.d.ts +10 -0
  481. package/dist/surface/resolve-command-string.d.ts.map +1 -0
  482. package/dist/surface/resolve-command-string.js +572 -0
  483. package/dist/surface/surface-config-writer.d.ts +7 -2
  484. package/dist/surface/surface-config-writer.d.ts.map +1 -1
  485. package/dist/surface/surface-config-writer.js +25 -6
  486. package/dist/surface/surface-layer.d.ts +11 -0
  487. package/dist/surface/surface-layer.d.ts.map +1 -0
  488. package/dist/surface/surface-layer.js +11 -0
  489. package/dist/surface/surface-refusal-reason.d.ts +16 -0
  490. package/dist/surface/surface-refusal-reason.d.ts.map +1 -0
  491. package/dist/surface/surface-refusal-reason.js +16 -0
  492. package/dist/surface/surface-selector.d.ts +26 -0
  493. package/dist/surface/surface-selector.d.ts.map +1 -0
  494. package/dist/surface/surface-selector.js +42 -0
  495. package/dist/surface/surface-summary.d.ts +61 -18
  496. package/dist/surface/surface-summary.d.ts.map +1 -1
  497. package/dist/surface/surface-summary.js +147 -60
  498. package/dist/surface/tier.d.ts +85 -22
  499. package/dist/surface/tier.d.ts.map +1 -1
  500. package/dist/surface/tier.js +132 -30
  501. package/dist/usage/usage-log.d.ts +6 -1
  502. package/dist/usage/usage-log.d.ts.map +1 -1
  503. package/dist/usage/usage-log.js +7 -2
  504. package/dist/validation/run-validation-loop.d.ts +9 -0
  505. package/dist/validation/run-validation-loop.d.ts.map +1 -1
  506. package/dist/validation/run-validation-loop.js +14 -11
  507. package/dist/validation/typecheck-emitted.d.ts +8 -9
  508. package/dist/validation/typecheck-emitted.d.ts.map +1 -1
  509. package/dist/validation/typecheck-emitted.js +17 -97
  510. package/package.json +34 -34
@@ -0,0 +1,10 @@
1
+ /**
2
+ * THE printed segment for the rules accepted as intended-empty (round 13, K6):
3
+ * `, M accepted as intended-empty`, appended to a verb's `N of T` evaluated
4
+ * count — the words `check boundaries` prints in its rule list. Such a rule
5
+ * examined 0 files by design, so it is never inside N; it is named apart.
6
+ * Empty when there is none, so a run without a planned rule prints exactly
7
+ * what it printed before.
8
+ */
9
+ export declare function acceptedEmptyNote(count: number | undefined): string;
10
+ //# sourceMappingURL=accepted-empty-note.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accepted-empty-note.d.ts","sourceRoot":"","sources":["../../src/gates/accepted-empty-note.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEnE"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * THE printed segment for the rules accepted as intended-empty (round 13, K6):
3
+ * `, M accepted as intended-empty`, appended to a verb's `N of T` evaluated
4
+ * count — the words `check boundaries` prints in its rule list. Such a rule
5
+ * examined 0 files by design, so it is never inside N; it is named apart.
6
+ * Empty when there is none, so a run without a planned rule prints exactly
7
+ * what it printed before.
8
+ */
9
+ export function acceptedEmptyNote(count) {
10
+ return count !== undefined && count > 0 ? `, ${count} accepted as intended-empty` : '';
11
+ }
@@ -0,0 +1,25 @@
1
+ import type { IVerdictCoverage } from '@shrkcrft/core';
2
+ import { type ParsedArgs } from '../command-registry.js';
3
+ /** The shared flag name — one spelling across every verdict verb. */
4
+ export declare const ALLOW_EMPTY_FLAG = "allow-empty";
5
+ /**
6
+ * The `--allow-empty` valve, defined once for every verdict verb.
7
+ *
8
+ * "Nothing to examine" is not a pass — a verb whose request covered zero units
9
+ * (no rules declared, nothing in the changeset, nothing deleted) exits `2`. A
10
+ * hook that runs on every commit legitimately hits that state, so it may accept
11
+ * it EXPLICITLY. Spread the result into the verb's RUN coverage:
12
+ *
13
+ * ```ts
14
+ * buildGateEnvelope(verb, proposed, rules, { unit: 'rules', expected, examined, ...allowEmptyValve(args, expected) })
15
+ * ```
16
+ *
17
+ * It sets `acceptedBy: '--allow-empty'` ONLY when the flag was passed AND the
18
+ * request covered nothing (`expected === 0`). It never accepts a partial scope —
19
+ * rules that exist but checked nothing are a stale selector, not an empty
20
+ * request — and the acceptance is printed by `verdictLine`, never silent.
21
+ * Declare the flag in the verb's `booleanFlags` so it never swallows a
22
+ * following positional.
23
+ */
24
+ export declare function allowEmptyValve(args: ParsedArgs, expected: number): Pick<IVerdictCoverage, 'acceptedBy'>;
25
+ //# sourceMappingURL=allow-empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-empty.d.ts","sourceRoot":"","sources":["../../src/gates/allow-empty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEnE,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAItC"}
@@ -0,0 +1,27 @@
1
+ import { flagBool } from "../command-registry.js";
2
+ /** The shared flag name — one spelling across every verdict verb. */
3
+ export const ALLOW_EMPTY_FLAG = 'allow-empty';
4
+ /**
5
+ * The `--allow-empty` valve, defined once for every verdict verb.
6
+ *
7
+ * "Nothing to examine" is not a pass — a verb whose request covered zero units
8
+ * (no rules declared, nothing in the changeset, nothing deleted) exits `2`. A
9
+ * hook that runs on every commit legitimately hits that state, so it may accept
10
+ * it EXPLICITLY. Spread the result into the verb's RUN coverage:
11
+ *
12
+ * ```ts
13
+ * buildGateEnvelope(verb, proposed, rules, { unit: 'rules', expected, examined, ...allowEmptyValve(args, expected) })
14
+ * ```
15
+ *
16
+ * It sets `acceptedBy: '--allow-empty'` ONLY when the flag was passed AND the
17
+ * request covered nothing (`expected === 0`). It never accepts a partial scope —
18
+ * rules that exist but checked nothing are a stale selector, not an empty
19
+ * request — and the acceptance is printed by `verdictLine`, never silent.
20
+ * Declare the flag in the verb's `booleanFlags` so it never swallows a
21
+ * following positional.
22
+ */
23
+ export function allowEmptyValve(args, expected) {
24
+ return flagBool(args, ALLOW_EMPTY_FLAG) && expected === 0
25
+ ? { acceptedBy: `--${ALLOW_EMPTY_FLAG}` }
26
+ : {};
27
+ }
@@ -0,0 +1,16 @@
1
+ import { type IUnitLiveness } from '@shrkcrft/core';
2
+ /**
3
+ * THE selector units that fail an asset doctor's run (round 13 review) — the
4
+ * predicate `assetDoctorProposedExit` proposes its `1` from
5
+ * (`selectorUnitFails`; `--strict` is not the unit promoter on these verbs):
6
+ * an unmarked dead unit under `--fail-on-dead-units`, or a LOCAL marker whose
7
+ * target appeared. A pack marker never fails. `registrations doctor`,
8
+ * `scaffolds doctor`, `search tuning doctor` and `self-config doctor|report`
9
+ * print them (`assetDoctorFailureLine`) and carry them as `failingUnits`, so an
10
+ * exit 1 is never silent about why.
11
+ */
12
+ export declare function assetDoctorFailingUnits(units: readonly IUnitLiveness[], flags: {
13
+ readonly failOnDeadUnits: boolean;
14
+ readonly strict: boolean;
15
+ }): IUnitLiveness[];
16
+ //# sourceMappingURL=asset-doctor-failing-units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-doctor-failing-units.d.ts","sourceRoot":"","sources":["../../src/gates/asset-doctor-failing-units.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACrE,aAAa,EAAE,CAIjB"}
@@ -0,0 +1,14 @@
1
+ import { selectorUnitFails } from '@shrkcrft/core';
2
+ /**
3
+ * THE selector units that fail an asset doctor's run (round 13 review) — the
4
+ * predicate `assetDoctorProposedExit` proposes its `1` from
5
+ * (`selectorUnitFails`; `--strict` is not the unit promoter on these verbs):
6
+ * an unmarked dead unit under `--fail-on-dead-units`, or a LOCAL marker whose
7
+ * target appeared. A pack marker never fails. `registrations doctor`,
8
+ * `scaffolds doctor`, `search tuning doctor` and `self-config doctor|report`
9
+ * print them (`assetDoctorFailureLine`) and carry them as `failingUnits`, so an
10
+ * exit 1 is never silent about why.
11
+ */
12
+ export function assetDoctorFailingUnits(units, flags) {
13
+ return units.filter((u) => selectorUnitFails(u, { failOnDeadUnits: flags.failOnDeadUnits, strict: flags.strict, strictPromotesWarnings: false }));
14
+ }
@@ -0,0 +1,16 @@
1
+ import { type IUnitLiveness } from '@shrkcrft/core';
2
+ /**
3
+ * The verdict line an asset doctor prints when `--fail-on-dead-units` is what
4
+ * failed it (round 13 review). `verdictLine` prints nothing for a `1` with no
5
+ * shortfall ("the verb already printed them") — but these doctors printed only
6
+ * INFO issues, so the run exited 1 with no line saying why (`self-config
7
+ * doctor`'s header even read `verdict OK`):
8
+ *
9
+ * Verdict: registration-hint doctor needs attention — 1 went-live expectEmpty unit(s) (--fail-on-dead-units)
10
+ * • <formatUnitLiveness(u)>
11
+ *
12
+ * `failing` is `assetDoctorFailingUnits(...)`. Empty when no unit fails (the
13
+ * doctor's errors and warnings speak for themselves).
14
+ */
15
+ export declare function assetDoctorFailureLine(label: string, failing: readonly IUnitLiveness[]): string;
16
+ //# sourceMappingURL=asset-doctor-failure-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-doctor-failure-line.d.ts","sourceRoot":"","sources":["../../src/gates/asset-doctor-failure-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3F;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAY/F"}
@@ -0,0 +1,28 @@
1
+ import { formatUnitLiveness, UnitLivenessState } from '@shrkcrft/core';
2
+ /**
3
+ * The verdict line an asset doctor prints when `--fail-on-dead-units` is what
4
+ * failed it (round 13 review). `verdictLine` prints nothing for a `1` with no
5
+ * shortfall ("the verb already printed them") — but these doctors printed only
6
+ * INFO issues, so the run exited 1 with no line saying why (`self-config
7
+ * doctor`'s header even read `verdict OK`):
8
+ *
9
+ * Verdict: registration-hint doctor needs attention — 1 went-live expectEmpty unit(s) (--fail-on-dead-units)
10
+ * • <formatUnitLiveness(u)>
11
+ *
12
+ * `failing` is `assetDoctorFailingUnits(...)`. Empty when no unit fails (the
13
+ * doctor's errors and warnings speak for themselves).
14
+ */
15
+ export function assetDoctorFailureLine(label, failing) {
16
+ if (failing.length === 0)
17
+ return '';
18
+ const dead = failing.filter((u) => u.state === UnitLivenessState.Dead).length;
19
+ const live = failing.length - dead;
20
+ const parts = [
21
+ ...(dead > 0 ? [`${dead} dead unit(s)`] : []),
22
+ ...(live > 0 ? [`${live} went-live expectEmpty unit(s)`] : []),
23
+ ];
24
+ return [
25
+ `Verdict: ${label} needs attention — ${parts.join(', ')} (--fail-on-dead-units)`,
26
+ ...failing.map((u) => ` • ${formatUnitLiveness(u)}`),
27
+ ].join('\n');
28
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * THE empty-rule advice a plane verb prints under the rules that matched
3
+ * nothing (round 13) — one sentence per `fails` value present, each from core's
4
+ * `formatEmptyRuleAdvice` with the rule's REAL `fails`: a failing rule is never
5
+ * told to set `failOnEmpty: true`, a soft one never told to set it `false`.
6
+ *
7
+ * Every plane verb's skip listing calls it — `check wiring`, `policy-lint`
8
+ * (their 0-evaluated early returns included), `gates coverage`, `baseline
9
+ * check`, `generated check`, `docs references check` — so no branch drops the
10
+ * advice, and no verb words it twice.
11
+ */
12
+ export declare function emptyRuleAdviceLines(rules: readonly {
13
+ readonly fails: boolean;
14
+ }[]): string[];
15
+ //# sourceMappingURL=empty-rule-advice-lines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-rule-advice-lines.d.ts","sourceRoot":"","sources":["../../src/gates/empty-rule-advice-lines.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAK5F"}
@@ -0,0 +1,20 @@
1
+ import { formatEmptyRuleAdvice } from '@shrkcrft/core';
2
+ /**
3
+ * THE empty-rule advice a plane verb prints under the rules that matched
4
+ * nothing (round 13) — one sentence per `fails` value present, each from core's
5
+ * `formatEmptyRuleAdvice` with the rule's REAL `fails`: a failing rule is never
6
+ * told to set `failOnEmpty: true`, a soft one never told to set it `false`.
7
+ *
8
+ * Every plane verb's skip listing calls it — `check wiring`, `policy-lint`
9
+ * (their 0-evaluated early returns included), `gates coverage`, `baseline
10
+ * check`, `generated check`, `docs references check` — so no branch drops the
11
+ * advice, and no verb words it twice.
12
+ */
13
+ export function emptyRuleAdviceLines(rules) {
14
+ const out = [];
15
+ if (rules.some((r) => r.fails))
16
+ out.push(formatEmptyRuleAdvice({ fails: true }));
17
+ if (rules.some((r) => !r.fails))
18
+ out.push(formatEmptyRuleAdvice({ fails: false }));
19
+ return out;
20
+ }
@@ -11,15 +11,24 @@
11
11
  * rides along under a `gate` key, so `jq .gate` is the uniform read and nothing
12
12
  * that worked before stops working.
13
13
  */
14
+ import { type IUnitStateLists, type IVerdictCoverage } from '@shrkcrft/core';
15
+ import type { ISettledVerdict } from './settled-verdict.js';
14
16
  export declare const GATE_ENVELOPE_SCHEMA: "sharkcraft.gate/v1";
15
- /** Which data-defined plane produced a rule result. */
16
- export type GateRuleType = 'wiring' | 'policy' | 'registry' | 'registration' | 'baseline' | 'generated' | 'doc-reference';
17
+ /** Which data-defined plane (or verdict surface) produced a rule result. */
18
+ export type GateRuleType = 'wiring' | 'policy' | 'registry' | 'registration' | 'baseline' | 'generated' | 'doc-reference' | 'boundary' | 'knowledge' | 'lifecycle' | 'orphans' | 'finish' | 'quality' | 'diff' | 'reuse'
19
+ /** `conventions check` (round 13): one row per loaded convention, plus the convention-file load record. */
20
+ | 'convention';
17
21
  /**
18
22
  * Per-rule outcome, uniform across planes. `skipped` is deliberately a
19
23
  * first-class status, not folded into `passed` — a rule that matched nothing
20
24
  * enforced nothing.
25
+ *
26
+ * `partial` is derived by {@link buildGateEnvelope} and ONLY there: a rule its
27
+ * producer reported `passed` whose coverage has a shortfall. It found nothing
28
+ * wrong in what it examined, and it did not examine everything it was asked
29
+ * to — so it is not a pass, and the envelope's exit is never `0` over it.
21
30
  */
22
- export type GateRuleStatus = 'passed' | 'failed' | 'skipped' | 'error';
31
+ export type GateRuleStatus = 'passed' | 'partial' | 'failed' | 'skipped' | 'error';
23
32
  /** One violation, normalized. `id` is the offending token / entry / file. */
24
33
  export interface IGateViolation {
25
34
  readonly id: string;
@@ -45,20 +54,88 @@ export interface IGateRuleResult {
45
54
  readonly skipReason?: string;
46
55
  /** Set when the rule is misconfigured (`status: 'error'`). */
47
56
  readonly error?: string;
57
+ /**
58
+ * What this rule examined against what it was asked to. REQUIRED: a producer
59
+ * cannot omit it (tsc fails), so no plane can report a clean rule over an
60
+ * unexamined scope by forgetting a check — the envelope builder compares the
61
+ * two for every rule, whoever produced it.
62
+ */
63
+ readonly coverage: IVerdictCoverage;
64
+ /**
65
+ * The rule's `expectEmpty` ACCEPTANCE — settle record B
66
+ * (`settleUnitLiveness(...).acceptance`, `@shrkcrft/core`): the units the rule
67
+ * asserts are intended-empty. {@link buildGateEnvelope} folds it into the ONE
68
+ * `settleVerdict` call beside {@link coverage} (once, when the two are the
69
+ * same record — `ruleVerdictRecords`), so it reaches `accepted` at exit 0 and
70
+ * is never dropped. It never changes the rule's status: `partial` is derived
71
+ * from {@link coverage} alone. Optional and additive (round 13).
72
+ */
73
+ readonly unitAcceptance?: IVerdictCoverage;
74
+ /**
75
+ * The rule's non-live selector units, each as its `formatUnitLiveness` line
76
+ * (built by `unitStateLists`, `@shrkcrft/core`). Optional and additive:
77
+ * present only on a plane that settles units; passed through unchanged.
78
+ */
79
+ readonly units?: IUnitStateLists;
80
+ /** The rule's coverage shortfall. Derived by {@link buildGateEnvelope}; a producer's value is ignored. */
81
+ readonly shortfall?: string;
48
82
  }
49
83
  /** The envelope emitted under the `gate` key of every gate verb's `--json`. */
50
84
  export interface IGateEnvelope {
51
85
  readonly schema: typeof GATE_ENVELOPE_SCHEMA;
52
86
  /** The verb that produced this, space-joined (e.g. `check wiring`). */
53
87
  readonly verb: string;
54
- /** The exit code this run returns — the same number the process exits with. */
88
+ /**
89
+ * The exit code this run returns — the same number the process exits with.
90
+ * Settled: never `0` while {@link shortfalls} is non-empty.
91
+ */
55
92
  readonly exit: number;
56
- readonly rules: readonly IGateRuleResult[];
57
- /** Rules that ran a real comparison (status !== 'skipped'). */
93
+ /** `pass` / `fail` / `not-verified` / `usage-error` — {@link exit} in words. */
94
+ readonly verdict: ISettledVerdict['verdict'];
95
+ /**
96
+ * Rules that ran a real comparison (status neither `skipped` nor `error`;
97
+ * `partial` counts). A rule ACCEPTED as intended-empty (round 13, K6 — its
98
+ * coverage IS its `expectEmpty` acceptance: every inclusion unit of its
99
+ * primary list marked, 0 files examined; `ruleAcceptedAsIntendedEmpty`) is
100
+ * never counted here: it is counted in {@link acceptedEmpty}.
101
+ */
58
102
  readonly evaluated: number;
103
+ /**
104
+ * Rules accepted as intended-empty (round 13, K6) — they examined 0 files
105
+ * by design, so they are counted apart from {@link evaluated} and printed
106
+ * `N evaluated, M accepted as intended-empty`. OPTIONAL: present only when
107
+ * non-zero, so the envelope gains no always-present key.
108
+ */
109
+ readonly acceptedEmpty?: number;
59
110
  readonly skipped: number;
60
111
  readonly failed: number;
112
+ /** Rules that passed over a partially-examined scope. */
113
+ readonly partial: number;
114
+ /** Run-level coverage — e.g. rules examined of rules selected. */
115
+ readonly coverage: IVerdictCoverage;
116
+ /** Every scope gap that vetoes a clean verdict: the run's, then each rule's (prefixed `<id>: `). */
117
+ readonly shortfalls: readonly string[];
118
+ /**
119
+ * Gaps an explicit acceptance waived (`--allow-empty`, `registeredExtras`, a
120
+ * rule's `expectEmpty` units via `rules[].unitAcceptance`) — printed, never
121
+ * silent; non-empty only at exit 0.
122
+ */
123
+ readonly accepted: readonly string[];
124
+ readonly rules: readonly IGateRuleResult[];
61
125
  }
62
- /** Build the envelope from already-normalized per-rule results. */
63
- export declare function buildGateEnvelope(verb: string, exit: number, rules: readonly IGateRuleResult[]): IGateEnvelope;
126
+ /**
127
+ * Build the envelope from already-normalized per-rule results and SETTLE the
128
+ * exit while doing it.
129
+ *
130
+ * The caller proposes an exit from what it found; the builder compares every
131
+ * rule's coverage (and the run's) to what was requested, marks a `passed` rule
132
+ * with a shortfall `partial`, and runs the proposal through `settleVerdict`. So
133
+ * `gate.exit` can never be `0` over an unexamined scope, whichever verb built
134
+ * it. `runCoverage` is required for the same reason `IGateRuleResult.coverage`
135
+ * is: an envelope that could omit it would be the hole this closes.
136
+ *
137
+ * Settle first, render second: build this unconditionally (text AND JSON),
138
+ * return `env.exit`, and print the final line through `verdictLine(env, …)`.
139
+ */
140
+ export declare function buildGateEnvelope(verb: string, proposedExit: number, rules: readonly IGateRuleResult[], runCoverage: IVerdictCoverage): IGateEnvelope;
64
141
  //# sourceMappingURL=gate-envelope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gate-envelope.d.ts","sourceRoot":"","sources":["../../src/gates/gate-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,EAAG,oBAA6B,CAAC;AAElE,uDAAuD;AACvD,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,cAAc,GACd,UAAU,GACV,WAAW,GACX,eAAe,CAAC;AAEpB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvE,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,aAAa,CAUf"}
1
+ {"version":3,"file":"gate-envelope.d.ts","sourceRoot":"","sources":["../../src/gates/gate-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,eAAO,MAAM,oBAAoB,EAAG,oBAA6B,CAAC;AAElE,4EAA4E;AAC5E,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,cAAc,GACd,UAAU,GACV,WAAW,GACX,eAAe,GACf,UAAU,GACV,WAAW,GACX,WAAW,GACX,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO;AACT,2GAA2G;GACzG,YAAY,CAAC;AAEjB;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnF,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,0GAA0G;IAC1G,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,oGAAoG;IACpG,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;CAC5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,WAAW,EAAE,gBAAgB,GAC5B,aAAa,CA8Cf"}
@@ -11,16 +11,65 @@
11
11
  * rides along under a `gate` key, so `jq .gate` is the uniform read and nothing
12
12
  * that worked before stops working.
13
13
  */
14
+ import { coverageShortfall, ruleAcceptedAsIntendedEmpty, ruleVerdictRecords, settleRuleStatus, } from '@shrkcrft/core';
15
+ import { settleVerdict } from "./settle-verdict.js";
14
16
  export const GATE_ENVELOPE_SCHEMA = 'sharkcraft.gate/v1';
15
- /** Build the envelope from already-normalized per-rule results. */
16
- export function buildGateEnvelope(verb, exit, rules) {
17
+ /**
18
+ * Build the envelope from already-normalized per-rule results — and SETTLE the
19
+ * exit while doing it.
20
+ *
21
+ * The caller proposes an exit from what it found; the builder compares every
22
+ * rule's coverage (and the run's) to what was requested, marks a `passed` rule
23
+ * with a shortfall `partial`, and runs the proposal through `settleVerdict`. So
24
+ * `gate.exit` can never be `0` over an unexamined scope, whichever verb built
25
+ * it. `runCoverage` is required for the same reason `IGateRuleResult.coverage`
26
+ * is: an envelope that could omit it would be the hole this closes.
27
+ *
28
+ * Settle first, render second: build this unconditionally (text AND JSON),
29
+ * return `env.exit`, and print the final line through `verdictLine(env, …)`.
30
+ */
31
+ export function buildGateEnvelope(verb, proposedExit, rules, runCoverage) {
32
+ const settledRules = rules.map((r) => {
33
+ const shortfall = coverageShortfall(r.coverage);
34
+ const { shortfall: _producerShortfall, ...rest } = r;
35
+ return {
36
+ ...rest,
37
+ // The ONE `partial` derivation (core) — the wiring explain engine calls
38
+ // the same function, so `gates explain` cannot disagree with this.
39
+ status: settleRuleStatus(r.status, r.coverage),
40
+ ...(shortfall !== undefined ? { shortfall } : {}),
41
+ };
42
+ });
43
+ // Each rule contributes its primary coverage AND its expectEmpty acceptance
44
+ // (settle record B), folded once by the ONE rule shared with the boundary
45
+ // orchestrator (`ruleVerdictRecords`): an acceptance reaches `accepted` — at
46
+ // exit 0 only, as settleVerdict decides — and is never dropped. `partial`
47
+ // above reads the primary record alone.
48
+ const settled = settleVerdict(proposedExit, [
49
+ runCoverage,
50
+ ...rules.flatMap((r) => ruleVerdictRecords(r.coverage, r.unitAcceptance).map((c) => ({ ...c, subject: c.subject ?? r.id }))),
51
+ ]);
52
+ // THE K6 partition (round 13): of the rules that ran (neither skipped nor
53
+ // errored), one whose coverage IS its `expectEmpty` acceptance examined 0
54
+ // files by design — ACCEPTED, never evaluated. One predicate (core's
55
+ // `ruleAcceptedAsIntendedEmpty`) over the record the engines' own settle put
56
+ // on the rule, so no verb re-derives it.
57
+ const ran = settledRules.filter((r) => r.status !== 'skipped' && r.status !== 'error');
58
+ const acceptedEmpty = ran.filter((r) => ruleAcceptedAsIntendedEmpty(r)).length;
17
59
  return {
18
60
  schema: GATE_ENVELOPE_SCHEMA,
19
61
  verb,
20
- exit,
21
- rules,
22
- evaluated: rules.filter((r) => r.status !== 'skipped').length,
23
- skipped: rules.filter((r) => r.status === 'skipped').length,
24
- failed: rules.filter((r) => r.status === 'failed' || r.status === 'error').length,
62
+ exit: settled.exit,
63
+ verdict: settled.verdict,
64
+ evaluated: ran.length - acceptedEmpty,
65
+ // Optional: present only when non-zero — never an always-present key.
66
+ ...(acceptedEmpty > 0 ? { acceptedEmpty } : {}),
67
+ skipped: settledRules.filter((r) => r.status === 'skipped').length,
68
+ failed: settledRules.filter((r) => r.status === 'failed' || r.status === 'error').length,
69
+ partial: settledRules.filter((r) => r.status === 'partial').length,
70
+ coverage: runCoverage,
71
+ shortfalls: settled.shortfalls,
72
+ accepted: settled.accepted,
73
+ rules: settledRules,
25
74
  };
26
75
  }
@@ -1,7 +1,11 @@
1
- import { type IWiringSource } from '@shrkcrft/core';
1
+ import { type IRegistrationIdiom, type IRegistryDeclaration, type IWiringSource } from '@shrkcrft/core';
2
2
  import type { IGateRuleView } from './gate-rule-view.js';
3
3
  /**
4
- * The FOOTPRINT of a gate rule: every project-relative glob it reads.
4
+ * The FOOTPRINT of a gate rule, as the glob LISTS it reads — one per source's
5
+ * `files`, per `import-edges` `to.files`, per watched input, per generated
6
+ * writer. Kept as separate lists because a `!` entry subtracts from ITS OWN
7
+ * list only: flattened, one source's `!x` would hide a file another source
8
+ * reads (and a changeset touching x would skip a rule it does touch).
5
9
  *
6
10
  * `--changed-only` is only trustworthy if the footprint is complete. A rule
7
11
  * scoped by its declared side alone would go unevaluated when the change edits
@@ -9,6 +13,12 @@ import type { IGateRuleView } from './gate-rule-view.js';
9
13
  * rule declared over file A is the precise bug this plane exists to catch, so
10
14
  * every side, every hop, and every watched input counts.
11
15
  */
16
+ export declare function gateRuleGlobLists(view: IGateRuleView): readonly (readonly string[])[];
17
+ /**
18
+ * Every glob a gate rule reads, flattened — for DISPLAY only. A scope question
19
+ * ("does this change touch the rule?") goes through {@link gateRuleGlobLists}
20
+ * per list ({@link ruleTouchedBy}), never through this union.
21
+ */
12
22
  export declare function gateRuleGlobs(view: IGateRuleView): readonly string[];
13
23
  /**
14
24
  * EVERY extraction source a rule reads — both wiring sides, every union sink,
@@ -21,8 +31,32 @@ export declare function gateRuleGlobs(view: IGateRuleView): readonly string[];
21
31
  * the guarantee the shared extractor exists to provide.
22
32
  */
23
33
  export declare function gateRuleSources(view: IGateRuleView): readonly IWiringSource[];
34
+ /** A registry's sources, named `source` / `consumer` — THE labels its markers and dead units are qualified by. */
35
+ export declare function registryLabeledSources(decl: IRegistryDeclaration): readonly {
36
+ readonly label: string;
37
+ readonly source: IWiringSource;
38
+ }[];
39
+ /** A registration idiom's roles, named `declared` / `provided` / `consumed` — the labels `measureRegistrationRoles` settles them under. */
40
+ export declare function registrationLabeledSources(idiom: IRegistrationIdiom): readonly {
41
+ readonly label: string;
42
+ readonly source: IWiringSource;
43
+ }[];
44
+ /**
45
+ * {@link gateRuleSources}, each named by the side it plays (`declared`,
46
+ * `registered[1]`, `chain[0]`, `consumer`, …) — the ONE enumeration of a
47
+ * rule's sources, so a report naming a dead glob by its side cannot list a
48
+ * different set of sides than the extractor-consumer report does.
49
+ */
50
+ export declare function gateRuleLabeledSources(view: IGateRuleView): readonly {
51
+ readonly label: string;
52
+ readonly source: IWiringSource;
53
+ }[];
24
54
  /**
25
- * Whether a rule's footprint intersects the changed set.
55
+ * Whether a rule's footprint intersects the changed set: some changed file is
56
+ * SELECTED by one of the rule's glob lists (`globListSelects` — an inclusion
57
+ * glob matches, none of that list's negations does). Exact per list, so a
58
+ * changeset touching only files the rule excludes does not select it, and one
59
+ * source's `!` can never hide another source's file.
26
60
  *
27
61
  * A rule with NO resolvable footprint (a command baseline with no
28
62
  * `watchFiles`) cannot be proven out of scope, so it stays IN scope. Guessing
@@ -1 +1 @@
1
- {"version":3,"file":"gate-rule-globs.d.ts","sourceRoot":"","sources":["../../src/gates/gate-rule-globs.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAqBpE;AAcD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE,CA+B7E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAItF"}
1
+ {"version":3,"file":"gate-rule-globs.d.ts","sourceRoot":"","sources":["../../src/gates/gate-rule-globs.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CA0BrF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEpE;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE,CAE7E;AAED,kHAAkH;AAClH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,oBAAoB,GACzB,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,EAAE,CAOvE;AAED,2IAA2I;AAC3I,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,kBAAkB,GACxB,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,EAAE,CAMvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,GAClB,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,EAAE,CAmBvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAMtF"}