@hominis/fireforge 0.55.0 → 0.60.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 (1262) hide show
  1. package/CHANGELOG.md +233 -6
  2. package/README.md +51 -17
  3. package/dist/bin/fireforge.js +34 -129
  4. package/dist/build-info.json +4 -4
  5. package/dist/src/check/check.js +394 -0
  6. package/dist/src/check/gate.js +448 -0
  7. package/dist/src/check/index.js +10 -0
  8. package/dist/src/check/record.js +155 -0
  9. package/dist/src/cli/command.js +286 -0
  10. package/dist/src/cli/output.js +96 -0
  11. package/dist/src/cli/program.js +231 -0
  12. package/dist/src/cli/stdio.js +59 -0
  13. package/dist/src/cli/version.js +99 -0
  14. package/dist/src/commands/bootstrap.js +17 -102
  15. package/dist/src/commands/build.js +34 -456
  16. package/dist/src/commands/check.js +44 -157
  17. package/dist/src/commands/config.js +50 -226
  18. package/dist/src/commands/discard.js +38 -215
  19. package/dist/src/commands/doctor.js +29 -456
  20. package/dist/src/commands/download.js +35 -499
  21. package/dist/src/commands/export.js +42 -431
  22. package/dist/src/commands/furnace.js +220 -0
  23. package/dist/src/commands/gate.js +127 -0
  24. package/dist/src/commands/import.js +44 -445
  25. package/dist/src/commands/index.js +86 -0
  26. package/dist/src/commands/lint.js +44 -546
  27. package/dist/src/commands/merge-driver.js +56 -0
  28. package/dist/src/commands/migrate.js +75 -0
  29. package/dist/src/commands/override.js +43 -0
  30. package/dist/src/commands/package.js +48 -77
  31. package/dist/src/commands/patch.js +221 -0
  32. package/dist/src/commands/re-export.js +55 -359
  33. package/dist/src/commands/rebase.js +69 -0
  34. package/dist/src/commands/register.js +62 -103
  35. package/dist/src/commands/reset.js +28 -91
  36. package/dist/src/commands/resolve.js +20 -167
  37. package/dist/src/commands/restore.js +19 -0
  38. package/dist/src/commands/run.js +60 -382
  39. package/dist/src/commands/setup.js +78 -90
  40. package/dist/src/commands/status.js +44 -413
  41. package/dist/src/commands/test.js +97 -423
  42. package/dist/src/commands/token.js +185 -228
  43. package/dist/src/commands/typecheck.js +59 -241
  44. package/dist/src/commands/verify.js +28 -334
  45. package/dist/src/commands/version.js +14 -0
  46. package/dist/src/commands/watch.js +20 -218
  47. package/dist/src/commands/wire.js +60 -349
  48. package/dist/src/commands/workspace.js +117 -0
  49. package/dist/src/config/edit.js +237 -0
  50. package/dist/src/config/index.js +15 -0
  51. package/dist/src/config/load.js +59 -0
  52. package/dist/src/config/previous.js +404 -0
  53. package/dist/src/config/schema/build.js +63 -0
  54. package/dist/src/config/schema/check.js +113 -0
  55. package/dist/src/config/schema/common.js +71 -0
  56. package/dist/src/config/schema/export-queue.js +36 -0
  57. package/dist/src/config/schema/firefox.js +69 -0
  58. package/dist/src/config/schema/gate.js +199 -0
  59. package/dist/src/config/schema/identity.js +55 -0
  60. package/dist/src/config/schema/index.js +45 -0
  61. package/dist/src/config/schema/lint.js +297 -0
  62. package/dist/src/config/schema/policy.js +111 -0
  63. package/dist/src/config/schema/source.js +90 -0
  64. package/dist/src/config/schema/test.js +17 -0
  65. package/dist/src/config/schema/toolchains.js +17 -0
  66. package/dist/src/config/schema/typecheck.js +29 -0
  67. package/dist/src/config/schema/wire.js +15 -0
  68. package/dist/src/diff/apply.js +129 -0
  69. package/dist/src/diff/index.js +16 -0
  70. package/dist/src/diff/model.js +267 -0
  71. package/dist/src/diff/query.js +65 -0
  72. package/dist/src/doctor/index.js +240 -0
  73. package/dist/src/engine/archive.js +396 -0
  74. package/dist/src/engine/audit.js +66 -0
  75. package/dist/src/engine/build.js +150 -0
  76. package/dist/src/engine/hostLocks.js +66 -0
  77. package/dist/src/engine/index.js +26 -0
  78. package/dist/src/engine/installManifests.js +147 -0
  79. package/dist/src/engine/mach.js +97 -0
  80. package/dist/src/engine/machHints.js +80 -0
  81. package/dist/src/engine/mozconfig.js +110 -0
  82. package/dist/src/engine/objdir.js +124 -0
  83. package/dist/src/engine/package.js +169 -0
  84. package/dist/src/engine/pin.js +12 -0
  85. package/dist/src/engine/pool.js +423 -0
  86. package/dist/src/engine/pristine.js +281 -0
  87. package/dist/src/engine/python.js +68 -0
  88. package/dist/src/engine/resourceGuard.js +582 -0
  89. package/dist/src/engine/run.js +259 -0
  90. package/dist/src/engine/smoke.js +204 -0
  91. package/dist/src/engine/staleness.js +229 -0
  92. package/dist/src/engine/watch.js +82 -0
  93. package/dist/src/engine/workspace.js +85 -0
  94. package/dist/src/furnace/config.js +360 -0
  95. package/dist/src/furnace/deploy.js +414 -0
  96. package/dist/src/furnace/diff.js +59 -0
  97. package/dist/src/furnace/edit.js +64 -0
  98. package/dist/src/furnace/fragments.js +53 -0
  99. package/dist/src/furnace/index.js +19 -0
  100. package/dist/src/furnace/operations.js +283 -0
  101. package/dist/src/furnace/registration.js +220 -0
  102. package/dist/src/furnace/scaffold.js +311 -0
  103. package/dist/src/furnace/typing.js +252 -0
  104. package/dist/src/furnace/validate.js +662 -0
  105. package/dist/src/git/apply.js +129 -0
  106. package/dist/src/git/diff.js +143 -0
  107. package/dist/src/git/index.js +33 -0
  108. package/dist/src/git/objects.js +201 -0
  109. package/dist/src/git/refs.js +85 -0
  110. package/dist/src/git/repo.js +222 -0
  111. package/dist/src/git/run.js +242 -0
  112. package/dist/src/git/status.js +156 -0
  113. package/dist/src/kernel/errors.js +123 -0
  114. package/dist/src/kernel/fs.js +515 -0
  115. package/dist/src/kernel/glob.js +63 -0
  116. package/dist/src/kernel/hash.js +28 -0
  117. package/dist/src/kernel/journal.js +524 -0
  118. package/dist/src/kernel/json-edit.js +198 -0
  119. package/dist/src/kernel/json.js +101 -0
  120. package/dist/src/kernel/lock.js +589 -0
  121. package/dist/src/kernel/log.js +154 -0
  122. package/dist/src/kernel/process/identity.js +313 -0
  123. package/dist/src/kernel/process/index.js +8 -0
  124. package/dist/src/kernel/process/listing.js +128 -0
  125. package/dist/src/kernel/process/spawn.js +430 -0
  126. package/dist/src/kernel/process/tree.js +301 -0
  127. package/dist/src/kernel/schema.js +308 -0
  128. package/dist/src/kernel/signals.js +171 -0
  129. package/dist/src/kernel/text.js +151 -0
  130. package/dist/src/kernel/time.js +83 -0
  131. package/dist/src/kernel/tty.js +84 -0
  132. package/dist/src/lint/cache.js +77 -0
  133. package/dist/src/lint/checkjs.js +400 -0
  134. package/dist/src/lint/index.js +3 -0
  135. package/dist/src/lint/input.js +100 -0
  136. package/dist/src/lint/report.js +107 -0
  137. package/dist/src/lint/rule.js +41 -0
  138. package/dist/src/lint/rules/css.js +308 -0
  139. package/dist/src/lint/rules/javascript.js +299 -0
  140. package/dist/src/lint/rules/jsdoc.js +249 -0
  141. package/dist/src/lint/rules/license.js +93 -0
  142. package/dist/src/lint/rules/policy.js +201 -0
  143. package/dist/src/lint/rules/registration.js +264 -0
  144. package/dist/src/lint/rules/size.js +299 -0
  145. package/dist/src/lint/run.js +126 -0
  146. package/dist/src/lint/shim.js +323 -0
  147. package/dist/src/lint/typescript.js +186 -0
  148. package/dist/src/lint/waivers.js +93 -0
  149. package/dist/src/mode/changes.js +264 -0
  150. package/dist/src/mode/diagnose.js +173 -0
  151. package/dist/src/mode/export.js +147 -0
  152. package/dist/src/mode/index.js +23 -0
  153. package/dist/src/mode/migrate.js +181 -0
  154. package/dist/src/mode/previousWaivers.js +206 -0
  155. package/dist/src/mode/pristine.js +61 -0
  156. package/dist/src/mode/rebase.js +197 -0
  157. package/dist/src/mode/report.js +157 -0
  158. package/dist/src/mode/setup.js +103 -0
  159. package/dist/src/mode/tracked.js +116 -0
  160. package/dist/src/mode/upgrade.js +281 -0
  161. package/dist/src/mode/watch.js +83 -0
  162. package/dist/src/mode/workspace.js +189 -0
  163. package/dist/src/mozbuild/index.js +6 -0
  164. package/dist/src/mozbuild/jar.js +366 -0
  165. package/dist/src/mozbuild/mozbuild.js +321 -0
  166. package/dist/src/mozbuild/paths.js +96 -0
  167. package/dist/src/mozbuild/references.js +39 -0
  168. package/dist/src/mozbuild/testManifest.js +343 -0
  169. package/dist/src/mozbuild/text.js +142 -0
  170. package/dist/src/project/changes.js +145 -0
  171. package/dist/src/project/checkout.js +66 -0
  172. package/dist/src/project/index.js +11 -0
  173. package/dist/src/project/license.js +119 -0
  174. package/dist/src/project/project.js +111 -0
  175. package/dist/src/project/state.js +85 -0
  176. package/dist/src/project/tracked.js +1 -0
  177. package/dist/src/queue/apply.js +270 -0
  178. package/dist/src/queue/attribute.js +159 -0
  179. package/dist/src/queue/baseline.js +409 -0
  180. package/dist/src/queue/capture.js +298 -0
  181. package/dist/src/queue/changes.js +234 -0
  182. package/dist/src/queue/index.js +50 -0
  183. package/dist/src/queue/manifest.js +341 -0
  184. package/dist/src/queue/operations.js +454 -0
  185. package/dist/src/queue/placement.js +220 -0
  186. package/dist/src/queue/queue.js +359 -0
  187. package/dist/src/queue/restore.js +103 -0
  188. package/dist/src/queue/session.js +685 -0
  189. package/dist/src/queue/status.js +137 -0
  190. package/dist/src/register/files.js +39 -0
  191. package/dist/src/register/index.js +8 -0
  192. package/dist/src/register/js.js +217 -0
  193. package/dist/src/register/register.js +359 -0
  194. package/dist/src/register/wire.js +146 -0
  195. package/dist/src/source/adopt.js +99 -0
  196. package/dist/src/source/changes.js +132 -0
  197. package/dist/src/source/edit.js +278 -0
  198. package/dist/src/source/export.js +70 -0
  199. package/dist/src/source/groups.js +131 -0
  200. package/dist/src/source/index.js +20 -0
  201. package/dist/src/source/materialize.js +382 -0
  202. package/dist/src/source/merge.js +255 -0
  203. package/dist/src/source/objects.js +102 -0
  204. package/dist/src/source/previous.js +166 -0
  205. package/dist/src/source/records.js +138 -0
  206. package/dist/src/source/refresh.js +264 -0
  207. package/dist/src/source/tree.js +337 -0
  208. package/dist/src/syntax/css.js +215 -0
  209. package/dist/src/syntax/fragments.js +63 -0
  210. package/dist/src/syntax/index.js +10 -0
  211. package/dist/src/syntax/js.js +270 -0
  212. package/dist/src/test/classify.js +826 -0
  213. package/dist/src/test/control.js +236 -0
  214. package/dist/src/test/host.js +266 -0
  215. package/dist/src/test/index.js +11 -0
  216. package/dist/src/test/plan.js +347 -0
  217. package/dist/src/test/rawLog.js +138 -0
  218. package/dist/src/test/run.js +404 -0
  219. package/dist/src/test/verdict.js +420 -0
  220. package/dist/src/test/xpcshell.js +143 -0
  221. package/dist/src/tokens/add.js +304 -0
  222. package/dist/src/tokens/coverage.js +65 -0
  223. package/dist/src/tokens/css.js +58 -0
  224. package/dist/src/tokens/index.js +12 -0
  225. package/dist/src/tokens/lint.js +96 -0
  226. package/dist/src/tokens/model.js +118 -0
  227. package/dist/src/tokens/settings.js +87 -0
  228. package/dist/src/tokens/siblings.js +104 -0
  229. package/dist/src/typecheck/explain.js +123 -0
  230. package/dist/src/typecheck/index.js +8 -0
  231. package/dist/src/typecheck/typecheck.js +332 -0
  232. package/docs/README.md +23 -28
  233. package/docs/authoring.md +97 -0
  234. package/docs/configuration.md +307 -766
  235. package/docs/exit-codes.md +76 -94
  236. package/docs/furnace.md +111 -221
  237. package/docs/gate.md +205 -0
  238. package/docs/getting-started.md +165 -0
  239. package/docs/machine-output.md +201 -290
  240. package/docs/migrating.md +261 -0
  241. package/docs/patch-workflow.md +159 -723
  242. package/docs/quality.md +220 -0
  243. package/docs/source-workflow.md +228 -0
  244. package/docs/testing.md +101 -719
  245. package/docs/workspaces.md +187 -0
  246. package/package.json +22 -30
  247. package/templates/configs/common.mozconfig +8 -2
  248. package/templates/configs/darwin.mozconfig +6 -7
  249. package/templates/configs/linux.mozconfig +5 -8
  250. package/templates/configs/win32.mozconfig +3 -9
  251. package/dist/bin/fireforge.d.ts +0 -9
  252. package/dist/src/cli-usage-error.d.ts +0 -46
  253. package/dist/src/cli-usage-error.js +0 -81
  254. package/dist/src/cli.d.ts +0 -41
  255. package/dist/src/cli.js +0 -380
  256. package/dist/src/commands/bootstrap-checks.d.ts +0 -16
  257. package/dist/src/commands/bootstrap-checks.js +0 -66
  258. package/dist/src/commands/bootstrap.d.ts +0 -10
  259. package/dist/src/commands/build-prelock.d.ts +0 -20
  260. package/dist/src/commands/build-prelock.js +0 -50
  261. package/dist/src/commands/build.d.ts +0 -13
  262. package/dist/src/commands/check-report.d.ts +0 -41
  263. package/dist/src/commands/check-report.js +0 -98
  264. package/dist/src/commands/check-run.d.ts +0 -44
  265. package/dist/src/commands/check-run.js +0 -125
  266. package/dist/src/commands/check-steps.d.ts +0 -75
  267. package/dist/src/commands/check-steps.js +0 -200
  268. package/dist/src/commands/check.d.ts +0 -32
  269. package/dist/src/commands/config.d.ts +0 -13
  270. package/dist/src/commands/declarations-report.d.ts +0 -49
  271. package/dist/src/commands/declarations-report.js +0 -83
  272. package/dist/src/commands/destructive-decision.d.ts +0 -19
  273. package/dist/src/commands/destructive-decision.js +0 -31
  274. package/dist/src/commands/discard.d.ts +0 -12
  275. package/dist/src/commands/doctor-check-core.d.ts +0 -110
  276. package/dist/src/commands/doctor-check-core.js +0 -24
  277. package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
  278. package/dist/src/commands/doctor-engine-eslint.js +0 -17
  279. package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
  280. package/dist/src/commands/doctor-external-toolchains.js +0 -56
  281. package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
  282. package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
  283. package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
  284. package/dist/src/commands/doctor-furnace-jar.js +0 -44
  285. package/dist/src/commands/doctor-furnace.d.ts +0 -8
  286. package/dist/src/commands/doctor-furnace.js +0 -514
  287. package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
  288. package/dist/src/commands/doctor-macos-sdk.js +0 -158
  289. package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
  290. package/dist/src/commands/doctor-orphaned-harness.js +0 -98
  291. package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
  292. package/dist/src/commands/doctor-patch-manifest.js +0 -156
  293. package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
  294. package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
  295. package/dist/src/commands/doctor-source-pin.d.ts +0 -29
  296. package/dist/src/commands/doctor-source-pin.js +0 -91
  297. package/dist/src/commands/doctor-working-tree.d.ts +0 -27
  298. package/dist/src/commands/doctor-working-tree.js +0 -89
  299. package/dist/src/commands/doctor.d.ts +0 -49
  300. package/dist/src/commands/download.d.ts +0 -11
  301. package/dist/src/commands/export-adopt-check.d.ts +0 -37
  302. package/dist/src/commands/export-adopt-check.js +0 -97
  303. package/dist/src/commands/export-all.d.ts +0 -11
  304. package/dist/src/commands/export-all.js +0 -361
  305. package/dist/src/commands/export-flow.d.ts +0 -124
  306. package/dist/src/commands/export-flow.js +0 -423
  307. package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
  308. package/dist/src/commands/export-placement-conflicts.js +0 -75
  309. package/dist/src/commands/export-placement-gate.d.ts +0 -42
  310. package/dist/src/commands/export-placement-gate.js +0 -107
  311. package/dist/src/commands/export-placement-policy.d.ts +0 -22
  312. package/dist/src/commands/export-placement-policy.js +0 -54
  313. package/dist/src/commands/export-shared.d.ts +0 -152
  314. package/dist/src/commands/export-shared.js +0 -396
  315. package/dist/src/commands/export-staged-registration.d.ts +0 -46
  316. package/dist/src/commands/export-staged-registration.js +0 -91
  317. package/dist/src/commands/export.d.ts +0 -13
  318. package/dist/src/commands/forward-import-remedy.d.ts +0 -31
  319. package/dist/src/commands/forward-import-remedy.js +0 -62
  320. package/dist/src/commands/furnace/apply.d.ts +0 -8
  321. package/dist/src/commands/furnace/apply.js +0 -327
  322. package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
  323. package/dist/src/commands/furnace/authoring-config.js +0 -19
  324. package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
  325. package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
  326. package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
  327. package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
  328. package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
  329. package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
  330. package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
  331. package/dist/src/commands/furnace/chrome-doc.js +0 -365
  332. package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
  333. package/dist/src/commands/furnace/create-browser-test.js +0 -179
  334. package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
  335. package/dist/src/commands/furnace/create-dry-run.js +0 -107
  336. package/dist/src/commands/furnace/create-features.d.ts +0 -24
  337. package/dist/src/commands/furnace/create-features.js +0 -55
  338. package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
  339. package/dist/src/commands/furnace/create-mochikit.js +0 -75
  340. package/dist/src/commands/furnace/create-readback.d.ts +0 -22
  341. package/dist/src/commands/furnace/create-readback.js +0 -32
  342. package/dist/src/commands/furnace/create-templates.d.ts +0 -119
  343. package/dist/src/commands/furnace/create-templates.js +0 -283
  344. package/dist/src/commands/furnace/create-validation.d.ts +0 -6
  345. package/dist/src/commands/furnace/create-validation.js +0 -59
  346. package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
  347. package/dist/src/commands/furnace/create-xpcshell.js +0 -80
  348. package/dist/src/commands/furnace/create.d.ts +0 -24
  349. package/dist/src/commands/furnace/create.js +0 -407
  350. package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
  351. package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
  352. package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
  353. package/dist/src/commands/furnace/deploy-named.js +0 -107
  354. package/dist/src/commands/furnace/deploy.d.ts +0 -9
  355. package/dist/src/commands/furnace/deploy.js +0 -229
  356. package/dist/src/commands/furnace/diff.d.ts +0 -11
  357. package/dist/src/commands/furnace/diff.js +0 -238
  358. package/dist/src/commands/furnace/index.d.ts +0 -4
  359. package/dist/src/commands/furnace/index.js +0 -283
  360. package/dist/src/commands/furnace/init.d.ts +0 -11
  361. package/dist/src/commands/furnace/init.js +0 -287
  362. package/dist/src/commands/furnace/list.d.ts +0 -8
  363. package/dist/src/commands/furnace/list.js +0 -104
  364. package/dist/src/commands/furnace/override.d.ts +0 -16
  365. package/dist/src/commands/furnace/override.js +0 -454
  366. package/dist/src/commands/furnace/preview.d.ts +0 -19
  367. package/dist/src/commands/furnace/preview.js +0 -349
  368. package/dist/src/commands/furnace/refresh.d.ts +0 -10
  369. package/dist/src/commands/furnace/refresh.js +0 -303
  370. package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
  371. package/dist/src/commands/furnace/remove-mutations.js +0 -168
  372. package/dist/src/commands/furnace/remove-state.d.ts +0 -20
  373. package/dist/src/commands/furnace/remove-state.js +0 -60
  374. package/dist/src/commands/furnace/remove.d.ts +0 -8
  375. package/dist/src/commands/furnace/remove.js +0 -415
  376. package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
  377. package/dist/src/commands/furnace/rename-browser-test.js +0 -68
  378. package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
  379. package/dist/src/commands/furnace/rename-dry-run.js +0 -127
  380. package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
  381. package/dist/src/commands/furnace/rename-helpers.js +0 -85
  382. package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
  383. package/dist/src/commands/furnace/rename-registrations.js +0 -98
  384. package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
  385. package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
  386. package/dist/src/commands/furnace/rename.d.ts +0 -6
  387. package/dist/src/commands/furnace/rename.js +0 -400
  388. package/dist/src/commands/furnace/scan.d.ts +0 -14
  389. package/dist/src/commands/furnace/scan.js +0 -192
  390. package/dist/src/commands/furnace/status.d.ts +0 -7
  391. package/dist/src/commands/furnace/status.js +0 -209
  392. package/dist/src/commands/furnace/sync.d.ts +0 -12
  393. package/dist/src/commands/furnace/sync.js +0 -145
  394. package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
  395. package/dist/src/commands/furnace/test-file-name.js +0 -39
  396. package/dist/src/commands/furnace/validate-report.d.ts +0 -45
  397. package/dist/src/commands/furnace/validate-report.js +0 -91
  398. package/dist/src/commands/furnace/validate.d.ts +0 -8
  399. package/dist/src/commands/furnace/validate.js +0 -309
  400. package/dist/src/commands/furnace/validation-output.d.ts +0 -47
  401. package/dist/src/commands/furnace/validation-output.js +0 -161
  402. package/dist/src/commands/import.d.ts +0 -11
  403. package/dist/src/commands/lint-per-patch.d.ts +0 -10
  404. package/dist/src/commands/lint-per-patch.js +0 -428
  405. package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
  406. package/dist/src/commands/lint-per-run-checkjs.js +0 -102
  407. package/dist/src/commands/lint-report.d.ts +0 -25
  408. package/dist/src/commands/lint-report.js +0 -76
  409. package/dist/src/commands/lint.d.ts +0 -47
  410. package/dist/src/commands/manifest.d.ts +0 -38
  411. package/dist/src/commands/manifest.js +0 -68
  412. package/dist/src/commands/package.d.ts +0 -11
  413. package/dist/src/commands/park.d.ts +0 -22
  414. package/dist/src/commands/park.js +0 -232
  415. package/dist/src/commands/patch/body.d.ts +0 -29
  416. package/dist/src/commands/patch/body.js +0 -60
  417. package/dist/src/commands/patch/compact.d.ts +0 -28
  418. package/dist/src/commands/patch/compact.js +0 -208
  419. package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
  420. package/dist/src/commands/patch/delete-gap-notice.js +0 -48
  421. package/dist/src/commands/patch/delete.d.ts +0 -28
  422. package/dist/src/commands/patch/delete.js +0 -131
  423. package/dist/src/commands/patch/entry-projection.d.ts +0 -13
  424. package/dist/src/commands/patch/entry-projection.js +0 -24
  425. package/dist/src/commands/patch/index.d.ts +0 -16
  426. package/dist/src/commands/patch/index.js +0 -54
  427. package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
  428. package/dist/src/commands/patch/lint-ignore-from.js +0 -141
  429. package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
  430. package/dist/src/commands/patch/lint-ignore.js +0 -263
  431. package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
  432. package/dist/src/commands/patch/move-files-adopt.js +0 -65
  433. package/dist/src/commands/patch/move-files-create.d.ts +0 -19
  434. package/dist/src/commands/patch/move-files-create.js +0 -187
  435. package/dist/src/commands/patch/move-files-into.d.ts +0 -65
  436. package/dist/src/commands/patch/move-files-into.js +0 -325
  437. package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
  438. package/dist/src/commands/patch/move-files-retire.js +0 -91
  439. package/dist/src/commands/patch/move-files.d.ts +0 -28
  440. package/dist/src/commands/patch/move-files.js +0 -224
  441. package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
  442. package/dist/src/commands/patch/move-size-tier.js +0 -66
  443. package/dist/src/commands/patch/patch-context.d.ts +0 -40
  444. package/dist/src/commands/patch/patch-context.js +0 -51
  445. package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
  446. package/dist/src/commands/patch/removal-created-files.js +0 -83
  447. package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
  448. package/dist/src/commands/patch/removal-dependents.js +0 -133
  449. package/dist/src/commands/patch/rename.d.ts +0 -35
  450. package/dist/src/commands/patch/rename.js +0 -378
  451. package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
  452. package/dist/src/commands/patch/reorder-projection.js +0 -49
  453. package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
  454. package/dist/src/commands/patch/reorder-shift.js +0 -307
  455. package/dist/src/commands/patch/reorder.d.ts +0 -34
  456. package/dist/src/commands/patch/reorder.js +0 -375
  457. package/dist/src/commands/patch/reserve.d.ts +0 -33
  458. package/dist/src/commands/patch/reserve.js +0 -152
  459. package/dist/src/commands/patch/retire.d.ts +0 -34
  460. package/dist/src/commands/patch/retire.js +0 -133
  461. package/dist/src/commands/patch/split-plan.d.ts +0 -125
  462. package/dist/src/commands/patch/split-plan.js +0 -313
  463. package/dist/src/commands/patch/split-staged.d.ts +0 -108
  464. package/dist/src/commands/patch/split-staged.js +0 -202
  465. package/dist/src/commands/patch/split.d.ts +0 -43
  466. package/dist/src/commands/patch/split.js +0 -367
  467. package/dist/src/commands/patch/stage.d.ts +0 -34
  468. package/dist/src/commands/patch/stage.js +0 -153
  469. package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
  470. package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
  471. package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
  472. package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
  473. package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
  474. package/dist/src/commands/patch/staged-dependency-from.js +0 -114
  475. package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
  476. package/dist/src/commands/patch/staged-dependency-remove.js +0 -114
  477. package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -27
  478. package/dist/src/commands/patch/staged-dependency-validate.js +0 -78
  479. package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
  480. package/dist/src/commands/patch/staged-dependency.js +0 -251
  481. package/dist/src/commands/patch/tier.d.ts +0 -34
  482. package/dist/src/commands/patch/tier.js +0 -125
  483. package/dist/src/commands/patch-rename-map.d.ts +0 -30
  484. package/dist/src/commands/patch-rename-map.js +0 -54
  485. package/dist/src/commands/pending-resolution.d.ts +0 -15
  486. package/dist/src/commands/pending-resolution.js +0 -25
  487. package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
  488. package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
  489. package/dist/src/commands/re-export-adjacent.d.ts +0 -111
  490. package/dist/src/commands/re-export-adjacent.js +0 -285
  491. package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
  492. package/dist/src/commands/re-export-bulk-scan.js +0 -233
  493. package/dist/src/commands/re-export-drift.d.ts +0 -110
  494. package/dist/src/commands/re-export-drift.js +0 -358
  495. package/dist/src/commands/re-export-each.d.ts +0 -46
  496. package/dist/src/commands/re-export-each.js +0 -110
  497. package/dist/src/commands/re-export-files.d.ts +0 -15
  498. package/dist/src/commands/re-export-files.js +0 -307
  499. package/dist/src/commands/re-export-hunks.d.ts +0 -37
  500. package/dist/src/commands/re-export-hunks.js +0 -264
  501. package/dist/src/commands/re-export-lint.d.ts +0 -137
  502. package/dist/src/commands/re-export-lint.js +0 -303
  503. package/dist/src/commands/re-export-options.d.ts +0 -29
  504. package/dist/src/commands/re-export-options.js +0 -192
  505. package/dist/src/commands/re-export-preflight.d.ts +0 -23
  506. package/dist/src/commands/re-export-preflight.js +0 -159
  507. package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
  508. package/dist/src/commands/re-export-purity-scope.js +0 -137
  509. package/dist/src/commands/re-export-register.d.ts +0 -12
  510. package/dist/src/commands/re-export-register.js +0 -99
  511. package/dist/src/commands/re-export-removed.d.ts +0 -15
  512. package/dist/src/commands/re-export-removed.js +0 -94
  513. package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
  514. package/dist/src/commands/re-export-retired-declarations.js +0 -113
  515. package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
  516. package/dist/src/commands/re-export-scan-owner.js +0 -116
  517. package/dist/src/commands/re-export-scan.d.ts +0 -72
  518. package/dist/src/commands/re-export-scan.js +0 -265
  519. package/dist/src/commands/re-export-single.d.ts +0 -53
  520. package/dist/src/commands/re-export-single.js +0 -426
  521. package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
  522. package/dist/src/commands/re-export-stale-registrations.js +0 -106
  523. package/dist/src/commands/re-export-summary.d.ts +0 -44
  524. package/dist/src/commands/re-export-summary.js +0 -59
  525. package/dist/src/commands/re-export.d.ts +0 -8
  526. package/dist/src/commands/rebase/abort.d.ts +0 -7
  527. package/dist/src/commands/rebase/abort.js +0 -67
  528. package/dist/src/commands/rebase/confirm.d.ts +0 -42
  529. package/dist/src/commands/rebase/confirm.js +0 -36
  530. package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
  531. package/dist/src/commands/rebase/conflict-summary.js +0 -37
  532. package/dist/src/commands/rebase/continue.d.ts +0 -7
  533. package/dist/src/commands/rebase/continue.js +0 -119
  534. package/dist/src/commands/rebase/index.d.ts +0 -22
  535. package/dist/src/commands/rebase/index.js +0 -209
  536. package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
  537. package/dist/src/commands/rebase/patch-loop.js +0 -289
  538. package/dist/src/commands/rebase/summary.d.ts +0 -8
  539. package/dist/src/commands/rebase/summary.js +0 -47
  540. package/dist/src/commands/register.d.ts +0 -13
  541. package/dist/src/commands/reset.d.ts +0 -11
  542. package/dist/src/commands/resolve.d.ts +0 -36
  543. package/dist/src/commands/run.d.ts +0 -10
  544. package/dist/src/commands/setup-support.d.ts +0 -35
  545. package/dist/src/commands/setup-support.js +0 -386
  546. package/dist/src/commands/setup.d.ts +0 -11
  547. package/dist/src/commands/source.d.ts +0 -9
  548. package/dist/src/commands/source.js +0 -120
  549. package/dist/src/commands/status-check.d.ts +0 -87
  550. package/dist/src/commands/status-check.js +0 -161
  551. package/dist/src/commands/status-json.d.ts +0 -45
  552. package/dist/src/commands/status-json.js +0 -97
  553. package/dist/src/commands/status-output.d.ts +0 -23
  554. package/dist/src/commands/status-output.js +0 -231
  555. package/dist/src/commands/status-ownership.d.ts +0 -54
  556. package/dist/src/commands/status-ownership.js +0 -59
  557. package/dist/src/commands/status-scope.d.ts +0 -37
  558. package/dist/src/commands/status-scope.js +0 -54
  559. package/dist/src/commands/status.d.ts +0 -11
  560. package/dist/src/commands/test-appdir.d.ts +0 -6
  561. package/dist/src/commands/test-appdir.js +0 -29
  562. package/dist/src/commands/test-browser-preflight.d.ts +0 -28
  563. package/dist/src/commands/test-browser-preflight.js +0 -197
  564. package/dist/src/commands/test-build-furnace.d.ts +0 -21
  565. package/dist/src/commands/test-build-furnace.js +0 -53
  566. package/dist/src/commands/test-build-phase.d.ts +0 -34
  567. package/dist/src/commands/test-build-phase.js +0 -291
  568. package/dist/src/commands/test-checkjs.d.ts +0 -3
  569. package/dist/src/commands/test-checkjs.js +0 -35
  570. package/dist/src/commands/test-control-restore.d.ts +0 -40
  571. package/dist/src/commands/test-control-restore.js +0 -86
  572. package/dist/src/commands/test-diagnose.d.ts +0 -23
  573. package/dist/src/commands/test-diagnose.js +0 -317
  574. package/dist/src/commands/test-dispatch.d.ts +0 -39
  575. package/dist/src/commands/test-dispatch.js +0 -281
  576. package/dist/src/commands/test-furnace-reach.d.ts +0 -37
  577. package/dist/src/commands/test-furnace-reach.js +0 -132
  578. package/dist/src/commands/test-harness-env.d.ts +0 -23
  579. package/dist/src/commands/test-harness-env.js +0 -81
  580. package/dist/src/commands/test-harness-teardown.d.ts +0 -62
  581. package/dist/src/commands/test-harness-teardown.js +0 -128
  582. package/dist/src/commands/test-modes.d.ts +0 -57
  583. package/dist/src/commands/test-modes.js +0 -158
  584. package/dist/src/commands/test-multi-verdict.d.ts +0 -61
  585. package/dist/src/commands/test-multi-verdict.js +0 -112
  586. package/dist/src/commands/test-orchestrate.d.ts +0 -70
  587. package/dist/src/commands/test-orchestrate.js +0 -277
  588. package/dist/src/commands/test-perf-scope.d.ts +0 -50
  589. package/dist/src/commands/test-perf-scope.js +0 -138
  590. package/dist/src/commands/test-prelock.d.ts +0 -61
  591. package/dist/src/commands/test-prelock.js +0 -301
  592. package/dist/src/commands/test-register.d.ts +0 -4
  593. package/dist/src/commands/test-register.js +0 -181
  594. package/dist/src/commands/test-results.d.ts +0 -71
  595. package/dist/src/commands/test-results.js +0 -79
  596. package/dist/src/commands/test-run.d.ts +0 -89
  597. package/dist/src/commands/test-run.js +0 -251
  598. package/dist/src/commands/test-shards.d.ts +0 -114
  599. package/dist/src/commands/test-shards.js +0 -272
  600. package/dist/src/commands/test-stale-gate.d.ts +0 -56
  601. package/dist/src/commands/test-stale-gate.js +0 -208
  602. package/dist/src/commands/test-verdict.d.ts +0 -102
  603. package/dist/src/commands/test-verdict.js +0 -176
  604. package/dist/src/commands/test.d.ts +0 -22
  605. package/dist/src/commands/token-coverage.d.ts +0 -5
  606. package/dist/src/commands/token-coverage.js +0 -170
  607. package/dist/src/commands/token-lint.d.ts +0 -14
  608. package/dist/src/commands/token-lint.js +0 -151
  609. package/dist/src/commands/token-list.d.ts +0 -26
  610. package/dist/src/commands/token-list.js +0 -153
  611. package/dist/src/commands/token.d.ts +0 -14
  612. package/dist/src/commands/tree.d.ts +0 -19
  613. package/dist/src/commands/tree.js +0 -341
  614. package/dist/src/commands/typecheck-explain.d.ts +0 -13
  615. package/dist/src/commands/typecheck-explain.js +0 -100
  616. package/dist/src/commands/typecheck.d.ts +0 -61
  617. package/dist/src/commands/verify-scope.d.ts +0 -28
  618. package/dist/src/commands/verify-scope.js +0 -67
  619. package/dist/src/commands/verify.d.ts +0 -58
  620. package/dist/src/commands/watch.d.ts +0 -9
  621. package/dist/src/commands/wire.d.ts +0 -13
  622. package/dist/src/core/ast-utils.d.ts +0 -73
  623. package/dist/src/core/ast-utils.js +0 -105
  624. package/dist/src/core/brand-validation.d.ts +0 -7
  625. package/dist/src/core/brand-validation.js +0 -14
  626. package/dist/src/core/branding.d.ts +0 -86
  627. package/dist/src/core/branding.js +0 -371
  628. package/dist/src/core/browser-wire.d.ts +0 -48
  629. package/dist/src/core/browser-wire.js +0 -133
  630. package/dist/src/core/build-audit-platform.d.ts +0 -67
  631. package/dist/src/core/build-audit-platform.js +0 -373
  632. package/dist/src/core/build-audit-registration.d.ts +0 -80
  633. package/dist/src/core/build-audit-registration.js +0 -181
  634. package/dist/src/core/build-audit-resolve.d.ts +0 -78
  635. package/dist/src/core/build-audit-resolve.js +0 -240
  636. package/dist/src/core/build-audit-skip.d.ts +0 -57
  637. package/dist/src/core/build-audit-skip.js +0 -112
  638. package/dist/src/core/build-audit-transforms.d.ts +0 -23
  639. package/dist/src/core/build-audit-transforms.js +0 -92
  640. package/dist/src/core/build-audit.d.ts +0 -93
  641. package/dist/src/core/build-audit.js +0 -633
  642. package/dist/src/core/build-baseline-types.d.ts +0 -225
  643. package/dist/src/core/build-baseline-types.js +0 -10
  644. package/dist/src/core/build-baseline-validate.d.ts +0 -32
  645. package/dist/src/core/build-baseline-validate.js +0 -173
  646. package/dist/src/core/build-baseline.d.ts +0 -103
  647. package/dist/src/core/build-baseline.js +0 -261
  648. package/dist/src/core/build-jar-escalation.d.ts +0 -61
  649. package/dist/src/core/build-jar-escalation.js +0 -125
  650. package/dist/src/core/build-overwrite-guard.d.ts +0 -92
  651. package/dist/src/core/build-overwrite-guard.js +0 -235
  652. package/dist/src/core/build-prepare.d.ts +0 -83
  653. package/dist/src/core/build-prepare.js +0 -414
  654. package/dist/src/core/build-run-record.d.ts +0 -74
  655. package/dist/src/core/build-run-record.js +0 -136
  656. package/dist/src/core/checkjs-support-heads.d.ts +0 -41
  657. package/dist/src/core/checkjs-support-heads.js +0 -104
  658. package/dist/src/core/component-source-guard.d.ts +0 -20
  659. package/dist/src/core/component-source-guard.js +0 -68
  660. package/dist/src/core/config-mutate.d.ts +0 -16
  661. package/dist/src/core/config-mutate.js +0 -76
  662. package/dist/src/core/config-paths.d.ts +0 -16
  663. package/dist/src/core/config-paths.js +0 -106
  664. package/dist/src/core/config-state.d.ts +0 -16
  665. package/dist/src/core/config-state.js +0 -141
  666. package/dist/src/core/config-validate-build-audit.d.ts +0 -8
  667. package/dist/src/core/config-validate-build-audit.js +0 -80
  668. package/dist/src/core/config-validate-check.d.ts +0 -8
  669. package/dist/src/core/config-validate-check.js +0 -219
  670. package/dist/src/core/config-validate-file-size.d.ts +0 -15
  671. package/dist/src/core/config-validate-file-size.js +0 -154
  672. package/dist/src/core/config-validate-history.d.ts +0 -11
  673. package/dist/src/core/config-validate-history.js +0 -38
  674. package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
  675. package/dist/src/core/config-validate-patch-policy.js +0 -284
  676. package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
  677. package/dist/src/core/config-validate-test-toolchains.js +0 -133
  678. package/dist/src/core/config-validate-token-scales.d.ts +0 -9
  679. package/dist/src/core/config-validate-token-scales.js +0 -125
  680. package/dist/src/core/config-validate.d.ts +0 -11
  681. package/dist/src/core/config-validate.js +0 -509
  682. package/dist/src/core/config.d.ts +0 -92
  683. package/dist/src/core/config.js +0 -169
  684. package/dist/src/core/coverage-dispatch.d.ts +0 -24
  685. package/dist/src/core/coverage-dispatch.js +0 -44
  686. package/dist/src/core/coverage-extend.d.ts +0 -89
  687. package/dist/src/core/coverage-extend.js +0 -239
  688. package/dist/src/core/coverage-records.d.ts +0 -107
  689. package/dist/src/core/coverage-records.js +0 -383
  690. package/dist/src/core/destructive.d.ts +0 -144
  691. package/dist/src/core/destructive.js +0 -182
  692. package/dist/src/core/dev-profile.d.ts +0 -28
  693. package/dist/src/core/dev-profile.js +0 -58
  694. package/dist/src/core/diff-hunks.d.ts +0 -73
  695. package/dist/src/core/diff-hunks.js +0 -286
  696. package/dist/src/core/discard-baseline.d.ts +0 -60
  697. package/dist/src/core/discard-baseline.js +0 -247
  698. package/dist/src/core/display-state.d.ts +0 -50
  699. package/dist/src/core/display-state.js +0 -87
  700. package/dist/src/core/engine-changes.d.ts +0 -40
  701. package/dist/src/core/engine-changes.js +0 -95
  702. package/dist/src/core/engine-precondition.d.ts +0 -42
  703. package/dist/src/core/engine-precondition.js +0 -60
  704. package/dist/src/core/engine-session-lock.d.ts +0 -119
  705. package/dist/src/core/engine-session-lock.js +0 -374
  706. package/dist/src/core/engine-write-boundary.d.ts +0 -5
  707. package/dist/src/core/engine-write-boundary.js +0 -41
  708. package/dist/src/core/export-moved-code-shape.d.ts +0 -98
  709. package/dist/src/core/export-moved-code-shape.js +0 -220
  710. package/dist/src/core/file-lock-owner.d.ts +0 -103
  711. package/dist/src/core/file-lock-owner.js +0 -259
  712. package/dist/src/core/file-lock-queue.d.ts +0 -67
  713. package/dist/src/core/file-lock-queue.js +0 -219
  714. package/dist/src/core/file-lock-shared.d.ts +0 -57
  715. package/dist/src/core/file-lock-shared.js +0 -117
  716. package/dist/src/core/file-lock.d.ts +0 -143
  717. package/dist/src/core/file-lock.js +0 -531
  718. package/dist/src/core/firefox-archive.d.ts +0 -45
  719. package/dist/src/core/firefox-archive.js +0 -96
  720. package/dist/src/core/firefox-cache.d.ts +0 -30
  721. package/dist/src/core/firefox-cache.js +0 -248
  722. package/dist/src/core/firefox-download.d.ts +0 -30
  723. package/dist/src/core/firefox-download.js +0 -152
  724. package/dist/src/core/firefox-extract.d.ts +0 -42
  725. package/dist/src/core/firefox-extract.js +0 -248
  726. package/dist/src/core/firefox-ignorefile.d.ts +0 -17
  727. package/dist/src/core/firefox-ignorefile.js +0 -30
  728. package/dist/src/core/firefox.d.ts +0 -66
  729. package/dist/src/core/firefox.js +0 -121
  730. package/dist/src/core/forward-registrations.d.ts +0 -33
  731. package/dist/src/core/forward-registrations.js +0 -16
  732. package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
  733. package/dist/src/core/furnace-apply-dry-run.js +0 -99
  734. package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
  735. package/dist/src/core/furnace-apply-ftl.js +0 -210
  736. package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
  737. package/dist/src/core/furnace-apply-helpers.js +0 -436
  738. package/dist/src/core/furnace-apply-output.d.ts +0 -36
  739. package/dist/src/core/furnace-apply-output.js +0 -111
  740. package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -67
  741. package/dist/src/core/furnace-apply-overwrite-warn.js +0 -131
  742. package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
  743. package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
  744. package/dist/src/core/furnace-apply.d.ts +0 -49
  745. package/dist/src/core/furnace-apply.js +0 -465
  746. package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
  747. package/dist/src/core/furnace-checksum-utils.js +0 -54
  748. package/dist/src/core/furnace-composed-source.d.ts +0 -76
  749. package/dist/src/core/furnace-composed-source.js +0 -167
  750. package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
  751. package/dist/src/core/furnace-config-array-utils.js +0 -26
  752. package/dist/src/core/furnace-config-custom.d.ts +0 -15
  753. package/dist/src/core/furnace-config-custom.js +0 -73
  754. package/dist/src/core/furnace-config-order.d.ts +0 -8
  755. package/dist/src/core/furnace-config-order.js +0 -90
  756. package/dist/src/core/furnace-config-tokens.d.ts +0 -17
  757. package/dist/src/core/furnace-config-tokens.js +0 -42
  758. package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
  759. package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
  760. package/dist/src/core/furnace-config-validate.d.ts +0 -32
  761. package/dist/src/core/furnace-config-validate.js +0 -167
  762. package/dist/src/core/furnace-config.d.ts +0 -139
  763. package/dist/src/core/furnace-config.js +0 -511
  764. package/dist/src/core/furnace-constants.d.ts +0 -81
  765. package/dist/src/core/furnace-constants.js +0 -125
  766. package/dist/src/core/furnace-css-fragments.d.ts +0 -96
  767. package/dist/src/core/furnace-css-fragments.js +0 -279
  768. package/dist/src/core/furnace-deploy-owner.d.ts +0 -29
  769. package/dist/src/core/furnace-deploy-owner.js +0 -116
  770. package/dist/src/core/furnace-dir-entry.d.ts +0 -20
  771. package/dist/src/core/furnace-dir-entry.js +0 -21
  772. package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
  773. package/dist/src/core/furnace-fragment-includers.js +0 -122
  774. package/dist/src/core/furnace-graph-utils.d.ts +0 -11
  775. package/dist/src/core/furnace-graph-utils.js +0 -93
  776. package/dist/src/core/furnace-jsconfig.d.ts +0 -87
  777. package/dist/src/core/furnace-jsconfig.js +0 -248
  778. package/dist/src/core/furnace-marker.d.ts +0 -15
  779. package/dist/src/core/furnace-marker.js +0 -21
  780. package/dist/src/core/furnace-operation.d.ts +0 -195
  781. package/dist/src/core/furnace-operation.js +0 -444
  782. package/dist/src/core/furnace-precondition.d.ts +0 -61
  783. package/dist/src/core/furnace-precondition.js +0 -67
  784. package/dist/src/core/furnace-refresh.d.ts +0 -28
  785. package/dist/src/core/furnace-refresh.js +0 -125
  786. package/dist/src/core/furnace-registration-ast.d.ts +0 -53
  787. package/dist/src/core/furnace-registration-ast.js +0 -402
  788. package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
  789. package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
  790. package/dist/src/core/furnace-registration-remove.d.ts +0 -56
  791. package/dist/src/core/furnace-registration-remove.js +0 -260
  792. package/dist/src/core/furnace-registration-rename.d.ts +0 -26
  793. package/dist/src/core/furnace-registration-rename.js +0 -77
  794. package/dist/src/core/furnace-registration-validate.d.ts +0 -53
  795. package/dist/src/core/furnace-registration-validate.js +0 -110
  796. package/dist/src/core/furnace-registration.d.ts +0 -112
  797. package/dist/src/core/furnace-registration.js +0 -348
  798. package/dist/src/core/furnace-rollback.d.ts +0 -48
  799. package/dist/src/core/furnace-rollback.js +0 -170
  800. package/dist/src/core/furnace-scanner.d.ts +0 -47
  801. package/dist/src/core/furnace-scanner.js +0 -236
  802. package/dist/src/core/furnace-stale-export.d.ts +0 -60
  803. package/dist/src/core/furnace-stale-export.js +0 -125
  804. package/dist/src/core/furnace-staleness.d.ts +0 -24
  805. package/dist/src/core/furnace-staleness.js +0 -67
  806. package/dist/src/core/furnace-state-persist.d.ts +0 -68
  807. package/dist/src/core/furnace-state-persist.js +0 -116
  808. package/dist/src/core/furnace-step-errors.d.ts +0 -23
  809. package/dist/src/core/furnace-step-errors.js +0 -25
  810. package/dist/src/core/furnace-stories.d.ts +0 -37
  811. package/dist/src/core/furnace-stories.js +0 -186
  812. package/dist/src/core/furnace-tag-map.d.ts +0 -47
  813. package/dist/src/core/furnace-tag-map.js +0 -182
  814. package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
  815. package/dist/src/core/furnace-validate-accessibility.js +0 -417
  816. package/dist/src/core/furnace-validate-checks.d.ts +0 -4
  817. package/dist/src/core/furnace-validate-checks.js +0 -6
  818. package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
  819. package/dist/src/core/furnace-validate-compatibility.js +0 -295
  820. package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
  821. package/dist/src/core/furnace-validate-exceptions.js +0 -98
  822. package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
  823. package/dist/src/core/furnace-validate-helpers.js +0 -4
  824. package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
  825. package/dist/src/core/furnace-validate-icon-button.js +0 -78
  826. package/dist/src/core/furnace-validate-registration.d.ts +0 -67
  827. package/dist/src/core/furnace-validate-registration.js +0 -487
  828. package/dist/src/core/furnace-validate-structure.d.ts +0 -22
  829. package/dist/src/core/furnace-validate-structure.js +0 -122
  830. package/dist/src/core/furnace-validate.d.ts +0 -41
  831. package/dist/src/core/furnace-validate.js +0 -331
  832. package/dist/src/core/furnace-version-drift.d.ts +0 -57
  833. package/dist/src/core/furnace-version-drift.js +0 -102
  834. package/dist/src/core/gecko-dom-types.d.ts +0 -2
  835. package/dist/src/core/gecko-dom-types.js +0 -17
  836. package/dist/src/core/git-base.d.ts +0 -101
  837. package/dist/src/core/git-base.js +0 -162
  838. package/dist/src/core/git-diff-new-file.d.ts +0 -40
  839. package/dist/src/core/git-diff-new-file.js +0 -118
  840. package/dist/src/core/git-diff.d.ts +0 -82
  841. package/dist/src/core/git-diff.js +0 -539
  842. package/dist/src/core/git-file-ops.d.ts +0 -108
  843. package/dist/src/core/git-file-ops.js +0 -280
  844. package/dist/src/core/git-readonly-index.d.ts +0 -91
  845. package/dist/src/core/git-readonly-index.js +0 -177
  846. package/dist/src/core/git-status.d.ts +0 -84
  847. package/dist/src/core/git-status.js +0 -208
  848. package/dist/src/core/git.d.ts +0 -114
  849. package/dist/src/core/git.js +0 -540
  850. package/dist/src/core/harness-helper-pids.d.ts +0 -98
  851. package/dist/src/core/harness-helper-pids.js +0 -240
  852. package/dist/src/core/harness-orphans.d.ts +0 -118
  853. package/dist/src/core/harness-orphans.js +0 -268
  854. package/dist/src/core/harness-port-fallback.d.ts +0 -60
  855. package/dist/src/core/harness-port-fallback.js +0 -96
  856. package/dist/src/core/harness-port-reservation.d.ts +0 -60
  857. package/dist/src/core/harness-port-reservation.js +0 -122
  858. package/dist/src/core/history-log-file.d.ts +0 -61
  859. package/dist/src/core/history-log-file.js +0 -164
  860. package/dist/src/core/history-log.d.ts +0 -20
  861. package/dist/src/core/history-log.js +0 -30
  862. package/dist/src/core/json-preserving-edit.d.ts +0 -22
  863. package/dist/src/core/json-preserving-edit.js +0 -199
  864. package/dist/src/core/launchable-build.d.ts +0 -39
  865. package/dist/src/core/launchable-build.js +0 -85
  866. package/dist/src/core/license-headers.d.ts +0 -103
  867. package/dist/src/core/license-headers.js +0 -328
  868. package/dist/src/core/line-prefixer.d.ts +0 -18
  869. package/dist/src/core/line-prefixer.js +0 -34
  870. package/dist/src/core/lit-template-regions.d.ts +0 -4
  871. package/dist/src/core/lit-template-regions.js +0 -50
  872. package/dist/src/core/mach-build-artifacts.d.ts +0 -176
  873. package/dist/src/core/mach-build-artifacts.js +0 -436
  874. package/dist/src/core/mach-error-hints.d.ts +0 -24
  875. package/dist/src/core/mach-error-hints.js +0 -135
  876. package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
  877. package/dist/src/core/mach-known-noise-filter.js +0 -257
  878. package/dist/src/core/mach-mozconfig.d.ts +0 -57
  879. package/dist/src/core/mach-mozconfig.js +0 -166
  880. package/dist/src/core/mach-python.d.ts +0 -19
  881. package/dist/src/core/mach-python.js +0 -131
  882. package/dist/src/core/mach-resource-shim.d.ts +0 -107
  883. package/dist/src/core/mach-resource-shim.js +0 -640
  884. package/dist/src/core/mach.d.ts +0 -284
  885. package/dist/src/core/mach.js +0 -445
  886. package/dist/src/core/marionette-port.d.ts +0 -153
  887. package/dist/src/core/marionette-port.js +0 -474
  888. package/dist/src/core/marionette-preflight.d.ts +0 -58
  889. package/dist/src/core/marionette-preflight.js +0 -332
  890. package/dist/src/core/markdown-table.d.ts +0 -104
  891. package/dist/src/core/markdown-table.js +0 -265
  892. package/dist/src/core/mochitest-server-port.d.ts +0 -81
  893. package/dist/src/core/mochitest-server-port.js +0 -175
  894. package/dist/src/core/module-resolution-preflight.d.ts +0 -65
  895. package/dist/src/core/module-resolution-preflight.js +0 -171
  896. package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
  897. package/dist/src/core/moz-manifest-helpers.js +0 -163
  898. package/dist/src/core/moz-manifest-register.d.ts +0 -19
  899. package/dist/src/core/moz-manifest-register.js +0 -51
  900. package/dist/src/core/moz-manifest-rules.d.ts +0 -58
  901. package/dist/src/core/moz-manifest-rules.js +0 -264
  902. package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
  903. package/dist/src/core/moz-manifest-tokenizers.js +0 -108
  904. package/dist/src/core/negative-control-compiled.d.ts +0 -46
  905. package/dist/src/core/negative-control-compiled.js +0 -109
  906. package/dist/src/core/negative-control-diff.d.ts +0 -51
  907. package/dist/src/core/negative-control-diff.js +0 -167
  908. package/dist/src/core/negative-control.d.ts +0 -150
  909. package/dist/src/core/negative-control.js +0 -399
  910. package/dist/src/core/objdir-install-manifests.d.ts +0 -73
  911. package/dist/src/core/objdir-install-manifests.js +0 -226
  912. package/dist/src/core/objdir-maintenance.d.ts +0 -10
  913. package/dist/src/core/objdir-maintenance.js +0 -167
  914. package/dist/src/core/ownership-table.d.ts +0 -53
  915. package/dist/src/core/ownership-table.js +0 -159
  916. package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
  917. package/dist/src/core/parent-exit-watchdog.js +0 -69
  918. package/dist/src/core/park-store.d.ts +0 -63
  919. package/dist/src/core/park-store.js +0 -216
  920. package/dist/src/core/parser-fallback.d.ts +0 -50
  921. package/dist/src/core/parser-fallback.js +0 -61
  922. package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
  923. package/dist/src/core/patch-apply-fuzz.js +0 -125
  924. package/dist/src/core/patch-apply.d.ts +0 -88
  925. package/dist/src/core/patch-apply.js +0 -435
  926. package/dist/src/core/patch-export-coverage.d.ts +0 -49
  927. package/dist/src/core/patch-export-coverage.js +0 -73
  928. package/dist/src/core/patch-export-metadata.d.ts +0 -46
  929. package/dist/src/core/patch-export-metadata.js +0 -47
  930. package/dist/src/core/patch-export-update.d.ts +0 -55
  931. package/dist/src/core/patch-export-update.js +0 -95
  932. package/dist/src/core/patch-export.d.ts +0 -175
  933. package/dist/src/core/patch-export.js +0 -312
  934. package/dist/src/core/patch-files.d.ts +0 -17
  935. package/dist/src/core/patch-files.js +0 -59
  936. package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
  937. package/dist/src/core/patch-identifier-suggest.js +0 -135
  938. package/dist/src/core/patch-lint-binary.d.ts +0 -45
  939. package/dist/src/core/patch-lint-binary.js +0 -39
  940. package/dist/src/core/patch-lint-cache-checkjs.d.ts +0 -45
  941. package/dist/src/core/patch-lint-cache-checkjs.js +0 -195
  942. package/dist/src/core/patch-lint-cache.d.ts +0 -79
  943. package/dist/src/core/patch-lint-cache.js +0 -247
  944. package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -57
  945. package/dist/src/core/patch-lint-checkjs-any-import.js +0 -91
  946. package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
  947. package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
  948. package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
  949. package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
  950. package/dist/src/core/patch-lint-checkjs-resolve.d.ts +0 -31
  951. package/dist/src/core/patch-lint-checkjs-resolve.js +0 -86
  952. package/dist/src/core/patch-lint-checkjs.d.ts +0 -182
  953. package/dist/src/core/patch-lint-checkjs.js +0 -563
  954. package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
  955. package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
  956. package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
  957. package/dist/src/core/patch-lint-code-lines.js +0 -105
  958. package/dist/src/core/patch-lint-creators.d.ts +0 -26
  959. package/dist/src/core/patch-lint-creators.js +0 -45
  960. package/dist/src/core/patch-lint-cross.d.ts +0 -232
  961. package/dist/src/core/patch-lint-cross.js +0 -590
  962. package/dist/src/core/patch-lint-css.d.ts +0 -27
  963. package/dist/src/core/patch-lint-css.js +0 -228
  964. package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
  965. package/dist/src/core/patch-lint-diff-tag.js +0 -105
  966. package/dist/src/core/patch-lint-diff.d.ts +0 -42
  967. package/dist/src/core/patch-lint-diff.js +0 -100
  968. package/dist/src/core/patch-lint-file-size.d.ts +0 -57
  969. package/dist/src/core/patch-lint-file-size.js +0 -62
  970. package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
  971. package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
  972. package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
  973. package/dist/src/core/patch-lint-forward-registration.js +0 -266
  974. package/dist/src/core/patch-lint-ignore.d.ts +0 -196
  975. package/dist/src/core/patch-lint-ignore.js +0 -429
  976. package/dist/src/core/patch-lint-imports.d.ts +0 -9
  977. package/dist/src/core/patch-lint-imports.js +0 -90
  978. package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
  979. package/dist/src/core/patch-lint-jsdoc.js +0 -471
  980. package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
  981. package/dist/src/core/patch-lint-module-registration.js +0 -97
  982. package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
  983. package/dist/src/core/patch-lint-mozbuild.js +0 -192
  984. package/dist/src/core/patch-lint-observer.d.ts +0 -37
  985. package/dist/src/core/patch-lint-observer.js +0 -167
  986. package/dist/src/core/patch-lint-ownership.d.ts +0 -74
  987. package/dist/src/core/patch-lint-ownership.js +0 -125
  988. package/dist/src/core/patch-lint-prettier.d.ts +0 -34
  989. package/dist/src/core/patch-lint-prettier.js +0 -124
  990. package/dist/src/core/patch-lint-projection.d.ts +0 -25
  991. package/dist/src/core/patch-lint-projection.js +0 -43
  992. package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
  993. package/dist/src/core/patch-lint-queue-types.js +0 -12
  994. package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
  995. package/dist/src/core/patch-lint-size-thresholds.js +0 -110
  996. package/dist/src/core/patch-lint-size.d.ts +0 -117
  997. package/dist/src/core/patch-lint-size.js +0 -331
  998. package/dist/src/core/patch-lint-staged-registration.d.ts +0 -98
  999. package/dist/src/core/patch-lint-staged-registration.js +0 -128
  1000. package/dist/src/core/patch-lint-token-scale.d.ts +0 -65
  1001. package/dist/src/core/patch-lint-token-scale.js +0 -304
  1002. package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
  1003. package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
  1004. package/dist/src/core/patch-lint.d.ts +0 -206
  1005. package/dist/src/core/patch-lint.js +0 -533
  1006. package/dist/src/core/patch-lock.d.ts +0 -40
  1007. package/dist/src/core/patch-lock.js +0 -129
  1008. package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
  1009. package/dist/src/core/patch-manifest-consistency.js +0 -256
  1010. package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
  1011. package/dist/src/core/patch-manifest-files-affected.js +0 -77
  1012. package/dist/src/core/patch-manifest-io.d.ts +0 -199
  1013. package/dist/src/core/patch-manifest-io.js +0 -556
  1014. package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
  1015. package/dist/src/core/patch-manifest-key-order.js +0 -60
  1016. package/dist/src/core/patch-manifest-query.d.ts +0 -55
  1017. package/dist/src/core/patch-manifest-query.js +0 -139
  1018. package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
  1019. package/dist/src/core/patch-manifest-resolve.js +0 -35
  1020. package/dist/src/core/patch-manifest-stage.d.ts +0 -46
  1021. package/dist/src/core/patch-manifest-stage.js +0 -96
  1022. package/dist/src/core/patch-manifest-validate.d.ts +0 -20
  1023. package/dist/src/core/patch-manifest-validate.js +0 -240
  1024. package/dist/src/core/patch-manifest.d.ts +0 -12
  1025. package/dist/src/core/patch-manifest.js +0 -13
  1026. package/dist/src/core/patch-order-legal.d.ts +0 -26
  1027. package/dist/src/core/patch-order-legal.js +0 -88
  1028. package/dist/src/core/patch-parse.d.ts +0 -176
  1029. package/dist/src/core/patch-parse.js +0 -416
  1030. package/dist/src/core/patch-policy-content.d.ts +0 -40
  1031. package/dist/src/core/patch-policy-content.js +0 -219
  1032. package/dist/src/core/patch-policy.d.ts +0 -80
  1033. package/dist/src/core/patch-policy.js +0 -394
  1034. package/dist/src/core/patch-registration-refs.d.ts +0 -41
  1035. package/dist/src/core/patch-registration-refs.js +0 -107
  1036. package/dist/src/core/patch-retired.d.ts +0 -57
  1037. package/dist/src/core/patch-retired.js +0 -92
  1038. package/dist/src/core/patch-source-metadata.d.ts +0 -6
  1039. package/dist/src/core/patch-source-metadata.js +0 -12
  1040. package/dist/src/core/patch-subset.d.ts +0 -18
  1041. package/dist/src/core/patch-subset.js +0 -67
  1042. package/dist/src/core/patch-transform.d.ts +0 -61
  1043. package/dist/src/core/patch-transform.js +0 -198
  1044. package/dist/src/core/preflight-wait.d.ts +0 -22
  1045. package/dist/src/core/preflight-wait.js +0 -62
  1046. package/dist/src/core/process-cpu-time.d.ts +0 -12
  1047. package/dist/src/core/process-cpu-time.js +0 -52
  1048. package/dist/src/core/process-owner.d.ts +0 -9
  1049. package/dist/src/core/process-owner.js +0 -43
  1050. package/dist/src/core/rebase-dry-run.d.ts +0 -48
  1051. package/dist/src/core/rebase-dry-run.js +0 -105
  1052. package/dist/src/core/rebase-from-version.d.ts +0 -46
  1053. package/dist/src/core/rebase-from-version.js +0 -71
  1054. package/dist/src/core/rebase-session.d.ts +0 -100
  1055. package/dist/src/core/rebase-session.js +0 -174
  1056. package/dist/src/core/register-browser-content.d.ts +0 -11
  1057. package/dist/src/core/register-browser-content.js +0 -52
  1058. package/dist/src/core/register-browser-test.d.ts +0 -18
  1059. package/dist/src/core/register-browser-test.js +0 -66
  1060. package/dist/src/core/register-module.d.ts +0 -11
  1061. package/dist/src/core/register-module.js +0 -56
  1062. package/dist/src/core/register-result.d.ts +0 -30
  1063. package/dist/src/core/register-result.js +0 -8
  1064. package/dist/src/core/register-scaffold.d.ts +0 -55
  1065. package/dist/src/core/register-scaffold.js +0 -146
  1066. package/dist/src/core/register-shared-css.d.ts +0 -36
  1067. package/dist/src/core/register-shared-css.js +0 -112
  1068. package/dist/src/core/register-xpcshell-test.d.ts +0 -50
  1069. package/dist/src/core/register-xpcshell-test.js +0 -143
  1070. package/dist/src/core/run-log-redact.d.ts +0 -38
  1071. package/dist/src/core/run-log-redact.js +0 -69
  1072. package/dist/src/core/run-log.d.ts +0 -97
  1073. package/dist/src/core/run-log.js +0 -334
  1074. package/dist/src/core/run-profile.d.ts +0 -57
  1075. package/dist/src/core/run-profile.js +0 -137
  1076. package/dist/src/core/shared-ftl.d.ts +0 -28
  1077. package/dist/src/core/shared-ftl.js +0 -49
  1078. package/dist/src/core/signal-critical.d.ts +0 -38
  1079. package/dist/src/core/signal-critical.js +0 -62
  1080. package/dist/src/core/smoke-patterns.d.ts +0 -81
  1081. package/dist/src/core/smoke-patterns.js +0 -176
  1082. package/dist/src/core/state-file.d.ts +0 -60
  1083. package/dist/src/core/state-file.js +0 -71
  1084. package/dist/src/core/status-binary.d.ts +0 -62
  1085. package/dist/src/core/status-binary.js +0 -133
  1086. package/dist/src/core/status-classify.d.ts +0 -96
  1087. package/dist/src/core/status-classify.js +0 -244
  1088. package/dist/src/core/test-changed-prefs.d.ts +0 -30
  1089. package/dist/src/core/test-changed-prefs.js +0 -93
  1090. package/dist/src/core/test-harness-crash.d.ts +0 -251
  1091. package/dist/src/core/test-harness-crash.js +0 -780
  1092. package/dist/src/core/test-harness-infra.d.ts +0 -32
  1093. package/dist/src/core/test-harness-infra.js +0 -69
  1094. package/dist/src/core/test-harness-output.d.ts +0 -45
  1095. package/dist/src/core/test-harness-output.js +0 -119
  1096. package/dist/src/core/test-harness-signature.d.ts +0 -57
  1097. package/dist/src/core/test-harness-signature.js +0 -35
  1098. package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
  1099. package/dist/src/core/test-harness-verdict-notes.js +0 -48
  1100. package/dist/src/core/test-host-state.d.ts +0 -14
  1101. package/dist/src/core/test-host-state.js +0 -80
  1102. package/dist/src/core/test-path-scope.d.ts +0 -59
  1103. package/dist/src/core/test-path-scope.js +0 -147
  1104. package/dist/src/core/test-profile-files.d.ts +0 -17
  1105. package/dist/src/core/test-profile-files.js +0 -75
  1106. package/dist/src/core/test-raw-log.d.ts +0 -66
  1107. package/dist/src/core/test-raw-log.js +0 -122
  1108. package/dist/src/core/test-run-completeness.d.ts +0 -97
  1109. package/dist/src/core/test-run-completeness.js +0 -191
  1110. package/dist/src/core/test-stale-check.d.ts +0 -213
  1111. package/dist/src/core/test-stale-check.js +0 -396
  1112. package/dist/src/core/test-stale-exempt.d.ts +0 -40
  1113. package/dist/src/core/test-stale-exempt.js +0 -70
  1114. package/dist/src/core/test-stale-symlink.d.ts +0 -12
  1115. package/dist/src/core/test-stale-symlink.js +0 -39
  1116. package/dist/src/core/test-stall-triage.d.ts +0 -51
  1117. package/dist/src/core/test-stall-triage.js +0 -142
  1118. package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
  1119. package/dist/src/core/test-xpcshell-retry.js +0 -31
  1120. package/dist/src/core/token-category.d.ts +0 -54
  1121. package/dist/src/core/token-category.js +0 -299
  1122. package/dist/src/core/token-coverage.d.ts +0 -12
  1123. package/dist/src/core/token-coverage.js +0 -96
  1124. package/dist/src/core/token-dark-mode.d.ts +0 -64
  1125. package/dist/src/core/token-dark-mode.js +0 -186
  1126. package/dist/src/core/token-docs.d.ts +0 -34
  1127. package/dist/src/core/token-docs.js +0 -102
  1128. package/dist/src/core/token-inventory.d.ts +0 -56
  1129. package/dist/src/core/token-inventory.js +0 -114
  1130. package/dist/src/core/token-lint.d.ts +0 -53
  1131. package/dist/src/core/token-lint.js +0 -131
  1132. package/dist/src/core/token-manager.d.ts +0 -87
  1133. package/dist/src/core/token-manager.js +0 -407
  1134. package/dist/src/core/token-scaffold.d.ts +0 -36
  1135. package/dist/src/core/token-scaffold.js +0 -73
  1136. package/dist/src/core/token-sibling-sheets.d.ts +0 -46
  1137. package/dist/src/core/token-sibling-sheets.js +0 -119
  1138. package/dist/src/core/token-variant.d.ts +0 -90
  1139. package/dist/src/core/token-variant.js +0 -327
  1140. package/dist/src/core/toolchain-preflight.d.ts +0 -90
  1141. package/dist/src/core/toolchain-preflight.js +0 -251
  1142. package/dist/src/core/tree-cow.d.ts +0 -16
  1143. package/dist/src/core/tree-cow.js +0 -71
  1144. package/dist/src/core/tree-guard.d.ts +0 -35
  1145. package/dist/src/core/tree-guard.js +0 -194
  1146. package/dist/src/core/tree-store.d.ts +0 -143
  1147. package/dist/src/core/tree-store.js +0 -478
  1148. package/dist/src/core/typecheck-explain.d.ts +0 -93
  1149. package/dist/src/core/typecheck-explain.js +0 -213
  1150. package/dist/src/core/typecheck-shim.d.ts +0 -90
  1151. package/dist/src/core/typecheck-shim.js +0 -508
  1152. package/dist/src/core/typecheck.d.ts +0 -97
  1153. package/dist/src/core/typecheck.js +0 -457
  1154. package/dist/src/core/wire-destroy.d.ts +0 -25
  1155. package/dist/src/core/wire-destroy.js +0 -126
  1156. package/dist/src/core/wire-dom-fragment.d.ts +0 -44
  1157. package/dist/src/core/wire-dom-fragment.js +0 -139
  1158. package/dist/src/core/wire-init.d.ts +0 -28
  1159. package/dist/src/core/wire-init.js +0 -219
  1160. package/dist/src/core/wire-subscript.d.ts +0 -23
  1161. package/dist/src/core/wire-subscript.js +0 -145
  1162. package/dist/src/core/wire-utils.d.ts +0 -149
  1163. package/dist/src/core/wire-utils.js +0 -338
  1164. package/dist/src/core/xpcshell-appdir.d.ts +0 -157
  1165. package/dist/src/core/xpcshell-appdir.js +0 -299
  1166. package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
  1167. package/dist/src/core/xpcshell-profile-dir.js +0 -45
  1168. package/dist/src/errors/base.d.ts +0 -217
  1169. package/dist/src/errors/base.js +0 -279
  1170. package/dist/src/errors/build.d.ts +0 -92
  1171. package/dist/src/errors/build.js +0 -166
  1172. package/dist/src/errors/codes.d.ts +0 -74
  1173. package/dist/src/errors/codes.js +0 -74
  1174. package/dist/src/errors/config.d.ts +0 -17
  1175. package/dist/src/errors/config.js +0 -39
  1176. package/dist/src/errors/download.d.ts +0 -66
  1177. package/dist/src/errors/download.js +0 -160
  1178. package/dist/src/errors/furnace.d.ts +0 -20
  1179. package/dist/src/errors/furnace.js +0 -28
  1180. package/dist/src/errors/git.d.ts +0 -65
  1181. package/dist/src/errors/git.js +0 -140
  1182. package/dist/src/errors/patch.d.ts +0 -27
  1183. package/dist/src/errors/patch.js +0 -52
  1184. package/dist/src/errors/rebase.d.ts +0 -42
  1185. package/dist/src/errors/rebase.js +0 -71
  1186. package/dist/src/errors/run.d.ts +0 -16
  1187. package/dist/src/errors/run.js +0 -22
  1188. package/dist/src/index.d.ts +0 -42
  1189. package/dist/src/index.js +0 -32
  1190. package/dist/src/types/cli.d.ts +0 -14
  1191. package/dist/src/types/commands/index.d.ts +0 -6
  1192. package/dist/src/types/commands/index.js +0 -5
  1193. package/dist/src/types/commands/options.d.ts +0 -1372
  1194. package/dist/src/types/commands/options.js +0 -5
  1195. package/dist/src/types/commands/patches.d.ts +0 -352
  1196. package/dist/src/types/commands/patches.js +0 -5
  1197. package/dist/src/types/commands/project.d.ts +0 -51
  1198. package/dist/src/types/commands/project.js +0 -5
  1199. package/dist/src/types/config.d.ts +0 -732
  1200. package/dist/src/types/config.js +0 -15
  1201. package/dist/src/types/furnace.d.ts +0 -422
  1202. package/dist/src/types/furnace.js +0 -26
  1203. package/dist/src/types/index.d.ts +0 -5
  1204. package/dist/src/types/index.js +0 -5
  1205. package/dist/src/types/json.d.ts +0 -22
  1206. package/dist/src/types/json.js +0 -11
  1207. package/dist/src/types/typecheck.d.ts +0 -51
  1208. package/dist/src/types/typecheck.js +0 -14
  1209. package/dist/src/utils/assert.d.ts +0 -34
  1210. package/dist/src/utils/assert.js +0 -61
  1211. package/dist/src/utils/build-info.d.ts +0 -30
  1212. package/dist/src/utils/build-info.js +0 -99
  1213. package/dist/src/utils/child-env.d.ts +0 -28
  1214. package/dist/src/utils/child-env.js +0 -27
  1215. package/dist/src/utils/concurrency.d.ts +0 -8
  1216. package/dist/src/utils/concurrency.js +0 -32
  1217. package/dist/src/utils/elapsed.d.ts +0 -2
  1218. package/dist/src/utils/elapsed.js +0 -23
  1219. package/dist/src/utils/errors.d.ts +0 -39
  1220. package/dist/src/utils/errors.js +0 -67
  1221. package/dist/src/utils/fs.d.ts +0 -113
  1222. package/dist/src/utils/fs.js +0 -337
  1223. package/dist/src/utils/hash.d.ts +0 -12
  1224. package/dist/src/utils/hash.js +0 -16
  1225. package/dist/src/utils/line-dispatch.d.ts +0 -15
  1226. package/dist/src/utils/line-dispatch.js +0 -48
  1227. package/dist/src/utils/logger.d.ts +0 -109
  1228. package/dist/src/utils/logger.js +0 -270
  1229. package/dist/src/utils/machine-output.d.ts +0 -12
  1230. package/dist/src/utils/machine-output.js +0 -33
  1231. package/dist/src/utils/options.d.ts +0 -155
  1232. package/dist/src/utils/options.js +0 -312
  1233. package/dist/src/utils/package-root.d.ts +0 -21
  1234. package/dist/src/utils/package-root.js +0 -70
  1235. package/dist/src/utils/parse.d.ts +0 -117
  1236. package/dist/src/utils/parse.js +0 -214
  1237. package/dist/src/utils/path-glob.d.ts +0 -15
  1238. package/dist/src/utils/path-glob.js +0 -47
  1239. package/dist/src/utils/paths.d.ts +0 -31
  1240. package/dist/src/utils/paths.js +0 -80
  1241. package/dist/src/utils/platform.d.ts +0 -9
  1242. package/dist/src/utils/platform.js +0 -14
  1243. package/dist/src/utils/process-group.d.ts +0 -42
  1244. package/dist/src/utils/process-group.js +0 -190
  1245. package/dist/src/utils/process-input.d.ts +0 -27
  1246. package/dist/src/utils/process-input.js +0 -46
  1247. package/dist/src/utils/process.d.ts +0 -293
  1248. package/dist/src/utils/process.js +0 -593
  1249. package/dist/src/utils/ps-duration.d.ts +0 -31
  1250. package/dist/src/utils/ps-duration.js +0 -70
  1251. package/dist/src/utils/regex.d.ts +0 -39
  1252. package/dist/src/utils/regex.js +0 -109
  1253. package/dist/src/utils/sleep.d.ts +0 -25
  1254. package/dist/src/utils/sleep.js +0 -30
  1255. package/dist/src/utils/stdio-drain.d.ts +0 -28
  1256. package/dist/src/utils/stdio-drain.js +0 -54
  1257. package/dist/src/utils/validation.d.ts +0 -182
  1258. package/dist/src/utils/validation.js +0 -394
  1259. package/docs/lifecycle-invariants.md +0 -523
  1260. package/docs/run-logs.md +0 -122
  1261. package/docs/verification-trees.md +0 -49
  1262. /package/dist/src/{types/cli.js → cli/context.js} +0 -0
@@ -1,1372 +0,0 @@
1
- /**
2
- * Command option types for CLI commands.
3
- */
4
- import type { FirefoxProduct, ProjectLicense } from '../config.js';
5
- import type { PatchCategory, PatchSizeShare } from './patches.js';
6
- /**
7
- * `--dry-run`: print the planned change and exit without writing anything.
8
- *
9
- * Twenty-four option types spelled this field with five different doc
10
- * comments for one behaviour. The contract is uniform and load-bearing (a
11
- * dry run must perform every check the real run does and then write
12
- * nothing), so it is stated once.
13
- */
14
- export interface DryRunnable {
15
- /** Print the planned change without writing anything. */
16
- dryRun?: boolean;
17
- }
18
- /**
19
- * `--yes`: answer the confirmation prompt non-interactively.
20
- *
21
- * Required for non-TTY runs, where there is no prompt to answer. It waives
22
- * the prompt only, never a safety gate. Flags that waive a refusal are
23
- * spelled `--force*` and live on their own types.
24
- */
25
- export interface Confirmable {
26
- /** Skip the confirmation prompt. Required for non-TTY runs. */
27
- yes?: boolean;
28
- }
29
- /**
30
- * `--force-unsafe`: proceed past a refusal the command would otherwise raise.
31
- *
32
- * Distinct from {@link Confirmable}: this waives a correctness gate (a
33
- * projected-lint failure, a patchPolicy violation), not a prompt.
34
- */
35
- export interface UnsafeOverridable {
36
- /** Bypass refusals the command would otherwise raise. */
37
- forceUnsafe?: boolean;
38
- }
39
- /**
40
- * `--wait-lock [seconds]` for commands that take the ENGINE SESSION lock.
41
- *
42
- * Parsed at the CLI layer (`true` for the bare flag, meaning 60 seconds) and
43
- * consumed there to bound the wait. The command implementation ignores it.
44
- */
45
- export interface EngineLockWaitable {
46
- /** Parsed `--wait-lock [seconds]` value. `true` means the 60-second default. */
47
- waitLock?: number | boolean;
48
- }
49
- /**
50
- * `--wait-lock [seconds]` for commands that mutate patch metadata under the
51
- * PATCH DIRECTORY lock.
52
- *
53
- * Separate from {@link EngineLockWaitable}: the two flags share a
54
- * spelling but bound different locks, and a reader needs to know which one a
55
- * command contends for.
56
- */
57
- export interface PatchLockWaitable {
58
- /** Wait budget for the patch directory lock (`--wait-lock [seconds]`). */
59
- waitLock?: number | boolean;
60
- }
61
- /**
62
- * Options for the setup command.
63
- */
64
- export interface SetupOptions {
65
- /** Browser name */
66
- name?: string;
67
- /** Vendor/company name */
68
- vendor?: string;
69
- /** Application ID (reverse-domain format) */
70
- appId?: string;
71
- /** Binary name (executable name) */
72
- binaryName?: string;
73
- /** Firefox version to base on */
74
- firefoxVersion?: string;
75
- /** Firefox product type (firefox, firefox-esr, firefox-beta, firefox-devedition) */
76
- product?: FirefoxProduct;
77
- /** Overwrite existing configuration without prompting */
78
- force?: boolean;
79
- /** Project license SPDX identifier */
80
- license?: ProjectLicense;
81
- }
82
- /**
83
- * Options for the download command.
84
- */
85
- export interface DownloadOptions {
86
- /** Force re-download, deleting existing engine/ */
87
- force?: boolean;
88
- /** With `force`: skip the confirmation for an engine with changes to lose */
89
- yes?: boolean;
90
- }
91
- /**
92
- * Options for the source command.
93
- */
94
- export interface SourceSetOptions {
95
- /** Firefox version to set */
96
- version: string;
97
- /** Firefox product type */
98
- product: FirefoxProduct;
99
- /** Optional pinned SHA-256 for the resolved source archive */
100
- sha256?: string;
101
- /** Clear any existing pinned SHA-256 */
102
- clearSha256?: boolean;
103
- /** Optional release-candidate build directory (e.g. "build2") */
104
- candidate?: string;
105
- /** Clear any existing release-candidate build directory */
106
- clearCandidate?: boolean;
107
- }
108
- /**
109
- * Options for the build command.
110
- */
111
- export interface BuildOptions extends EngineLockWaitable {
112
- /** Wait for the objdir browser before deploying/building. */
113
- waitBrowser?: number | boolean;
114
- /** Also write the run log here, outside `.fireforge/logs/` retention. */
115
- keepLog?: string;
116
- /** Fast UI-only rebuild */
117
- ui?: boolean;
118
- /** Number of parallel jobs */
119
- jobs?: number;
120
- /** Brand to build (stable, esr, etc.) */
121
- brand?: string;
122
- /**
123
- * When a mozinfo mismatch is detected that looks like a safe path
124
- * relocation (same structure, different prefix), patch mozinfo paths
125
- * in place and run `mach configure` rather than aborting with a
126
- * full-rebuild instruction. Falls back to the original abort message
127
- * for any mismatch the rewriter cannot prove safe.
128
- */
129
- rewriteMozinfo?: boolean;
130
- /**
131
- * Refuse the build (rather than warn) when it would overwrite engine
132
- * content recorded in neither a patch body nor the pristine baseline.
133
- * The default is a loud warning, because an interactive
134
- * operator often means to discard the drift. A scripted gate on a
135
- * multi-session checkout wants the hard stop.
136
- */
137
- refuseUnexportedDrift?: boolean;
138
- }
139
- /**
140
- * Options for the export command.
141
- */
142
- export interface ExportOptions extends EngineLockWaitable {
143
- /** Name/description for the patch */
144
- name?: string;
145
- /** Category classification */
146
- category?: PatchCategory;
147
- /** Detailed description of what the patch does */
148
- description?: string;
149
- /** Allow superseding multiple existing patches without confirmation */
150
- supersede?: boolean;
151
- /** Skip patch lint checks (downgrade errors to warnings) */
152
- skipLint?: boolean;
153
- /**
154
- * Print the computed export plan without writing anything. With
155
- * `--supersede`, the dry-run output includes which existing patches would
156
- * be superseded and which files caused the coverage.
157
- */
158
- dryRun?: boolean;
159
- /** Place the new patch at this exact unused order without renumbering existing patches. */
160
- order?: number;
161
- /** Place the new patch immediately before the named patch. */
162
- before?: string;
163
- /** Place the new patch immediately after the named patch. */
164
- after?: string;
165
- /**
166
- * Skip the confirmation prompt when placement forces a renumber of more
167
- * than one existing patch. Required for non-TTY runs that use placement
168
- * flags.
169
- */
170
- yes?: boolean;
171
- /** Bypass cross-patch lint refusal for projected placement state. */
172
- forceUnsafe?: boolean;
173
- /** Exclude furnace-managed file paths from the export. */
174
- excludeFurnace?: boolean;
175
- /**
176
- * Export the deployed engine copy even when the `components/` source
177
- * changed since the last furnace apply. Without this flag the export is
178
- * refused so a stale deployed copy cannot silently land in the patch.
179
- */
180
- allowStaleFurnace?: boolean;
181
- /**
182
- * Acknowledge that the export will create cross-patch ownership overlap
183
- * with existing non-superseded patches. Without this flag, `export`
184
- * refuses when one or more `filesAffected` are already claimed by
185
- * another patch, because the resulting queue fails `verify` immediately.
186
- */
187
- allowOverlap?: boolean;
188
- /**
189
- * Force a tier override on the new patch's `PatchMetadata.tier`. Only
190
- * `"branding"` is currently recognised. Commander rejects other values
191
- * before the handler runs. Use when a branding patch legitimately
192
- * touches a non-allowlisted sibling that `isBrandingOnlyPatch` cannot
193
- * reach (a fork-specific theme override under `browser/themes/<name>/`,
194
- * a vendor-specific icon resource, etc.).
195
- */
196
- tier?: 'branding';
197
- /**
198
- * Lint check IDs to suppress on this patch. Writes to
199
- * `PatchMetadata.lintIgnore`. Repeatable on the CLI, and each occurrence
200
- * appends to the list. Useful when a patch is advisory-noisy by nature
201
- * (a cohesive branding bundle, an auto-generated manifest) and a
202
- * specific check does not apply, but `--skip-lint` is too coarse a
203
- * hammer.
204
- */
205
- lintIgnore?: string[];
206
- }
207
- /**
208
- * Options for the reset command.
209
- */
210
- export interface ResetOptions extends Confirmable {
211
- /** Show what would be reset without doing it */
212
- dryRun?: boolean;
213
- }
214
- /**
215
- * Options for the discard command.
216
- */
217
- export interface DiscardOptions extends Confirmable {
218
- /**
219
- * Restore to pristine upstream (HEAD) instead of the patch-applied
220
- * baseline, deleting patch-created files.
221
- */
222
- toUpstream?: boolean;
223
- /** Show what would be discarded without doing it */
224
- dryRun?: boolean;
225
- }
226
- /**
227
- * Options for the package command.
228
- */
229
- export interface PackageOptions {
230
- /** Brand to package */
231
- brand?: string;
232
- }
233
- /**
234
- * Options for the import command.
235
- */
236
- export interface ImportOptions {
237
- /**
238
- * Answer the engine-drift prompt non-interactively. Unlike `force`,
239
- * this does not waive the patch-integrity gate.
240
- */
241
- yes?: boolean;
242
- /** Specific patches to apply (by name) */
243
- patches?: string[];
244
- /** Continue applying patches even if one fails */
245
- continue?: boolean;
246
- /** Force import even when engine HEAD has drifted from base commit */
247
- force?: boolean;
248
- /**
249
- * Apply patches only up to and including this patch (by name or ordinal).
250
- * Subsequent patches are left unapplied. Useful for bisection and curated
251
- * rebuild workflows.
252
- */
253
- until?: string;
254
- /** Preview which patches would be applied without modifying the engine */
255
- dryRun?: boolean;
256
- }
257
- /**
258
- * Options for the re-export command.
259
- */
260
- export interface ReExportOptions extends EngineLockWaitable {
261
- /** Re-export all patches */
262
- all?: boolean;
263
- /** Scan directories for new/removed files and update filesAffected */
264
- scan?: boolean;
265
- /**
266
- * Explicit engine-relative files to add while scanning. Unlike broad
267
- * `--scan`, this does not collect adjacent files from the same directory.
268
- * Requires `--scan`. A `<patch>:<path>` entry names its owning patch, which
269
- * a call with several target patches requires; selected patches without
270
- * an entry then refresh scan-less.
271
- */
272
- scanFiles?: string[];
273
- /**
274
- * Path to a JSON manifest containing bulk scan assignments:
275
- * `{ "assignments": [{ "patch": "<patch>", "files": ["path"] }] }`.
276
- * Requires `--scan`. Mutually exclusive with positional patches, `--all`,
277
- * `--scan-file`, and `--files`.
278
- */
279
- scanFilesManifest?: string;
280
- /**
281
- * Restrict the re-exported patch's filesAffected to this explicit list.
282
- * Files currently in the patch but not in this list are dropped (shrink).
283
- * Files in this list but not currently in the patch are added. Mutually
284
- * exclusive with `--scan` and `--all`. Applies to a single target patch
285
- * at a time.
286
- */
287
- files?: string[];
288
- /** Show what would change without writing */
289
- dryRun?: boolean;
290
- /** Skip patch lint checks (downgrade errors to warnings) */
291
- skipLint?: boolean;
292
- /** Skip confirmation prompt on shrink (required for non-TTY) */
293
- yes?: boolean;
294
- /**
295
- * Explicitly allow `--files` to remove paths that are currently owned by
296
- * the patch. Without this acknowledgement, non-dry-run shrinks are refused
297
- * before the interactive/`--yes` confirmation path.
298
- */
299
- allowShrink?: boolean;
300
- /**
301
- * Export the deployed engine copy even when the `components/` source
302
- * changed since the last furnace apply. Without this flag the re-export
303
- * is refused so a stale deployed copy cannot silently land in the patch.
304
- */
305
- allowStaleFurnace?: boolean;
306
- /** Bypass cross-patch lint refusal on projected shrink state */
307
- forceUnsafe?: boolean;
308
- /**
309
- * After every selected patch re-exports cleanly, stamp each re-exported
310
- * patch's `sourceEsrVersion` in `patches.json` to the current
311
- * `firefox.version` from `fireforge.json`. Opt-in because the default
312
- * contract of `re-export` is "refresh the patch body and filesAffected".
313
- * Version stamping is normally a `rebase` responsibility. Use this when
314
- * re-exporting after a manual Firefox bump that did not go through
315
- * `rebase`.
316
- */
317
- stamp?: boolean;
318
- /**
319
- * Force a tier override on the selected patch(es). Only `"branding"` is
320
- * currently recognised. Mutually exclusive with `--all`, since mass
321
- * tier changes are virtually always footguns: different patches in
322
- * the queue have different shapes.
323
- */
324
- tier?: 'branding';
325
- /**
326
- * Lint check IDs to suppress, appended (union) to the patch's existing
327
- * `lintIgnore` list. De-duplicated. Mutually exclusive with `--all`. To
328
- * remove an entry or clear the list, use `fireforge patch lint-ignore`,
329
- * which has explicit `--add` / `--remove` / `--clear` modes.
330
- */
331
- lintIgnore?: string[];
332
- /**
333
- * Refuse (non-zero exit, patch not written) a scan-less re-export when
334
- * unmanaged files exist adjacent to the patch's ownership, instead of
335
- * warning. Gate-driven workflows use this so a freshly created file
336
- * beside a patch's owned files cannot be silently left out of the
337
- * refreshed body. Beside `--scan` it judges the neighbours the scan did
338
- * not adopt. Mutually exclusive with `--files`, which sets filesAffected
339
- * explicitly.
340
- */
341
- refuseAdjacentUnmanaged?: boolean;
342
- /**
343
- * Bypass per-patch lint result cache reads and writes for this invocation
344
- * (`--no-cache`). The cache is what lets a repeat re-export of an unchanged
345
- * patch skip the checkJs program build entirely.
346
- */
347
- noCache?: boolean;
348
- /**
349
- * Refuse (non-zero exit, patch not written) a re-export whose refreshed
350
- * body would add or drop lines, in a file the patch already owns, that
351
- * the old patch body did not carry.
352
- * This is the multi-session guard against silently capturing another
353
- * session's uncommitted edits in files the patch already owns. The drift preview
354
- * always prints. This flag turns it into a hard stop. Beside `--scan` it
355
- * guards the files each patch already owns (adopted files count as
356
- * expected). Mutually exclusive with `--files`.
357
- */
358
- refuseForeignDrift?: boolean;
359
- /**
360
- * Engine-relative files whose drift is expected (`--expect`, repeatable).
361
- * Requires `--refuse-foreign-drift`. The content-based drift detector
362
- * cannot tell the exporting session's own slice edits from another
363
- * session's, so a slice export under the refusal flag names its intended
364
- * files here: drift confined to expected files proceeds, drift anywhere
365
- * else still refuses.
366
- */
367
- expect?: string[];
368
- /**
369
- * Engine-relative files that are an approved unmanaged exception
370
- * (`--expect-unmanaged`, repeatable). Requires
371
- * `--refuse-adjacent-unmanaged`. The adjacency refusal is all-or-nothing
372
- * without it: a project with a reviewed, intentionally unmanaged path
373
- * beside a patch's ownership has to drop the flag entirely and hand-read
374
- * the notice, which is a weaker belt than the one being disarmed.
375
- * Approved paths are still listed. They are carved out of the refusal
376
- * rather than hidden.
377
- */
378
- expectUnmanaged?: string[];
379
- /**
380
- * Engine-relative files this session created and will adopt with its next
381
- * export (`--expect-new`, repeatable). Requires
382
- * `--refuse-adjacent-unmanaged`. Lets the owners of a new file's
383
- * registration re-export first while a peer's unmanaged neighbour still
384
- * refuses. The path must be changed in engine/ and owned by no patch.
385
- */
386
- expectNew?: string[];
387
- /**
388
- * Reviewed ignore list for `--refuse-adjacent-unmanaged`
389
- * (`--adjacent-ignore`, repeatable): an engine-relative path, or a glob
390
- * whose `*` stays within one segment (`**` is refused). Matches are
391
- * reported, never refused.
392
- */
393
- adjacentIgnore?: string[];
394
- /**
395
- * Explicitly retire named files in a scan-less export: an absent file the
396
- * patch created, or a patch-modified upstream file whose engine copy is
397
- * back at HEAD.
398
- */
399
- expectRemoved?: string[];
400
- /**
401
- * Where a refused `--scan` adoption writes its one `--from`-ready
402
- * declaration report (`--declarations-out`). Defaults to
403
- * `.fireforge/declarations/`.
404
- */
405
- declarationsOut?: string;
406
- /**
407
- * `--hunks-from <diff>`: export each named file as the patch's current
408
- * body plus only the hunks in this diff, leaving every other session's
409
- * edits in the file out.
410
- */
411
- hunksFrom?: string;
412
- /**
413
- * `--exclude-hunks <diff>`: export each named file as the working tree
414
- * minus the hunks in this diff.
415
- */
416
- excludeHunks?: string;
417
- }
418
- /**
419
- * Options for the `fireforge patch tier` subcommand. Sets or clears the
420
- * `PatchMetadata.tier` field on a single patch without rewriting the
421
- * `.patch` file body. The manifest is the only thing that changes.
422
- */
423
- export interface PatchTierOptions extends Confirmable, DryRunnable, PatchLockWaitable {
424
- /** Force the named tier on the patch. Only `"branding"` is recognised. */
425
- tier?: 'branding';
426
- /** Remove the `tier` override entirely, restoring auto-detection. */
427
- clear?: boolean;
428
- }
429
- /**
430
- * Options for the `fireforge patch lint-ignore` subcommand. Modes are
431
- * mutually exclusive: exactly one of `add`, `remove`, or `clear` must
432
- * be set per invocation.
433
- */
434
- export interface PatchLintIgnoreOptions extends Confirmable, DryRunnable, PatchLockWaitable {
435
- /** Lint check IDs to add to the patch's `lintIgnore` list (union, de-duped). */
436
- add?: string[];
437
- /** Lint check IDs to remove from the patch's `lintIgnore` list. */
438
- remove?: string[];
439
- /** Drop the `lintIgnore` field entirely. */
440
- clear?: boolean;
441
- /**
442
- * With `add`: write `{ rule, max, reason }` ceiling entries instead of
443
- * bare IDs. Only the measured size rules accept one. Requires `reason`.
444
- */
445
- max?: number;
446
- /** Why the ceiling exists. Required with `max` or a `<rule>=<max>` add. */
447
- reason?: string;
448
- /** With a ceiling on `large-patch-lines`: the share it bounds. */
449
- share?: PatchSizeShare;
450
- /**
451
- * Add every entry in a JSON file under one lock hold: an array of
452
- * entries, or a lint report whose ceilings for the patch are rebaselined.
453
- */
454
- from?: string;
455
- }
456
- /**
457
- * Options for the `fireforge patch staged-dependency` subcommand. Modes are
458
- * mutually exclusive: add a declaration, remove one or more matching
459
- * declarations, or clear all staged dependencies from the patch.
460
- */
461
- export interface PatchStagedDependencyOptions extends Confirmable, DryRunnable, PatchLockWaitable {
462
- /** Add a staged dependency declaration. */
463
- add?: boolean;
464
- /** Remove matching staged dependency declarations. */
465
- remove?: boolean;
466
- /** Drop the stagedDependencies field entirely. */
467
- clear?: boolean;
468
- /**
469
- * Declaration shape: `import` (forward import, the default when unset) or
470
- * `registration` (jar.mn packaging line, customElements or actor
471
- * registration). Registration entries use `line` instead of `specifier`.
472
- */
473
- kind?: string;
474
- /** Declaring file path relative to engine/. */
475
- file?: string;
476
- /** Exact import specifier as it appears in source (`kind: import`). */
477
- specifier?: string;
478
- /**
479
- * Registration/packaging line as the patch adds it, compared
480
- * whitespace-trimmed (`kind: registration`).
481
- */
482
- line?: string;
483
- /** Later-created file path relative to engine/. */
484
- creates?: string;
485
- /** Optional exact patch filename expected to create `creates`. */
486
- owner?: string;
487
- /** Optional human-readable rationale stored with the declaration. */
488
- reason?: string;
489
- /**
490
- * JSON file of declarations to add in one call (`--add` only): a
491
- * `lint --per-patch --report` document or a plain array of declarations.
492
- */
493
- from?: string;
494
- }
495
- /**
496
- * Options for the `patch split` command.
497
- */
498
- export interface PatchSplitOptions extends Confirmable, PatchLockWaitable, UnsafeOverridable {
499
- /** Files to move out of the source patch (engine-relative). */
500
- files: string[];
501
- /** Name for the new patch (used in its filename slug). */
502
- name: string;
503
- /** Category for the new patch. Defaults to the source patch's category. */
504
- category?: string;
505
- /** Description for the new patch. */
506
- description?: string;
507
- /** Exact sparse order for the new patch (mutually exclusive with before/after). */
508
- order?: number;
509
- /** Place the new patch before this patch identifier. */
510
- before?: string;
511
- /** Place the new patch after this patch identifier (default: the source). */
512
- after?: string;
513
- /** Preview without writing. */
514
- dryRun?: boolean;
515
- /** Skip per-patch lint of the projected bodies. */
516
- skipLint?: boolean;
517
- /** Where a refusal writes its one `--from`-ready declaration report. */
518
- declarationsOut?: string;
519
- /** Write the committed old-to-new filename map of renumbered patches here as JSON. */
520
- mapOut?: string;
521
- }
522
- /**
523
- * Options for the `fireforge patch move-files` subcommand. Without
524
- * `--create` it is preview-only: it validates an ownership transfer and
525
- * prints the explicit `re-export --files` commands needed to perform it.
526
- * With `--create --order <n>` the target patch is created at that order
527
- * and the files move into it as one split-style transaction.
528
- */
529
- export interface PatchMoveFilesOptions extends Confirmable, PatchLockWaitable, UnsafeOverridable {
530
- /** File paths relative to engine/ to move from the source patch to the target patch. */
531
- file?: string[];
532
- /** Create the target patch (transactional bootstrap of a split). Requires `order`. */
533
- create?: boolean;
534
- /** Exact sparse order for the created patch. Only valid with `create`. */
535
- order?: number;
536
- /** Category for the created patch. Defaults to the source patch's. */
537
- category?: string;
538
- /** Description for the created patch. */
539
- description?: string;
540
- /** Preview the create+move without writing. */
541
- dryRun?: boolean;
542
- /** Skip per-patch lint of the projected bodies. */
543
- skipLint?: boolean;
544
- /** Where a refusal writes its one `--from`-ready declaration report. */
545
- declarationsOut?: string;
546
- /**
547
- * New engine files no patch owns, adopted into the destination in the
548
- * same transaction (engine-relative, repeatable).
549
- */
550
- scanFile?: string[];
551
- /**
552
- * Allow the move to empty the source: re-point the declarations it owns
553
- * to the destination and retire its slot. Not valid with `create`.
554
- */
555
- retireEmpty?: boolean;
556
- }
557
- /**
558
- * Options for the rebase command.
559
- */
560
- export interface RebaseOptions {
561
- /**
562
- * Seconds to wait for the patch directory lock. The rebase loop rewrites
563
- * patch bodies under that lock.
564
- */
565
- waitLock?: number | boolean;
566
- /** Resume a previously interrupted rebase session */
567
- continue?: boolean;
568
- /** Cancel the current rebase session and restore engine */
569
- abort?: boolean;
570
- /** Show what would happen without modifying anything */
571
- dryRun?: boolean;
572
- /** Maximum fuzz factor for git apply (default 3) */
573
- maxFuzz?: number;
574
- /** Skip dirty-tree confirmation prompt */
575
- yes?: boolean;
576
- }
577
- /**
578
- * Options for the run command.
579
- */
580
- export interface RunOptions {
581
- /** Additional arguments to pass to the browser */
582
- args?: string[];
583
- /** Launch with this profile directory, passed to Firefox as `-profile`. */
584
- profile?: string;
585
- /**
586
- * Launch with a fresh temporary profile, removed when the run ends.
587
- * Implied by `smokeExit` unless `profile` is given.
588
- */
589
- tempProfile?: boolean;
590
- /**
591
- * Pass `-purgecaches` with a named `profile`, so Firefox discards the
592
- * profile's startup cache (compiled chrome scripts) before it runs. A UI
593
- * build keeps the build id the cache is keyed on, so a kept profile would
594
- * otherwise run the chrome scripts an earlier build cached. Default
595
- * `true`; `--no-purge-caches` sets `false`. Fresh temporary profiles and
596
- * mach's own profile-default (cleaned before every run) have no cache to
597
- * purge.
598
- */
599
- purgeCaches?: boolean;
600
- /**
601
- * Enable smoke-run mode. Launches the browser, streams the console,
602
- * sends SIGTERM to the whole process group after `smokeExit` seconds,
603
- * and applies the smoke exit contract:
604
- * - `0`: clean window (no unallowed error lines).
605
- * - `ExitCode.SMOKE_EXIT_FAILURE` (12): one or more console lines
606
- * matched the error heuristic and were not covered by the allowlist.
607
- * - `ExitCode.SMOKE_LAUNCH_FAILURE` (13): the browser exited with a
608
- * non-clean status before the smoke window elapsed (a launch-side
609
- * failure we cannot observe as a console line, such as a crash
610
- * before console wiring, or a missing profile), or exited before the
611
- * window with no browser console output at all (a launch that never
612
- * reached a window, such as a profile in a startup-crash streak).
613
- *
614
- * POSIX only (process-group semantics do not map cleanly onto Windows).
615
- * `runSmokeExit` rejects the flag up front on `win32`.
616
- */
617
- smokeExit?: number;
618
- /**
619
- * Repeatable regex patterns that mark a matching console line as
620
- * benign. Matches are still counted for the summary but do not drive
621
- * the smoke-run exit code.
622
- */
623
- consoleAllow?: string[];
624
- /**
625
- * Path to a newline-delimited allowlist regex file. Blank lines and
626
- * `#` comments are ignored. Each remaining line is compiled as a
627
- * regex and appended to the active allowlist.
628
- */
629
- consoleAllowFile?: string;
630
- /**
631
- * Mirror the captured console output to this file path so agents can
632
- * inspect the raw stream after smoke-exit returns.
633
- */
634
- captureConsole?: string;
635
- /**
636
- * Launch the browser with `--headless` (forwarded to the binary via
637
- * `mach run`). Primarily for smoke mode on shared desktops: a headed
638
- * smoke window absorbs live keyboard/mouse input, and the resulting
639
- * console errors contaminate the capture and can fail the run.
640
- */
641
- headless?: boolean;
642
- }
643
- /**
644
- * Options for the test command.
645
- */
646
- export interface TestOptions extends EngineLockWaitable {
647
- /** Queue behind a browser using this objdir; bare flag means 60 seconds. */
648
- waitBrowser?: number | boolean;
649
- /** Queue behind the mochitest/Marionette port holder. */
650
- waitPort?: number | boolean;
651
- /**
652
- * The `--wait-browser`/`--wait-port` budgets the pre-lock pass already
653
- * spent (and stripped from `waitBrowser`/`waitPort`). The first in-lock
654
- * check probes once; a check that follows work this invocation did under
655
- * the lock (its pre-test build, or an earlier run of a `--repeat` or
656
- * `--negative-control` sequence) waits them out again, because refusing
657
- * there throws that work away.
658
- */
659
- spentWaits?: {
660
- waitBrowser?: number | boolean;
661
- waitPort?: number | boolean;
662
- };
663
- /** Also write the run log here, outside `.fireforge/logs/` retention. */
664
- keepLog?: string;
665
- /** Forward mochitest's `--restart-between-tests` (mochitest dispatch only). */
666
- restartBetweenTests?: boolean;
667
- /** Copy a file into the profile at a relative destination (repeatable source=destination). */
668
- profileFile?: string[];
669
- /** Run tests in headless mode */
670
- headless?: boolean;
671
- /**
672
- * Pass mozbuild's full verbosity through for the TEST phase by unsetting
673
- * the coding-agent markers it quiets output on. Off by default, because
674
- * that quieting is worth keeping for builds.
675
- */
676
- fullOutput?: boolean;
677
- /** Run incremental UI build before testing */
678
- build?: boolean;
679
- /**
680
- * Run the scoped pre-test build (packaging exactly the requested paths,
681
- * MIXED harnesses allowed) and exit without dispatching tests. One
682
- * ~10-minute build then covers both an xpcshell and a browser-chrome
683
- * half of a slice. Run each harness afterwards without `--build`.
684
- * Emits `FIREFORGE-VERDICT: PASS` on success.
685
- */
686
- buildOnly?: boolean;
687
- /**
688
- * Refuse, before the build, instead of dropping any earlier packaging
689
- * claim. Scoped builds keep earlier paths by default while each path's own
690
- * staging inputs and `engine/mozconfig` are unchanged; this flag makes a
691
- * drop fail-closed. Valid only with `--build`/`--build-only` and explicit
692
- * paths. See `src/core/coverage-extend.ts`.
693
- */
694
- extendCoverage?: boolean;
695
- /**
696
- * Forwarded to the PRE-TEST build: refuse (rather than warn) when that
697
- * build would overwrite engine content recorded in neither a patch body
698
- * nor the pristine baseline. Same meaning as `fireforge build`'s flag of
699
- * the same name. A scripted `test --build` is exactly the shape the
700
- * multi-session hazard shows up in, so it must be able to arm the
701
- * refusal too. Valid only with `--build`/`--build-only`.
702
- */
703
- refuseUnexportedDrift?: boolean;
704
- /**
705
- * Which components the pre-test build deploys: `all` (default), `reached`
706
- * (only those a requested test reaches) or `none`. `false` is
707
- * `--no-furnace-apply`, the same as `none`. Valid only with
708
- * `--build`/`--build-only`.
709
- */
710
- furnaceApply?: boolean | 'all' | 'reached' | 'none';
711
- /** Forward mach's pathless auto-selection mode. Valid only with no explicit paths. */
712
- auto?: boolean;
713
- /**
714
- * Run a marionette preflight before tests. Reports PASS/FAIL in under a
715
- * minute. When test paths are supplied, a FAIL aborts before mach test is
716
- * spawned. When no paths are supplied, runs the preflight only and exits.
717
- */
718
- doctor?: boolean;
719
- /**
720
- * Extra arguments forwarded verbatim to `mach test` (repeatable). Escape
721
- * valve for upstream xpcshell/mochitest flags that FireForge does not
722
- * model directly. Order relative to other flags is preserved, and
723
- * passthrough values appear after `--headless` if both are set.
724
- */
725
- machArg?: string[];
726
- /**
727
- * Override the Marionette control port (default 2828) used by the
728
- * stale-browser probe, the `--doctor` preflight, and (unless mach args set
729
- * `--flavor=xpcshell` / `xpcshell-tests`) auto-forwarded mach flags:
730
- * `--setpref=marionette.port=<n>` for the browser listener and
731
- * `--marionette=127.0.0.1:<n>` for the mochitest harness client. Omits the
732
- * client flag when `--mach-arg` already passes `--marionette`. Set when a
733
- * stale process holds the default port or CI uses another port.
734
- */
735
- marionettePort?: number;
736
- /** Kill a recognized stale browser process holding the Marionette port, then continue. */
737
- killStaleMarionette?: boolean;
738
- /**
739
- * Terminate harness helper processes (`xpcshell` httpd, `pywebsocket`,
740
- * `ssltunnel`, `moz-http2`) that survived an earlier run in this
741
- * project's objdir. The census itself runs on every test dispatch and is
742
- * report-only. This flag opts into the kill. Survivors slow later runs
743
- * without appearing in their output, so the visibility is the default and
744
- * the termination is the choice. `test.reapOrphans: "reap"` in
745
- * `fireforge.json` makes it the repo's default.
746
- */
747
- reapOrphans?: boolean;
748
- /**
749
- * Path to write the harness process-group id to, rewritten on every mach
750
- * spawn (each retry attempt and shard) and removed when the run ends under
751
- * FireForge's control. mach runs as its own process-group leader, so a
752
- * supervisor's kill of its own group never reaches it; a supervisor that
753
- * had to SIGKILL FireForge takes the whole harness tree afterwards with
754
- * `kill -- -<pgid>`. The file survives exactly that case, by design.
755
- */
756
- pgidFile?: string;
757
- /** Permit tests against packageable engine edits newer than the last successful build. */
758
- allowStaleBuild?: boolean;
759
- /**
760
- * Permit tests despite `components.conf` changes that only a full
761
- * `fireforge build` compiles into the StaticComponents table. The
762
- * packaged child process will resolve the old table. For operators who
763
- * rebuilt out-of-band and accept the risk. Distinct from
764
- * `allowStaleBuild`, which only accepts stale packaged content.
765
- */
766
- allowStaleComponents?: boolean;
767
- /** Run the configured short harness canary. `true` means use `fireforge.json`'s test.canaryPath. */
768
- canary?: string | boolean;
769
- /**
770
- * Retry budget for recognized harness crashes (resource-monitor
771
- * tracebacks, pre-test no-output hangs, post-green shutdown re-entry).
772
- * 0 disables retries. Defaults to {@link DEFAULT_HARNESS_RETRIES} at the
773
- * command layer.
774
- */
775
- harnessRetries?: number;
776
- /**
777
- * Force dispatch through the generic `mach test` command instead of the
778
- * suite-specific `mach xpcshell-test` / `mach mochitest` commands a
779
- * single-suite run auto-selects. Escape hatch for the rare case where a
780
- * suite-specific command misbehaves. On a healthy host the generic command
781
- * is equivalent. The default (auto suite dispatch) skips the mozlog
782
- * resource monitor that crashes `mach test` on a broken host.
783
- */
784
- genericMachTest?: boolean;
785
- /**
786
- * Commander negation flag for `--no-shard`. When false, multiple test
787
- * paths run in one combined mach invocation. By default they shard into
788
- * sequential single-file harness runs with an aggregate report.
789
- */
790
- shard?: boolean;
791
- /**
792
- * Project-relative (or absolute) artifact path published to the harness
793
- * run as `<BINARYNAME>_PERF_SAMPLE_JSON`, for downstream perf-budget
794
- * checkers that consume a sample artifact after the run.
795
- */
796
- perfSamples?: string;
797
- /**
798
- * Seeded isolated path-argument order for mochitest runs. `true` draws a
799
- * fresh seed; a number replays the shard permutation. Native mach
800
- * `--shuffle` within a shard remains unseeded. Also exported as
801
- * `FIREFORGE_SHUFFLE_SEED` for custom task code and recorded on the verdict.
802
- */
803
- shuffle?: number | boolean;
804
- /**
805
- * Run the same selection this many times under one engine-lock hold (the
806
- * pre-test build, when requested, runs once). Each run prints a
807
- * `FIREFORGE-RUN:` line; the verdict aggregates them with `runs=<p>/<n>`.
808
- */
809
- repeat?: number;
810
- /**
811
- * Project-relative path of a reviewed `git diff` against `engine/` or
812
- * `components/` sources, applied after the pre-test build and before each
813
- * dispatch, and restored byte-exact before the lock is released. The
814
- * verdict carries `control=caught|missed|inconclusive`. See
815
- * `src/core/negative-control.ts`.
816
- */
817
- negativeControl?: string;
818
- /**
819
- * Let a browser run proceed when the mochitest server or Marionette port
820
- * is held by something that is not this checkout's own, relying on the
821
- * engine harness's busy-port fallback. Same as `test.mochitestPorts: "auto"`.
822
- */
823
- autoPorts?: boolean;
824
- /**
825
- * Hold the engine session lock shared for a build-less run with auto
826
- * ports, so peers' build-less runs overlap. Same as `test.lockMode: "shared"`.
827
- */
828
- sharedLock?: boolean;
829
- /** Run shards on this many harness instances at once (requires auto ports). */
830
- jobs?: number;
831
- /** Dispatch n files per mach invocation, judged per file from the raw log. */
832
- shardSize?: number;
833
- /** Write per-file results (mozlog raw log) as JSON to this path. */
834
- results?: string;
835
- }
836
- /**
837
- * Options for the furnace apply command.
838
- */
839
- export interface FurnaceApplyOptions extends DryRunnable {
840
- /** Proceed despite baseVersion drift (stale overrides) */
841
- force?: boolean;
842
- /** Watch component directories and re-apply on changes */
843
- watch?: boolean;
844
- /**
845
- * Resolved `--wait-lock` budget in seconds, or undefined for the default.
846
- * Threaded to the furnace lock `runFurnaceMutation` takes INSIDE the
847
- * engine session lock, so one flag governs both.
848
- */
849
- waitLockSeconds?: number;
850
- }
851
- /**
852
- * `--wait-lock` budget for a furnace command that takes only Furnace's own
853
- * lock (`.fireforge/furnace.lock`, via `runFurnaceMutation`): `create`,
854
- * `remove`, `rename`, `refresh`, `scan`, `override`, `preview` and the
855
- * `chrome-doc` pair. Without it the flag was accepted and ignored on those
856
- * commands, so their lock budget came only from `FIREFORGE_WAIT_LOCK`.
857
- */
858
- export interface FurnaceLockWaitable {
859
- /**
860
- * Resolved `--wait-lock` budget in seconds, or undefined for the default
861
- * (`FIREFORGE_WAIT_LOCK`, else the furnace lock's own 30 s).
862
- */
863
- waitLockSeconds?: number;
864
- }
865
- /**
866
- * Options for the furnace preview command.
867
- */
868
- export interface FurnacePreviewOptions extends FurnaceLockWaitable {
869
- /** Force reinstall Storybook dependencies */
870
- install?: boolean;
871
- }
872
- /**
873
- * Options for the furnace deploy command.
874
- */
875
- export interface FurnaceDeployOptions extends DryRunnable {
876
- /** Proceed despite baseVersion drift (stale overrides) */
877
- force?: boolean;
878
- /** Skip the validation step (apply only, no accessibility/compatibility checks) */
879
- skipValidate?: boolean;
880
- /**
881
- * The patch being exported (`--owner`). A deployed file the deploy would
882
- * overwrite that another patch owns refuses the whole deploy.
883
- */
884
- owner?: string;
885
- /**
886
- * Resolved `--wait-lock` budget in seconds, or undefined for the default.
887
- * Threaded to the furnace lock `runFurnaceMutation` takes INSIDE the
888
- * engine session lock, so one flag governs both.
889
- */
890
- waitLockSeconds?: number;
891
- }
892
- /**
893
- * Options for the furnace refresh command.
894
- */
895
- export interface FurnaceRefreshOptions extends DryRunnable, FurnaceLockWaitable {
896
- /** Refresh all overrides in a single batch */
897
- all?: boolean;
898
- /** Conflict resolution strategy for automated use (ours = keep local, theirs = accept upstream) */
899
- strategy?: 'ours' | 'theirs';
900
- /** Reset the override's baseline to the current engine HEAD, skipping three-way merge */
901
- resetBase?: boolean;
902
- }
903
- /**
904
- * Options for the furnace rename command.
905
- */
906
- export interface FurnaceRenameOptions extends DryRunnable, FurnaceLockWaitable {
907
- }
908
- /**
909
- * Options for the furnace sync command.
910
- */
911
- export interface FurnaceSyncOptions extends DryRunnable {
912
- /** Conflict resolution strategy for three-way merge (ours = keep local, theirs = accept upstream) */
913
- strategy?: 'ours' | 'theirs';
914
- /**
915
- * Resolved `--wait-lock` budget in seconds, or undefined for the default.
916
- * Threaded to the furnace lock `runFurnaceMutation` takes INSIDE the
917
- * engine session lock, so one flag governs both.
918
- */
919
- waitLockSeconds?: number;
920
- }
921
- /**
922
- * Options for the furnace validate command.
923
- */
924
- export interface FurnaceValidateOptions {
925
- /** Auto-fix registration issues (missing jar.mn entries, customElements.js registration) */
926
- fix?: boolean;
927
- /** Write one schemaVersion-1 JSON document to stdout instead of the human report. */
928
- json?: boolean;
929
- /** Fail when more than this many warnings remain after `validationExceptions`. */
930
- maxWarnings?: number;
931
- }
932
- /**
933
- * Options for the furnace override command.
934
- */
935
- export interface FurnaceOverrideOptions extends FurnaceLockWaitable {
936
- /** Override type: css-only or full */
937
- type?: 'css-only' | 'full';
938
- /** Description of the override */
939
- description?: string;
940
- }
941
- /**
942
- * Options for the furnace remove command: the confirmation mixin plus the
943
- * furnace lock budget.
944
- */
945
- export interface FurnaceRemoveOptions extends Confirmable, FurnaceLockWaitable {
946
- }
947
- /**
948
- * Options for the furnace create command.
949
- */
950
- export interface FurnaceCreateOptions extends FurnaceLockWaitable {
951
- /** Component description */
952
- description?: string;
953
- /**
954
- * Engine-relative directory the test scaffold writes into, instead of
955
- * the default `browser/base/content/test/<binaryName>/` (browser-chrome)
956
- * or `browser/base/content/test/<binaryName>-xpcshell/<component>/`
957
- * (xpcshell). Must stay under `browser/base/content/test/` so the
958
- * manifest registration keeps working. Not supported for
959
- * `--test-style=mochikit` (that harness lives in the upstream
960
- * toolkit/content/tests/widgets tree).
961
- */
962
- testDir?: string;
963
- /** Include Fluent l10n support */
964
- localized?: boolean;
965
- /** Register in customElements.js (default: true) */
966
- register?: boolean;
967
- /** Scaffold Mochitest directory and register in moz.build */
968
- withTests?: boolean;
969
- /**
970
- * Scaffold an xpcshell test harness (headless, no tabbrowser) instead of
971
- * browser-chrome. Required for forks without a `tabbrowser` (storage-only
972
- * code, observer-driven modules). Implies `withTests` when set. Writes an
973
- * `xpcshell.toml` + `test_<name>.js` under
974
- * `engine/browser/base/content/test/<binary-name>-xpcshell/` and leaves
975
- * moz.build registration to the operator (add the directory to
976
- * `XPCSHELL_TESTS_MANIFESTS`).
977
- */
978
- xpcshell?: boolean;
979
- /**
980
- * Test harness style to scaffold when `--with-tests` is set.
981
- *
982
- * - `browser-chrome` (default when `--with-tests` is set without
983
- * `--test-style`): browser mochitest scaffold. Requires a working
984
- * `tabbrowser`. Prefer this for interactive chrome/widget coverage
985
- * (including on macOS).
986
- * - `mochikit`: opt-in MochiKit test at
987
- * `engine/toolkit/content/tests/widgets/test_<tag>.html` that loads
988
- * the component via `chrome://global/`. Use when the top-level chrome
989
- * document lacks a `tabbrowser`. On macOS the toolkit mochitest-chrome
990
- * flavor can be unreliable (long idle timeout).
991
- * - `xpcshell`: equivalent to setting `--xpcshell`. Headless, storage-only.
992
- */
993
- testStyle?: 'mochikit' | 'browser-chrome' | 'xpcshell';
994
- /** Stock component tag names composed internally by this component */
995
- compose?: string[];
996
- /**
997
- * Participate in a pre-existing feature-scoped Fluent bundle at this
998
- * path (as used by `insertFTLIfNeeded`, e.g. `browser/mybrowser-dock.ftl`)
999
- * instead of scaffolding a per-component `.ftl`. Implies `localized`.
1000
- * Persists onto the furnace.json entry so validation and apply skip the
1001
- * per-component paths.
1002
- */
1003
- sharedFtl?: string;
1004
- /**
1005
- * Show the planned file set and furnace.json changes without writing
1006
- * anything. All validation that does not require disk writes (tag name
1007
- * shape, name conflicts, engine pre-existence, `--compose` targets, cycle
1008
- * detection, prefix warning) runs before the plan is emitted, so a
1009
- * dry-run faithfully previews the real command's outcome.
1010
- */
1011
- dryRun?: boolean;
1012
- /**
1013
- * Bypass the configured `componentPrefix` check for the supplied name.
1014
- * Without this flag, a name that does not start with the prefix is
1015
- * rejected before any files are written, so a prefix-mismatched
1016
- * component cannot leave behind a half-scaffolded state. Pass this
1017
- * flag only when you know the prefix mismatch is intentional, e.g.
1018
- * creating an experimental component whose name intentionally breaks
1019
- * the fork's convention.
1020
- */
1021
- allowPrefixMismatch?: boolean;
1022
- }
1023
- /**
1024
- * Options for the wire command.
1025
- */
1026
- export interface WireOptions {
1027
- init?: string;
1028
- destroy?: string;
1029
- dom?: string;
1030
- dryRun?: boolean;
1031
- after?: string;
1032
- subscriptDir?: string;
1033
- /**
1034
- * Chrome document the DOM fragment's `#include` is inserted into, relative
1035
- * to engine/. Defaults to the first entry of
1036
- * `furnace.json.tokenHostDocuments` when set, otherwise
1037
- * `browser/base/content/browser.xhtml`.
1038
- */
1039
- target?: string;
1040
- }
1041
- /**
1042
- * Options for the register command.
1043
- */
1044
- export interface RegisterOptions {
1045
- dryRun?: boolean;
1046
- after?: string;
1047
- /** Scaffold a missing manifest (moz.build / xpcshell.toml) and wire the parent chain. */
1048
- createManifest?: boolean;
1049
- }
1050
- /**
1051
- * Options for the patch delete command.
1052
- */
1053
- export interface PatchDeleteOptions extends Confirmable, DryRunnable, PatchLockWaitable {
1054
- /** Bypass the hard refusal when later patches depend on the target. */
1055
- forceUnsafe?: boolean;
1056
- /** Also delete the engine files the patch creates that are still on disk. */
1057
- deleteCreated?: boolean;
1058
- }
1059
- /**
1060
- * Options for the `fireforge patch retire` subcommand: `patch delete` that
1061
- * keeps the removed patch's order as a retired slot in `patches.json`.
1062
- */
1063
- export interface PatchRetireOptions extends PatchDeleteOptions {
1064
- /** Optional human-readable rationale stored on the retired slot. */
1065
- reason?: string;
1066
- }
1067
- /**
1068
- * Options for the `fireforge patch stage` subcommand: stage the named
1069
- * patches' files and only their `patches.json` rows in the project index.
1070
- */
1071
- export type PatchStageOptions = DryRunnable & PatchLockWaitable;
1072
- /**
1073
- * Options for the `fireforge patch reserve` subcommand: hold an order
1074
- * number for a patch not exported yet, or release the hold.
1075
- */
1076
- export interface PatchReserveOptions extends DryRunnable, PatchLockWaitable {
1077
- /** Category the reserved patch will carry (required to reserve). */
1078
- category?: string;
1079
- /** Who holds the reservation (required to reserve). */
1080
- owner?: string;
1081
- /** Optional human-readable rationale stored on the reserved slot. */
1082
- reason?: string;
1083
- /** Release the reservation at the order instead of creating one. */
1084
- release?: boolean;
1085
- }
1086
- /**
1087
- * Options for the `fireforge patch rename` subcommand. Updates the patch's
1088
- * filename, manifest `name`, and (optionally) `description` atomically
1089
- * without rewriting the `.patch` file body. Companion to `re-export --files`
1090
- * for the case where the body is already correct but the patch's identity
1091
- * describes a pre-shrink scope.
1092
- */
1093
- export interface PatchRenameOptions extends Confirmable, DryRunnable, PatchLockWaitable, UnsafeOverridable {
1094
- /**
1095
- * New human-readable name. Sanitised the same way `export --name`
1096
- * sanitises into the filename slug (lowercase, non-alphanumerics
1097
- * collapsed to `-`, length-capped). The patch's `name` field stores
1098
- * the raw value. The filename uses the sanitised slug. Optional when
1099
- * `--category`/`--order`/`--description` carry the change.
1100
- */
1101
- to?: string;
1102
- /**
1103
- * New category (validated against configured categories). Rewrites
1104
- * the filename prefix and the manifest row in one transaction, so
1105
- * recategorising does not require `patch delete` + fresh export.
1106
- */
1107
- category?: string;
1108
- /**
1109
- * Move the patch to this exact unused sparse order. Collisions refuse
1110
- * with a pointer to `patch reorder` (which renumbers siblings). An
1111
- * order change is projected through cross-patch lint first.
1112
- */
1113
- order?: number;
1114
- /**
1115
- * Replacement description. Omit to leave the description unchanged
1116
- * (intentional: operators frequently want to relabel the slug
1117
- * without touching the description).
1118
- */
1119
- description?: string;
1120
- }
1121
- /**
1122
- * Options for the patch reorder command.
1123
- */
1124
- export interface PatchReorderOptions extends PatchLockWaitable {
1125
- to?: number;
1126
- before?: string;
1127
- after?: string;
1128
- /**
1129
- * Shift a run of patches up by this many orders (`--shift <n> --from
1130
- * <order> [--through <order>]`) instead of moving one patch.
1131
- */
1132
- shift?: number;
1133
- /** First order of the run `shift` moves. */
1134
- from?: number;
1135
- /** Last order of the run `shift` moves (default: the end of the run). */
1136
- through?: number;
1137
- /** Write the committed old-to-new filename map here as JSON. */
1138
- mapOut?: string;
1139
- yes?: boolean;
1140
- dryRun?: boolean;
1141
- forceUnsafe?: boolean;
1142
- }
1143
- /**
1144
- * Options for the patch compact command.
1145
- */
1146
- export interface PatchCompactOptions extends Confirmable, DryRunnable, PatchLockWaitable, UnsafeOverridable {
1147
- }
1148
- /**
1149
- * Options for the status command.
1150
- */
1151
- export interface StatusOptions {
1152
- raw?: boolean;
1153
- /**
1154
- * Report the engine-session lock instead of file status:
1155
- * holder pid, the command it is running, how long it has held the lock,
1156
- * and how many waiters are queued behind it. Read-only: it never
1157
- * acquires the lock, so it is safe to run while a build or test holds
1158
- * it, which is when an operator usually asks.
1159
- */
1160
- lock?: boolean;
1161
- unmanaged?: boolean;
1162
- /**
1163
- * Render a flat file→owning-patch ownership table instead of the three-
1164
- * bucket classification. Sources the path list from the manifest's
1165
- * `filesAffected` per patch and flags any path claimed by more than one
1166
- * patch as an ownership conflict.
1167
- */
1168
- ownership?: boolean;
1169
- /**
1170
- * Print the recorded test-packaging coverage of the last build baseline
1171
- * (scope, timestamp, recording invocation) and exit. Read-only, and the
1172
- * counterpart to the out-of-coverage test refusal.
1173
- */
1174
- testCoverage?: boolean;
1175
- /** Output machine-readable JSON instead of human-readable text. */
1176
- json?: boolean;
1177
- /**
1178
- * With `--json`: emit only the summary counts (plus the offending
1179
- * files per fail-set classification when the `--check`/`--fail-on`
1180
- * policy is active), omitting the per-file `files[]` payload that
1181
- * grows with the queue. Refused without `--json`.
1182
- */
1183
- summary?: boolean;
1184
- /**
1185
- * With `--json` (and composing with `--summary`), append an additive
1186
- * `ownership` block (the flat path→owning-patch rows plus
1187
- * managed/unmanaged/conflict counts) so a gate reads ownership,
1188
- * classification, and the check verdict from one scan instead of three
1189
- * back-to-back `status` invocations. This is a modifier rather than a
1190
- * mode: exit semantics are unchanged, so ownership conflicts still fail
1191
- * only the human `--ownership` mode. Refused without `--json`.
1192
- */
1193
- includeOwnership?: boolean;
1194
- /**
1195
- * Exit non-zero when any classification in the fail policy is
1196
- * non-empty (default policy: unmanaged, patch-owned-drift, conflict).
1197
- * Composes with the default view and `--json`. Refused alongside
1198
- * `--raw`/`--unmanaged`/`--ownership`/`--test-coverage`.
1199
- */
1200
- check?: boolean;
1201
- /**
1202
- * Comma-separated classification list replacing the default `--check`
1203
- * policy. Implies `--check`. Unknown values refuse, naming the valid
1204
- * classification set. `ownership-conflict` (a path claimed by more than
1205
- * one patch) is accepted beside the file classifications.
1206
- */
1207
- failOn?: string;
1208
- /**
1209
- * Comma-separated classification list that never fails `--check`,
1210
- * removed from the fail set. Implies `--check`. Naming a class in both
1211
- * `failOn` and `allow` refuses.
1212
- */
1213
- allow?: string;
1214
- /**
1215
- * With `allow`: fail on every present classification that neither
1216
- * `failOn` nor `allow` names, so a classification added by a later
1217
- * FireForge fails closed. Implies `--check`.
1218
- */
1219
- failOnUnknown?: boolean;
1220
- /**
1221
- * Judge only these patches (`--patches`, each value may be a comma
1222
- * list): files they own or claim and ownership rows naming them.
1223
- */
1224
- patches?: string[];
1225
- }
1226
- /**
1227
- * Options for the token add command.
1228
- */
1229
- export interface TokenAddOptions {
1230
- /**
1231
- * Required for a base declaration. Optional under
1232
- * {@link TokenAddOptions.variant}, which routes into a `:root<selector>`
1233
- * block where no category applies.
1234
- */
1235
- category?: string;
1236
- mode: string;
1237
- description?: string;
1238
- darkValue?: string;
1239
- dryRun?: boolean;
1240
- /** Declare the category banner in the tokens CSS when it does not exist yet. */
1241
- createCategory?: boolean;
1242
- /**
1243
- * Attribute selector fragment (e.g. `[data-skin=precision]` or
1244
- * `[data-private]`) routing the declaration into a `:root<variant>` block.
1245
- */
1246
- variant?: string;
1247
- }
1248
- /**
1249
- * Options for the doctor command.
1250
- */
1251
- export interface DoctorOptions {
1252
- /**
1253
- * Seconds to wait for the patch directory lock. This command can mutate
1254
- * the patch manifest under that lock.
1255
- */
1256
- waitLock?: number | boolean;
1257
- /**
1258
- * Rebuild patches.json from the on-disk patch files, preserving every
1259
- * field the patch bodies cannot express. Refused when patches.json exists
1260
- * but cannot be parsed, unless `allowMetadataLoss` is also set.
1261
- */
1262
- repairPatchesManifest?: boolean;
1263
- /**
1264
- * Repair only the `filesAffected` lists that disagree with their patch
1265
- * body. Narrower than `repairPatchesManifest`: it rewrites one field on the
1266
- * drifted rows and leaves every other row byte-identical, and it needs no
1267
- * project config, so it works on a project whose fireforge.json is broken.
1268
- */
1269
- repairFilesAffected?: boolean;
1270
- /**
1271
- * Accept the whole-manifest metadata reinvention that rebuilding an
1272
- * unparseable patches.json implies. Only meaningful with
1273
- * `repairPatchesManifest`.
1274
- */
1275
- allowMetadataLoss?: boolean;
1276
- /**
1277
- * Project what a requested repair would change and write nothing. Refused
1278
- * without a repair flag rather than accepted as a silent no-op.
1279
- */
1280
- dryRun?: boolean;
1281
- /**
1282
- * Clear a stale `pendingResolution` marker, but only after the same
1283
- * read-only queue health checks used by `fireforge verify` report no
1284
- * error-severity findings.
1285
- */
1286
- clearResolution?: boolean;
1287
- /**
1288
- * Opt-in repair path for furnace-specific checks. When true, doctor will:
1289
- * - clear stale `.fireforge/furnace-state.json` entries whose component is
1290
- * no longer in `furnace.json`,
1291
- * - run `applyAllComponents` to reconcile any engine drift,
1292
- * - clear the `pendingRepair` marker on success.
1293
- * Mirrors `repairPatchesManifest` in that the repair is only attempted when
1294
- * the caller explicitly asks for it, so a read-only `doctor` run stays cheap
1295
- * and side-effect-free.
1296
- */
1297
- repairFurnace?: boolean;
1298
- /** Run extra post-rebase checks for common Firefox registration surfaces. */
1299
- postRebaseAudit?: boolean;
1300
- }
1301
- /** Options controlling how the lint command filters and tags its output. */
1302
- export interface LintCommandOptions {
1303
- /**
1304
- * When set, tag each issue as `introduced` or `cumulative` based on
1305
- * whether its file changed since this git revision (e.g. `HEAD`, a
1306
- * branch name, or a SHA). Issues are not filtered and the full set
1307
- * still prints, but a diff-scoped summary makes it easy to see which
1308
- * errors the current task introduced.
1309
- */
1310
- since?: string;
1311
- /**
1312
- * When set together with {@link since}, scope the exit code to issues
1313
- * tagged `introduced`. Cumulative pre-existing errors still print, so the
1314
- * operator sees the full queue state, but do not fail lint. This is for a
1315
- * branch whose own diff is clean but whose repo carries unrelated
1316
- * `raw-color` / license-header errors from older patches.
1317
- *
1318
- * Requires {@link since}: without a revision to diff against there is no
1319
- * distinction between introduced and cumulative, so the flag is rejected
1320
- * up-front rather than silently ignored.
1321
- */
1322
- onlyIntroduced?: boolean;
1323
- /**
1324
- * Lint each patch in the queue as its own isolated diff, rather than the
1325
- * aggregate `git diff HEAD` across all applied patches.
1326
- *
1327
- * On a repo where `import` or `rebase` has just applied the full queue,
1328
- * the aggregate diff sums every patch's changes, and the patch-size
1329
- * advisory rules (`large-patch-lines`, `large-patch-files`) fire against
1330
- * that sum, reporting "Patch is 37529 lines" for a queue of
1331
- * individually-fine patches. `--per-patch` rescopes the diff to each patch's own
1332
- * `filesAffected`, honours the patch's own `lintIgnore`, and runs the
1333
- * cross-patch rules once over the whole queue so queue-level findings
1334
- * still surface.
1335
- *
1336
- * Positional file arguments change meaning under this flag: they are PATCH
1337
- * selectors resolved like {@link patches} entries, not engine file paths.
1338
- */
1339
- perPatch?: boolean;
1340
- /**
1341
- * Restrict `--per-patch` to a named subset of the queue (by filename,
1342
- * filename ± `.patch`, or manifest `name`). Lets a change that touches a
1343
- * handful of patches run the per-patch gate over just those instead of
1344
- * the full ~90-patch queue. Only valid with {@link perPatch}. Queue-level
1345
- * findings (policy, cross-patch) are scoped to files the subset touches.
1346
- */
1347
- patches?: string[];
1348
- /**
1349
- * Maximum warning count tolerated before lint exits non-zero. Mirrors
1350
- * ESLint's `--max-warnings` shape for release gates that want advisory
1351
- * findings to become blocking without changing default CLI behavior.
1352
- */
1353
- maxWarnings?: number;
1354
- /**
1355
- * Bypass per-patch lint cache reads and writes. Accepted in aggregate mode
1356
- * for CLI consistency, but only `--per-patch` currently uses the cache.
1357
- */
1358
- noCache?: boolean;
1359
- /**
1360
- * With `--per-patch`, write a machine-readable JSON report (schemaVersion
1361
- * 1: per-patch lineCount, filesAffected, tier, thresholds, issues, and
1362
- * lintIgnore-suppressed issues) to this path. Requires
1363
- * {@link perPatch}.
1364
- */
1365
- report?: string;
1366
- /**
1367
- * With `--per-patch`: `'full'` (default) prints every NOTICE line;
1368
- * `'summary'` prints one line per check with its count and patch count.
1369
- * Errors and warnings always print in full.
1370
- */
1371
- notices?: 'summary' | 'full';
1372
- }