@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.
- package/CHANGELOG.md +287 -6
- package/README.md +51 -17
- package/dist/bin/fireforge.js +34 -129
- package/dist/build-info.json +4 -4
- package/dist/src/check/check.js +394 -0
- package/dist/src/check/gate.js +448 -0
- package/dist/src/check/index.js +10 -0
- package/dist/src/check/record.js +155 -0
- package/dist/src/cli/command.js +286 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/program.js +231 -0
- package/dist/src/cli/stdio.js +59 -0
- package/dist/src/cli/version.js +99 -0
- package/dist/src/commands/bootstrap.js +17 -102
- package/dist/src/commands/build.js +34 -438
- package/dist/src/commands/check.js +44 -157
- package/dist/src/commands/config.js +50 -226
- package/dist/src/commands/discard.js +38 -215
- package/dist/src/commands/doctor.js +29 -456
- package/dist/src/commands/download.js +35 -499
- package/dist/src/commands/export.js +42 -431
- package/dist/src/commands/furnace.js +220 -0
- package/dist/src/commands/gate.js +127 -0
- package/dist/src/commands/import.js +44 -445
- package/dist/src/commands/index.js +86 -0
- package/dist/src/commands/lint.js +44 -546
- package/dist/src/commands/merge-driver.js +56 -0
- package/dist/src/commands/migrate.js +75 -0
- package/dist/src/commands/override.js +43 -0
- package/dist/src/commands/package.js +48 -77
- package/dist/src/commands/patch.js +221 -0
- package/dist/src/commands/re-export.js +55 -332
- package/dist/src/commands/rebase.js +69 -0
- package/dist/src/commands/register.js +62 -103
- package/dist/src/commands/reset.js +28 -91
- package/dist/src/commands/resolve.js +20 -167
- package/dist/src/commands/restore.js +19 -0
- package/dist/src/commands/run.js +60 -420
- package/dist/src/commands/setup.js +78 -90
- package/dist/src/commands/status.js +44 -413
- package/dist/src/commands/test.js +97 -422
- package/dist/src/commands/token.js +185 -228
- package/dist/src/commands/typecheck.js +59 -208
- package/dist/src/commands/verify.js +28 -334
- package/dist/src/commands/version.js +14 -0
- package/dist/src/commands/watch.js +20 -218
- package/dist/src/commands/wire.js +60 -349
- package/dist/src/commands/workspace.js +117 -0
- package/dist/src/config/edit.js +237 -0
- package/dist/src/config/index.js +15 -0
- package/dist/src/config/load.js +59 -0
- package/dist/src/config/previous.js +404 -0
- package/dist/src/config/schema/build.js +63 -0
- package/dist/src/config/schema/check.js +113 -0
- package/dist/src/config/schema/common.js +71 -0
- package/dist/src/config/schema/export-queue.js +36 -0
- package/dist/src/config/schema/firefox.js +69 -0
- package/dist/src/config/schema/gate.js +199 -0
- package/dist/src/config/schema/identity.js +55 -0
- package/dist/src/config/schema/index.js +45 -0
- package/dist/src/config/schema/lint.js +297 -0
- package/dist/src/config/schema/policy.js +111 -0
- package/dist/src/config/schema/source.js +90 -0
- package/dist/src/config/schema/test.js +17 -0
- package/dist/src/config/schema/toolchains.js +17 -0
- package/dist/src/config/schema/typecheck.js +29 -0
- package/dist/src/config/schema/wire.js +15 -0
- package/dist/src/diff/apply.js +129 -0
- package/dist/src/diff/index.js +16 -0
- package/dist/src/diff/model.js +267 -0
- package/dist/src/diff/query.js +65 -0
- package/dist/src/doctor/index.js +240 -0
- package/dist/src/engine/archive.js +396 -0
- package/dist/src/engine/audit.js +66 -0
- package/dist/src/engine/build.js +150 -0
- package/dist/src/engine/hostLocks.js +66 -0
- package/dist/src/engine/index.js +26 -0
- package/dist/src/engine/installManifests.js +147 -0
- package/dist/src/engine/mach.js +97 -0
- package/dist/src/engine/machHints.js +80 -0
- package/dist/src/engine/mozconfig.js +110 -0
- package/dist/src/engine/objdir.js +124 -0
- package/dist/src/engine/package.js +169 -0
- package/dist/src/engine/pin.js +12 -0
- package/dist/src/engine/pool.js +423 -0
- package/dist/src/engine/pristine.js +281 -0
- package/dist/src/engine/python.js +68 -0
- package/dist/src/engine/resourceGuard.js +582 -0
- package/dist/src/engine/run.js +259 -0
- package/dist/src/engine/smoke.js +204 -0
- package/dist/src/engine/staleness.js +229 -0
- package/dist/src/engine/watch.js +82 -0
- package/dist/src/engine/workspace.js +85 -0
- package/dist/src/furnace/config.js +360 -0
- package/dist/src/furnace/deploy.js +414 -0
- package/dist/src/furnace/diff.js +59 -0
- package/dist/src/furnace/edit.js +64 -0
- package/dist/src/furnace/fragments.js +53 -0
- package/dist/src/furnace/index.js +19 -0
- package/dist/src/furnace/operations.js +283 -0
- package/dist/src/furnace/registration.js +220 -0
- package/dist/src/furnace/scaffold.js +311 -0
- package/dist/src/furnace/typing.js +252 -0
- package/dist/src/furnace/validate.js +662 -0
- package/dist/src/git/apply.js +129 -0
- package/dist/src/git/diff.js +143 -0
- package/dist/src/git/index.js +33 -0
- package/dist/src/git/objects.js +201 -0
- package/dist/src/git/refs.js +85 -0
- package/dist/src/git/repo.js +222 -0
- package/dist/src/git/run.js +242 -0
- package/dist/src/git/status.js +156 -0
- package/dist/src/kernel/errors.js +123 -0
- package/dist/src/kernel/fs.js +515 -0
- package/dist/src/kernel/glob.js +63 -0
- package/dist/src/kernel/hash.js +28 -0
- package/dist/src/kernel/journal.js +524 -0
- package/dist/src/kernel/json-edit.js +198 -0
- package/dist/src/kernel/json.js +101 -0
- package/dist/src/kernel/lock.js +589 -0
- package/dist/src/kernel/log.js +154 -0
- package/dist/src/kernel/process/identity.js +313 -0
- package/dist/src/kernel/process/index.js +8 -0
- package/dist/src/kernel/process/listing.js +128 -0
- package/dist/src/kernel/process/spawn.js +430 -0
- package/dist/src/kernel/process/tree.js +301 -0
- package/dist/src/kernel/schema.js +308 -0
- package/dist/src/kernel/signals.js +171 -0
- package/dist/src/kernel/text.js +151 -0
- package/dist/src/kernel/time.js +83 -0
- package/dist/src/kernel/tty.js +84 -0
- package/dist/src/lint/cache.js +77 -0
- package/dist/src/lint/checkjs.js +400 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/lint/input.js +100 -0
- package/dist/src/lint/report.js +107 -0
- package/dist/src/lint/rule.js +41 -0
- package/dist/src/lint/rules/css.js +308 -0
- package/dist/src/lint/rules/javascript.js +299 -0
- package/dist/src/lint/rules/jsdoc.js +249 -0
- package/dist/src/lint/rules/license.js +93 -0
- package/dist/src/lint/rules/policy.js +201 -0
- package/dist/src/lint/rules/registration.js +264 -0
- package/dist/src/lint/rules/size.js +299 -0
- package/dist/src/lint/run.js +126 -0
- package/dist/src/lint/shim.js +323 -0
- package/dist/src/lint/typescript.js +186 -0
- package/dist/src/lint/waivers.js +93 -0
- package/dist/src/mode/changes.js +264 -0
- package/dist/src/mode/diagnose.js +173 -0
- package/dist/src/mode/export.js +147 -0
- package/dist/src/mode/index.js +23 -0
- package/dist/src/mode/migrate.js +181 -0
- package/dist/src/mode/previousWaivers.js +206 -0
- package/dist/src/mode/pristine.js +61 -0
- package/dist/src/mode/rebase.js +197 -0
- package/dist/src/mode/report.js +157 -0
- package/dist/src/mode/setup.js +103 -0
- package/dist/src/mode/tracked.js +116 -0
- package/dist/src/mode/upgrade.js +281 -0
- package/dist/src/mode/watch.js +83 -0
- package/dist/src/mode/workspace.js +189 -0
- package/dist/src/mozbuild/index.js +6 -0
- package/dist/src/mozbuild/jar.js +366 -0
- package/dist/src/mozbuild/mozbuild.js +321 -0
- package/dist/src/mozbuild/paths.js +96 -0
- package/dist/src/mozbuild/references.js +39 -0
- package/dist/src/mozbuild/testManifest.js +343 -0
- package/dist/src/mozbuild/text.js +142 -0
- package/dist/src/project/changes.js +145 -0
- package/dist/src/project/checkout.js +66 -0
- package/dist/src/project/index.js +11 -0
- package/dist/src/project/license.js +119 -0
- package/dist/src/project/project.js +111 -0
- package/dist/src/project/state.js +85 -0
- package/dist/src/project/tracked.js +1 -0
- package/dist/src/queue/apply.js +270 -0
- package/dist/src/queue/attribute.js +159 -0
- package/dist/src/queue/baseline.js +409 -0
- package/dist/src/queue/capture.js +298 -0
- package/dist/src/queue/changes.js +234 -0
- package/dist/src/queue/index.js +50 -0
- package/dist/src/queue/manifest.js +341 -0
- package/dist/src/queue/operations.js +454 -0
- package/dist/src/queue/placement.js +220 -0
- package/dist/src/queue/queue.js +359 -0
- package/dist/src/queue/restore.js +103 -0
- package/dist/src/queue/session.js +685 -0
- package/dist/src/queue/status.js +137 -0
- package/dist/src/register/files.js +39 -0
- package/dist/src/register/index.js +8 -0
- package/dist/src/register/js.js +217 -0
- package/dist/src/register/register.js +359 -0
- package/dist/src/register/wire.js +146 -0
- package/dist/src/source/adopt.js +99 -0
- package/dist/src/source/changes.js +132 -0
- package/dist/src/source/edit.js +278 -0
- package/dist/src/source/export.js +70 -0
- package/dist/src/source/groups.js +131 -0
- package/dist/src/source/index.js +20 -0
- package/dist/src/source/materialize.js +382 -0
- package/dist/src/source/merge.js +255 -0
- package/dist/src/source/objects.js +102 -0
- package/dist/src/source/previous.js +166 -0
- package/dist/src/source/records.js +138 -0
- package/dist/src/source/refresh.js +264 -0
- package/dist/src/source/tree.js +337 -0
- package/dist/src/syntax/css.js +215 -0
- package/dist/src/syntax/fragments.js +63 -0
- package/dist/src/syntax/index.js +10 -0
- package/dist/src/syntax/js.js +270 -0
- package/dist/src/test/classify.js +826 -0
- package/dist/src/test/control.js +236 -0
- package/dist/src/test/host.js +266 -0
- package/dist/src/test/index.js +11 -0
- package/dist/src/test/plan.js +347 -0
- package/dist/src/test/rawLog.js +138 -0
- package/dist/src/test/run.js +404 -0
- package/dist/src/test/verdict.js +420 -0
- package/dist/src/test/xpcshell.js +143 -0
- package/dist/src/tokens/add.js +304 -0
- package/dist/src/tokens/coverage.js +65 -0
- package/dist/src/tokens/css.js +58 -0
- package/dist/src/tokens/index.js +12 -0
- package/dist/src/tokens/lint.js +96 -0
- package/dist/src/tokens/model.js +118 -0
- package/dist/src/tokens/settings.js +87 -0
- package/dist/src/tokens/siblings.js +104 -0
- package/dist/src/typecheck/explain.js +123 -0
- package/dist/src/typecheck/index.js +8 -0
- package/dist/src/typecheck/typecheck.js +332 -0
- package/docs/README.md +23 -28
- package/docs/authoring.md +97 -0
- package/docs/configuration.md +307 -692
- package/docs/exit-codes.md +76 -94
- package/docs/furnace.md +113 -181
- package/docs/gate.md +205 -0
- package/docs/getting-started.md +165 -0
- package/docs/machine-output.md +201 -277
- package/docs/migrating.md +261 -0
- package/docs/patch-workflow.md +163 -653
- package/docs/quality.md +220 -0
- package/docs/source-workflow.md +228 -0
- package/docs/testing.md +101 -712
- package/docs/workspaces.md +187 -0
- package/package.json +22 -30
- package/templates/configs/common.mozconfig +8 -2
- package/templates/configs/darwin.mozconfig +6 -7
- package/templates/configs/linux.mozconfig +5 -8
- package/templates/configs/win32.mozconfig +3 -9
- package/dist/bin/fireforge.d.ts +0 -9
- package/dist/src/cli-usage-error.d.ts +0 -46
- package/dist/src/cli-usage-error.js +0 -81
- package/dist/src/cli.d.ts +0 -41
- package/dist/src/cli.js +0 -380
- package/dist/src/commands/bootstrap-checks.d.ts +0 -16
- package/dist/src/commands/bootstrap-checks.js +0 -66
- package/dist/src/commands/bootstrap.d.ts +0 -10
- package/dist/src/commands/build-prelock.d.ts +0 -20
- package/dist/src/commands/build-prelock.js +0 -50
- package/dist/src/commands/build.d.ts +0 -13
- package/dist/src/commands/check-report.d.ts +0 -41
- package/dist/src/commands/check-report.js +0 -91
- package/dist/src/commands/check-run.d.ts +0 -33
- package/dist/src/commands/check-run.js +0 -112
- package/dist/src/commands/check-steps.d.ts +0 -75
- package/dist/src/commands/check-steps.js +0 -200
- package/dist/src/commands/check.d.ts +0 -32
- package/dist/src/commands/config.d.ts +0 -13
- package/dist/src/commands/declarations-report.d.ts +0 -49
- package/dist/src/commands/declarations-report.js +0 -83
- package/dist/src/commands/destructive-decision.d.ts +0 -19
- package/dist/src/commands/destructive-decision.js +0 -31
- package/dist/src/commands/discard.d.ts +0 -12
- package/dist/src/commands/doctor-check-core.d.ts +0 -110
- package/dist/src/commands/doctor-check-core.js +0 -24
- package/dist/src/commands/doctor-engine-eslint.d.ts +0 -3
- package/dist/src/commands/doctor-engine-eslint.js +0 -17
- package/dist/src/commands/doctor-external-toolchains.d.ts +0 -3
- package/dist/src/commands/doctor-external-toolchains.js +0 -56
- package/dist/src/commands/doctor-furnace-config-sync.d.ts +0 -18
- package/dist/src/commands/doctor-furnace-config-sync.js +0 -295
- package/dist/src/commands/doctor-furnace-jar.d.ts +0 -14
- package/dist/src/commands/doctor-furnace-jar.js +0 -44
- package/dist/src/commands/doctor-furnace.d.ts +0 -8
- package/dist/src/commands/doctor-furnace.js +0 -514
- package/dist/src/commands/doctor-macos-sdk.d.ts +0 -8
- package/dist/src/commands/doctor-macos-sdk.js +0 -158
- package/dist/src/commands/doctor-orphaned-harness.d.ts +0 -41
- package/dist/src/commands/doctor-orphaned-harness.js +0 -98
- package/dist/src/commands/doctor-patch-manifest.d.ts +0 -9
- package/dist/src/commands/doctor-patch-manifest.js +0 -156
- package/dist/src/commands/doctor-post-rebase-audit.d.ts +0 -2
- package/dist/src/commands/doctor-post-rebase-audit.js +0 -108
- package/dist/src/commands/doctor-source-pin.d.ts +0 -29
- package/dist/src/commands/doctor-source-pin.js +0 -91
- package/dist/src/commands/doctor-working-tree.d.ts +0 -27
- package/dist/src/commands/doctor-working-tree.js +0 -89
- package/dist/src/commands/doctor.d.ts +0 -49
- package/dist/src/commands/download.d.ts +0 -11
- package/dist/src/commands/export-adopt-check.d.ts +0 -37
- package/dist/src/commands/export-adopt-check.js +0 -97
- package/dist/src/commands/export-all.d.ts +0 -11
- package/dist/src/commands/export-all.js +0 -361
- package/dist/src/commands/export-flow.d.ts +0 -124
- package/dist/src/commands/export-flow.js +0 -423
- package/dist/src/commands/export-placement-conflicts.d.ts +0 -17
- package/dist/src/commands/export-placement-conflicts.js +0 -75
- package/dist/src/commands/export-placement-gate.d.ts +0 -42
- package/dist/src/commands/export-placement-gate.js +0 -107
- package/dist/src/commands/export-placement-policy.d.ts +0 -22
- package/dist/src/commands/export-placement-policy.js +0 -54
- package/dist/src/commands/export-shared.d.ts +0 -152
- package/dist/src/commands/export-shared.js +0 -396
- package/dist/src/commands/export-staged-registration.d.ts +0 -46
- package/dist/src/commands/export-staged-registration.js +0 -91
- package/dist/src/commands/export.d.ts +0 -13
- package/dist/src/commands/forward-import-remedy.d.ts +0 -31
- package/dist/src/commands/forward-import-remedy.js +0 -62
- package/dist/src/commands/furnace/apply.d.ts +0 -8
- package/dist/src/commands/furnace/apply.js +0 -327
- package/dist/src/commands/furnace/authoring-config.d.ts +0 -13
- package/dist/src/commands/furnace/authoring-config.js +0 -19
- package/dist/src/commands/furnace/chrome-doc-remove.d.ts +0 -14
- package/dist/src/commands/furnace/chrome-doc-remove.js +0 -148
- package/dist/src/commands/furnace/chrome-doc-templates.d.ts +0 -152
- package/dist/src/commands/furnace/chrome-doc-templates.js +0 -331
- package/dist/src/commands/furnace/chrome-doc-tests.d.ts +0 -23
- package/dist/src/commands/furnace/chrome-doc-tests.js +0 -148
- package/dist/src/commands/furnace/chrome-doc.d.ts +0 -87
- package/dist/src/commands/furnace/chrome-doc.js +0 -365
- package/dist/src/commands/furnace/create-browser-test.d.ts +0 -44
- package/dist/src/commands/furnace/create-browser-test.js +0 -179
- package/dist/src/commands/furnace/create-dry-run.d.ts +0 -49
- package/dist/src/commands/furnace/create-dry-run.js +0 -107
- package/dist/src/commands/furnace/create-features.d.ts +0 -24
- package/dist/src/commands/furnace/create-features.js +0 -55
- package/dist/src/commands/furnace/create-mochikit.d.ts +0 -29
- package/dist/src/commands/furnace/create-mochikit.js +0 -75
- package/dist/src/commands/furnace/create-readback.d.ts +0 -22
- package/dist/src/commands/furnace/create-readback.js +0 -32
- package/dist/src/commands/furnace/create-templates.d.ts +0 -119
- package/dist/src/commands/furnace/create-templates.js +0 -283
- package/dist/src/commands/furnace/create-validation.d.ts +0 -6
- package/dist/src/commands/furnace/create-validation.js +0 -59
- package/dist/src/commands/furnace/create-xpcshell.d.ts +0 -27
- package/dist/src/commands/furnace/create-xpcshell.js +0 -80
- package/dist/src/commands/furnace/create.d.ts +0 -24
- package/dist/src/commands/furnace/create.js +0 -407
- package/dist/src/commands/furnace/deploy-fragment-includers.d.ts +0 -59
- package/dist/src/commands/furnace/deploy-fragment-includers.js +0 -120
- package/dist/src/commands/furnace/deploy-named.d.ts +0 -48
- package/dist/src/commands/furnace/deploy-named.js +0 -107
- package/dist/src/commands/furnace/deploy.d.ts +0 -9
- package/dist/src/commands/furnace/deploy.js +0 -218
- package/dist/src/commands/furnace/diff.d.ts +0 -11
- package/dist/src/commands/furnace/diff.js +0 -238
- package/dist/src/commands/furnace/index.d.ts +0 -4
- package/dist/src/commands/furnace/index.js +0 -282
- package/dist/src/commands/furnace/init.d.ts +0 -11
- package/dist/src/commands/furnace/init.js +0 -287
- package/dist/src/commands/furnace/list.d.ts +0 -8
- package/dist/src/commands/furnace/list.js +0 -104
- package/dist/src/commands/furnace/override.d.ts +0 -16
- package/dist/src/commands/furnace/override.js +0 -454
- package/dist/src/commands/furnace/preview.d.ts +0 -19
- package/dist/src/commands/furnace/preview.js +0 -349
- package/dist/src/commands/furnace/refresh.d.ts +0 -10
- package/dist/src/commands/furnace/refresh.js +0 -303
- package/dist/src/commands/furnace/remove-mutations.d.ts +0 -36
- package/dist/src/commands/furnace/remove-mutations.js +0 -168
- package/dist/src/commands/furnace/remove-state.d.ts +0 -20
- package/dist/src/commands/furnace/remove-state.js +0 -60
- package/dist/src/commands/furnace/remove.d.ts +0 -8
- package/dist/src/commands/furnace/remove.js +0 -415
- package/dist/src/commands/furnace/rename-browser-test.d.ts +0 -2
- package/dist/src/commands/furnace/rename-browser-test.js +0 -68
- package/dist/src/commands/furnace/rename-dry-run.d.ts +0 -29
- package/dist/src/commands/furnace/rename-dry-run.js +0 -127
- package/dist/src/commands/furnace/rename-helpers.d.ts +0 -26
- package/dist/src/commands/furnace/rename-helpers.js +0 -85
- package/dist/src/commands/furnace/rename-registrations.d.ts +0 -41
- package/dist/src/commands/furnace/rename-registrations.js +0 -98
- package/dist/src/commands/furnace/rename-xpcshell.d.ts +0 -32
- package/dist/src/commands/furnace/rename-xpcshell.js +0 -95
- package/dist/src/commands/furnace/rename.d.ts +0 -6
- package/dist/src/commands/furnace/rename.js +0 -400
- package/dist/src/commands/furnace/scan.d.ts +0 -14
- package/dist/src/commands/furnace/scan.js +0 -192
- package/dist/src/commands/furnace/status.d.ts +0 -7
- package/dist/src/commands/furnace/status.js +0 -209
- package/dist/src/commands/furnace/sync.d.ts +0 -12
- package/dist/src/commands/furnace/sync.js +0 -145
- package/dist/src/commands/furnace/test-file-name.d.ts +0 -28
- package/dist/src/commands/furnace/test-file-name.js +0 -39
- package/dist/src/commands/furnace/validate-report.d.ts +0 -45
- package/dist/src/commands/furnace/validate-report.js +0 -91
- package/dist/src/commands/furnace/validate.d.ts +0 -8
- package/dist/src/commands/furnace/validate.js +0 -309
- package/dist/src/commands/furnace/validation-output.d.ts +0 -47
- package/dist/src/commands/furnace/validation-output.js +0 -161
- package/dist/src/commands/import.d.ts +0 -11
- package/dist/src/commands/lint-per-patch.d.ts +0 -10
- package/dist/src/commands/lint-per-patch.js +0 -428
- package/dist/src/commands/lint-per-run-checkjs.d.ts +0 -66
- package/dist/src/commands/lint-per-run-checkjs.js +0 -102
- package/dist/src/commands/lint-report.d.ts +0 -25
- package/dist/src/commands/lint-report.js +0 -76
- package/dist/src/commands/lint.d.ts +0 -47
- package/dist/src/commands/manifest.d.ts +0 -38
- package/dist/src/commands/manifest.js +0 -68
- package/dist/src/commands/package.d.ts +0 -11
- package/dist/src/commands/park.d.ts +0 -22
- package/dist/src/commands/park.js +0 -232
- package/dist/src/commands/patch/compact.d.ts +0 -28
- package/dist/src/commands/patch/compact.js +0 -208
- package/dist/src/commands/patch/delete-gap-notice.d.ts +0 -24
- package/dist/src/commands/patch/delete-gap-notice.js +0 -48
- package/dist/src/commands/patch/delete.d.ts +0 -28
- package/dist/src/commands/patch/delete.js +0 -131
- package/dist/src/commands/patch/entry-projection.d.ts +0 -13
- package/dist/src/commands/patch/entry-projection.js +0 -24
- package/dist/src/commands/patch/index.d.ts +0 -16
- package/dist/src/commands/patch/index.js +0 -52
- package/dist/src/commands/patch/lint-ignore-from.d.ts +0 -43
- package/dist/src/commands/patch/lint-ignore-from.js +0 -141
- package/dist/src/commands/patch/lint-ignore.d.ts +0 -42
- package/dist/src/commands/patch/lint-ignore.js +0 -261
- package/dist/src/commands/patch/move-files-adopt.d.ts +0 -33
- package/dist/src/commands/patch/move-files-adopt.js +0 -65
- package/dist/src/commands/patch/move-files-create.d.ts +0 -19
- package/dist/src/commands/patch/move-files-create.js +0 -187
- package/dist/src/commands/patch/move-files-into.d.ts +0 -65
- package/dist/src/commands/patch/move-files-into.js +0 -325
- package/dist/src/commands/patch/move-files-retire.d.ts +0 -39
- package/dist/src/commands/patch/move-files-retire.js +0 -91
- package/dist/src/commands/patch/move-files.d.ts +0 -28
- package/dist/src/commands/patch/move-files.js +0 -224
- package/dist/src/commands/patch/move-size-tier.d.ts +0 -27
- package/dist/src/commands/patch/move-size-tier.js +0 -66
- package/dist/src/commands/patch/patch-context.d.ts +0 -40
- package/dist/src/commands/patch/patch-context.js +0 -51
- package/dist/src/commands/patch/removal-created-files.d.ts +0 -48
- package/dist/src/commands/patch/removal-created-files.js +0 -83
- package/dist/src/commands/patch/removal-dependents.d.ts +0 -63
- package/dist/src/commands/patch/removal-dependents.js +0 -133
- package/dist/src/commands/patch/rename.d.ts +0 -35
- package/dist/src/commands/patch/rename.js +0 -378
- package/dist/src/commands/patch/reorder-projection.d.ts +0 -17
- package/dist/src/commands/patch/reorder-projection.js +0 -49
- package/dist/src/commands/patch/reorder-shift.d.ts +0 -30
- package/dist/src/commands/patch/reorder-shift.js +0 -307
- package/dist/src/commands/patch/reorder.d.ts +0 -34
- package/dist/src/commands/patch/reorder.js +0 -375
- package/dist/src/commands/patch/reserve.d.ts +0 -33
- package/dist/src/commands/patch/reserve.js +0 -152
- package/dist/src/commands/patch/retire.d.ts +0 -34
- package/dist/src/commands/patch/retire.js +0 -133
- package/dist/src/commands/patch/split-plan.d.ts +0 -125
- package/dist/src/commands/patch/split-plan.js +0 -313
- package/dist/src/commands/patch/split-staged.d.ts +0 -108
- package/dist/src/commands/patch/split-staged.js +0 -202
- package/dist/src/commands/patch/split.d.ts +0 -43
- package/dist/src/commands/patch/split.js +0 -367
- package/dist/src/commands/patch/stage.d.ts +0 -34
- package/dist/src/commands/patch/stage.js +0 -153
- package/dist/src/commands/patch/staged-dependency-batch.d.ts +0 -48
- package/dist/src/commands/patch/staged-dependency-batch.js +0 -176
- package/dist/src/commands/patch/staged-dependency-entries.d.ts +0 -44
- package/dist/src/commands/patch/staged-dependency-entries.js +0 -80
- package/dist/src/commands/patch/staged-dependency-from.d.ts +0 -14
- package/dist/src/commands/patch/staged-dependency-from.js +0 -114
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +0 -53
- package/dist/src/commands/patch/staged-dependency-remove.js +0 -117
- package/dist/src/commands/patch/staged-dependency-validate.d.ts +0 -15
- package/dist/src/commands/patch/staged-dependency-validate.js +0 -49
- package/dist/src/commands/patch/staged-dependency.d.ts +0 -22
- package/dist/src/commands/patch/staged-dependency.js +0 -248
- package/dist/src/commands/patch/tier.d.ts +0 -34
- package/dist/src/commands/patch/tier.js +0 -125
- package/dist/src/commands/patch-rename-map.d.ts +0 -30
- package/dist/src/commands/patch-rename-map.js +0 -54
- package/dist/src/commands/pending-resolution.d.ts +0 -15
- package/dist/src/commands/pending-resolution.js +0 -25
- package/dist/src/commands/re-export-adjacent-registrations.d.ts +0 -20
- package/dist/src/commands/re-export-adjacent-registrations.js +0 -75
- package/dist/src/commands/re-export-adjacent.d.ts +0 -111
- package/dist/src/commands/re-export-adjacent.js +0 -267
- package/dist/src/commands/re-export-bulk-scan.d.ts +0 -19
- package/dist/src/commands/re-export-bulk-scan.js +0 -233
- package/dist/src/commands/re-export-drift.d.ts +0 -110
- package/dist/src/commands/re-export-drift.js +0 -358
- package/dist/src/commands/re-export-files.d.ts +0 -15
- package/dist/src/commands/re-export-files.js +0 -307
- package/dist/src/commands/re-export-hunks.d.ts +0 -35
- package/dist/src/commands/re-export-hunks.js +0 -220
- package/dist/src/commands/re-export-lint.d.ts +0 -137
- package/dist/src/commands/re-export-lint.js +0 -303
- package/dist/src/commands/re-export-options.d.ts +0 -29
- package/dist/src/commands/re-export-options.js +0 -191
- package/dist/src/commands/re-export-preflight.d.ts +0 -23
- package/dist/src/commands/re-export-preflight.js +0 -159
- package/dist/src/commands/re-export-purity-scope.d.ts +0 -18
- package/dist/src/commands/re-export-purity-scope.js +0 -137
- package/dist/src/commands/re-export-register.d.ts +0 -12
- package/dist/src/commands/re-export-register.js +0 -99
- package/dist/src/commands/re-export-removed.d.ts +0 -15
- package/dist/src/commands/re-export-removed.js +0 -94
- package/dist/src/commands/re-export-retired-declarations.d.ts +0 -22
- package/dist/src/commands/re-export-retired-declarations.js +0 -113
- package/dist/src/commands/re-export-scan-owner.d.ts +0 -44
- package/dist/src/commands/re-export-scan-owner.js +0 -116
- package/dist/src/commands/re-export-scan.d.ts +0 -72
- package/dist/src/commands/re-export-scan.js +0 -265
- package/dist/src/commands/re-export-single.d.ts +0 -39
- package/dist/src/commands/re-export-single.js +0 -388
- package/dist/src/commands/re-export-stale-registrations.d.ts +0 -39
- package/dist/src/commands/re-export-stale-registrations.js +0 -106
- package/dist/src/commands/re-export-summary.d.ts +0 -28
- package/dist/src/commands/re-export-summary.js +0 -36
- package/dist/src/commands/re-export.d.ts +0 -8
- package/dist/src/commands/rebase/abort.d.ts +0 -7
- package/dist/src/commands/rebase/abort.js +0 -67
- package/dist/src/commands/rebase/confirm.d.ts +0 -42
- package/dist/src/commands/rebase/confirm.js +0 -36
- package/dist/src/commands/rebase/conflict-summary.d.ts +0 -12
- package/dist/src/commands/rebase/conflict-summary.js +0 -37
- package/dist/src/commands/rebase/continue.d.ts +0 -7
- package/dist/src/commands/rebase/continue.js +0 -119
- package/dist/src/commands/rebase/index.d.ts +0 -22
- package/dist/src/commands/rebase/index.js +0 -209
- package/dist/src/commands/rebase/patch-loop.d.ts +0 -15
- package/dist/src/commands/rebase/patch-loop.js +0 -289
- package/dist/src/commands/rebase/summary.d.ts +0 -8
- package/dist/src/commands/rebase/summary.js +0 -47
- package/dist/src/commands/register.d.ts +0 -13
- package/dist/src/commands/reset.d.ts +0 -11
- package/dist/src/commands/resolve.d.ts +0 -36
- package/dist/src/commands/run.d.ts +0 -10
- package/dist/src/commands/setup-support.d.ts +0 -35
- package/dist/src/commands/setup-support.js +0 -386
- package/dist/src/commands/setup.d.ts +0 -11
- package/dist/src/commands/source.d.ts +0 -9
- package/dist/src/commands/source.js +0 -120
- package/dist/src/commands/status-check.d.ts +0 -87
- package/dist/src/commands/status-check.js +0 -161
- package/dist/src/commands/status-json.d.ts +0 -45
- package/dist/src/commands/status-json.js +0 -97
- package/dist/src/commands/status-output.d.ts +0 -23
- package/dist/src/commands/status-output.js +0 -231
- package/dist/src/commands/status-ownership.d.ts +0 -54
- package/dist/src/commands/status-ownership.js +0 -59
- package/dist/src/commands/status-scope.d.ts +0 -37
- package/dist/src/commands/status-scope.js +0 -54
- package/dist/src/commands/status.d.ts +0 -11
- package/dist/src/commands/test-appdir.d.ts +0 -6
- package/dist/src/commands/test-appdir.js +0 -29
- package/dist/src/commands/test-browser-preflight.d.ts +0 -28
- package/dist/src/commands/test-browser-preflight.js +0 -197
- package/dist/src/commands/test-build-furnace.d.ts +0 -21
- package/dist/src/commands/test-build-furnace.js +0 -53
- package/dist/src/commands/test-build-phase.d.ts +0 -29
- package/dist/src/commands/test-build-phase.js +0 -290
- package/dist/src/commands/test-checkjs.d.ts +0 -3
- package/dist/src/commands/test-checkjs.js +0 -35
- package/dist/src/commands/test-control-restore.d.ts +0 -40
- package/dist/src/commands/test-control-restore.js +0 -86
- package/dist/src/commands/test-diagnose.d.ts +0 -23
- package/dist/src/commands/test-diagnose.js +0 -317
- package/dist/src/commands/test-dispatch.d.ts +0 -39
- package/dist/src/commands/test-dispatch.js +0 -281
- package/dist/src/commands/test-furnace-reach.d.ts +0 -37
- package/dist/src/commands/test-furnace-reach.js +0 -132
- package/dist/src/commands/test-harness-env.d.ts +0 -23
- package/dist/src/commands/test-harness-env.js +0 -81
- package/dist/src/commands/test-harness-teardown.d.ts +0 -62
- package/dist/src/commands/test-harness-teardown.js +0 -128
- package/dist/src/commands/test-modes.d.ts +0 -57
- package/dist/src/commands/test-modes.js +0 -158
- package/dist/src/commands/test-multi-verdict.d.ts +0 -61
- package/dist/src/commands/test-multi-verdict.js +0 -112
- package/dist/src/commands/test-orchestrate.d.ts +0 -63
- package/dist/src/commands/test-orchestrate.js +0 -274
- package/dist/src/commands/test-perf-scope.d.ts +0 -50
- package/dist/src/commands/test-perf-scope.js +0 -138
- package/dist/src/commands/test-prelock.d.ts +0 -61
- package/dist/src/commands/test-prelock.js +0 -301
- package/dist/src/commands/test-register.d.ts +0 -4
- package/dist/src/commands/test-register.js +0 -181
- package/dist/src/commands/test-results.d.ts +0 -71
- package/dist/src/commands/test-results.js +0 -79
- package/dist/src/commands/test-run.d.ts +0 -89
- package/dist/src/commands/test-run.js +0 -251
- package/dist/src/commands/test-shards.d.ts +0 -114
- package/dist/src/commands/test-shards.js +0 -272
- package/dist/src/commands/test-stale-gate.d.ts +0 -52
- package/dist/src/commands/test-stale-gate.js +0 -165
- package/dist/src/commands/test-verdict.d.ts +0 -92
- package/dist/src/commands/test-verdict.js +0 -162
- package/dist/src/commands/test.d.ts +0 -22
- package/dist/src/commands/token-coverage.d.ts +0 -5
- package/dist/src/commands/token-coverage.js +0 -170
- package/dist/src/commands/token-lint.d.ts +0 -14
- package/dist/src/commands/token-lint.js +0 -151
- package/dist/src/commands/token-list.d.ts +0 -26
- package/dist/src/commands/token-list.js +0 -153
- package/dist/src/commands/token.d.ts +0 -14
- package/dist/src/commands/tree.d.ts +0 -19
- package/dist/src/commands/tree.js +0 -341
- package/dist/src/commands/typecheck.d.ts +0 -56
- package/dist/src/commands/verify-scope.d.ts +0 -28
- package/dist/src/commands/verify-scope.js +0 -67
- package/dist/src/commands/verify.d.ts +0 -58
- package/dist/src/commands/watch.d.ts +0 -9
- package/dist/src/commands/wire.d.ts +0 -13
- package/dist/src/core/ast-utils.d.ts +0 -73
- package/dist/src/core/ast-utils.js +0 -105
- package/dist/src/core/brand-validation.d.ts +0 -7
- package/dist/src/core/brand-validation.js +0 -14
- package/dist/src/core/branding.d.ts +0 -86
- package/dist/src/core/branding.js +0 -371
- package/dist/src/core/browser-wire.d.ts +0 -48
- package/dist/src/core/browser-wire.js +0 -133
- package/dist/src/core/build-audit-platform.d.ts +0 -67
- package/dist/src/core/build-audit-platform.js +0 -373
- package/dist/src/core/build-audit-registration.d.ts +0 -80
- package/dist/src/core/build-audit-registration.js +0 -181
- package/dist/src/core/build-audit-resolve.d.ts +0 -78
- package/dist/src/core/build-audit-resolve.js +0 -240
- package/dist/src/core/build-audit-skip.d.ts +0 -57
- package/dist/src/core/build-audit-skip.js +0 -112
- package/dist/src/core/build-audit-transforms.d.ts +0 -23
- package/dist/src/core/build-audit-transforms.js +0 -92
- package/dist/src/core/build-audit.d.ts +0 -93
- package/dist/src/core/build-audit.js +0 -633
- package/dist/src/core/build-baseline-types.d.ts +0 -225
- package/dist/src/core/build-baseline-types.js +0 -10
- package/dist/src/core/build-baseline-validate.d.ts +0 -32
- package/dist/src/core/build-baseline-validate.js +0 -173
- package/dist/src/core/build-baseline.d.ts +0 -103
- package/dist/src/core/build-baseline.js +0 -261
- package/dist/src/core/build-jar-escalation.d.ts +0 -61
- package/dist/src/core/build-jar-escalation.js +0 -125
- package/dist/src/core/build-overwrite-guard.d.ts +0 -92
- package/dist/src/core/build-overwrite-guard.js +0 -235
- package/dist/src/core/build-prepare.d.ts +0 -83
- package/dist/src/core/build-prepare.js +0 -414
- package/dist/src/core/build-run-record.d.ts +0 -74
- package/dist/src/core/build-run-record.js +0 -136
- package/dist/src/core/checkjs-support-heads.d.ts +0 -41
- package/dist/src/core/checkjs-support-heads.js +0 -104
- package/dist/src/core/component-source-guard.d.ts +0 -20
- package/dist/src/core/component-source-guard.js +0 -68
- package/dist/src/core/config-mutate.d.ts +0 -16
- package/dist/src/core/config-mutate.js +0 -76
- package/dist/src/core/config-paths.d.ts +0 -16
- package/dist/src/core/config-paths.js +0 -106
- package/dist/src/core/config-state.d.ts +0 -16
- package/dist/src/core/config-state.js +0 -141
- package/dist/src/core/config-validate-build-audit.d.ts +0 -8
- package/dist/src/core/config-validate-build-audit.js +0 -80
- package/dist/src/core/config-validate-check.d.ts +0 -8
- package/dist/src/core/config-validate-check.js +0 -219
- package/dist/src/core/config-validate-file-size.d.ts +0 -15
- package/dist/src/core/config-validate-file-size.js +0 -154
- package/dist/src/core/config-validate-history.d.ts +0 -11
- package/dist/src/core/config-validate-history.js +0 -38
- package/dist/src/core/config-validate-patch-policy.d.ts +0 -7
- package/dist/src/core/config-validate-patch-policy.js +0 -274
- package/dist/src/core/config-validate-test-toolchains.d.ts +0 -8
- package/dist/src/core/config-validate-test-toolchains.js +0 -133
- package/dist/src/core/config-validate-token-scales.d.ts +0 -9
- package/dist/src/core/config-validate-token-scales.js +0 -92
- package/dist/src/core/config-validate.d.ts +0 -11
- package/dist/src/core/config-validate.js +0 -503
- package/dist/src/core/config.d.ts +0 -92
- package/dist/src/core/config.js +0 -169
- package/dist/src/core/coverage-dispatch.d.ts +0 -24
- package/dist/src/core/coverage-dispatch.js +0 -44
- package/dist/src/core/coverage-extend.d.ts +0 -89
- package/dist/src/core/coverage-extend.js +0 -239
- package/dist/src/core/coverage-records.d.ts +0 -107
- package/dist/src/core/coverage-records.js +0 -383
- package/dist/src/core/destructive.d.ts +0 -144
- package/dist/src/core/destructive.js +0 -182
- package/dist/src/core/diff-hunks.d.ts +0 -73
- package/dist/src/core/diff-hunks.js +0 -286
- package/dist/src/core/discard-baseline.d.ts +0 -60
- package/dist/src/core/discard-baseline.js +0 -247
- package/dist/src/core/display-state.d.ts +0 -50
- package/dist/src/core/display-state.js +0 -87
- package/dist/src/core/engine-changes.d.ts +0 -40
- package/dist/src/core/engine-changes.js +0 -95
- package/dist/src/core/engine-precondition.d.ts +0 -42
- package/dist/src/core/engine-precondition.js +0 -60
- package/dist/src/core/engine-session-lock.d.ts +0 -119
- package/dist/src/core/engine-session-lock.js +0 -374
- package/dist/src/core/engine-write-boundary.d.ts +0 -5
- package/dist/src/core/engine-write-boundary.js +0 -41
- package/dist/src/core/export-moved-code-shape.d.ts +0 -98
- package/dist/src/core/export-moved-code-shape.js +0 -220
- package/dist/src/core/file-lock-owner.d.ts +0 -103
- package/dist/src/core/file-lock-owner.js +0 -259
- package/dist/src/core/file-lock-queue.d.ts +0 -67
- package/dist/src/core/file-lock-queue.js +0 -219
- package/dist/src/core/file-lock-shared.d.ts +0 -57
- package/dist/src/core/file-lock-shared.js +0 -117
- package/dist/src/core/file-lock.d.ts +0 -143
- package/dist/src/core/file-lock.js +0 -531
- package/dist/src/core/firefox-archive.d.ts +0 -45
- package/dist/src/core/firefox-archive.js +0 -96
- package/dist/src/core/firefox-cache.d.ts +0 -30
- package/dist/src/core/firefox-cache.js +0 -248
- package/dist/src/core/firefox-download.d.ts +0 -30
- package/dist/src/core/firefox-download.js +0 -152
- package/dist/src/core/firefox-extract.d.ts +0 -42
- package/dist/src/core/firefox-extract.js +0 -248
- package/dist/src/core/firefox-ignorefile.d.ts +0 -17
- package/dist/src/core/firefox-ignorefile.js +0 -30
- package/dist/src/core/firefox.d.ts +0 -66
- package/dist/src/core/firefox.js +0 -121
- package/dist/src/core/forward-registrations.d.ts +0 -33
- package/dist/src/core/forward-registrations.js +0 -16
- package/dist/src/core/furnace-apply-dry-run.d.ts +0 -12
- package/dist/src/core/furnace-apply-dry-run.js +0 -99
- package/dist/src/core/furnace-apply-ftl.d.ts +0 -49
- package/dist/src/core/furnace-apply-ftl.js +0 -210
- package/dist/src/core/furnace-apply-helpers.d.ts +0 -106
- package/dist/src/core/furnace-apply-helpers.js +0 -436
- package/dist/src/core/furnace-apply-output.d.ts +0 -36
- package/dist/src/core/furnace-apply-output.js +0 -111
- package/dist/src/core/furnace-apply-overwrite-warn.d.ts +0 -62
- package/dist/src/core/furnace-apply-overwrite-warn.js +0 -124
- package/dist/src/core/furnace-apply-undeploy-actions.d.ts +0 -10
- package/dist/src/core/furnace-apply-undeploy-actions.js +0 -48
- package/dist/src/core/furnace-apply.d.ts +0 -49
- package/dist/src/core/furnace-apply.js +0 -465
- package/dist/src/core/furnace-checksum-utils.d.ts +0 -25
- package/dist/src/core/furnace-checksum-utils.js +0 -54
- package/dist/src/core/furnace-composed-source.d.ts +0 -76
- package/dist/src/core/furnace-composed-source.js +0 -167
- package/dist/src/core/furnace-config-array-utils.d.ts +0 -11
- package/dist/src/core/furnace-config-array-utils.js +0 -26
- package/dist/src/core/furnace-config-custom.d.ts +0 -15
- package/dist/src/core/furnace-config-custom.js +0 -73
- package/dist/src/core/furnace-config-order.d.ts +0 -8
- package/dist/src/core/furnace-config-order.js +0 -90
- package/dist/src/core/furnace-config-tokens.d.ts +0 -17
- package/dist/src/core/furnace-config-tokens.js +0 -42
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +0 -17
- package/dist/src/core/furnace-config-validate-exceptions.js +0 -122
- package/dist/src/core/furnace-config-validate.d.ts +0 -32
- package/dist/src/core/furnace-config-validate.js +0 -146
- package/dist/src/core/furnace-config.d.ts +0 -139
- package/dist/src/core/furnace-config.js +0 -511
- package/dist/src/core/furnace-constants.d.ts +0 -79
- package/dist/src/core/furnace-constants.js +0 -123
- package/dist/src/core/furnace-css-fragments.d.ts +0 -96
- package/dist/src/core/furnace-css-fragments.js +0 -279
- package/dist/src/core/furnace-dir-entry.d.ts +0 -20
- package/dist/src/core/furnace-dir-entry.js +0 -21
- package/dist/src/core/furnace-fragment-includers.d.ts +0 -56
- package/dist/src/core/furnace-fragment-includers.js +0 -122
- package/dist/src/core/furnace-graph-utils.d.ts +0 -11
- package/dist/src/core/furnace-graph-utils.js +0 -93
- package/dist/src/core/furnace-jsconfig.d.ts +0 -61
- package/dist/src/core/furnace-jsconfig.js +0 -208
- package/dist/src/core/furnace-marker.d.ts +0 -15
- package/dist/src/core/furnace-marker.js +0 -21
- package/dist/src/core/furnace-operation.d.ts +0 -195
- package/dist/src/core/furnace-operation.js +0 -444
- package/dist/src/core/furnace-precondition.d.ts +0 -61
- package/dist/src/core/furnace-precondition.js +0 -67
- package/dist/src/core/furnace-refresh.d.ts +0 -28
- package/dist/src/core/furnace-refresh.js +0 -125
- package/dist/src/core/furnace-registration-ast.d.ts +0 -53
- package/dist/src/core/furnace-registration-ast.js +0 -402
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +0 -12
- package/dist/src/core/furnace-registration-jar-inplace.js +0 -79
- package/dist/src/core/furnace-registration-remove.d.ts +0 -56
- package/dist/src/core/furnace-registration-remove.js +0 -260
- package/dist/src/core/furnace-registration-rename.d.ts +0 -26
- package/dist/src/core/furnace-registration-rename.js +0 -77
- package/dist/src/core/furnace-registration-validate.d.ts +0 -53
- package/dist/src/core/furnace-registration-validate.js +0 -110
- package/dist/src/core/furnace-registration.d.ts +0 -112
- package/dist/src/core/furnace-registration.js +0 -348
- package/dist/src/core/furnace-rollback.d.ts +0 -48
- package/dist/src/core/furnace-rollback.js +0 -170
- package/dist/src/core/furnace-scanner.d.ts +0 -47
- package/dist/src/core/furnace-scanner.js +0 -236
- package/dist/src/core/furnace-stale-export.d.ts +0 -60
- package/dist/src/core/furnace-stale-export.js +0 -125
- package/dist/src/core/furnace-staleness.d.ts +0 -24
- package/dist/src/core/furnace-staleness.js +0 -67
- package/dist/src/core/furnace-state-persist.d.ts +0 -68
- package/dist/src/core/furnace-state-persist.js +0 -116
- package/dist/src/core/furnace-step-errors.d.ts +0 -23
- package/dist/src/core/furnace-step-errors.js +0 -25
- package/dist/src/core/furnace-stories.d.ts +0 -37
- package/dist/src/core/furnace-stories.js +0 -186
- package/dist/src/core/furnace-validate-accessibility.d.ts +0 -39
- package/dist/src/core/furnace-validate-accessibility.js +0 -417
- package/dist/src/core/furnace-validate-checks.d.ts +0 -4
- package/dist/src/core/furnace-validate-checks.js +0 -6
- package/dist/src/core/furnace-validate-compatibility.d.ts +0 -6
- package/dist/src/core/furnace-validate-compatibility.js +0 -295
- package/dist/src/core/furnace-validate-exceptions.d.ts +0 -49
- package/dist/src/core/furnace-validate-exceptions.js +0 -98
- package/dist/src/core/furnace-validate-helpers.d.ts +0 -7
- package/dist/src/core/furnace-validate-helpers.js +0 -4
- package/dist/src/core/furnace-validate-icon-button.d.ts +0 -7
- package/dist/src/core/furnace-validate-icon-button.js +0 -78
- package/dist/src/core/furnace-validate-registration.d.ts +0 -67
- package/dist/src/core/furnace-validate-registration.js +0 -487
- package/dist/src/core/furnace-validate-structure.d.ts +0 -22
- package/dist/src/core/furnace-validate-structure.js +0 -122
- package/dist/src/core/furnace-validate.d.ts +0 -41
- package/dist/src/core/furnace-validate.js +0 -302
- package/dist/src/core/furnace-version-drift.d.ts +0 -57
- package/dist/src/core/furnace-version-drift.js +0 -102
- package/dist/src/core/gecko-dom-types.d.ts +0 -2
- package/dist/src/core/gecko-dom-types.js +0 -17
- package/dist/src/core/git-base.d.ts +0 -101
- package/dist/src/core/git-base.js +0 -162
- package/dist/src/core/git-diff-new-file.d.ts +0 -40
- package/dist/src/core/git-diff-new-file.js +0 -118
- package/dist/src/core/git-diff.d.ts +0 -82
- package/dist/src/core/git-diff.js +0 -539
- package/dist/src/core/git-file-ops.d.ts +0 -108
- package/dist/src/core/git-file-ops.js +0 -280
- package/dist/src/core/git-readonly-index.d.ts +0 -91
- package/dist/src/core/git-readonly-index.js +0 -177
- package/dist/src/core/git-status.d.ts +0 -84
- package/dist/src/core/git-status.js +0 -208
- package/dist/src/core/git.d.ts +0 -114
- package/dist/src/core/git.js +0 -540
- package/dist/src/core/harness-helper-pids.d.ts +0 -98
- package/dist/src/core/harness-helper-pids.js +0 -240
- package/dist/src/core/harness-orphans.d.ts +0 -118
- package/dist/src/core/harness-orphans.js +0 -268
- package/dist/src/core/harness-port-fallback.d.ts +0 -60
- package/dist/src/core/harness-port-fallback.js +0 -96
- package/dist/src/core/harness-port-reservation.d.ts +0 -60
- package/dist/src/core/harness-port-reservation.js +0 -122
- package/dist/src/core/history-log-file.d.ts +0 -61
- package/dist/src/core/history-log-file.js +0 -164
- package/dist/src/core/history-log.d.ts +0 -20
- package/dist/src/core/history-log.js +0 -30
- package/dist/src/core/json-preserving-edit.d.ts +0 -22
- package/dist/src/core/json-preserving-edit.js +0 -199
- package/dist/src/core/launchable-build.d.ts +0 -39
- package/dist/src/core/launchable-build.js +0 -85
- package/dist/src/core/license-headers.d.ts +0 -103
- package/dist/src/core/license-headers.js +0 -318
- package/dist/src/core/line-prefixer.d.ts +0 -18
- package/dist/src/core/line-prefixer.js +0 -34
- package/dist/src/core/lit-template-regions.d.ts +0 -4
- package/dist/src/core/lit-template-regions.js +0 -50
- package/dist/src/core/mach-build-artifacts.d.ts +0 -176
- package/dist/src/core/mach-build-artifacts.js +0 -436
- package/dist/src/core/mach-error-hints.d.ts +0 -24
- package/dist/src/core/mach-error-hints.js +0 -135
- package/dist/src/core/mach-known-noise-filter.d.ts +0 -122
- package/dist/src/core/mach-known-noise-filter.js +0 -257
- package/dist/src/core/mach-mozconfig.d.ts +0 -57
- package/dist/src/core/mach-mozconfig.js +0 -166
- package/dist/src/core/mach-python.d.ts +0 -19
- package/dist/src/core/mach-python.js +0 -131
- package/dist/src/core/mach-resource-shim.d.ts +0 -107
- package/dist/src/core/mach-resource-shim.js +0 -640
- package/dist/src/core/mach.d.ts +0 -284
- package/dist/src/core/mach.js +0 -445
- package/dist/src/core/marionette-port.d.ts +0 -153
- package/dist/src/core/marionette-port.js +0 -474
- package/dist/src/core/marionette-preflight.d.ts +0 -58
- package/dist/src/core/marionette-preflight.js +0 -332
- package/dist/src/core/markdown-table.d.ts +0 -104
- package/dist/src/core/markdown-table.js +0 -265
- package/dist/src/core/mochitest-server-port.d.ts +0 -81
- package/dist/src/core/mochitest-server-port.js +0 -175
- package/dist/src/core/module-resolution-preflight.d.ts +0 -65
- package/dist/src/core/module-resolution-preflight.js +0 -171
- package/dist/src/core/moz-manifest-helpers.d.ts +0 -79
- package/dist/src/core/moz-manifest-helpers.js +0 -163
- package/dist/src/core/moz-manifest-register.d.ts +0 -19
- package/dist/src/core/moz-manifest-register.js +0 -51
- package/dist/src/core/moz-manifest-rules.d.ts +0 -58
- package/dist/src/core/moz-manifest-rules.js +0 -264
- package/dist/src/core/moz-manifest-tokenizers.d.ts +0 -38
- package/dist/src/core/moz-manifest-tokenizers.js +0 -108
- package/dist/src/core/negative-control-compiled.d.ts +0 -46
- package/dist/src/core/negative-control-compiled.js +0 -109
- package/dist/src/core/negative-control-diff.d.ts +0 -51
- package/dist/src/core/negative-control-diff.js +0 -204
- package/dist/src/core/negative-control.d.ts +0 -150
- package/dist/src/core/negative-control.js +0 -399
- package/dist/src/core/objdir-install-manifests.d.ts +0 -73
- package/dist/src/core/objdir-install-manifests.js +0 -226
- package/dist/src/core/objdir-maintenance.d.ts +0 -10
- package/dist/src/core/objdir-maintenance.js +0 -167
- package/dist/src/core/ownership-table.d.ts +0 -53
- package/dist/src/core/ownership-table.js +0 -159
- package/dist/src/core/parent-exit-watchdog.d.ts +0 -62
- package/dist/src/core/parent-exit-watchdog.js +0 -69
- package/dist/src/core/park-store.d.ts +0 -63
- package/dist/src/core/park-store.js +0 -216
- package/dist/src/core/parser-fallback.d.ts +0 -50
- package/dist/src/core/parser-fallback.js +0 -61
- package/dist/src/core/patch-apply-fuzz.d.ts +0 -57
- package/dist/src/core/patch-apply-fuzz.js +0 -125
- package/dist/src/core/patch-apply.d.ts +0 -88
- package/dist/src/core/patch-apply.js +0 -435
- package/dist/src/core/patch-export-coverage.d.ts +0 -49
- package/dist/src/core/patch-export-coverage.js +0 -73
- package/dist/src/core/patch-export-metadata.d.ts +0 -46
- package/dist/src/core/patch-export-metadata.js +0 -47
- package/dist/src/core/patch-export-update.d.ts +0 -55
- package/dist/src/core/patch-export-update.js +0 -95
- package/dist/src/core/patch-export.d.ts +0 -175
- package/dist/src/core/patch-export.js +0 -312
- package/dist/src/core/patch-files.d.ts +0 -17
- package/dist/src/core/patch-files.js +0 -59
- package/dist/src/core/patch-identifier-suggest.d.ts +0 -26
- package/dist/src/core/patch-identifier-suggest.js +0 -135
- package/dist/src/core/patch-lint-binary.d.ts +0 -45
- package/dist/src/core/patch-lint-binary.js +0 -39
- package/dist/src/core/patch-lint-cache.d.ts +0 -78
- package/dist/src/core/patch-lint-cache.js +0 -233
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +0 -39
- package/dist/src/core/patch-lint-checkjs-any-import.js +0 -63
- package/dist/src/core/patch-lint-checkjs-cache.d.ts +0 -18
- package/dist/src/core/patch-lint-checkjs-cache.js +0 -45
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +0 -17
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +0 -32
- package/dist/src/core/patch-lint-checkjs.d.ts +0 -180
- package/dist/src/core/patch-lint-checkjs.js +0 -611
- package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +0 -43
- package/dist/src/core/patch-lint-chrome-jsdoc.js +0 -90
- package/dist/src/core/patch-lint-code-lines.d.ts +0 -59
- package/dist/src/core/patch-lint-code-lines.js +0 -105
- package/dist/src/core/patch-lint-creators.d.ts +0 -26
- package/dist/src/core/patch-lint-creators.js +0 -45
- package/dist/src/core/patch-lint-cross.d.ts +0 -232
- package/dist/src/core/patch-lint-cross.js +0 -590
- package/dist/src/core/patch-lint-css.d.ts +0 -27
- package/dist/src/core/patch-lint-css.js +0 -228
- package/dist/src/core/patch-lint-diff-tag.d.ts +0 -51
- package/dist/src/core/patch-lint-diff-tag.js +0 -105
- package/dist/src/core/patch-lint-diff.d.ts +0 -42
- package/dist/src/core/patch-lint-diff.js +0 -100
- package/dist/src/core/patch-lint-file-size.d.ts +0 -57
- package/dist/src/core/patch-lint-file-size.js +0 -62
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +0 -61
- package/dist/src/core/patch-lint-forward-registration-extended.js +0 -265
- package/dist/src/core/patch-lint-forward-registration.d.ts +0 -71
- package/dist/src/core/patch-lint-forward-registration.js +0 -266
- package/dist/src/core/patch-lint-ignore.d.ts +0 -196
- package/dist/src/core/patch-lint-ignore.js +0 -429
- package/dist/src/core/patch-lint-imports.d.ts +0 -5
- package/dist/src/core/patch-lint-imports.js +0 -67
- package/dist/src/core/patch-lint-jsdoc.d.ts +0 -67
- package/dist/src/core/patch-lint-jsdoc.js +0 -471
- package/dist/src/core/patch-lint-module-registration.d.ts +0 -22
- package/dist/src/core/patch-lint-module-registration.js +0 -97
- package/dist/src/core/patch-lint-mozbuild.d.ts +0 -18
- package/dist/src/core/patch-lint-mozbuild.js +0 -192
- package/dist/src/core/patch-lint-observer.d.ts +0 -37
- package/dist/src/core/patch-lint-observer.js +0 -167
- package/dist/src/core/patch-lint-ownership.d.ts +0 -74
- package/dist/src/core/patch-lint-ownership.js +0 -125
- package/dist/src/core/patch-lint-prettier.d.ts +0 -34
- package/dist/src/core/patch-lint-prettier.js +0 -124
- package/dist/src/core/patch-lint-projection.d.ts +0 -25
- package/dist/src/core/patch-lint-projection.js +0 -43
- package/dist/src/core/patch-lint-queue-types.d.ts +0 -60
- package/dist/src/core/patch-lint-queue-types.js +0 -12
- package/dist/src/core/patch-lint-size-thresholds.d.ts +0 -52
- package/dist/src/core/patch-lint-size-thresholds.js +0 -110
- package/dist/src/core/patch-lint-size.d.ts +0 -117
- package/dist/src/core/patch-lint-size.js +0 -331
- package/dist/src/core/patch-lint-staged-registration.d.ts +0 -78
- package/dist/src/core/patch-lint-staged-registration.js +0 -110
- package/dist/src/core/patch-lint-token-scale.d.ts +0 -57
- package/dist/src/core/patch-lint-token-scale.js +0 -286
- package/dist/src/core/patch-lint-unmanaged-companion.d.ts +0 -106
- package/dist/src/core/patch-lint-unmanaged-companion.js +0 -214
- package/dist/src/core/patch-lint.d.ts +0 -191
- package/dist/src/core/patch-lint.js +0 -529
- package/dist/src/core/patch-lock.d.ts +0 -40
- package/dist/src/core/patch-lock.js +0 -129
- package/dist/src/core/patch-manifest-consistency.d.ts +0 -95
- package/dist/src/core/patch-manifest-consistency.js +0 -256
- package/dist/src/core/patch-manifest-files-affected.d.ts +0 -43
- package/dist/src/core/patch-manifest-files-affected.js +0 -77
- package/dist/src/core/patch-manifest-io.d.ts +0 -199
- package/dist/src/core/patch-manifest-io.js +0 -556
- package/dist/src/core/patch-manifest-key-order.d.ts +0 -23
- package/dist/src/core/patch-manifest-key-order.js +0 -60
- package/dist/src/core/patch-manifest-query.d.ts +0 -55
- package/dist/src/core/patch-manifest-query.js +0 -139
- package/dist/src/core/patch-manifest-resolve.d.ts +0 -21
- package/dist/src/core/patch-manifest-resolve.js +0 -35
- package/dist/src/core/patch-manifest-stage.d.ts +0 -46
- package/dist/src/core/patch-manifest-stage.js +0 -96
- package/dist/src/core/patch-manifest-validate.d.ts +0 -20
- package/dist/src/core/patch-manifest-validate.js +0 -240
- package/dist/src/core/patch-manifest.d.ts +0 -12
- package/dist/src/core/patch-manifest.js +0 -13
- package/dist/src/core/patch-order-legal.d.ts +0 -26
- package/dist/src/core/patch-order-legal.js +0 -88
- package/dist/src/core/patch-parse.d.ts +0 -161
- package/dist/src/core/patch-parse.js +0 -347
- package/dist/src/core/patch-policy-content.d.ts +0 -40
- package/dist/src/core/patch-policy-content.js +0 -216
- package/dist/src/core/patch-policy.d.ts +0 -80
- package/dist/src/core/patch-policy.js +0 -394
- package/dist/src/core/patch-registration-refs.d.ts +0 -41
- package/dist/src/core/patch-registration-refs.js +0 -107
- package/dist/src/core/patch-retired.d.ts +0 -57
- package/dist/src/core/patch-retired.js +0 -92
- package/dist/src/core/patch-source-metadata.d.ts +0 -6
- package/dist/src/core/patch-source-metadata.js +0 -12
- package/dist/src/core/patch-subset.d.ts +0 -18
- package/dist/src/core/patch-subset.js +0 -67
- package/dist/src/core/patch-transform.d.ts +0 -61
- package/dist/src/core/patch-transform.js +0 -198
- package/dist/src/core/preflight-wait.d.ts +0 -22
- package/dist/src/core/preflight-wait.js +0 -62
- package/dist/src/core/process-cpu-time.d.ts +0 -12
- package/dist/src/core/process-cpu-time.js +0 -52
- package/dist/src/core/process-owner.d.ts +0 -9
- package/dist/src/core/process-owner.js +0 -43
- package/dist/src/core/rebase-dry-run.d.ts +0 -48
- package/dist/src/core/rebase-dry-run.js +0 -105
- package/dist/src/core/rebase-from-version.d.ts +0 -46
- package/dist/src/core/rebase-from-version.js +0 -71
- package/dist/src/core/rebase-session.d.ts +0 -100
- package/dist/src/core/rebase-session.js +0 -174
- package/dist/src/core/register-browser-content.d.ts +0 -11
- package/dist/src/core/register-browser-content.js +0 -52
- package/dist/src/core/register-browser-test.d.ts +0 -18
- package/dist/src/core/register-browser-test.js +0 -66
- package/dist/src/core/register-module.d.ts +0 -11
- package/dist/src/core/register-module.js +0 -56
- package/dist/src/core/register-result.d.ts +0 -30
- package/dist/src/core/register-result.js +0 -8
- package/dist/src/core/register-scaffold.d.ts +0 -55
- package/dist/src/core/register-scaffold.js +0 -146
- package/dist/src/core/register-shared-css.d.ts +0 -36
- package/dist/src/core/register-shared-css.js +0 -112
- package/dist/src/core/register-xpcshell-test.d.ts +0 -50
- package/dist/src/core/register-xpcshell-test.js +0 -143
- package/dist/src/core/run-log-redact.d.ts +0 -38
- package/dist/src/core/run-log-redact.js +0 -69
- package/dist/src/core/run-log.d.ts +0 -97
- package/dist/src/core/run-log.js +0 -334
- package/dist/src/core/run-profile.d.ts +0 -57
- package/dist/src/core/run-profile.js +0 -137
- package/dist/src/core/shared-ftl.d.ts +0 -28
- package/dist/src/core/shared-ftl.js +0 -49
- package/dist/src/core/signal-critical.d.ts +0 -38
- package/dist/src/core/signal-critical.js +0 -62
- package/dist/src/core/smoke-patterns.d.ts +0 -81
- package/dist/src/core/smoke-patterns.js +0 -176
- package/dist/src/core/state-file.d.ts +0 -60
- package/dist/src/core/state-file.js +0 -71
- package/dist/src/core/status-binary.d.ts +0 -62
- package/dist/src/core/status-binary.js +0 -133
- package/dist/src/core/status-classify.d.ts +0 -96
- package/dist/src/core/status-classify.js +0 -244
- package/dist/src/core/test-changed-prefs.d.ts +0 -30
- package/dist/src/core/test-changed-prefs.js +0 -93
- package/dist/src/core/test-harness-crash.d.ts +0 -251
- package/dist/src/core/test-harness-crash.js +0 -780
- package/dist/src/core/test-harness-infra.d.ts +0 -32
- package/dist/src/core/test-harness-infra.js +0 -69
- package/dist/src/core/test-harness-output.d.ts +0 -45
- package/dist/src/core/test-harness-output.js +0 -119
- package/dist/src/core/test-harness-signature.d.ts +0 -57
- package/dist/src/core/test-harness-signature.js +0 -35
- package/dist/src/core/test-harness-verdict-notes.d.ts +0 -54
- package/dist/src/core/test-harness-verdict-notes.js +0 -48
- package/dist/src/core/test-host-state.d.ts +0 -14
- package/dist/src/core/test-host-state.js +0 -80
- package/dist/src/core/test-path-scope.d.ts +0 -59
- package/dist/src/core/test-path-scope.js +0 -147
- package/dist/src/core/test-profile-files.d.ts +0 -17
- package/dist/src/core/test-profile-files.js +0 -75
- package/dist/src/core/test-raw-log.d.ts +0 -66
- package/dist/src/core/test-raw-log.js +0 -122
- package/dist/src/core/test-run-completeness.d.ts +0 -97
- package/dist/src/core/test-run-completeness.js +0 -191
- package/dist/src/core/test-stale-check.d.ts +0 -213
- package/dist/src/core/test-stale-check.js +0 -396
- package/dist/src/core/test-stale-exempt.d.ts +0 -40
- package/dist/src/core/test-stale-exempt.js +0 -70
- package/dist/src/core/test-stale-symlink.d.ts +0 -12
- package/dist/src/core/test-stale-symlink.js +0 -39
- package/dist/src/core/test-stall-triage.d.ts +0 -51
- package/dist/src/core/test-stall-triage.js +0 -142
- package/dist/src/core/test-xpcshell-retry.d.ts +0 -35
- package/dist/src/core/test-xpcshell-retry.js +0 -31
- package/dist/src/core/token-category.d.ts +0 -54
- package/dist/src/core/token-category.js +0 -299
- package/dist/src/core/token-coverage.d.ts +0 -12
- package/dist/src/core/token-coverage.js +0 -96
- package/dist/src/core/token-dark-mode.d.ts +0 -64
- package/dist/src/core/token-dark-mode.js +0 -186
- package/dist/src/core/token-docs.d.ts +0 -34
- package/dist/src/core/token-docs.js +0 -102
- package/dist/src/core/token-inventory.d.ts +0 -56
- package/dist/src/core/token-inventory.js +0 -114
- package/dist/src/core/token-lint.d.ts +0 -53
- package/dist/src/core/token-lint.js +0 -131
- package/dist/src/core/token-manager.d.ts +0 -87
- package/dist/src/core/token-manager.js +0 -407
- package/dist/src/core/token-scaffold.d.ts +0 -36
- package/dist/src/core/token-scaffold.js +0 -73
- package/dist/src/core/token-sibling-sheets.d.ts +0 -46
- package/dist/src/core/token-sibling-sheets.js +0 -119
- package/dist/src/core/token-variant.d.ts +0 -90
- package/dist/src/core/token-variant.js +0 -327
- package/dist/src/core/toolchain-preflight.d.ts +0 -90
- package/dist/src/core/toolchain-preflight.js +0 -251
- package/dist/src/core/tree-cow.d.ts +0 -16
- package/dist/src/core/tree-cow.js +0 -71
- package/dist/src/core/tree-guard.d.ts +0 -35
- package/dist/src/core/tree-guard.js +0 -194
- package/dist/src/core/tree-store.d.ts +0 -143
- package/dist/src/core/tree-store.js +0 -478
- package/dist/src/core/typecheck-shim.d.ts +0 -90
- package/dist/src/core/typecheck-shim.js +0 -507
- package/dist/src/core/typecheck.d.ts +0 -75
- package/dist/src/core/typecheck.js +0 -433
- package/dist/src/core/wire-destroy.d.ts +0 -25
- package/dist/src/core/wire-destroy.js +0 -126
- package/dist/src/core/wire-dom-fragment.d.ts +0 -44
- package/dist/src/core/wire-dom-fragment.js +0 -139
- package/dist/src/core/wire-init.d.ts +0 -28
- package/dist/src/core/wire-init.js +0 -219
- package/dist/src/core/wire-subscript.d.ts +0 -23
- package/dist/src/core/wire-subscript.js +0 -145
- package/dist/src/core/wire-utils.d.ts +0 -149
- package/dist/src/core/wire-utils.js +0 -338
- package/dist/src/core/xpcshell-appdir.d.ts +0 -157
- package/dist/src/core/xpcshell-appdir.js +0 -299
- package/dist/src/core/xpcshell-profile-dir.d.ts +0 -12
- package/dist/src/core/xpcshell-profile-dir.js +0 -45
- package/dist/src/errors/base.d.ts +0 -217
- package/dist/src/errors/base.js +0 -279
- package/dist/src/errors/build.d.ts +0 -92
- package/dist/src/errors/build.js +0 -166
- package/dist/src/errors/codes.d.ts +0 -74
- package/dist/src/errors/codes.js +0 -74
- package/dist/src/errors/config.d.ts +0 -17
- package/dist/src/errors/config.js +0 -39
- package/dist/src/errors/download.d.ts +0 -66
- package/dist/src/errors/download.js +0 -160
- package/dist/src/errors/furnace.d.ts +0 -20
- package/dist/src/errors/furnace.js +0 -28
- package/dist/src/errors/git.d.ts +0 -65
- package/dist/src/errors/git.js +0 -140
- package/dist/src/errors/patch.d.ts +0 -27
- package/dist/src/errors/patch.js +0 -52
- package/dist/src/errors/rebase.d.ts +0 -42
- package/dist/src/errors/rebase.js +0 -71
- package/dist/src/errors/run.d.ts +0 -16
- package/dist/src/errors/run.js +0 -22
- package/dist/src/index.d.ts +0 -42
- package/dist/src/index.js +0 -32
- package/dist/src/types/cli.d.ts +0 -14
- package/dist/src/types/commands/index.d.ts +0 -6
- package/dist/src/types/commands/index.js +0 -5
- package/dist/src/types/commands/options.d.ts +0 -1367
- package/dist/src/types/commands/options.js +0 -5
- package/dist/src/types/commands/patches.d.ts +0 -352
- package/dist/src/types/commands/patches.js +0 -5
- package/dist/src/types/commands/project.d.ts +0 -51
- package/dist/src/types/commands/project.js +0 -5
- package/dist/src/types/config.d.ts +0 -703
- package/dist/src/types/config.js +0 -15
- package/dist/src/types/furnace.d.ts +0 -415
- package/dist/src/types/furnace.js +0 -26
- package/dist/src/types/index.d.ts +0 -5
- package/dist/src/types/index.js +0 -5
- package/dist/src/types/json.d.ts +0 -22
- package/dist/src/types/json.js +0 -11
- package/dist/src/types/typecheck.d.ts +0 -51
- package/dist/src/types/typecheck.js +0 -14
- package/dist/src/utils/assert.d.ts +0 -34
- package/dist/src/utils/assert.js +0 -61
- package/dist/src/utils/build-info.d.ts +0 -30
- package/dist/src/utils/build-info.js +0 -99
- package/dist/src/utils/child-env.d.ts +0 -28
- package/dist/src/utils/child-env.js +0 -27
- package/dist/src/utils/concurrency.d.ts +0 -8
- package/dist/src/utils/concurrency.js +0 -32
- package/dist/src/utils/elapsed.d.ts +0 -2
- package/dist/src/utils/elapsed.js +0 -23
- package/dist/src/utils/errors.d.ts +0 -39
- package/dist/src/utils/errors.js +0 -67
- package/dist/src/utils/fs.d.ts +0 -113
- package/dist/src/utils/fs.js +0 -337
- package/dist/src/utils/hash.d.ts +0 -12
- package/dist/src/utils/hash.js +0 -16
- package/dist/src/utils/line-dispatch.d.ts +0 -15
- package/dist/src/utils/line-dispatch.js +0 -48
- package/dist/src/utils/logger.d.ts +0 -109
- package/dist/src/utils/logger.js +0 -270
- package/dist/src/utils/machine-output.d.ts +0 -12
- package/dist/src/utils/machine-output.js +0 -33
- package/dist/src/utils/options.d.ts +0 -155
- package/dist/src/utils/options.js +0 -312
- package/dist/src/utils/package-root.d.ts +0 -21
- package/dist/src/utils/package-root.js +0 -70
- package/dist/src/utils/parse.d.ts +0 -117
- package/dist/src/utils/parse.js +0 -214
- package/dist/src/utils/path-glob.d.ts +0 -15
- package/dist/src/utils/path-glob.js +0 -47
- package/dist/src/utils/paths.d.ts +0 -31
- package/dist/src/utils/paths.js +0 -80
- package/dist/src/utils/platform.d.ts +0 -9
- package/dist/src/utils/platform.js +0 -14
- package/dist/src/utils/process-group.d.ts +0 -42
- package/dist/src/utils/process-group.js +0 -190
- package/dist/src/utils/process-input.d.ts +0 -27
- package/dist/src/utils/process-input.js +0 -46
- package/dist/src/utils/process.d.ts +0 -293
- package/dist/src/utils/process.js +0 -593
- package/dist/src/utils/ps-duration.d.ts +0 -31
- package/dist/src/utils/ps-duration.js +0 -70
- package/dist/src/utils/regex.d.ts +0 -39
- package/dist/src/utils/regex.js +0 -109
- package/dist/src/utils/sleep.d.ts +0 -25
- package/dist/src/utils/sleep.js +0 -30
- package/dist/src/utils/stdio-drain.d.ts +0 -28
- package/dist/src/utils/stdio-drain.js +0 -54
- package/dist/src/utils/validation.d.ts +0 -182
- package/dist/src/utils/validation.js +0 -394
- package/docs/lifecycle-invariants.md +0 -523
- package/docs/run-logs.md +0 -122
- package/docs/verification-trees.md +0 -49
- /package/dist/src/{types/cli.js → cli/context.js} +0 -0
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Signal-deferred critical sections.
|
|
4
|
-
*
|
|
5
|
-
* Commands that perform a compound mutation (e.g. "apply a patch to the
|
|
6
|
-
* engine, then persist progress to a session file on disk") need to finish
|
|
7
|
-
* the pair atomically with respect to SIGINT / SIGTERM. The furnace rollback
|
|
8
|
-
* mechanism is not the right tool here: rebase-style operations intentionally
|
|
9
|
-
* leave the engine mutated and only need the on-disk bookkeeping write to
|
|
10
|
-
* complete before the process exits.
|
|
11
|
-
*
|
|
12
|
-
* `runInSignalCriticalSection(fn)` wraps a short body in a registry slot.
|
|
13
|
-
* While the body runs, the CLI entry point's SIGINT / SIGTERM handlers wait
|
|
14
|
-
* for the slot to clear before calling `process.exit`, so a signal that
|
|
15
|
-
* lands mid-body is held until the body's state write finishes.
|
|
16
|
-
*
|
|
17
|
-
* This module is a pure runtime registry. It installs no signal handlers
|
|
18
|
-
* itself. The bin entry point is responsible for awaiting
|
|
19
|
-
* `waitForActiveCriticalSections` before terminating.
|
|
20
|
-
*/
|
|
21
|
-
import { sleep } from '../utils/sleep.js';
|
|
22
|
-
const activeSections = new Set();
|
|
23
|
-
/**
|
|
24
|
-
* Runs `fn` inside a signal-deferred critical section. The CLI entry point's
|
|
25
|
-
* signal handlers `await` every active section before exiting, so a SIGINT or
|
|
26
|
-
* SIGTERM that arrives during `fn` will hold exit until `fn` returns (or
|
|
27
|
-
* rejects).
|
|
28
|
-
*
|
|
29
|
-
* `fn` should be short. Anything that takes longer than the bounded wait in
|
|
30
|
-
* the bin handler (`SIGNAL_CRITICAL_SECTION_TIMEOUT_MS`) will time out and
|
|
31
|
-
* the handler will exit anyway. The intent is "guard the apply + state
|
|
32
|
-
* persist pair," not "postpone exit indefinitely."
|
|
33
|
-
*/
|
|
34
|
-
export async function runInSignalCriticalSection(label, fn) {
|
|
35
|
-
let resolver = () => undefined;
|
|
36
|
-
const section = {
|
|
37
|
-
label,
|
|
38
|
-
promise: new Promise((resolve) => {
|
|
39
|
-
resolver = resolve;
|
|
40
|
-
}),
|
|
41
|
-
};
|
|
42
|
-
activeSections.add(section);
|
|
43
|
-
try {
|
|
44
|
-
return await fn();
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
activeSections.delete(section);
|
|
48
|
-
resolver();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Waits for every active critical section to complete or for `timeoutMs` to
|
|
53
|
-
* elapse, whichever comes first. Never rejects: a section that throws still
|
|
54
|
-
* resolves from the registry's perspective because `runInSignalCriticalSection`
|
|
55
|
-
* cleans up in `finally`.
|
|
56
|
-
*/
|
|
57
|
-
export async function waitForActiveCriticalSections(timeoutMs) {
|
|
58
|
-
if (activeSections.size === 0)
|
|
59
|
-
return;
|
|
60
|
-
const snapshot = [...activeSections].map((s) => s.promise);
|
|
61
|
-
await Promise.race([Promise.allSettled(snapshot).then(() => undefined), sleep(timeoutMs)]);
|
|
62
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared regex library for `fireforge run --smoke-exit`. Used by the smoke
|
|
3
|
-
* runner to decide whether a console line from the real chrome counts as a
|
|
4
|
-
* runtime error. Kept separate from the runner so the patterns can be
|
|
5
|
-
* exercised in isolation and amended without touching process-group logic.
|
|
6
|
-
*
|
|
7
|
-
* Matching is anchored at the start of the line (`^`) on purpose: a runtime
|
|
8
|
-
* error leaves a canonical prefix that Firefox's logging layer prints at
|
|
9
|
-
* column zero. Embedded mentions of the same string inside an unrelated
|
|
10
|
-
* warning (e.g. `"pending JavaScript error cleanup"`) do not start with
|
|
11
|
-
* the prefix and should not trip the scanner.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Returns `true` when `line` matches any pattern in
|
|
15
|
-
* {@link SMOKE_ERROR_PATTERNS}. Does not consult the allowlist. That step
|
|
16
|
-
* lives in {@link matchAllowlist}, so the smoke runner can count
|
|
17
|
-
* allowlisted hits separately from raw error matches for its summary.
|
|
18
|
-
*/
|
|
19
|
-
export declare function matchesSmokeError(line: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Returns `true` when `line` is console output from the browser rather than
|
|
22
|
-
* mach's own timestamped log. A blank line is neither.
|
|
23
|
-
*/
|
|
24
|
-
export declare function isBrowserConsoleLine(line: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* One compiled allowlist entry with its provenance retained so the smoke
|
|
27
|
-
* summary can attribute hits per entry. An entry that silently
|
|
28
|
-
* stops matching (its suppressed shape changed upstream) is only
|
|
29
|
-
* detectable when zero-hit entries are visible.
|
|
30
|
-
*/
|
|
31
|
-
export interface CompiledAllowlistEntry {
|
|
32
|
-
pattern: RegExp;
|
|
33
|
-
/** Verbatim source text of the entry. */
|
|
34
|
-
source: string;
|
|
35
|
-
/** Human-readable origin: `allow.txt:12` or `--console-allow #2`. */
|
|
36
|
-
origin: string;
|
|
37
|
-
/**
|
|
38
|
-
* Ceiling from a `# max-hits: N` directive above the entry: how often the
|
|
39
|
-
* suppressed cause can physically fire in one boot. More hits than this
|
|
40
|
-
* is a flood wearing an allowlisted shape, and fails the run.
|
|
41
|
-
*/
|
|
42
|
-
maxHits?: number;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Returns the index of the FIRST entry in `allow` matching `line`, or -1.
|
|
46
|
-
* First-match attribution is deterministic and cheap. A line matching
|
|
47
|
-
* several entries credits the earliest one. Safe to call with an empty
|
|
48
|
-
* allowlist (always returns -1).
|
|
49
|
-
*/
|
|
50
|
-
export declare function matchAllowlist(line: string, allow: readonly CompiledAllowlistEntry[]): number;
|
|
51
|
-
/**
|
|
52
|
-
* Parses a newline-delimited allowlist file body. Lines are trimmed. Blank
|
|
53
|
-
* lines and `#`-prefixed comments are skipped. Each remaining line is
|
|
54
|
-
* compiled as a RegExp with its `<file>:<line>` origin retained. A bad
|
|
55
|
-
* pattern throws immediately: better to fail fast at CLI parse time than
|
|
56
|
-
* to silently let a typo match nothing.
|
|
57
|
-
*
|
|
58
|
-
* A `# max-hits: N` comment sets the ceiling of the entry that follows it
|
|
59
|
-
* (other comment lines may sit between). A blank line or end of file with
|
|
60
|
-
* no entry after the directive is an error rather than a silently dropped
|
|
61
|
-
* cap, since a cap the operator wrote and the run ignored is the exact
|
|
62
|
-
* shape of failure this directive exists to prevent.
|
|
63
|
-
*/
|
|
64
|
-
export declare function compileAllowlistFromFile(body: string, sourcePath: string): CompiledAllowlistEntry[];
|
|
65
|
-
/** An allowlist entry that matched more lines than its `# max-hits` ceiling. */
|
|
66
|
-
export interface OverCapAllowlistEntry {
|
|
67
|
-
entry: CompiledAllowlistEntry;
|
|
68
|
-
hits: number;
|
|
69
|
-
maxHits: number;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Entries whose per-entry hit count (every matched line, error-class or
|
|
73
|
-
* not: the `N×` number the attribution block prints and the operator tunes
|
|
74
|
-
* against) exceeds their ceiling. Entries without a ceiling never appear.
|
|
75
|
-
*/
|
|
76
|
-
export declare function findOverCapAllowlistEntries(allow: readonly CompiledAllowlistEntry[], hits: readonly number[]): OverCapAllowlistEntry[];
|
|
77
|
-
/**
|
|
78
|
-
* Compiles an array of regex-string inputs (e.g. repeated `--console-allow`
|
|
79
|
-
* flag values). Same fail-fast semantics as {@link compileAllowlistFromFile}.
|
|
80
|
-
*/
|
|
81
|
-
export declare function compileAllowlistFromStrings(sources: readonly string[]): CompiledAllowlistEntry[];
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Shared regex library for `fireforge run --smoke-exit`. Used by the smoke
|
|
4
|
-
* runner to decide whether a console line from the real chrome counts as a
|
|
5
|
-
* runtime error. Kept separate from the runner so the patterns can be
|
|
6
|
-
* exercised in isolation and amended without touching process-group logic.
|
|
7
|
-
*
|
|
8
|
-
* Matching is anchored at the start of the line (`^`) on purpose: a runtime
|
|
9
|
-
* error leaves a canonical prefix that Firefox's logging layer prints at
|
|
10
|
-
* column zero. Embedded mentions of the same string inside an unrelated
|
|
11
|
-
* warning (e.g. `"pending JavaScript error cleanup"`) do not start with
|
|
12
|
-
* the prefix and should not trip the scanner.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Line prefixes that signal an actual runtime error in a Firefox chrome
|
|
16
|
-
* process. A hit on any of these patterns is a smoke failure unless the
|
|
17
|
-
* line also matches the caller-supplied allowlist.
|
|
18
|
-
*
|
|
19
|
-
* Additions here should be conservative. False positives turn every
|
|
20
|
-
* smoke run into noise for operators and every CI run into flake.
|
|
21
|
-
*/
|
|
22
|
-
import { toError } from '../utils/errors.js';
|
|
23
|
-
const SMOKE_ERROR_PATTERNS = [
|
|
24
|
-
// Firefox chrome error lines: `JavaScript error: chrome://…, line N: TypeError: …`.
|
|
25
|
-
/^\s*JavaScript error:/i,
|
|
26
|
-
// Some log paths prefix browser-console `console.error(...)` with the literal label below.
|
|
27
|
-
/^\s*console\.error:/i,
|
|
28
|
-
// Older bracketed-prefix variant still seen in some chrome logs / test runs.
|
|
29
|
-
/^\s*\[JavaScript (Error|Warning)\]/i,
|
|
30
|
-
// IPC-layer fatal assertions. Firefox prints `###!!! [Parent] Error: …` on content-process crashes.
|
|
31
|
-
/^\s*###!!! \[Parent\]/,
|
|
32
|
-
// A chrome:// or resource:// URL that resolves to nothing. Outside
|
|
33
|
-
// automation Gecko only PRINTS this (printf_stderr in
|
|
34
|
-
// `CheckForBrokenChromeURL`, netwerk/base/nsNetUtil.cpp). Under
|
|
35
|
-
// `xpc::IsInAutomation()` the same condition is a
|
|
36
|
-
// `MOZ_CRASH_UNSAFE_PRINTF` in whichever process opened the channel. So
|
|
37
|
-
// the smoke probe, which runs outside automation, sees the printed
|
|
38
|
-
// line for the same defect that hard-crashes every harness run, and a
|
|
39
|
-
// probe that exits 0 on it reports "startup is healthy" for a build that
|
|
40
|
-
// hangs at "Waiting for browser…". Both spellings are matched: the
|
|
41
|
-
// non-automation singular `URL:` and the automation plural `URLs:`.
|
|
42
|
-
// Allowlistable through `--console-allow` like any other pattern.
|
|
43
|
-
/^\s*Missing chrome or resource URLs?:/,
|
|
44
|
-
];
|
|
45
|
-
/**
|
|
46
|
-
* Returns `true` when `line` matches any pattern in
|
|
47
|
-
* {@link SMOKE_ERROR_PATTERNS}. Does not consult the allowlist. That step
|
|
48
|
-
* lives in {@link matchAllowlist}, so the smoke runner can count
|
|
49
|
-
* allowlisted hits separately from raw error matches for its summary.
|
|
50
|
-
*/
|
|
51
|
-
export function matchesSmokeError(line) {
|
|
52
|
-
for (const pattern of SMOKE_ERROR_PATTERNS) {
|
|
53
|
-
if (pattern.test(line)) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Mach's own log lines carry an elapsed-time prefix (` 0:00.42 <message>`),
|
|
61
|
-
* the first of which echoes the browser command line. They prove mach ran,
|
|
62
|
-
* not that the browser printed anything.
|
|
63
|
-
*/
|
|
64
|
-
const MACH_LOG_LINE = /^\s*\d+:\d{2}\.\d{2} /;
|
|
65
|
-
/**
|
|
66
|
-
* Returns `true` when `line` is console output from the browser rather than
|
|
67
|
-
* mach's own timestamped log. A blank line is neither.
|
|
68
|
-
*/
|
|
69
|
-
export function isBrowserConsoleLine(line) {
|
|
70
|
-
return line.trim() !== '' && !MACH_LOG_LINE.test(line);
|
|
71
|
-
}
|
|
72
|
-
/** `# max-hits: N` on its own comment line, case-insensitive. */
|
|
73
|
-
const MAX_HITS_DIRECTIVE = /^#\s*max-hits:\s*(\S+)\s*$/i;
|
|
74
|
-
function parseMaxHitsDirective(raw, at) {
|
|
75
|
-
if (!/^[1-9]\d*$/.test(raw)) {
|
|
76
|
-
throw new Error(`Invalid allowlist max-hits directive at ${at}: expected a positive integer (got "${raw}")`);
|
|
77
|
-
}
|
|
78
|
-
return Number.parseInt(raw, 10);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Returns the index of the FIRST entry in `allow` matching `line`, or -1.
|
|
82
|
-
* First-match attribution is deterministic and cheap. A line matching
|
|
83
|
-
* several entries credits the earliest one. Safe to call with an empty
|
|
84
|
-
* allowlist (always returns -1).
|
|
85
|
-
*/
|
|
86
|
-
export function matchAllowlist(line, allow) {
|
|
87
|
-
return allow.findIndex((entry) => entry.pattern.test(line));
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Parses a newline-delimited allowlist file body. Lines are trimmed. Blank
|
|
91
|
-
* lines and `#`-prefixed comments are skipped. Each remaining line is
|
|
92
|
-
* compiled as a RegExp with its `<file>:<line>` origin retained. A bad
|
|
93
|
-
* pattern throws immediately: better to fail fast at CLI parse time than
|
|
94
|
-
* to silently let a typo match nothing.
|
|
95
|
-
*
|
|
96
|
-
* A `# max-hits: N` comment sets the ceiling of the entry that follows it
|
|
97
|
-
* (other comment lines may sit between). A blank line or end of file with
|
|
98
|
-
* no entry after the directive is an error rather than a silently dropped
|
|
99
|
-
* cap, since a cap the operator wrote and the run ignored is the exact
|
|
100
|
-
* shape of failure this directive exists to prevent.
|
|
101
|
-
*/
|
|
102
|
-
export function compileAllowlistFromFile(body, sourcePath) {
|
|
103
|
-
const lines = body.split(/\r?\n/);
|
|
104
|
-
const compiled = [];
|
|
105
|
-
let pending;
|
|
106
|
-
const assertNoOrphanDirective = () => {
|
|
107
|
-
if (pending) {
|
|
108
|
-
throw new Error(`Invalid allowlist max-hits directive at ${pending.at}: no entry follows it (the ceiling applies to the next non-comment line)`);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
lines.forEach((raw, index) => {
|
|
112
|
-
const line = raw.trim();
|
|
113
|
-
const at = `${sourcePath}:${index + 1}`;
|
|
114
|
-
if (!line) {
|
|
115
|
-
assertNoOrphanDirective();
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (line.startsWith('#')) {
|
|
119
|
-
const directive = MAX_HITS_DIRECTIVE.exec(line);
|
|
120
|
-
if (directive)
|
|
121
|
-
pending = { maxHits: parseMaxHitsDirective(directive[1] ?? '', at), at };
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
try {
|
|
125
|
-
compiled.push({
|
|
126
|
-
pattern: new RegExp(line),
|
|
127
|
-
source: line,
|
|
128
|
-
origin: at,
|
|
129
|
-
...(pending ? { maxHits: pending.maxHits } : {}),
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
const message = toError(error).message;
|
|
134
|
-
throw new Error(`Invalid allowlist regex at ${at}: ${message}`, { cause: error });
|
|
135
|
-
}
|
|
136
|
-
pending = undefined;
|
|
137
|
-
});
|
|
138
|
-
assertNoOrphanDirective();
|
|
139
|
-
return compiled;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Entries whose per-entry hit count (every matched line, error-class or
|
|
143
|
-
* not: the `N×` number the attribution block prints and the operator tunes
|
|
144
|
-
* against) exceeds their ceiling. Entries without a ceiling never appear.
|
|
145
|
-
*/
|
|
146
|
-
export function findOverCapAllowlistEntries(allow, hits) {
|
|
147
|
-
const over = [];
|
|
148
|
-
allow.forEach((entry, index) => {
|
|
149
|
-
const count = hits[index] ?? 0;
|
|
150
|
-
if (entry.maxHits !== undefined && count > entry.maxHits) {
|
|
151
|
-
over.push({ entry, hits: count, maxHits: entry.maxHits });
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
return over;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Compiles an array of regex-string inputs (e.g. repeated `--console-allow`
|
|
158
|
-
* flag values). Same fail-fast semantics as {@link compileAllowlistFromFile}.
|
|
159
|
-
*/
|
|
160
|
-
export function compileAllowlistFromStrings(sources) {
|
|
161
|
-
const compiled = [];
|
|
162
|
-
sources.forEach((source, index) => {
|
|
163
|
-
try {
|
|
164
|
-
compiled.push({
|
|
165
|
-
pattern: new RegExp(source),
|
|
166
|
-
source,
|
|
167
|
-
origin: `--console-allow #${index + 1}`,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
catch (error) {
|
|
171
|
-
const message = toError(error).message;
|
|
172
|
-
throw new Error(`Invalid --console-allow regex at position ${index + 1} ("${source}"): ${message}`, { cause: error });
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
return compiled;
|
|
176
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/** Runs an operation while holding the sidecar lock for a FireForge state file. */
|
|
2
|
-
export declare function withStateFileLock<T>(statePath: string, operation: () => Promise<T>): Promise<T>;
|
|
3
|
-
/**
|
|
4
|
-
* A filesystem-safe, sortable timestamp: `2026-08-28T14-32-05-123Z`.
|
|
5
|
-
*
|
|
6
|
-
* Colons are not portable in filenames (Windows rejects them outright), so
|
|
7
|
-
* the ISO form is punctuated with dashes only. Lexical order still equals
|
|
8
|
-
* chronological order, which is what run-log pruning relies on.
|
|
9
|
-
*
|
|
10
|
-
* @param now - Instant to render
|
|
11
|
-
* @returns The ISO-8601 form with `:` and `.` replaced by `-`
|
|
12
|
-
*/
|
|
13
|
-
export declare function fileSafeTimestamp(now: Date): string;
|
|
14
|
-
/** Renames a state file out of the way while preserving it for later inspection. */
|
|
15
|
-
export declare function quarantineStateFile(statePath: string, reason?: string): Promise<string | undefined>;
|
|
16
|
-
/**
|
|
17
|
-
* Outcome of a version check on a persisted FireForge document.
|
|
18
|
-
*
|
|
19
|
-
* The distinction that matters is `newer` vs `corrupt`. A document written
|
|
20
|
-
* by a newer FireForge is not damaged. The operator simply needs to upgrade.
|
|
21
|
-
* A check that collapses the two offers destructive remedies. The
|
|
22
|
-
* sharpest case is the tree marker, whose `schemaVersion` check inside a
|
|
23
|
-
* boolean type guard makes a `schemaVersion: 2` marker read as "missing or
|
|
24
|
-
* mistypes a required field". `tree-guard.ts` is default-deny on corrupt, so
|
|
25
|
-
* a newer FireForge would lock the operator out of every mutating command
|
|
26
|
-
* inside that tree.
|
|
27
|
-
*
|
|
28
|
-
* `furnace.json` is the pattern the rest should follow: it refuses a newer
|
|
29
|
-
* version by name and tells the operator to upgrade (`validateConfigVersion`
|
|
30
|
-
* in `furnace-config.ts`).
|
|
31
|
-
*/
|
|
32
|
-
export type DocumentVersionCheck = {
|
|
33
|
-
kind: 'current';
|
|
34
|
-
} | {
|
|
35
|
-
kind: 'older';
|
|
36
|
-
found: number;
|
|
37
|
-
} | {
|
|
38
|
-
kind: 'newer';
|
|
39
|
-
found: number;
|
|
40
|
-
} | {
|
|
41
|
-
kind: 'malformed';
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Classifies a persisted document's `version`/`schemaVersion` field.
|
|
45
|
-
*
|
|
46
|
-
* @param raw - The parsed document
|
|
47
|
-
* @param field - Version field name, e.g. `schemaVersion`
|
|
48
|
-
* @param supported - Version this build writes and understands
|
|
49
|
-
* @returns Whether the document is current, older, newer, or malformed
|
|
50
|
-
*/
|
|
51
|
-
export declare function checkDocumentVersion(raw: unknown, field: string, supported: number): DocumentVersionCheck;
|
|
52
|
-
/**
|
|
53
|
-
* The refusal shown for a document this build is too old to read.
|
|
54
|
-
*
|
|
55
|
-
* @param label - Operator-facing document name, e.g. `tree marker`
|
|
56
|
-
* @param found - Version found on disk
|
|
57
|
-
* @param supported - Version this build understands
|
|
58
|
-
* @returns A message naming both versions and the remedy
|
|
59
|
-
*/
|
|
60
|
-
export declare function describeNewerDocument(label: string, found: number, supported: number): string;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
import { rename } from 'node:fs/promises';
|
|
3
|
-
import { basename } from 'node:path';
|
|
4
|
-
import { pathExists } from '../utils/fs.js';
|
|
5
|
-
import { createSiblingLockPath, withFileLock } from './file-lock.js';
|
|
6
|
-
/** Runs an operation while holding the sidecar lock for a FireForge state file. */
|
|
7
|
-
export async function withStateFileLock(statePath, operation) {
|
|
8
|
-
return withFileLock(createSiblingLockPath(statePath, '.fireforge-state.lock'), operation, {
|
|
9
|
-
onTimeoutMessage: `Timed out waiting to update FireForge state at ${statePath}. ` +
|
|
10
|
-
'If no other fireforge process is running, remove the stale lock directory and retry.',
|
|
11
|
-
onStaleLockMessage: (ageMs) => `Removing stale FireForge state lock for ${basename(statePath)} ` +
|
|
12
|
-
`(age: ${Math.round(ageMs / 1000)}s). A previous fireforge process may have crashed.`,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* A filesystem-safe, sortable timestamp: `2026-08-28T14-32-05-123Z`.
|
|
17
|
-
*
|
|
18
|
-
* Colons are not portable in filenames (Windows rejects them outright), so
|
|
19
|
-
* the ISO form is punctuated with dashes only. Lexical order still equals
|
|
20
|
-
* chronological order, which is what run-log pruning relies on.
|
|
21
|
-
*
|
|
22
|
-
* @param now - Instant to render
|
|
23
|
-
* @returns The ISO-8601 form with `:` and `.` replaced by `-`
|
|
24
|
-
*/
|
|
25
|
-
export function fileSafeTimestamp(now) {
|
|
26
|
-
return now.toISOString().replace(/[:.]/g, '-');
|
|
27
|
-
}
|
|
28
|
-
/** Renames a state file out of the way while preserving it for later inspection. */
|
|
29
|
-
export async function quarantineStateFile(statePath, reason = 'corrupt') {
|
|
30
|
-
if (!(await pathExists(statePath))) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
const timestamp = fileSafeTimestamp(new Date());
|
|
34
|
-
const quarantinedPath = `${statePath}.${reason}-${timestamp}`;
|
|
35
|
-
await rename(statePath, quarantinedPath);
|
|
36
|
-
return basename(quarantinedPath);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Classifies a persisted document's `version`/`schemaVersion` field.
|
|
40
|
-
*
|
|
41
|
-
* @param raw - The parsed document
|
|
42
|
-
* @param field - Version field name, e.g. `schemaVersion`
|
|
43
|
-
* @param supported - Version this build writes and understands
|
|
44
|
-
* @returns Whether the document is current, older, newer, or malformed
|
|
45
|
-
*/
|
|
46
|
-
export function checkDocumentVersion(raw, field, supported) {
|
|
47
|
-
if (typeof raw !== 'object' || raw === null)
|
|
48
|
-
return { kind: 'malformed' };
|
|
49
|
-
const found = raw[field];
|
|
50
|
-
if (typeof found !== 'number' || !Number.isInteger(found) || found < 1) {
|
|
51
|
-
return { kind: 'malformed' };
|
|
52
|
-
}
|
|
53
|
-
if (found > supported)
|
|
54
|
-
return { kind: 'newer', found };
|
|
55
|
-
if (found < supported)
|
|
56
|
-
return { kind: 'older', found };
|
|
57
|
-
return { kind: 'current' };
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The refusal shown for a document this build is too old to read.
|
|
61
|
-
*
|
|
62
|
-
* @param label - Operator-facing document name, e.g. `tree marker`
|
|
63
|
-
* @param found - Version found on disk
|
|
64
|
-
* @param supported - Version this build understands
|
|
65
|
-
* @returns A message naming both versions and the remedy
|
|
66
|
-
*/
|
|
67
|
-
export function describeNewerDocument(label, found, supported) {
|
|
68
|
-
return (`the ${label} was written by a newer FireForge (schema version ${found}; ` +
|
|
69
|
-
`this build understands ${supported}). Upgrade FireForge to read it — the file is ` +
|
|
70
|
-
'not damaged, so do not delete it.');
|
|
71
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Binary-aware drift classification for patch-owned files.
|
|
3
|
-
*
|
|
4
|
-
* The text classifier compares utf-8 decoded content against
|
|
5
|
-
* `computePatchedContent`, which cannot apply `GIT binary patch` bodies, so
|
|
6
|
-
* a binary file exported into a patch classifies as `patch-owned-drift`
|
|
7
|
-
* forever, keeping the engine-clean gate permanently red with nothing
|
|
8
|
-
* actually un-durable. A `GIT binary patch` section does carry the ground
|
|
9
|
-
* truth: `git diff --binary` always records full blob hashes on the section's
|
|
10
|
-
* `index <old>..<new>` line. Comparing the live file's `git hash-object`
|
|
11
|
-
* against the last owning section's new-side hash settles the classification
|
|
12
|
-
* exactly. Bodies without a usable hash (hand-written diffs) classify as
|
|
13
|
-
* `binary-unsupported`: an honest "cannot compare" instead of a false "not
|
|
14
|
-
* durable".
|
|
15
|
-
*
|
|
16
|
-
* That hash is trusted only when the section carries a replayable payload
|
|
17
|
-
* (`hasBinaryDelta`). A `Binary files … differ` stub carries a correct index
|
|
18
|
-
* line too, so hashing against it reports `patch-backed` for a body that
|
|
19
|
-
* cannot rebuild the file at all, which is the dishonesty this module
|
|
20
|
-
* exists to avoid. Such a body is `binary-unsupported` here, and an error
|
|
21
|
-
* from the `binary-body-not-reconstructable` queue lint.
|
|
22
|
-
*
|
|
23
|
-
* Lives in its own module (not `status-classify.ts`) so the classifier stays
|
|
24
|
-
* within the per-file line budget and this module never has to import it
|
|
25
|
-
* back: the dependency edge points one way, which keeps dpdm clean.
|
|
26
|
-
*/
|
|
27
|
-
import type { PatchedContentContext } from './patch-apply.js';
|
|
28
|
-
/** Batched patch lookup, injected by callers that classify many files. */
|
|
29
|
-
export type AffectingPatchLookup = Pick<PatchedContentContext, 'getAffectingPatches' | 'readPatchBody'> & Partial<Pick<PatchedContentContext, 'liveBlobHash'>>;
|
|
30
|
-
/**
|
|
31
|
-
* Classification result for a binary comparison. Structurally assignable
|
|
32
|
-
* to `ClassifiedFile` without importing it (which would create a cycle
|
|
33
|
-
* with `status-classify.ts`).
|
|
34
|
-
*/
|
|
35
|
-
export interface BinaryClassifiedFile {
|
|
36
|
-
status: string;
|
|
37
|
-
file: string;
|
|
38
|
-
classification: 'patch-backed' | 'furnace' | 'patch-owned-drift' | 'binary-unsupported';
|
|
39
|
-
owner: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Classifies a single-owner file whose comparison is binary. Returns
|
|
43
|
-
* `null` when the comparison is not binary (the live file is text and,
|
|
44
|
-
* for deletions, the owning section is text), so the caller falls
|
|
45
|
-
* through to the existing utf-8 content comparison unchanged.
|
|
46
|
-
*
|
|
47
|
-
* @param args.fileMissing - True when the porcelain status reports the
|
|
48
|
-
* file deleted (there are no live bytes to probe or hash).
|
|
49
|
-
*/
|
|
50
|
-
export declare function classifyBinaryOwnedFile(args: {
|
|
51
|
-
entry: {
|
|
52
|
-
status: string;
|
|
53
|
-
file: string;
|
|
54
|
-
};
|
|
55
|
-
engineDir: string;
|
|
56
|
-
patchesDir: string;
|
|
57
|
-
matchClassification: 'patch-backed' | 'furnace';
|
|
58
|
-
owner: string;
|
|
59
|
-
fileMissing?: boolean;
|
|
60
|
-
/** Batched lookup. When absent, falls back to per-file manifest queries. */
|
|
61
|
-
lookup?: AffectingPatchLookup;
|
|
62
|
-
}): Promise<BinaryClassifiedFile | null>;
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: EUPL-1.2
|
|
2
|
-
/**
|
|
3
|
-
* Binary-aware drift classification for patch-owned files.
|
|
4
|
-
*
|
|
5
|
-
* The text classifier compares utf-8 decoded content against
|
|
6
|
-
* `computePatchedContent`, which cannot apply `GIT binary patch` bodies, so
|
|
7
|
-
* a binary file exported into a patch classifies as `patch-owned-drift`
|
|
8
|
-
* forever, keeping the engine-clean gate permanently red with nothing
|
|
9
|
-
* actually un-durable. A `GIT binary patch` section does carry the ground
|
|
10
|
-
* truth: `git diff --binary` always records full blob hashes on the section's
|
|
11
|
-
* `index <old>..<new>` line. Comparing the live file's `git hash-object`
|
|
12
|
-
* against the last owning section's new-side hash settles the classification
|
|
13
|
-
* exactly. Bodies without a usable hash (hand-written diffs) classify as
|
|
14
|
-
* `binary-unsupported`: an honest "cannot compare" instead of a false "not
|
|
15
|
-
* durable".
|
|
16
|
-
*
|
|
17
|
-
* That hash is trusted only when the section carries a replayable payload
|
|
18
|
-
* (`hasBinaryDelta`). A `Binary files … differ` stub carries a correct index
|
|
19
|
-
* line too, so hashing against it reports `patch-backed` for a body that
|
|
20
|
-
* cannot rebuild the file at all, which is the dishonesty this module
|
|
21
|
-
* exists to avoid. Such a body is `binary-unsupported` here, and an error
|
|
22
|
-
* from the `binary-body-not-reconstructable` queue lint.
|
|
23
|
-
*
|
|
24
|
-
* Lives in its own module (not `status-classify.ts`) so the classifier stays
|
|
25
|
-
* within the per-file line budget and this module never has to import it
|
|
26
|
-
* back: the dependency edge points one way, which keeps dpdm clean.
|
|
27
|
-
*/
|
|
28
|
-
import { join } from 'node:path';
|
|
29
|
-
import { toError } from '../utils/errors.js';
|
|
30
|
-
import { readText } from '../utils/fs.js';
|
|
31
|
-
import { verbose } from '../utils/logger.js';
|
|
32
|
-
import { hashObjectBatch, isBinaryFile } from './git-file-ops.js';
|
|
33
|
-
import { findPatchesAffectingFile } from './patch-manifest.js';
|
|
34
|
-
import { parseDiffSections } from './patch-parse.js';
|
|
35
|
-
/** Finds the LAST diff section affecting `file` across the owning patches, in queue order. */
|
|
36
|
-
async function findLastAffectingSection(patchesDir, file, lookup) {
|
|
37
|
-
// The lookup shares one manifest load + memoized body reads across the
|
|
38
|
-
// whole classification batch. The fallback keeps single-file callers
|
|
39
|
-
// (and existing direct tests) working without a context.
|
|
40
|
-
const patches = lookup !== undefined
|
|
41
|
-
? lookup.getAffectingPatches(file)
|
|
42
|
-
: (await findPatchesAffectingFile(patchesDir, file)).map(({ patch }) => patch);
|
|
43
|
-
let last;
|
|
44
|
-
for (const patch of patches) {
|
|
45
|
-
const body = lookup !== undefined ? await lookup.readPatchBody(patch) : await readText(patch.path);
|
|
46
|
-
for (const section of parseDiffSections(body)) {
|
|
47
|
-
if (section.targetPath === file || section.sourcePath === file) {
|
|
48
|
-
last = section;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return last;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Classifies a single-owner file whose comparison is binary. Returns
|
|
56
|
-
* `null` when the comparison is not binary (the live file is text and,
|
|
57
|
-
* for deletions, the owning section is text), so the caller falls
|
|
58
|
-
* through to the existing utf-8 content comparison unchanged.
|
|
59
|
-
*
|
|
60
|
-
* @param args.fileMissing - True when the porcelain status reports the
|
|
61
|
-
* file deleted (there are no live bytes to probe or hash).
|
|
62
|
-
*/
|
|
63
|
-
export async function classifyBinaryOwnedFile(args) {
|
|
64
|
-
const { entry, engineDir, patchesDir, matchClassification, owner } = args;
|
|
65
|
-
const fileMissing = args.fileMissing === true;
|
|
66
|
-
const unsupported = () => ({
|
|
67
|
-
...entry,
|
|
68
|
-
classification: 'binary-unsupported',
|
|
69
|
-
owner,
|
|
70
|
-
});
|
|
71
|
-
// Until the comparison is known to be binary, every failure defers to
|
|
72
|
-
// the existing text path (`return null`). Classifying a text file as
|
|
73
|
-
// `binary-unsupported` because a probe failed would hide real drift.
|
|
74
|
-
let section;
|
|
75
|
-
try {
|
|
76
|
-
if (!fileMissing) {
|
|
77
|
-
const liveBinary = await isBinaryFile(engineDir, entry.file);
|
|
78
|
-
if (!liveBinary)
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
section = await findLastAffectingSection(patchesDir, entry.file, args.lookup);
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
if (fileMissing)
|
|
85
|
-
return null;
|
|
86
|
-
verbose(`Classifying ${entry.file} as binary-unsupported because the binary probe failed: ${toError(error).message}`);
|
|
87
|
-
return unsupported();
|
|
88
|
-
}
|
|
89
|
-
try {
|
|
90
|
-
if (section === undefined) {
|
|
91
|
-
// Claimed in filesAffected but no diff section touches the file.
|
|
92
|
-
// A missing file keeps the existing deletion logic. A live binary
|
|
93
|
-
// has nothing recorded to compare against.
|
|
94
|
-
return fileMissing ? null : unsupported();
|
|
95
|
-
}
|
|
96
|
-
if (!section.isBinary) {
|
|
97
|
-
// Text section: deletions settle fine through the text path. A
|
|
98
|
-
// live binary against a text body has no comparable recording.
|
|
99
|
-
return fileMissing ? null : unsupported();
|
|
100
|
-
}
|
|
101
|
-
if (section.isDeletedFile) {
|
|
102
|
-
return {
|
|
103
|
-
...entry,
|
|
104
|
-
classification: fileMissing ? matchClassification : 'patch-owned-drift',
|
|
105
|
-
owner,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
if (fileMissing) {
|
|
109
|
-
// The last binary section expects the file to exist.
|
|
110
|
-
return { ...entry, classification: 'patch-owned-drift', owner };
|
|
111
|
-
}
|
|
112
|
-
if (section.hasBinaryDelta && section.indexNewHash !== undefined) {
|
|
113
|
-
const fullPath = join(engineDir, entry.file);
|
|
114
|
-
const live = args.lookup?.liveBlobHash !== undefined
|
|
115
|
-
? await args.lookup.liveBlobHash(fullPath)
|
|
116
|
-
: (await hashObjectBatch(engineDir, [fullPath])).get(fullPath);
|
|
117
|
-
if (live !== undefined) {
|
|
118
|
-
// Prefix-compare: recorded hashes may be abbreviated (≥7 chars).
|
|
119
|
-
const matches = live.startsWith(section.indexNewHash) || section.indexNewHash.startsWith(live);
|
|
120
|
-
return {
|
|
121
|
-
...entry,
|
|
122
|
-
classification: matches ? matchClassification : 'patch-owned-drift',
|
|
123
|
-
owner,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return unsupported();
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
verbose(`Classifying ${entry.file} as binary-unsupported because the binary comparison failed: ${toError(error).message}`);
|
|
131
|
-
return unsupported();
|
|
132
|
-
}
|
|
133
|
-
}
|