@hominis/fireforge 0.54.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 (1244) hide show
  1. package/CHANGELOG.md +287 -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 -438
  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 -332
  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 -420
  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 -422
  42. package/dist/src/commands/token.js +185 -228
  43. package/dist/src/commands/typecheck.js +59 -208
  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 -692
  235. package/docs/exit-codes.md +76 -94
  236. package/docs/furnace.md +113 -181
  237. package/docs/gate.md +205 -0
  238. package/docs/getting-started.md +165 -0
  239. package/docs/machine-output.md +201 -277
  240. package/docs/migrating.md +261 -0
  241. package/docs/patch-workflow.md +163 -653
  242. package/docs/quality.md +220 -0
  243. package/docs/source-workflow.md +228 -0
  244. package/docs/testing.md +101 -712
  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 -91
  264. package/dist/src/commands/check-run.d.ts +0 -33
  265. package/dist/src/commands/check-run.js +0 -112
  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 -218
  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 -282
  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/compact.d.ts +0 -28
  416. package/dist/src/commands/patch/compact.js +0 -208
  417. package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
  418. package/dist/src/commands/patch/delete-gap-notice.js +0 -48
  419. package/dist/src/commands/patch/delete.d.ts +0 -28
  420. package/dist/src/commands/patch/delete.js +0 -131
  421. package/dist/src/commands/patch/entry-projection.d.ts +0 -13
  422. package/dist/src/commands/patch/entry-projection.js +0 -24
  423. package/dist/src/commands/patch/index.d.ts +0 -16
  424. package/dist/src/commands/patch/index.js +0 -52
  425. package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
  426. package/dist/src/commands/patch/lint-ignore-from.js +0 -141
  427. package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
  428. package/dist/src/commands/patch/lint-ignore.js +0 -261
  429. package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
  430. package/dist/src/commands/patch/move-files-adopt.js +0 -65
  431. package/dist/src/commands/patch/move-files-create.d.ts +0 -19
  432. package/dist/src/commands/patch/move-files-create.js +0 -187
  433. package/dist/src/commands/patch/move-files-into.d.ts +0 -65
  434. package/dist/src/commands/patch/move-files-into.js +0 -325
  435. package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
  436. package/dist/src/commands/patch/move-files-retire.js +0 -91
  437. package/dist/src/commands/patch/move-files.d.ts +0 -28
  438. package/dist/src/commands/patch/move-files.js +0 -224
  439. package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
  440. package/dist/src/commands/patch/move-size-tier.js +0 -66
  441. package/dist/src/commands/patch/patch-context.d.ts +0 -40
  442. package/dist/src/commands/patch/patch-context.js +0 -51
  443. package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
  444. package/dist/src/commands/patch/removal-created-files.js +0 -83
  445. package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
  446. package/dist/src/commands/patch/removal-dependents.js +0 -133
  447. package/dist/src/commands/patch/rename.d.ts +0 -35
  448. package/dist/src/commands/patch/rename.js +0 -378
  449. package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
  450. package/dist/src/commands/patch/reorder-projection.js +0 -49
  451. package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
  452. package/dist/src/commands/patch/reorder-shift.js +0 -307
  453. package/dist/src/commands/patch/reorder.d.ts +0 -34
  454. package/dist/src/commands/patch/reorder.js +0 -375
  455. package/dist/src/commands/patch/reserve.d.ts +0 -33
  456. package/dist/src/commands/patch/reserve.js +0 -152
  457. package/dist/src/commands/patch/retire.d.ts +0 -34
  458. package/dist/src/commands/patch/retire.js +0 -133
  459. package/dist/src/commands/patch/split-plan.d.ts +0 -125
  460. package/dist/src/commands/patch/split-plan.js +0 -313
  461. package/dist/src/commands/patch/split-staged.d.ts +0 -108
  462. package/dist/src/commands/patch/split-staged.js +0 -202
  463. package/dist/src/commands/patch/split.d.ts +0 -43
  464. package/dist/src/commands/patch/split.js +0 -367
  465. package/dist/src/commands/patch/stage.d.ts +0 -34
  466. package/dist/src/commands/patch/stage.js +0 -153
  467. package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
  468. package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
  469. package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
  470. package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
  471. package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
  472. package/dist/src/commands/patch/staged-dependency-from.js +0 -114
  473. package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
  474. package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
  475. package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
  476. package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
  477. package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
  478. package/dist/src/commands/patch/staged-dependency.js +0 -248
  479. package/dist/src/commands/patch/tier.d.ts +0 -34
  480. package/dist/src/commands/patch/tier.js +0 -125
  481. package/dist/src/commands/patch-rename-map.d.ts +0 -30
  482. package/dist/src/commands/patch-rename-map.js +0 -54
  483. package/dist/src/commands/pending-resolution.d.ts +0 -15
  484. package/dist/src/commands/pending-resolution.js +0 -25
  485. package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
  486. package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
  487. package/dist/src/commands/re-export-adjacent.d.ts +0 -111
  488. package/dist/src/commands/re-export-adjacent.js +0 -267
  489. package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
  490. package/dist/src/commands/re-export-bulk-scan.js +0 -233
  491. package/dist/src/commands/re-export-drift.d.ts +0 -110
  492. package/dist/src/commands/re-export-drift.js +0 -358
  493. package/dist/src/commands/re-export-files.d.ts +0 -15
  494. package/dist/src/commands/re-export-files.js +0 -307
  495. package/dist/src/commands/re-export-hunks.d.ts +0 -35
  496. package/dist/src/commands/re-export-hunks.js +0 -220
  497. package/dist/src/commands/re-export-lint.d.ts +0 -137
  498. package/dist/src/commands/re-export-lint.js +0 -303
  499. package/dist/src/commands/re-export-options.d.ts +0 -29
  500. package/dist/src/commands/re-export-options.js +0 -191
  501. package/dist/src/commands/re-export-preflight.d.ts +0 -23
  502. package/dist/src/commands/re-export-preflight.js +0 -159
  503. package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
  504. package/dist/src/commands/re-export-purity-scope.js +0 -137
  505. package/dist/src/commands/re-export-register.d.ts +0 -12
  506. package/dist/src/commands/re-export-register.js +0 -99
  507. package/dist/src/commands/re-export-removed.d.ts +0 -15
  508. package/dist/src/commands/re-export-removed.js +0 -94
  509. package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
  510. package/dist/src/commands/re-export-retired-declarations.js +0 -113
  511. package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
  512. package/dist/src/commands/re-export-scan-owner.js +0 -116
  513. package/dist/src/commands/re-export-scan.d.ts +0 -72
  514. package/dist/src/commands/re-export-scan.js +0 -265
  515. package/dist/src/commands/re-export-single.d.ts +0 -39
  516. package/dist/src/commands/re-export-single.js +0 -388
  517. package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
  518. package/dist/src/commands/re-export-stale-registrations.js +0 -106
  519. package/dist/src/commands/re-export-summary.d.ts +0 -28
  520. package/dist/src/commands/re-export-summary.js +0 -36
  521. package/dist/src/commands/re-export.d.ts +0 -8
  522. package/dist/src/commands/rebase/abort.d.ts +0 -7
  523. package/dist/src/commands/rebase/abort.js +0 -67
  524. package/dist/src/commands/rebase/confirm.d.ts +0 -42
  525. package/dist/src/commands/rebase/confirm.js +0 -36
  526. package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
  527. package/dist/src/commands/rebase/conflict-summary.js +0 -37
  528. package/dist/src/commands/rebase/continue.d.ts +0 -7
  529. package/dist/src/commands/rebase/continue.js +0 -119
  530. package/dist/src/commands/rebase/index.d.ts +0 -22
  531. package/dist/src/commands/rebase/index.js +0 -209
  532. package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
  533. package/dist/src/commands/rebase/patch-loop.js +0 -289
  534. package/dist/src/commands/rebase/summary.d.ts +0 -8
  535. package/dist/src/commands/rebase/summary.js +0 -47
  536. package/dist/src/commands/register.d.ts +0 -13
  537. package/dist/src/commands/reset.d.ts +0 -11
  538. package/dist/src/commands/resolve.d.ts +0 -36
  539. package/dist/src/commands/run.d.ts +0 -10
  540. package/dist/src/commands/setup-support.d.ts +0 -35
  541. package/dist/src/commands/setup-support.js +0 -386
  542. package/dist/src/commands/setup.d.ts +0 -11
  543. package/dist/src/commands/source.d.ts +0 -9
  544. package/dist/src/commands/source.js +0 -120
  545. package/dist/src/commands/status-check.d.ts +0 -87
  546. package/dist/src/commands/status-check.js +0 -161
  547. package/dist/src/commands/status-json.d.ts +0 -45
  548. package/dist/src/commands/status-json.js +0 -97
  549. package/dist/src/commands/status-output.d.ts +0 -23
  550. package/dist/src/commands/status-output.js +0 -231
  551. package/dist/src/commands/status-ownership.d.ts +0 -54
  552. package/dist/src/commands/status-ownership.js +0 -59
  553. package/dist/src/commands/status-scope.d.ts +0 -37
  554. package/dist/src/commands/status-scope.js +0 -54
  555. package/dist/src/commands/status.d.ts +0 -11
  556. package/dist/src/commands/test-appdir.d.ts +0 -6
  557. package/dist/src/commands/test-appdir.js +0 -29
  558. package/dist/src/commands/test-browser-preflight.d.ts +0 -28
  559. package/dist/src/commands/test-browser-preflight.js +0 -197
  560. package/dist/src/commands/test-build-furnace.d.ts +0 -21
  561. package/dist/src/commands/test-build-furnace.js +0 -53
  562. package/dist/src/commands/test-build-phase.d.ts +0 -29
  563. package/dist/src/commands/test-build-phase.js +0 -290
  564. package/dist/src/commands/test-checkjs.d.ts +0 -3
  565. package/dist/src/commands/test-checkjs.js +0 -35
  566. package/dist/src/commands/test-control-restore.d.ts +0 -40
  567. package/dist/src/commands/test-control-restore.js +0 -86
  568. package/dist/src/commands/test-diagnose.d.ts +0 -23
  569. package/dist/src/commands/test-diagnose.js +0 -317
  570. package/dist/src/commands/test-dispatch.d.ts +0 -39
  571. package/dist/src/commands/test-dispatch.js +0 -281
  572. package/dist/src/commands/test-furnace-reach.d.ts +0 -37
  573. package/dist/src/commands/test-furnace-reach.js +0 -132
  574. package/dist/src/commands/test-harness-env.d.ts +0 -23
  575. package/dist/src/commands/test-harness-env.js +0 -81
  576. package/dist/src/commands/test-harness-teardown.d.ts +0 -62
  577. package/dist/src/commands/test-harness-teardown.js +0 -128
  578. package/dist/src/commands/test-modes.d.ts +0 -57
  579. package/dist/src/commands/test-modes.js +0 -158
  580. package/dist/src/commands/test-multi-verdict.d.ts +0 -61
  581. package/dist/src/commands/test-multi-verdict.js +0 -112
  582. package/dist/src/commands/test-orchestrate.d.ts +0 -63
  583. package/dist/src/commands/test-orchestrate.js +0 -274
  584. package/dist/src/commands/test-perf-scope.d.ts +0 -50
  585. package/dist/src/commands/test-perf-scope.js +0 -138
  586. package/dist/src/commands/test-prelock.d.ts +0 -61
  587. package/dist/src/commands/test-prelock.js +0 -301
  588. package/dist/src/commands/test-register.d.ts +0 -4
  589. package/dist/src/commands/test-register.js +0 -181
  590. package/dist/src/commands/test-results.d.ts +0 -71
  591. package/dist/src/commands/test-results.js +0 -79
  592. package/dist/src/commands/test-run.d.ts +0 -89
  593. package/dist/src/commands/test-run.js +0 -251
  594. package/dist/src/commands/test-shards.d.ts +0 -114
  595. package/dist/src/commands/test-shards.js +0 -272
  596. package/dist/src/commands/test-stale-gate.d.ts +0 -52
  597. package/dist/src/commands/test-stale-gate.js +0 -165
  598. package/dist/src/commands/test-verdict.d.ts +0 -92
  599. package/dist/src/commands/test-verdict.js +0 -162
  600. package/dist/src/commands/test.d.ts +0 -22
  601. package/dist/src/commands/token-coverage.d.ts +0 -5
  602. package/dist/src/commands/token-coverage.js +0 -170
  603. package/dist/src/commands/token-lint.d.ts +0 -14
  604. package/dist/src/commands/token-lint.js +0 -151
  605. package/dist/src/commands/token-list.d.ts +0 -26
  606. package/dist/src/commands/token-list.js +0 -153
  607. package/dist/src/commands/token.d.ts +0 -14
  608. package/dist/src/commands/tree.d.ts +0 -19
  609. package/dist/src/commands/tree.js +0 -341
  610. package/dist/src/commands/typecheck.d.ts +0 -56
  611. package/dist/src/commands/verify-scope.d.ts +0 -28
  612. package/dist/src/commands/verify-scope.js +0 -67
  613. package/dist/src/commands/verify.d.ts +0 -58
  614. package/dist/src/commands/watch.d.ts +0 -9
  615. package/dist/src/commands/wire.d.ts +0 -13
  616. package/dist/src/core/ast-utils.d.ts +0 -73
  617. package/dist/src/core/ast-utils.js +0 -105
  618. package/dist/src/core/brand-validation.d.ts +0 -7
  619. package/dist/src/core/brand-validation.js +0 -14
  620. package/dist/src/core/branding.d.ts +0 -86
  621. package/dist/src/core/branding.js +0 -371
  622. package/dist/src/core/browser-wire.d.ts +0 -48
  623. package/dist/src/core/browser-wire.js +0 -133
  624. package/dist/src/core/build-audit-platform.d.ts +0 -67
  625. package/dist/src/core/build-audit-platform.js +0 -373
  626. package/dist/src/core/build-audit-registration.d.ts +0 -80
  627. package/dist/src/core/build-audit-registration.js +0 -181
  628. package/dist/src/core/build-audit-resolve.d.ts +0 -78
  629. package/dist/src/core/build-audit-resolve.js +0 -240
  630. package/dist/src/core/build-audit-skip.d.ts +0 -57
  631. package/dist/src/core/build-audit-skip.js +0 -112
  632. package/dist/src/core/build-audit-transforms.d.ts +0 -23
  633. package/dist/src/core/build-audit-transforms.js +0 -92
  634. package/dist/src/core/build-audit.d.ts +0 -93
  635. package/dist/src/core/build-audit.js +0 -633
  636. package/dist/src/core/build-baseline-types.d.ts +0 -225
  637. package/dist/src/core/build-baseline-types.js +0 -10
  638. package/dist/src/core/build-baseline-validate.d.ts +0 -32
  639. package/dist/src/core/build-baseline-validate.js +0 -173
  640. package/dist/src/core/build-baseline.d.ts +0 -103
  641. package/dist/src/core/build-baseline.js +0 -261
  642. package/dist/src/core/build-jar-escalation.d.ts +0 -61
  643. package/dist/src/core/build-jar-escalation.js +0 -125
  644. package/dist/src/core/build-overwrite-guard.d.ts +0 -92
  645. package/dist/src/core/build-overwrite-guard.js +0 -235
  646. package/dist/src/core/build-prepare.d.ts +0 -83
  647. package/dist/src/core/build-prepare.js +0 -414
  648. package/dist/src/core/build-run-record.d.ts +0 -74
  649. package/dist/src/core/build-run-record.js +0 -136
  650. package/dist/src/core/checkjs-support-heads.d.ts +0 -41
  651. package/dist/src/core/checkjs-support-heads.js +0 -104
  652. package/dist/src/core/component-source-guard.d.ts +0 -20
  653. package/dist/src/core/component-source-guard.js +0 -68
  654. package/dist/src/core/config-mutate.d.ts +0 -16
  655. package/dist/src/core/config-mutate.js +0 -76
  656. package/dist/src/core/config-paths.d.ts +0 -16
  657. package/dist/src/core/config-paths.js +0 -106
  658. package/dist/src/core/config-state.d.ts +0 -16
  659. package/dist/src/core/config-state.js +0 -141
  660. package/dist/src/core/config-validate-build-audit.d.ts +0 -8
  661. package/dist/src/core/config-validate-build-audit.js +0 -80
  662. package/dist/src/core/config-validate-check.d.ts +0 -8
  663. package/dist/src/core/config-validate-check.js +0 -219
  664. package/dist/src/core/config-validate-file-size.d.ts +0 -15
  665. package/dist/src/core/config-validate-file-size.js +0 -154
  666. package/dist/src/core/config-validate-history.d.ts +0 -11
  667. package/dist/src/core/config-validate-history.js +0 -38
  668. package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
  669. package/dist/src/core/config-validate-patch-policy.js +0 -274
  670. package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
  671. package/dist/src/core/config-validate-test-toolchains.js +0 -133
  672. package/dist/src/core/config-validate-token-scales.d.ts +0 -9
  673. package/dist/src/core/config-validate-token-scales.js +0 -92
  674. package/dist/src/core/config-validate.d.ts +0 -11
  675. package/dist/src/core/config-validate.js +0 -503
  676. package/dist/src/core/config.d.ts +0 -92
  677. package/dist/src/core/config.js +0 -169
  678. package/dist/src/core/coverage-dispatch.d.ts +0 -24
  679. package/dist/src/core/coverage-dispatch.js +0 -44
  680. package/dist/src/core/coverage-extend.d.ts +0 -89
  681. package/dist/src/core/coverage-extend.js +0 -239
  682. package/dist/src/core/coverage-records.d.ts +0 -107
  683. package/dist/src/core/coverage-records.js +0 -383
  684. package/dist/src/core/destructive.d.ts +0 -144
  685. package/dist/src/core/destructive.js +0 -182
  686. package/dist/src/core/diff-hunks.d.ts +0 -73
  687. package/dist/src/core/diff-hunks.js +0 -286
  688. package/dist/src/core/discard-baseline.d.ts +0 -60
  689. package/dist/src/core/discard-baseline.js +0 -247
  690. package/dist/src/core/display-state.d.ts +0 -50
  691. package/dist/src/core/display-state.js +0 -87
  692. package/dist/src/core/engine-changes.d.ts +0 -40
  693. package/dist/src/core/engine-changes.js +0 -95
  694. package/dist/src/core/engine-precondition.d.ts +0 -42
  695. package/dist/src/core/engine-precondition.js +0 -60
  696. package/dist/src/core/engine-session-lock.d.ts +0 -119
  697. package/dist/src/core/engine-session-lock.js +0 -374
  698. package/dist/src/core/engine-write-boundary.d.ts +0 -5
  699. package/dist/src/core/engine-write-boundary.js +0 -41
  700. package/dist/src/core/export-moved-code-shape.d.ts +0 -98
  701. package/dist/src/core/export-moved-code-shape.js +0 -220
  702. package/dist/src/core/file-lock-owner.d.ts +0 -103
  703. package/dist/src/core/file-lock-owner.js +0 -259
  704. package/dist/src/core/file-lock-queue.d.ts +0 -67
  705. package/dist/src/core/file-lock-queue.js +0 -219
  706. package/dist/src/core/file-lock-shared.d.ts +0 -57
  707. package/dist/src/core/file-lock-shared.js +0 -117
  708. package/dist/src/core/file-lock.d.ts +0 -143
  709. package/dist/src/core/file-lock.js +0 -531
  710. package/dist/src/core/firefox-archive.d.ts +0 -45
  711. package/dist/src/core/firefox-archive.js +0 -96
  712. package/dist/src/core/firefox-cache.d.ts +0 -30
  713. package/dist/src/core/firefox-cache.js +0 -248
  714. package/dist/src/core/firefox-download.d.ts +0 -30
  715. package/dist/src/core/firefox-download.js +0 -152
  716. package/dist/src/core/firefox-extract.d.ts +0 -42
  717. package/dist/src/core/firefox-extract.js +0 -248
  718. package/dist/src/core/firefox-ignorefile.d.ts +0 -17
  719. package/dist/src/core/firefox-ignorefile.js +0 -30
  720. package/dist/src/core/firefox.d.ts +0 -66
  721. package/dist/src/core/firefox.js +0 -121
  722. package/dist/src/core/forward-registrations.d.ts +0 -33
  723. package/dist/src/core/forward-registrations.js +0 -16
  724. package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
  725. package/dist/src/core/furnace-apply-dry-run.js +0 -99
  726. package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
  727. package/dist/src/core/furnace-apply-ftl.js +0 -210
  728. package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
  729. package/dist/src/core/furnace-apply-helpers.js +0 -436
  730. package/dist/src/core/furnace-apply-output.d.ts +0 -36
  731. package/dist/src/core/furnace-apply-output.js +0 -111
  732. package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
  733. package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
  734. package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
  735. package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
  736. package/dist/src/core/furnace-apply.d.ts +0 -49
  737. package/dist/src/core/furnace-apply.js +0 -465
  738. package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
  739. package/dist/src/core/furnace-checksum-utils.js +0 -54
  740. package/dist/src/core/furnace-composed-source.d.ts +0 -76
  741. package/dist/src/core/furnace-composed-source.js +0 -167
  742. package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
  743. package/dist/src/core/furnace-config-array-utils.js +0 -26
  744. package/dist/src/core/furnace-config-custom.d.ts +0 -15
  745. package/dist/src/core/furnace-config-custom.js +0 -73
  746. package/dist/src/core/furnace-config-order.d.ts +0 -8
  747. package/dist/src/core/furnace-config-order.js +0 -90
  748. package/dist/src/core/furnace-config-tokens.d.ts +0 -17
  749. package/dist/src/core/furnace-config-tokens.js +0 -42
  750. package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
  751. package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
  752. package/dist/src/core/furnace-config-validate.d.ts +0 -32
  753. package/dist/src/core/furnace-config-validate.js +0 -146
  754. package/dist/src/core/furnace-config.d.ts +0 -139
  755. package/dist/src/core/furnace-config.js +0 -511
  756. package/dist/src/core/furnace-constants.d.ts +0 -79
  757. package/dist/src/core/furnace-constants.js +0 -123
  758. package/dist/src/core/furnace-css-fragments.d.ts +0 -96
  759. package/dist/src/core/furnace-css-fragments.js +0 -279
  760. package/dist/src/core/furnace-dir-entry.d.ts +0 -20
  761. package/dist/src/core/furnace-dir-entry.js +0 -21
  762. package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
  763. package/dist/src/core/furnace-fragment-includers.js +0 -122
  764. package/dist/src/core/furnace-graph-utils.d.ts +0 -11
  765. package/dist/src/core/furnace-graph-utils.js +0 -93
  766. package/dist/src/core/furnace-jsconfig.d.ts +0 -61
  767. package/dist/src/core/furnace-jsconfig.js +0 -208
  768. package/dist/src/core/furnace-marker.d.ts +0 -15
  769. package/dist/src/core/furnace-marker.js +0 -21
  770. package/dist/src/core/furnace-operation.d.ts +0 -195
  771. package/dist/src/core/furnace-operation.js +0 -444
  772. package/dist/src/core/furnace-precondition.d.ts +0 -61
  773. package/dist/src/core/furnace-precondition.js +0 -67
  774. package/dist/src/core/furnace-refresh.d.ts +0 -28
  775. package/dist/src/core/furnace-refresh.js +0 -125
  776. package/dist/src/core/furnace-registration-ast.d.ts +0 -53
  777. package/dist/src/core/furnace-registration-ast.js +0 -402
  778. package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
  779. package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
  780. package/dist/src/core/furnace-registration-remove.d.ts +0 -56
  781. package/dist/src/core/furnace-registration-remove.js +0 -260
  782. package/dist/src/core/furnace-registration-rename.d.ts +0 -26
  783. package/dist/src/core/furnace-registration-rename.js +0 -77
  784. package/dist/src/core/furnace-registration-validate.d.ts +0 -53
  785. package/dist/src/core/furnace-registration-validate.js +0 -110
  786. package/dist/src/core/furnace-registration.d.ts +0 -112
  787. package/dist/src/core/furnace-registration.js +0 -348
  788. package/dist/src/core/furnace-rollback.d.ts +0 -48
  789. package/dist/src/core/furnace-rollback.js +0 -170
  790. package/dist/src/core/furnace-scanner.d.ts +0 -47
  791. package/dist/src/core/furnace-scanner.js +0 -236
  792. package/dist/src/core/furnace-stale-export.d.ts +0 -60
  793. package/dist/src/core/furnace-stale-export.js +0 -125
  794. package/dist/src/core/furnace-staleness.d.ts +0 -24
  795. package/dist/src/core/furnace-staleness.js +0 -67
  796. package/dist/src/core/furnace-state-persist.d.ts +0 -68
  797. package/dist/src/core/furnace-state-persist.js +0 -116
  798. package/dist/src/core/furnace-step-errors.d.ts +0 -23
  799. package/dist/src/core/furnace-step-errors.js +0 -25
  800. package/dist/src/core/furnace-stories.d.ts +0 -37
  801. package/dist/src/core/furnace-stories.js +0 -186
  802. package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
  803. package/dist/src/core/furnace-validate-accessibility.js +0 -417
  804. package/dist/src/core/furnace-validate-checks.d.ts +0 -4
  805. package/dist/src/core/furnace-validate-checks.js +0 -6
  806. package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
  807. package/dist/src/core/furnace-validate-compatibility.js +0 -295
  808. package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
  809. package/dist/src/core/furnace-validate-exceptions.js +0 -98
  810. package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
  811. package/dist/src/core/furnace-validate-helpers.js +0 -4
  812. package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
  813. package/dist/src/core/furnace-validate-icon-button.js +0 -78
  814. package/dist/src/core/furnace-validate-registration.d.ts +0 -67
  815. package/dist/src/core/furnace-validate-registration.js +0 -487
  816. package/dist/src/core/furnace-validate-structure.d.ts +0 -22
  817. package/dist/src/core/furnace-validate-structure.js +0 -122
  818. package/dist/src/core/furnace-validate.d.ts +0 -41
  819. package/dist/src/core/furnace-validate.js +0 -302
  820. package/dist/src/core/furnace-version-drift.d.ts +0 -57
  821. package/dist/src/core/furnace-version-drift.js +0 -102
  822. package/dist/src/core/gecko-dom-types.d.ts +0 -2
  823. package/dist/src/core/gecko-dom-types.js +0 -17
  824. package/dist/src/core/git-base.d.ts +0 -101
  825. package/dist/src/core/git-base.js +0 -162
  826. package/dist/src/core/git-diff-new-file.d.ts +0 -40
  827. package/dist/src/core/git-diff-new-file.js +0 -118
  828. package/dist/src/core/git-diff.d.ts +0 -82
  829. package/dist/src/core/git-diff.js +0 -539
  830. package/dist/src/core/git-file-ops.d.ts +0 -108
  831. package/dist/src/core/git-file-ops.js +0 -280
  832. package/dist/src/core/git-readonly-index.d.ts +0 -91
  833. package/dist/src/core/git-readonly-index.js +0 -177
  834. package/dist/src/core/git-status.d.ts +0 -84
  835. package/dist/src/core/git-status.js +0 -208
  836. package/dist/src/core/git.d.ts +0 -114
  837. package/dist/src/core/git.js +0 -540
  838. package/dist/src/core/harness-helper-pids.d.ts +0 -98
  839. package/dist/src/core/harness-helper-pids.js +0 -240
  840. package/dist/src/core/harness-orphans.d.ts +0 -118
  841. package/dist/src/core/harness-orphans.js +0 -268
  842. package/dist/src/core/harness-port-fallback.d.ts +0 -60
  843. package/dist/src/core/harness-port-fallback.js +0 -96
  844. package/dist/src/core/harness-port-reservation.d.ts +0 -60
  845. package/dist/src/core/harness-port-reservation.js +0 -122
  846. package/dist/src/core/history-log-file.d.ts +0 -61
  847. package/dist/src/core/history-log-file.js +0 -164
  848. package/dist/src/core/history-log.d.ts +0 -20
  849. package/dist/src/core/history-log.js +0 -30
  850. package/dist/src/core/json-preserving-edit.d.ts +0 -22
  851. package/dist/src/core/json-preserving-edit.js +0 -199
  852. package/dist/src/core/launchable-build.d.ts +0 -39
  853. package/dist/src/core/launchable-build.js +0 -85
  854. package/dist/src/core/license-headers.d.ts +0 -103
  855. package/dist/src/core/license-headers.js +0 -318
  856. package/dist/src/core/line-prefixer.d.ts +0 -18
  857. package/dist/src/core/line-prefixer.js +0 -34
  858. package/dist/src/core/lit-template-regions.d.ts +0 -4
  859. package/dist/src/core/lit-template-regions.js +0 -50
  860. package/dist/src/core/mach-build-artifacts.d.ts +0 -176
  861. package/dist/src/core/mach-build-artifacts.js +0 -436
  862. package/dist/src/core/mach-error-hints.d.ts +0 -24
  863. package/dist/src/core/mach-error-hints.js +0 -135
  864. package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
  865. package/dist/src/core/mach-known-noise-filter.js +0 -257
  866. package/dist/src/core/mach-mozconfig.d.ts +0 -57
  867. package/dist/src/core/mach-mozconfig.js +0 -166
  868. package/dist/src/core/mach-python.d.ts +0 -19
  869. package/dist/src/core/mach-python.js +0 -131
  870. package/dist/src/core/mach-resource-shim.d.ts +0 -107
  871. package/dist/src/core/mach-resource-shim.js +0 -640
  872. package/dist/src/core/mach.d.ts +0 -284
  873. package/dist/src/core/mach.js +0 -445
  874. package/dist/src/core/marionette-port.d.ts +0 -153
  875. package/dist/src/core/marionette-port.js +0 -474
  876. package/dist/src/core/marionette-preflight.d.ts +0 -58
  877. package/dist/src/core/marionette-preflight.js +0 -332
  878. package/dist/src/core/markdown-table.d.ts +0 -104
  879. package/dist/src/core/markdown-table.js +0 -265
  880. package/dist/src/core/mochitest-server-port.d.ts +0 -81
  881. package/dist/src/core/mochitest-server-port.js +0 -175
  882. package/dist/src/core/module-resolution-preflight.d.ts +0 -65
  883. package/dist/src/core/module-resolution-preflight.js +0 -171
  884. package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
  885. package/dist/src/core/moz-manifest-helpers.js +0 -163
  886. package/dist/src/core/moz-manifest-register.d.ts +0 -19
  887. package/dist/src/core/moz-manifest-register.js +0 -51
  888. package/dist/src/core/moz-manifest-rules.d.ts +0 -58
  889. package/dist/src/core/moz-manifest-rules.js +0 -264
  890. package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
  891. package/dist/src/core/moz-manifest-tokenizers.js +0 -108
  892. package/dist/src/core/negative-control-compiled.d.ts +0 -46
  893. package/dist/src/core/negative-control-compiled.js +0 -109
  894. package/dist/src/core/negative-control-diff.d.ts +0 -51
  895. package/dist/src/core/negative-control-diff.js +0 -204
  896. package/dist/src/core/negative-control.d.ts +0 -150
  897. package/dist/src/core/negative-control.js +0 -399
  898. package/dist/src/core/objdir-install-manifests.d.ts +0 -73
  899. package/dist/src/core/objdir-install-manifests.js +0 -226
  900. package/dist/src/core/objdir-maintenance.d.ts +0 -10
  901. package/dist/src/core/objdir-maintenance.js +0 -167
  902. package/dist/src/core/ownership-table.d.ts +0 -53
  903. package/dist/src/core/ownership-table.js +0 -159
  904. package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
  905. package/dist/src/core/parent-exit-watchdog.js +0 -69
  906. package/dist/src/core/park-store.d.ts +0 -63
  907. package/dist/src/core/park-store.js +0 -216
  908. package/dist/src/core/parser-fallback.d.ts +0 -50
  909. package/dist/src/core/parser-fallback.js +0 -61
  910. package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
  911. package/dist/src/core/patch-apply-fuzz.js +0 -125
  912. package/dist/src/core/patch-apply.d.ts +0 -88
  913. package/dist/src/core/patch-apply.js +0 -435
  914. package/dist/src/core/patch-export-coverage.d.ts +0 -49
  915. package/dist/src/core/patch-export-coverage.js +0 -73
  916. package/dist/src/core/patch-export-metadata.d.ts +0 -46
  917. package/dist/src/core/patch-export-metadata.js +0 -47
  918. package/dist/src/core/patch-export-update.d.ts +0 -55
  919. package/dist/src/core/patch-export-update.js +0 -95
  920. package/dist/src/core/patch-export.d.ts +0 -175
  921. package/dist/src/core/patch-export.js +0 -312
  922. package/dist/src/core/patch-files.d.ts +0 -17
  923. package/dist/src/core/patch-files.js +0 -59
  924. package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
  925. package/dist/src/core/patch-identifier-suggest.js +0 -135
  926. package/dist/src/core/patch-lint-binary.d.ts +0 -45
  927. package/dist/src/core/patch-lint-binary.js +0 -39
  928. package/dist/src/core/patch-lint-cache.d.ts +0 -78
  929. package/dist/src/core/patch-lint-cache.js +0 -233
  930. package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
  931. package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
  932. package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
  933. package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
  934. package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
  935. package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
  936. package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
  937. package/dist/src/core/patch-lint-checkjs.js +0 -611
  938. package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
  939. package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
  940. package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
  941. package/dist/src/core/patch-lint-code-lines.js +0 -105
  942. package/dist/src/core/patch-lint-creators.d.ts +0 -26
  943. package/dist/src/core/patch-lint-creators.js +0 -45
  944. package/dist/src/core/patch-lint-cross.d.ts +0 -232
  945. package/dist/src/core/patch-lint-cross.js +0 -590
  946. package/dist/src/core/patch-lint-css.d.ts +0 -27
  947. package/dist/src/core/patch-lint-css.js +0 -228
  948. package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
  949. package/dist/src/core/patch-lint-diff-tag.js +0 -105
  950. package/dist/src/core/patch-lint-diff.d.ts +0 -42
  951. package/dist/src/core/patch-lint-diff.js +0 -100
  952. package/dist/src/core/patch-lint-file-size.d.ts +0 -57
  953. package/dist/src/core/patch-lint-file-size.js +0 -62
  954. package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
  955. package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
  956. package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
  957. package/dist/src/core/patch-lint-forward-registration.js +0 -266
  958. package/dist/src/core/patch-lint-ignore.d.ts +0 -196
  959. package/dist/src/core/patch-lint-ignore.js +0 -429
  960. package/dist/src/core/patch-lint-imports.d.ts +0 -5
  961. package/dist/src/core/patch-lint-imports.js +0 -67
  962. package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
  963. package/dist/src/core/patch-lint-jsdoc.js +0 -471
  964. package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
  965. package/dist/src/core/patch-lint-module-registration.js +0 -97
  966. package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
  967. package/dist/src/core/patch-lint-mozbuild.js +0 -192
  968. package/dist/src/core/patch-lint-observer.d.ts +0 -37
  969. package/dist/src/core/patch-lint-observer.js +0 -167
  970. package/dist/src/core/patch-lint-ownership.d.ts +0 -74
  971. package/dist/src/core/patch-lint-ownership.js +0 -125
  972. package/dist/src/core/patch-lint-prettier.d.ts +0 -34
  973. package/dist/src/core/patch-lint-prettier.js +0 -124
  974. package/dist/src/core/patch-lint-projection.d.ts +0 -25
  975. package/dist/src/core/patch-lint-projection.js +0 -43
  976. package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
  977. package/dist/src/core/patch-lint-queue-types.js +0 -12
  978. package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
  979. package/dist/src/core/patch-lint-size-thresholds.js +0 -110
  980. package/dist/src/core/patch-lint-size.d.ts +0 -117
  981. package/dist/src/core/patch-lint-size.js +0 -331
  982. package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
  983. package/dist/src/core/patch-lint-staged-registration.js +0 -110
  984. package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
  985. package/dist/src/core/patch-lint-token-scale.js +0 -286
  986. package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
  987. package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
  988. package/dist/src/core/patch-lint.d.ts +0 -191
  989. package/dist/src/core/patch-lint.js +0 -529
  990. package/dist/src/core/patch-lock.d.ts +0 -40
  991. package/dist/src/core/patch-lock.js +0 -129
  992. package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
  993. package/dist/src/core/patch-manifest-consistency.js +0 -256
  994. package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
  995. package/dist/src/core/patch-manifest-files-affected.js +0 -77
  996. package/dist/src/core/patch-manifest-io.d.ts +0 -199
  997. package/dist/src/core/patch-manifest-io.js +0 -556
  998. package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
  999. package/dist/src/core/patch-manifest-key-order.js +0 -60
  1000. package/dist/src/core/patch-manifest-query.d.ts +0 -55
  1001. package/dist/src/core/patch-manifest-query.js +0 -139
  1002. package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
  1003. package/dist/src/core/patch-manifest-resolve.js +0 -35
  1004. package/dist/src/core/patch-manifest-stage.d.ts +0 -46
  1005. package/dist/src/core/patch-manifest-stage.js +0 -96
  1006. package/dist/src/core/patch-manifest-validate.d.ts +0 -20
  1007. package/dist/src/core/patch-manifest-validate.js +0 -240
  1008. package/dist/src/core/patch-manifest.d.ts +0 -12
  1009. package/dist/src/core/patch-manifest.js +0 -13
  1010. package/dist/src/core/patch-order-legal.d.ts +0 -26
  1011. package/dist/src/core/patch-order-legal.js +0 -88
  1012. package/dist/src/core/patch-parse.d.ts +0 -161
  1013. package/dist/src/core/patch-parse.js +0 -347
  1014. package/dist/src/core/patch-policy-content.d.ts +0 -40
  1015. package/dist/src/core/patch-policy-content.js +0 -216
  1016. package/dist/src/core/patch-policy.d.ts +0 -80
  1017. package/dist/src/core/patch-policy.js +0 -394
  1018. package/dist/src/core/patch-registration-refs.d.ts +0 -41
  1019. package/dist/src/core/patch-registration-refs.js +0 -107
  1020. package/dist/src/core/patch-retired.d.ts +0 -57
  1021. package/dist/src/core/patch-retired.js +0 -92
  1022. package/dist/src/core/patch-source-metadata.d.ts +0 -6
  1023. package/dist/src/core/patch-source-metadata.js +0 -12
  1024. package/dist/src/core/patch-subset.d.ts +0 -18
  1025. package/dist/src/core/patch-subset.js +0 -67
  1026. package/dist/src/core/patch-transform.d.ts +0 -61
  1027. package/dist/src/core/patch-transform.js +0 -198
  1028. package/dist/src/core/preflight-wait.d.ts +0 -22
  1029. package/dist/src/core/preflight-wait.js +0 -62
  1030. package/dist/src/core/process-cpu-time.d.ts +0 -12
  1031. package/dist/src/core/process-cpu-time.js +0 -52
  1032. package/dist/src/core/process-owner.d.ts +0 -9
  1033. package/dist/src/core/process-owner.js +0 -43
  1034. package/dist/src/core/rebase-dry-run.d.ts +0 -48
  1035. package/dist/src/core/rebase-dry-run.js +0 -105
  1036. package/dist/src/core/rebase-from-version.d.ts +0 -46
  1037. package/dist/src/core/rebase-from-version.js +0 -71
  1038. package/dist/src/core/rebase-session.d.ts +0 -100
  1039. package/dist/src/core/rebase-session.js +0 -174
  1040. package/dist/src/core/register-browser-content.d.ts +0 -11
  1041. package/dist/src/core/register-browser-content.js +0 -52
  1042. package/dist/src/core/register-browser-test.d.ts +0 -18
  1043. package/dist/src/core/register-browser-test.js +0 -66
  1044. package/dist/src/core/register-module.d.ts +0 -11
  1045. package/dist/src/core/register-module.js +0 -56
  1046. package/dist/src/core/register-result.d.ts +0 -30
  1047. package/dist/src/core/register-result.js +0 -8
  1048. package/dist/src/core/register-scaffold.d.ts +0 -55
  1049. package/dist/src/core/register-scaffold.js +0 -146
  1050. package/dist/src/core/register-shared-css.d.ts +0 -36
  1051. package/dist/src/core/register-shared-css.js +0 -112
  1052. package/dist/src/core/register-xpcshell-test.d.ts +0 -50
  1053. package/dist/src/core/register-xpcshell-test.js +0 -143
  1054. package/dist/src/core/run-log-redact.d.ts +0 -38
  1055. package/dist/src/core/run-log-redact.js +0 -69
  1056. package/dist/src/core/run-log.d.ts +0 -97
  1057. package/dist/src/core/run-log.js +0 -334
  1058. package/dist/src/core/run-profile.d.ts +0 -57
  1059. package/dist/src/core/run-profile.js +0 -137
  1060. package/dist/src/core/shared-ftl.d.ts +0 -28
  1061. package/dist/src/core/shared-ftl.js +0 -49
  1062. package/dist/src/core/signal-critical.d.ts +0 -38
  1063. package/dist/src/core/signal-critical.js +0 -62
  1064. package/dist/src/core/smoke-patterns.d.ts +0 -81
  1065. package/dist/src/core/smoke-patterns.js +0 -176
  1066. package/dist/src/core/state-file.d.ts +0 -60
  1067. package/dist/src/core/state-file.js +0 -71
  1068. package/dist/src/core/status-binary.d.ts +0 -62
  1069. package/dist/src/core/status-binary.js +0 -133
  1070. package/dist/src/core/status-classify.d.ts +0 -96
  1071. package/dist/src/core/status-classify.js +0 -244
  1072. package/dist/src/core/test-changed-prefs.d.ts +0 -30
  1073. package/dist/src/core/test-changed-prefs.js +0 -93
  1074. package/dist/src/core/test-harness-crash.d.ts +0 -251
  1075. package/dist/src/core/test-harness-crash.js +0 -780
  1076. package/dist/src/core/test-harness-infra.d.ts +0 -32
  1077. package/dist/src/core/test-harness-infra.js +0 -69
  1078. package/dist/src/core/test-harness-output.d.ts +0 -45
  1079. package/dist/src/core/test-harness-output.js +0 -119
  1080. package/dist/src/core/test-harness-signature.d.ts +0 -57
  1081. package/dist/src/core/test-harness-signature.js +0 -35
  1082. package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
  1083. package/dist/src/core/test-harness-verdict-notes.js +0 -48
  1084. package/dist/src/core/test-host-state.d.ts +0 -14
  1085. package/dist/src/core/test-host-state.js +0 -80
  1086. package/dist/src/core/test-path-scope.d.ts +0 -59
  1087. package/dist/src/core/test-path-scope.js +0 -147
  1088. package/dist/src/core/test-profile-files.d.ts +0 -17
  1089. package/dist/src/core/test-profile-files.js +0 -75
  1090. package/dist/src/core/test-raw-log.d.ts +0 -66
  1091. package/dist/src/core/test-raw-log.js +0 -122
  1092. package/dist/src/core/test-run-completeness.d.ts +0 -97
  1093. package/dist/src/core/test-run-completeness.js +0 -191
  1094. package/dist/src/core/test-stale-check.d.ts +0 -213
  1095. package/dist/src/core/test-stale-check.js +0 -396
  1096. package/dist/src/core/test-stale-exempt.d.ts +0 -40
  1097. package/dist/src/core/test-stale-exempt.js +0 -70
  1098. package/dist/src/core/test-stale-symlink.d.ts +0 -12
  1099. package/dist/src/core/test-stale-symlink.js +0 -39
  1100. package/dist/src/core/test-stall-triage.d.ts +0 -51
  1101. package/dist/src/core/test-stall-triage.js +0 -142
  1102. package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
  1103. package/dist/src/core/test-xpcshell-retry.js +0 -31
  1104. package/dist/src/core/token-category.d.ts +0 -54
  1105. package/dist/src/core/token-category.js +0 -299
  1106. package/dist/src/core/token-coverage.d.ts +0 -12
  1107. package/dist/src/core/token-coverage.js +0 -96
  1108. package/dist/src/core/token-dark-mode.d.ts +0 -64
  1109. package/dist/src/core/token-dark-mode.js +0 -186
  1110. package/dist/src/core/token-docs.d.ts +0 -34
  1111. package/dist/src/core/token-docs.js +0 -102
  1112. package/dist/src/core/token-inventory.d.ts +0 -56
  1113. package/dist/src/core/token-inventory.js +0 -114
  1114. package/dist/src/core/token-lint.d.ts +0 -53
  1115. package/dist/src/core/token-lint.js +0 -131
  1116. package/dist/src/core/token-manager.d.ts +0 -87
  1117. package/dist/src/core/token-manager.js +0 -407
  1118. package/dist/src/core/token-scaffold.d.ts +0 -36
  1119. package/dist/src/core/token-scaffold.js +0 -73
  1120. package/dist/src/core/token-sibling-sheets.d.ts +0 -46
  1121. package/dist/src/core/token-sibling-sheets.js +0 -119
  1122. package/dist/src/core/token-variant.d.ts +0 -90
  1123. package/dist/src/core/token-variant.js +0 -327
  1124. package/dist/src/core/toolchain-preflight.d.ts +0 -90
  1125. package/dist/src/core/toolchain-preflight.js +0 -251
  1126. package/dist/src/core/tree-cow.d.ts +0 -16
  1127. package/dist/src/core/tree-cow.js +0 -71
  1128. package/dist/src/core/tree-guard.d.ts +0 -35
  1129. package/dist/src/core/tree-guard.js +0 -194
  1130. package/dist/src/core/tree-store.d.ts +0 -143
  1131. package/dist/src/core/tree-store.js +0 -478
  1132. package/dist/src/core/typecheck-shim.d.ts +0 -90
  1133. package/dist/src/core/typecheck-shim.js +0 -507
  1134. package/dist/src/core/typecheck.d.ts +0 -75
  1135. package/dist/src/core/typecheck.js +0 -433
  1136. package/dist/src/core/wire-destroy.d.ts +0 -25
  1137. package/dist/src/core/wire-destroy.js +0 -126
  1138. package/dist/src/core/wire-dom-fragment.d.ts +0 -44
  1139. package/dist/src/core/wire-dom-fragment.js +0 -139
  1140. package/dist/src/core/wire-init.d.ts +0 -28
  1141. package/dist/src/core/wire-init.js +0 -219
  1142. package/dist/src/core/wire-subscript.d.ts +0 -23
  1143. package/dist/src/core/wire-subscript.js +0 -145
  1144. package/dist/src/core/wire-utils.d.ts +0 -149
  1145. package/dist/src/core/wire-utils.js +0 -338
  1146. package/dist/src/core/xpcshell-appdir.d.ts +0 -157
  1147. package/dist/src/core/xpcshell-appdir.js +0 -299
  1148. package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
  1149. package/dist/src/core/xpcshell-profile-dir.js +0 -45
  1150. package/dist/src/errors/base.d.ts +0 -217
  1151. package/dist/src/errors/base.js +0 -279
  1152. package/dist/src/errors/build.d.ts +0 -92
  1153. package/dist/src/errors/build.js +0 -166
  1154. package/dist/src/errors/codes.d.ts +0 -74
  1155. package/dist/src/errors/codes.js +0 -74
  1156. package/dist/src/errors/config.d.ts +0 -17
  1157. package/dist/src/errors/config.js +0 -39
  1158. package/dist/src/errors/download.d.ts +0 -66
  1159. package/dist/src/errors/download.js +0 -160
  1160. package/dist/src/errors/furnace.d.ts +0 -20
  1161. package/dist/src/errors/furnace.js +0 -28
  1162. package/dist/src/errors/git.d.ts +0 -65
  1163. package/dist/src/errors/git.js +0 -140
  1164. package/dist/src/errors/patch.d.ts +0 -27
  1165. package/dist/src/errors/patch.js +0 -52
  1166. package/dist/src/errors/rebase.d.ts +0 -42
  1167. package/dist/src/errors/rebase.js +0 -71
  1168. package/dist/src/errors/run.d.ts +0 -16
  1169. package/dist/src/errors/run.js +0 -22
  1170. package/dist/src/index.d.ts +0 -42
  1171. package/dist/src/index.js +0 -32
  1172. package/dist/src/types/cli.d.ts +0 -14
  1173. package/dist/src/types/commands/index.d.ts +0 -6
  1174. package/dist/src/types/commands/index.js +0 -5
  1175. package/dist/src/types/commands/options.d.ts +0 -1367
  1176. package/dist/src/types/commands/options.js +0 -5
  1177. package/dist/src/types/commands/patches.d.ts +0 -352
  1178. package/dist/src/types/commands/patches.js +0 -5
  1179. package/dist/src/types/commands/project.d.ts +0 -51
  1180. package/dist/src/types/commands/project.js +0 -5
  1181. package/dist/src/types/config.d.ts +0 -703
  1182. package/dist/src/types/config.js +0 -15
  1183. package/dist/src/types/furnace.d.ts +0 -415
  1184. package/dist/src/types/furnace.js +0 -26
  1185. package/dist/src/types/index.d.ts +0 -5
  1186. package/dist/src/types/index.js +0 -5
  1187. package/dist/src/types/json.d.ts +0 -22
  1188. package/dist/src/types/json.js +0 -11
  1189. package/dist/src/types/typecheck.d.ts +0 -51
  1190. package/dist/src/types/typecheck.js +0 -14
  1191. package/dist/src/utils/assert.d.ts +0 -34
  1192. package/dist/src/utils/assert.js +0 -61
  1193. package/dist/src/utils/build-info.d.ts +0 -30
  1194. package/dist/src/utils/build-info.js +0 -99
  1195. package/dist/src/utils/child-env.d.ts +0 -28
  1196. package/dist/src/utils/child-env.js +0 -27
  1197. package/dist/src/utils/concurrency.d.ts +0 -8
  1198. package/dist/src/utils/concurrency.js +0 -32
  1199. package/dist/src/utils/elapsed.d.ts +0 -2
  1200. package/dist/src/utils/elapsed.js +0 -23
  1201. package/dist/src/utils/errors.d.ts +0 -39
  1202. package/dist/src/utils/errors.js +0 -67
  1203. package/dist/src/utils/fs.d.ts +0 -113
  1204. package/dist/src/utils/fs.js +0 -337
  1205. package/dist/src/utils/hash.d.ts +0 -12
  1206. package/dist/src/utils/hash.js +0 -16
  1207. package/dist/src/utils/line-dispatch.d.ts +0 -15
  1208. package/dist/src/utils/line-dispatch.js +0 -48
  1209. package/dist/src/utils/logger.d.ts +0 -109
  1210. package/dist/src/utils/logger.js +0 -270
  1211. package/dist/src/utils/machine-output.d.ts +0 -12
  1212. package/dist/src/utils/machine-output.js +0 -33
  1213. package/dist/src/utils/options.d.ts +0 -155
  1214. package/dist/src/utils/options.js +0 -312
  1215. package/dist/src/utils/package-root.d.ts +0 -21
  1216. package/dist/src/utils/package-root.js +0 -70
  1217. package/dist/src/utils/parse.d.ts +0 -117
  1218. package/dist/src/utils/parse.js +0 -214
  1219. package/dist/src/utils/path-glob.d.ts +0 -15
  1220. package/dist/src/utils/path-glob.js +0 -47
  1221. package/dist/src/utils/paths.d.ts +0 -31
  1222. package/dist/src/utils/paths.js +0 -80
  1223. package/dist/src/utils/platform.d.ts +0 -9
  1224. package/dist/src/utils/platform.js +0 -14
  1225. package/dist/src/utils/process-group.d.ts +0 -42
  1226. package/dist/src/utils/process-group.js +0 -190
  1227. package/dist/src/utils/process-input.d.ts +0 -27
  1228. package/dist/src/utils/process-input.js +0 -46
  1229. package/dist/src/utils/process.d.ts +0 -293
  1230. package/dist/src/utils/process.js +0 -593
  1231. package/dist/src/utils/ps-duration.d.ts +0 -31
  1232. package/dist/src/utils/ps-duration.js +0 -70
  1233. package/dist/src/utils/regex.d.ts +0 -39
  1234. package/dist/src/utils/regex.js +0 -109
  1235. package/dist/src/utils/sleep.d.ts +0 -25
  1236. package/dist/src/utils/sleep.js +0 -30
  1237. package/dist/src/utils/stdio-drain.d.ts +0 -28
  1238. package/dist/src/utils/stdio-drain.js +0 -54
  1239. package/dist/src/utils/validation.d.ts +0 -182
  1240. package/dist/src/utils/validation.js +0 -394
  1241. package/docs/lifecycle-invariants.md +0 -523
  1242. package/docs/run-logs.md +0 -122
  1243. package/docs/verification-trees.md +0 -49
  1244. /package/dist/src/{types/cli.js → cli/context.js} +0 -0
@@ -1,1367 +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
- * Resolved `--wait-lock` budget in seconds, or undefined for the default.
882
- * Threaded to the furnace lock `runFurnaceMutation` takes INSIDE the
883
- * engine session lock, so one flag governs both.
884
- */
885
- waitLockSeconds?: number;
886
- }
887
- /**
888
- * Options for the furnace refresh command.
889
- */
890
- export interface FurnaceRefreshOptions extends DryRunnable, FurnaceLockWaitable {
891
- /** Refresh all overrides in a single batch */
892
- all?: boolean;
893
- /** Conflict resolution strategy for automated use (ours = keep local, theirs = accept upstream) */
894
- strategy?: 'ours' | 'theirs';
895
- /** Reset the override's baseline to the current engine HEAD, skipping three-way merge */
896
- resetBase?: boolean;
897
- }
898
- /**
899
- * Options for the furnace rename command.
900
- */
901
- export interface FurnaceRenameOptions extends DryRunnable, FurnaceLockWaitable {
902
- }
903
- /**
904
- * Options for the furnace sync command.
905
- */
906
- export interface FurnaceSyncOptions extends DryRunnable {
907
- /** Conflict resolution strategy for three-way merge (ours = keep local, theirs = accept upstream) */
908
- strategy?: 'ours' | 'theirs';
909
- /**
910
- * Resolved `--wait-lock` budget in seconds, or undefined for the default.
911
- * Threaded to the furnace lock `runFurnaceMutation` takes INSIDE the
912
- * engine session lock, so one flag governs both.
913
- */
914
- waitLockSeconds?: number;
915
- }
916
- /**
917
- * Options for the furnace validate command.
918
- */
919
- export interface FurnaceValidateOptions {
920
- /** Auto-fix registration issues (missing jar.mn entries, customElements.js registration) */
921
- fix?: boolean;
922
- /** Write one schemaVersion-1 JSON document to stdout instead of the human report. */
923
- json?: boolean;
924
- /** Fail when more than this many warnings remain after `validationExceptions`. */
925
- maxWarnings?: number;
926
- }
927
- /**
928
- * Options for the furnace override command.
929
- */
930
- export interface FurnaceOverrideOptions extends FurnaceLockWaitable {
931
- /** Override type: css-only or full */
932
- type?: 'css-only' | 'full';
933
- /** Description of the override */
934
- description?: string;
935
- }
936
- /**
937
- * Options for the furnace remove command: the confirmation mixin plus the
938
- * furnace lock budget.
939
- */
940
- export interface FurnaceRemoveOptions extends Confirmable, FurnaceLockWaitable {
941
- }
942
- /**
943
- * Options for the furnace create command.
944
- */
945
- export interface FurnaceCreateOptions extends FurnaceLockWaitable {
946
- /** Component description */
947
- description?: string;
948
- /**
949
- * Engine-relative directory the test scaffold writes into, instead of
950
- * the default `browser/base/content/test/<binaryName>/` (browser-chrome)
951
- * or `browser/base/content/test/<binaryName>-xpcshell/<component>/`
952
- * (xpcshell). Must stay under `browser/base/content/test/` so the
953
- * manifest registration keeps working. Not supported for
954
- * `--test-style=mochikit` (that harness lives in the upstream
955
- * toolkit/content/tests/widgets tree).
956
- */
957
- testDir?: string;
958
- /** Include Fluent l10n support */
959
- localized?: boolean;
960
- /** Register in customElements.js (default: true) */
961
- register?: boolean;
962
- /** Scaffold Mochitest directory and register in moz.build */
963
- withTests?: boolean;
964
- /**
965
- * Scaffold an xpcshell test harness (headless, no tabbrowser) instead of
966
- * browser-chrome. Required for forks without a `tabbrowser` (storage-only
967
- * code, observer-driven modules). Implies `withTests` when set. Writes an
968
- * `xpcshell.toml` + `test_<name>.js` under
969
- * `engine/browser/base/content/test/<binary-name>-xpcshell/` and leaves
970
- * moz.build registration to the operator (add the directory to
971
- * `XPCSHELL_TESTS_MANIFESTS`).
972
- */
973
- xpcshell?: boolean;
974
- /**
975
- * Test harness style to scaffold when `--with-tests` is set.
976
- *
977
- * - `browser-chrome` (default when `--with-tests` is set without
978
- * `--test-style`): browser mochitest scaffold. Requires a working
979
- * `tabbrowser`. Prefer this for interactive chrome/widget coverage
980
- * (including on macOS).
981
- * - `mochikit`: opt-in MochiKit test at
982
- * `engine/toolkit/content/tests/widgets/test_<tag>.html` that loads
983
- * the component via `chrome://global/`. Use when the top-level chrome
984
- * document lacks a `tabbrowser`. On macOS the toolkit mochitest-chrome
985
- * flavor can be unreliable (long idle timeout).
986
- * - `xpcshell`: equivalent to setting `--xpcshell`. Headless, storage-only.
987
- */
988
- testStyle?: 'mochikit' | 'browser-chrome' | 'xpcshell';
989
- /** Stock component tag names composed internally by this component */
990
- compose?: string[];
991
- /**
992
- * Participate in a pre-existing feature-scoped Fluent bundle at this
993
- * path (as used by `insertFTLIfNeeded`, e.g. `browser/mybrowser-dock.ftl`)
994
- * instead of scaffolding a per-component `.ftl`. Implies `localized`.
995
- * Persists onto the furnace.json entry so validation and apply skip the
996
- * per-component paths.
997
- */
998
- sharedFtl?: string;
999
- /**
1000
- * Show the planned file set and furnace.json changes without writing
1001
- * anything. All validation that does not require disk writes (tag name
1002
- * shape, name conflicts, engine pre-existence, `--compose` targets, cycle
1003
- * detection, prefix warning) runs before the plan is emitted, so a
1004
- * dry-run faithfully previews the real command's outcome.
1005
- */
1006
- dryRun?: boolean;
1007
- /**
1008
- * Bypass the configured `componentPrefix` check for the supplied name.
1009
- * Without this flag, a name that does not start with the prefix is
1010
- * rejected before any files are written, so a prefix-mismatched
1011
- * component cannot leave behind a half-scaffolded state. Pass this
1012
- * flag only when you know the prefix mismatch is intentional, e.g.
1013
- * creating an experimental component whose name intentionally breaks
1014
- * the fork's convention.
1015
- */
1016
- allowPrefixMismatch?: boolean;
1017
- }
1018
- /**
1019
- * Options for the wire command.
1020
- */
1021
- export interface WireOptions {
1022
- init?: string;
1023
- destroy?: string;
1024
- dom?: string;
1025
- dryRun?: boolean;
1026
- after?: string;
1027
- subscriptDir?: string;
1028
- /**
1029
- * Chrome document the DOM fragment's `#include` is inserted into, relative
1030
- * to engine/. Defaults to the first entry of
1031
- * `furnace.json.tokenHostDocuments` when set, otherwise
1032
- * `browser/base/content/browser.xhtml`.
1033
- */
1034
- target?: string;
1035
- }
1036
- /**
1037
- * Options for the register command.
1038
- */
1039
- export interface RegisterOptions {
1040
- dryRun?: boolean;
1041
- after?: string;
1042
- /** Scaffold a missing manifest (moz.build / xpcshell.toml) and wire the parent chain. */
1043
- createManifest?: boolean;
1044
- }
1045
- /**
1046
- * Options for the patch delete command.
1047
- */
1048
- export interface PatchDeleteOptions extends Confirmable, DryRunnable, PatchLockWaitable {
1049
- /** Bypass the hard refusal when later patches depend on the target. */
1050
- forceUnsafe?: boolean;
1051
- /** Also delete the engine files the patch creates that are still on disk. */
1052
- deleteCreated?: boolean;
1053
- }
1054
- /**
1055
- * Options for the `fireforge patch retire` subcommand: `patch delete` that
1056
- * keeps the removed patch's order as a retired slot in `patches.json`.
1057
- */
1058
- export interface PatchRetireOptions extends PatchDeleteOptions {
1059
- /** Optional human-readable rationale stored on the retired slot. */
1060
- reason?: string;
1061
- }
1062
- /**
1063
- * Options for the `fireforge patch stage` subcommand: stage the named
1064
- * patches' files and only their `patches.json` rows in the project index.
1065
- */
1066
- export type PatchStageOptions = DryRunnable & PatchLockWaitable;
1067
- /**
1068
- * Options for the `fireforge patch reserve` subcommand: hold an order
1069
- * number for a patch not exported yet, or release the hold.
1070
- */
1071
- export interface PatchReserveOptions extends DryRunnable, PatchLockWaitable {
1072
- /** Category the reserved patch will carry (required to reserve). */
1073
- category?: string;
1074
- /** Who holds the reservation (required to reserve). */
1075
- owner?: string;
1076
- /** Optional human-readable rationale stored on the reserved slot. */
1077
- reason?: string;
1078
- /** Release the reservation at the order instead of creating one. */
1079
- release?: boolean;
1080
- }
1081
- /**
1082
- * Options for the `fireforge patch rename` subcommand. Updates the patch's
1083
- * filename, manifest `name`, and (optionally) `description` atomically
1084
- * without rewriting the `.patch` file body. Companion to `re-export --files`
1085
- * for the case where the body is already correct but the patch's identity
1086
- * describes a pre-shrink scope.
1087
- */
1088
- export interface PatchRenameOptions extends Confirmable, DryRunnable, PatchLockWaitable, UnsafeOverridable {
1089
- /**
1090
- * New human-readable name. Sanitised the same way `export --name`
1091
- * sanitises into the filename slug (lowercase, non-alphanumerics
1092
- * collapsed to `-`, length-capped). The patch's `name` field stores
1093
- * the raw value. The filename uses the sanitised slug. Optional when
1094
- * `--category`/`--order`/`--description` carry the change.
1095
- */
1096
- to?: string;
1097
- /**
1098
- * New category (validated against configured categories). Rewrites
1099
- * the filename prefix and the manifest row in one transaction, so
1100
- * recategorising does not require `patch delete` + fresh export.
1101
- */
1102
- category?: string;
1103
- /**
1104
- * Move the patch to this exact unused sparse order. Collisions refuse
1105
- * with a pointer to `patch reorder` (which renumbers siblings). An
1106
- * order change is projected through cross-patch lint first.
1107
- */
1108
- order?: number;
1109
- /**
1110
- * Replacement description. Omit to leave the description unchanged
1111
- * (intentional: operators frequently want to relabel the slug
1112
- * without touching the description).
1113
- */
1114
- description?: string;
1115
- }
1116
- /**
1117
- * Options for the patch reorder command.
1118
- */
1119
- export interface PatchReorderOptions extends PatchLockWaitable {
1120
- to?: number;
1121
- before?: string;
1122
- after?: string;
1123
- /**
1124
- * Shift a run of patches up by this many orders (`--shift <n> --from
1125
- * <order> [--through <order>]`) instead of moving one patch.
1126
- */
1127
- shift?: number;
1128
- /** First order of the run `shift` moves. */
1129
- from?: number;
1130
- /** Last order of the run `shift` moves (default: the end of the run). */
1131
- through?: number;
1132
- /** Write the committed old-to-new filename map here as JSON. */
1133
- mapOut?: string;
1134
- yes?: boolean;
1135
- dryRun?: boolean;
1136
- forceUnsafe?: boolean;
1137
- }
1138
- /**
1139
- * Options for the patch compact command.
1140
- */
1141
- export interface PatchCompactOptions extends Confirmable, DryRunnable, PatchLockWaitable, UnsafeOverridable {
1142
- }
1143
- /**
1144
- * Options for the status command.
1145
- */
1146
- export interface StatusOptions {
1147
- raw?: boolean;
1148
- /**
1149
- * Report the engine-session lock instead of file status:
1150
- * holder pid, the command it is running, how long it has held the lock,
1151
- * and how many waiters are queued behind it. Read-only: it never
1152
- * acquires the lock, so it is safe to run while a build or test holds
1153
- * it, which is when an operator usually asks.
1154
- */
1155
- lock?: boolean;
1156
- unmanaged?: boolean;
1157
- /**
1158
- * Render a flat file→owning-patch ownership table instead of the three-
1159
- * bucket classification. Sources the path list from the manifest's
1160
- * `filesAffected` per patch and flags any path claimed by more than one
1161
- * patch as an ownership conflict.
1162
- */
1163
- ownership?: boolean;
1164
- /**
1165
- * Print the recorded test-packaging coverage of the last build baseline
1166
- * (scope, timestamp, recording invocation) and exit. Read-only, and the
1167
- * counterpart to the out-of-coverage test refusal.
1168
- */
1169
- testCoverage?: boolean;
1170
- /** Output machine-readable JSON instead of human-readable text. */
1171
- json?: boolean;
1172
- /**
1173
- * With `--json`: emit only the summary counts (plus the offending
1174
- * files per fail-set classification when the `--check`/`--fail-on`
1175
- * policy is active), omitting the per-file `files[]` payload that
1176
- * grows with the queue. Refused without `--json`.
1177
- */
1178
- summary?: boolean;
1179
- /**
1180
- * With `--json` (and composing with `--summary`), append an additive
1181
- * `ownership` block (the flat path→owning-patch rows plus
1182
- * managed/unmanaged/conflict counts) so a gate reads ownership,
1183
- * classification, and the check verdict from one scan instead of three
1184
- * back-to-back `status` invocations. This is a modifier rather than a
1185
- * mode: exit semantics are unchanged, so ownership conflicts still fail
1186
- * only the human `--ownership` mode. Refused without `--json`.
1187
- */
1188
- includeOwnership?: boolean;
1189
- /**
1190
- * Exit non-zero when any classification in the fail policy is
1191
- * non-empty (default policy: unmanaged, patch-owned-drift, conflict).
1192
- * Composes with the default view and `--json`. Refused alongside
1193
- * `--raw`/`--unmanaged`/`--ownership`/`--test-coverage`.
1194
- */
1195
- check?: boolean;
1196
- /**
1197
- * Comma-separated classification list replacing the default `--check`
1198
- * policy. Implies `--check`. Unknown values refuse, naming the valid
1199
- * classification set. `ownership-conflict` (a path claimed by more than
1200
- * one patch) is accepted beside the file classifications.
1201
- */
1202
- failOn?: string;
1203
- /**
1204
- * Comma-separated classification list that never fails `--check`,
1205
- * removed from the fail set. Implies `--check`. Naming a class in both
1206
- * `failOn` and `allow` refuses.
1207
- */
1208
- allow?: string;
1209
- /**
1210
- * With `allow`: fail on every present classification that neither
1211
- * `failOn` nor `allow` names, so a classification added by a later
1212
- * FireForge fails closed. Implies `--check`.
1213
- */
1214
- failOnUnknown?: boolean;
1215
- /**
1216
- * Judge only these patches (`--patches`, each value may be a comma
1217
- * list): files they own or claim and ownership rows naming them.
1218
- */
1219
- patches?: string[];
1220
- }
1221
- /**
1222
- * Options for the token add command.
1223
- */
1224
- export interface TokenAddOptions {
1225
- /**
1226
- * Required for a base declaration. Optional under
1227
- * {@link TokenAddOptions.variant}, which routes into a `:root<selector>`
1228
- * block where no category applies.
1229
- */
1230
- category?: string;
1231
- mode: string;
1232
- description?: string;
1233
- darkValue?: string;
1234
- dryRun?: boolean;
1235
- /** Declare the category banner in the tokens CSS when it does not exist yet. */
1236
- createCategory?: boolean;
1237
- /**
1238
- * Attribute selector fragment (e.g. `[data-skin=precision]` or
1239
- * `[data-private]`) routing the declaration into a `:root<variant>` block.
1240
- */
1241
- variant?: string;
1242
- }
1243
- /**
1244
- * Options for the doctor command.
1245
- */
1246
- export interface DoctorOptions {
1247
- /**
1248
- * Seconds to wait for the patch directory lock. This command can mutate
1249
- * the patch manifest under that lock.
1250
- */
1251
- waitLock?: number | boolean;
1252
- /**
1253
- * Rebuild patches.json from the on-disk patch files, preserving every
1254
- * field the patch bodies cannot express. Refused when patches.json exists
1255
- * but cannot be parsed, unless `allowMetadataLoss` is also set.
1256
- */
1257
- repairPatchesManifest?: boolean;
1258
- /**
1259
- * Repair only the `filesAffected` lists that disagree with their patch
1260
- * body. Narrower than `repairPatchesManifest`: it rewrites one field on the
1261
- * drifted rows and leaves every other row byte-identical, and it needs no
1262
- * project config, so it works on a project whose fireforge.json is broken.
1263
- */
1264
- repairFilesAffected?: boolean;
1265
- /**
1266
- * Accept the whole-manifest metadata reinvention that rebuilding an
1267
- * unparseable patches.json implies. Only meaningful with
1268
- * `repairPatchesManifest`.
1269
- */
1270
- allowMetadataLoss?: boolean;
1271
- /**
1272
- * Project what a requested repair would change and write nothing. Refused
1273
- * without a repair flag rather than accepted as a silent no-op.
1274
- */
1275
- dryRun?: boolean;
1276
- /**
1277
- * Clear a stale `pendingResolution` marker, but only after the same
1278
- * read-only queue health checks used by `fireforge verify` report no
1279
- * error-severity findings.
1280
- */
1281
- clearResolution?: boolean;
1282
- /**
1283
- * Opt-in repair path for furnace-specific checks. When true, doctor will:
1284
- * - clear stale `.fireforge/furnace-state.json` entries whose component is
1285
- * no longer in `furnace.json`,
1286
- * - run `applyAllComponents` to reconcile any engine drift,
1287
- * - clear the `pendingRepair` marker on success.
1288
- * Mirrors `repairPatchesManifest` in that the repair is only attempted when
1289
- * the caller explicitly asks for it, so a read-only `doctor` run stays cheap
1290
- * and side-effect-free.
1291
- */
1292
- repairFurnace?: boolean;
1293
- /** Run extra post-rebase checks for common Firefox registration surfaces. */
1294
- postRebaseAudit?: boolean;
1295
- }
1296
- /** Options controlling how the lint command filters and tags its output. */
1297
- export interface LintCommandOptions {
1298
- /**
1299
- * When set, tag each issue as `introduced` or `cumulative` based on
1300
- * whether its file changed since this git revision (e.g. `HEAD`, a
1301
- * branch name, or a SHA). Issues are not filtered and the full set
1302
- * still prints, but a diff-scoped summary makes it easy to see which
1303
- * errors the current task introduced.
1304
- */
1305
- since?: string;
1306
- /**
1307
- * When set together with {@link since}, scope the exit code to issues
1308
- * tagged `introduced`. Cumulative pre-existing errors still print, so the
1309
- * operator sees the full queue state, but do not fail lint. This is for a
1310
- * branch whose own diff is clean but whose repo carries unrelated
1311
- * `raw-color` / license-header errors from older patches.
1312
- *
1313
- * Requires {@link since}: without a revision to diff against there is no
1314
- * distinction between introduced and cumulative, so the flag is rejected
1315
- * up-front rather than silently ignored.
1316
- */
1317
- onlyIntroduced?: boolean;
1318
- /**
1319
- * Lint each patch in the queue as its own isolated diff, rather than the
1320
- * aggregate `git diff HEAD` across all applied patches.
1321
- *
1322
- * On a repo where `import` or `rebase` has just applied the full queue,
1323
- * the aggregate diff sums every patch's changes, and the patch-size
1324
- * advisory rules (`large-patch-lines`, `large-patch-files`) fire against
1325
- * that sum, reporting "Patch is 37529 lines" for a queue of
1326
- * individually-fine patches. `--per-patch` rescopes the diff to each patch's own
1327
- * `filesAffected`, honours the patch's own `lintIgnore`, and runs the
1328
- * cross-patch rules once over the whole queue so queue-level findings
1329
- * still surface.
1330
- *
1331
- * Positional file arguments change meaning under this flag: they are PATCH
1332
- * selectors resolved like {@link patches} entries, not engine file paths.
1333
- */
1334
- perPatch?: boolean;
1335
- /**
1336
- * Restrict `--per-patch` to a named subset of the queue (by filename,
1337
- * filename ± `.patch`, or manifest `name`). Lets a change that touches a
1338
- * handful of patches run the per-patch gate over just those instead of
1339
- * the full ~90-patch queue. Only valid with {@link perPatch}. Queue-level
1340
- * findings (policy, cross-patch) are scoped to files the subset touches.
1341
- */
1342
- patches?: string[];
1343
- /**
1344
- * Maximum warning count tolerated before lint exits non-zero. Mirrors
1345
- * ESLint's `--max-warnings` shape for release gates that want advisory
1346
- * findings to become blocking without changing default CLI behavior.
1347
- */
1348
- maxWarnings?: number;
1349
- /**
1350
- * Bypass per-patch lint cache reads and writes. Accepted in aggregate mode
1351
- * for CLI consistency, but only `--per-patch` currently uses the cache.
1352
- */
1353
- noCache?: boolean;
1354
- /**
1355
- * With `--per-patch`, write a machine-readable JSON report (schemaVersion
1356
- * 1: per-patch lineCount, filesAffected, tier, thresholds, issues, and
1357
- * lintIgnore-suppressed issues) to this path. Requires
1358
- * {@link perPatch}.
1359
- */
1360
- report?: string;
1361
- /**
1362
- * With `--per-patch`: `'full'` (default) prints every NOTICE line;
1363
- * `'summary'` prints one line per check with its count and patch count.
1364
- * Errors and warnings always print in full.
1365
- */
1366
- notices?: 'summary' | 'full';
1367
- }