swipium 1.5.0 → 2.0.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 +171 -0
- package/README.md +173 -280
- package/THREAT_MODEL.md +223 -47
- package/dist/appMap/automationLink.js +30 -27
- package/dist/appMap/automationLink.js.map +1 -1
- package/dist/appMap/build.js +47 -21
- package/dist/appMap/build.js.map +1 -1
- package/dist/appMap/codeIndex.js +2 -2
- package/dist/appMap/codeIndex.js.map +1 -1
- package/dist/appMap/featureIndex.js +3 -3
- package/dist/appMap/featureIndex.js.map +1 -1
- package/dist/appMap/featureModel.js +2 -2
- package/dist/appMap/featureModel.js.map +1 -1
- package/dist/appMap/firstRunApply.js +2 -2
- package/dist/appMap/firstRunApply.js.map +1 -1
- package/dist/appMap/issues.js +10 -10
- package/dist/appMap/issues.js.map +1 -1
- package/dist/appMap/migrations.js +5 -5
- package/dist/appMap/migrations.js.map +1 -1
- package/dist/appMap/prelaunch.js +2 -2
- package/dist/appMap/prelaunch.js.map +1 -1
- package/dist/appMap/projectRegistry.js +77 -11
- package/dist/appMap/projectRegistry.js.map +1 -1
- package/dist/appMap/provenance.js +2 -2
- package/dist/appMap/provenance.js.map +1 -1
- package/dist/appMap/query.js +2 -2
- package/dist/appMap/query.js.map +1 -1
- package/dist/appMap/runtimeMerge.js +3 -3
- package/dist/appMap/runtimeMerge.js.map +1 -1
- package/dist/appMap/schema.js +1 -1
- package/dist/appMap/schema.js.map +1 -1
- package/dist/appMap/screenMatch.js +1 -1
- package/dist/appMap/screenMatch.js.map +1 -1
- package/dist/appMap/staticScan.js +17 -17
- package/dist/appMap/staticScan.js.map +1 -1
- package/dist/appMap/store.js +55 -7
- package/dist/appMap/store.js.map +1 -1
- package/dist/appMap/tsAstScan.js +3 -3
- package/dist/appMap/tsAstScan.js.map +1 -1
- package/dist/artifacts/bundletool.js +5 -5
- package/dist/artifacts/bundletool.js.map +1 -1
- package/dist/artifacts/resolve.js +10 -10
- package/dist/artifacts/resolve.js.map +1 -1
- package/dist/automation/capabilities.js +3 -3
- package/dist/automation/capabilities.js.map +1 -1
- package/dist/automation/gestures.js +1 -1
- package/dist/automation/gestures.js.map +1 -1
- package/dist/automation/plan.js +7 -7
- package/dist/automation/plan.js.map +1 -1
- package/dist/automation/report.js +3 -3
- package/dist/automation/report.js.map +1 -1
- package/dist/automation/selectors.js +14 -25
- package/dist/automation/selectors.js.map +1 -1
- package/dist/automation/types.js +1 -1
- package/dist/automation/types.js.map +1 -1
- package/dist/automation/waits.js +5 -5
- package/dist/automation/waits.js.map +1 -1
- package/dist/automation/webview.js +2 -2
- package/dist/automation/webview.js.map +1 -1
- package/dist/automationGen/appiumModel.js +13 -7
- package/dist/automationGen/appiumModel.js.map +1 -1
- package/dist/automationGen/ciEmitter.js +5 -5
- package/dist/automationGen/ciEmitter.js.map +1 -1
- package/dist/automationGen/identifiers.js +224 -0
- package/dist/automationGen/identifiers.js.map +1 -0
- package/dist/automationGen/jsEmitter.js +265 -106
- package/dist/automationGen/jsEmitter.js.map +1 -1
- package/dist/automationGen/packagePatch.js +2 -2
- package/dist/automationGen/packagePatch.js.map +1 -1
- package/dist/automationGen/platformResolve.js +36 -0
- package/dist/automationGen/platformResolve.js.map +1 -0
- package/dist/automationGen/projectProfile.js +71 -26
- package/dist/automationGen/projectProfile.js.map +1 -1
- package/dist/automationGen/pythonEmitter.js +276 -105
- package/dist/automationGen/pythonEmitter.js.map +1 -1
- package/dist/automationGen/readmeEmitter.js +7 -6
- package/dist/automationGen/readmeEmitter.js.map +1 -1
- package/dist/{tools/automationGenerate.js → automationGen/run.js} +72 -113
- package/dist/automationGen/run.js.map +1 -0
- package/dist/automationGen/suitePlan.js +6 -4
- package/dist/automationGen/suitePlan.js.map +1 -1
- package/dist/automationGen/validation.js +20 -8
- package/dist/automationGen/validation.js.map +1 -1
- package/dist/build/parseBuildLog.js +2 -2
- package/dist/build/parseBuildLog.js.map +1 -1
- package/dist/build/plan.js +7 -7
- package/dist/build/plan.js.map +1 -1
- package/dist/ci/preflight.js +13 -4
- package/dist/ci/preflight.js.map +1 -1
- package/dist/cli/gc.js +74 -0
- package/dist/cli/gc.js.map +1 -0
- package/dist/cli/init.js +217 -26
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.js +50 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/report.js +218 -0
- package/dist/cli/report.js.map +1 -0
- package/dist/cli/scan.js +35 -14
- package/dist/cli/scan.js.map +1 -1
- package/dist/cli/suite.js +6 -6
- package/dist/cli/suite.js.map +1 -1
- package/dist/cli/verify.js +7 -7
- package/dist/cli/verify.js.map +1 -1
- package/dist/consent/consent.js +162 -5
- package/dist/consent/consent.js.map +1 -1
- package/dist/context/detect.js +45 -14
- package/dist/context/detect.js.map +1 -1
- package/dist/context/findApps.js +6 -6
- package/dist/context/findApps.js.map +1 -1
- package/dist/context/projectRoot.js +174 -19
- package/dist/context/projectRoot.js.map +1 -1
- package/dist/context/scan.js +1 -1
- package/dist/context/scan.js.map +1 -1
- package/dist/core/capabilityGroups.js +90 -0
- package/dist/core/capabilityGroups.js.map +1 -0
- package/dist/core/target.js +3 -3
- package/dist/core/target.js.map +1 -1
- package/dist/core/targetPlan.js +65 -62
- package/dist/core/targetPlan.js.map +1 -1
- package/dist/drivers/DirectDriver.js +300 -36
- package/dist/drivers/DirectDriver.js.map +1 -1
- package/dist/drivers/SimctlDriver.js +120 -7
- package/dist/drivers/SimctlDriver.js.map +1 -1
- package/dist/drivers/WdaDriver.js +350 -50
- package/dist/drivers/WdaDriver.js.map +1 -1
- package/dist/explore/candidates.js +2 -2
- package/dist/explore/candidates.js.map +1 -1
- package/dist/explore/graph.js +5 -5
- package/dist/explore/graph.js.map +1 -1
- package/dist/explore/policy.js +5 -5
- package/dist/explore/policy.js.map +1 -1
- package/dist/explore/runner.js +301 -284
- package/dist/explore/runner.js.map +1 -1
- package/dist/explore/signatures.js +1 -1
- package/dist/featureTesting/executionBootstrap.js +29 -30
- package/dist/featureTesting/executionBootstrap.js.map +1 -1
- package/dist/featureTesting/featureMap.js +2 -2
- package/dist/featureTesting/featureMap.js.map +1 -1
- package/dist/featureTesting/featureScope.js +12 -12
- package/dist/featureTesting/featureScope.js.map +1 -1
- package/dist/featureTesting/mapFeatureScope.js +7 -7
- package/dist/featureTesting/mapFeatureScope.js.map +1 -1
- package/dist/featureTesting/objectiveModel.js +10 -10
- package/dist/featureTesting/objectiveModel.js.map +1 -1
- package/dist/featureTesting/resultMerge.js +6 -6
- package/dist/featureTesting/resultMerge.js.map +1 -1
- package/dist/featureTesting/sources.js +4 -4
- package/dist/featureTesting/sources.js.map +1 -1
- package/dist/featureTesting/suiteBridge.js +1 -1
- package/dist/featureTesting/suiteBridge.js.map +1 -1
- package/dist/featureTesting/synonyms.js +1 -1
- package/dist/featureTesting/synonyms.js.map +1 -1
- package/dist/featureTesting/testCaseFactory.js +11 -11
- package/dist/featureTesting/testCaseFactory.js.map +1 -1
- package/dist/featureTesting/testPlan.js +3 -3
- package/dist/featureTesting/testPlan.js.map +1 -1
- package/dist/firstRun/authStateMachine.js +1 -1
- package/dist/firstRun/authStateMachine.js.map +1 -1
- package/dist/firstRun/classifyScreen.js +5 -5
- package/dist/firstRun/classifyScreen.js.map +1 -1
- package/dist/firstRun/firstRunPlanner.js +11 -11
- package/dist/firstRun/firstRunPlanner.js.map +1 -1
- package/dist/firstRun/firstRunRunner.js +8 -8
- package/dist/firstRun/firstRunRunner.js.map +1 -1
- package/dist/firstRun/generatedDataPolicy.js +9 -9
- package/dist/firstRun/generatedDataPolicy.js.map +1 -1
- package/dist/firstRun/inputPlanner.js +5 -5
- package/dist/firstRun/inputPlanner.js.map +1 -1
- package/dist/firstRun/onboardingStateMachine.js +1 -1
- package/dist/firstRun/onboardingStateMachine.js.map +1 -1
- package/dist/firstRun/paywallPolicy.js +3 -3
- package/dist/firstRun/paywallPolicy.js.map +1 -1
- package/dist/firstRun/types.js +1 -1
- package/dist/firstRun/types.js.map +1 -1
- package/dist/fixtures/catalog.js +33 -3
- package/dist/fixtures/catalog.js.map +1 -1
- package/dist/fixtures/load.js +50 -0
- package/dist/fixtures/load.js.map +1 -0
- package/dist/flows/discover.js +2 -2
- package/dist/flows/discover.js.map +1 -1
- package/dist/flows/generate.js +20 -10
- package/dist/flows/generate.js.map +1 -1
- package/dist/flows/pack.js +3 -3
- package/dist/flows/pack.js.map +1 -1
- package/dist/flows/paths.js +57 -0
- package/dist/flows/paths.js.map +1 -0
- package/dist/flows/repair.js +111 -23
- package/dist/flows/repair.js.map +1 -1
- package/dist/flows/run.js +153 -57
- package/dist/flows/run.js.map +1 -1
- package/dist/flows/schema.js +50 -5
- package/dist/flows/schema.js.map +1 -1
- package/dist/flows/seedExec.js +4 -4
- package/dist/flows/seedExec.js.map +1 -1
- package/dist/flows/templates.js +5 -5
- package/dist/index.js +50 -8
- package/dist/index.js.map +1 -1
- package/dist/issues/classify.js +16 -16
- package/dist/issues/classify.js.map +1 -1
- package/dist/issues/fingerprint.js +24 -4
- package/dist/issues/fingerprint.js.map +1 -1
- package/dist/issues/index.js +94 -31
- package/dist/issues/index.js.map +1 -1
- package/dist/issues/metrics.js +4 -4
- package/dist/issues/metrics.js.map +1 -1
- package/dist/issues/recurrence.js +35 -8
- package/dist/issues/recurrence.js.map +1 -1
- package/dist/issues/report.js +4 -4
- package/dist/issues/report.js.map +1 -1
- package/dist/issues/reportBridge.js +4 -4
- package/dist/issues/reportBridge.js.map +1 -1
- package/dist/issues/schema.js +2 -2
- package/dist/issues/schema.js.map +1 -1
- package/dist/issues/sourceRevision.js +2 -2
- package/dist/issues/sourceRevision.js.map +1 -1
- package/dist/issues/store.js +110 -32
- package/dist/issues/store.js.map +1 -1
- package/dist/lib/abortScope.js +48 -0
- package/dist/lib/abortScope.js.map +1 -0
- package/dist/lib/android.js +75 -7
- package/dist/lib/android.js.map +1 -1
- package/dist/lib/coordSpace.js +1 -1
- package/dist/lib/coordSpace.js.map +1 -1
- package/dist/lib/device.js +32 -7
- package/dist/lib/device.js.map +1 -1
- package/dist/lib/gestures.js +141 -0
- package/dist/lib/gestures.js.map +1 -0
- package/dist/lib/gitignore.js +4 -3
- package/dist/lib/gitignore.js.map +1 -1
- package/dist/lib/image.js +1 -1
- package/dist/lib/image.js.map +1 -1
- package/dist/lib/lockfile.js +370 -31
- package/dist/lib/lockfile.js.map +1 -1
- package/dist/lib/needsInput.js +3 -3
- package/dist/lib/needsInput.js.map +1 -1
- package/dist/lib/png.js +2 -2
- package/dist/lib/png.js.map +1 -1
- package/dist/lib/redact.js +170 -9
- package/dist/lib/redact.js.map +1 -1
- package/dist/lib/result.js +79 -10
- package/dist/lib/result.js.map +1 -1
- package/dist/lib/schemaHash.js +3 -3
- package/dist/lib/schemaHash.js.map +1 -1
- package/dist/lib/sensitive.js +3 -2
- package/dist/lib/sensitive.js.map +1 -1
- package/dist/lib/simctl.js +3 -3
- package/dist/lib/simctl.js.map +1 -1
- package/dist/lib/spawn.js +52 -10
- package/dist/lib/spawn.js.map +1 -1
- package/dist/lib/toolAnnotations.js +114 -0
- package/dist/lib/toolAnnotations.js.map +1 -0
- package/dist/lib/wda.js +294 -15
- package/dist/lib/wda.js.map +1 -1
- package/dist/mobileAudit/checks.js +12 -12
- package/dist/mobileAudit/checks.js.map +1 -1
- package/dist/mobileAudit/evidence.js +4 -4
- package/dist/mobileAudit/evidence.js.map +1 -1
- package/dist/mobileAudit/profiles.js +1 -1
- package/dist/mobileAudit/profiles.js.map +1 -1
- package/dist/mobileAudit/results.js +3 -3
- package/dist/mobileAudit/results.js.map +1 -1
- package/dist/mobileAudit/runner.js +72 -18
- package/dist/mobileAudit/runner.js.map +1 -1
- package/dist/oracle/auth.js +1 -1
- package/dist/oracle/auth.js.map +1 -1
- package/dist/oracle/failures.js +219 -36
- package/dist/oracle/failures.js.map +1 -1
- package/dist/oracle/health.js +63 -17
- package/dist/oracle/health.js.map +1 -1
- package/dist/oracle/locator.js +13 -13
- package/dist/oracle/locator.js.map +1 -1
- package/dist/oracle/record.js +3 -3
- package/dist/oracle/record.js.map +1 -1
- package/dist/orchestration/envelope.js +2 -2
- package/dist/orchestration/envelope.js.map +1 -1
- package/dist/orchestration/goal.js +4 -4
- package/dist/orchestration/goal.js.map +1 -1
- package/dist/orchestration/testThis/execute.js +62 -21
- package/dist/orchestration/testThis/execute.js.map +1 -1
- package/dist/orchestration/testThis/pipeline.js +119 -30
- package/dist/orchestration/testThis/pipeline.js.map +1 -1
- package/dist/orchestration/testThis/plan.js +162 -73
- package/dist/orchestration/testThis/plan.js.map +1 -1
- package/dist/orchestration/testThis/sessionIntent.js +72 -0
- package/dist/orchestration/testThis/sessionIntent.js.map +1 -0
- package/dist/orchestration/testThis/terminal.js +34 -16
- package/dist/orchestration/testThis/terminal.js.map +1 -1
- package/dist/orchestration/testThis/types.js +1 -1
- package/dist/orchestration/testThis/types.js.map +1 -1
- package/dist/plan/plan.js +9 -9
- package/dist/plan/plan.js.map +1 -1
- package/dist/prompts/index.js +22 -22
- package/dist/prompts/index.js.map +1 -1
- package/dist/report/export.js +392 -37
- package/dist/report/export.js.map +1 -1
- package/dist/report/findingsDedupe.js +41 -0
- package/dist/report/findingsDedupe.js.map +1 -0
- package/dist/report/policy.js +7 -4
- package/dist/report/policy.js.map +1 -1
- package/dist/report/qaLevel.js +8 -8
- package/dist/report/qaLevel.js.map +1 -1
- package/dist/report/sarifSources.js +160 -0
- package/dist/report/sarifSources.js.map +1 -0
- package/dist/report/summary.js +2 -2
- package/dist/report/summary.js.map +1 -1
- package/dist/report/testCatalog.js +4 -4
- package/dist/report/testCatalog.js.map +1 -1
- package/dist/report/toolHealth.js +124 -0
- package/dist/report/toolHealth.js.map +1 -0
- package/dist/server.js +472 -45
- package/dist/server.js.map +1 -1
- package/dist/services/automationGenerate.js +8 -2
- package/dist/services/automationGenerate.js.map +1 -1
- package/dist/services/build.js +2 -2
- package/dist/services/build.js.map +1 -1
- package/dist/{tools → services}/flowGenerate.js +29 -13
- package/dist/services/flowGenerate.js.map +1 -0
- package/dist/services/preflight.js +4 -4
- package/dist/services/preflight.js.map +1 -1
- package/dist/services/prepareAndroid.js +46 -8
- package/dist/services/prepareAndroid.js.map +1 -1
- package/dist/services/prepareIos.js +24 -9
- package/dist/services/prepareIos.js.map +1 -1
- package/dist/services/report.js +100 -45
- package/dist/services/report.js.map +1 -1
- package/dist/services/smoke.js +32 -16
- package/dist/services/smoke.js.map +1 -1
- package/dist/services/suiteGenerate.js +28 -3
- package/dist/services/suiteGenerate.js.map +1 -1
- package/dist/services/testSuiteKnowledge.js +40 -27
- package/dist/services/testSuiteKnowledge.js.map +1 -1
- package/dist/session/attach.js +270 -6
- package/dist/session/attach.js.map +1 -1
- package/dist/session/processRegistry.js +317 -48
- package/dist/session/processRegistry.js.map +1 -1
- package/dist/session/progress.js +1 -1
- package/dist/session/retention.js +201 -0
- package/dist/session/retention.js.map +1 -0
- package/dist/session/store.js +275 -48
- package/dist/session/store.js.map +1 -1
- package/dist/snapshot/overlays.js +53 -8
- package/dist/snapshot/overlays.js.map +1 -1
- package/dist/snapshot/parse.js +28 -4
- package/dist/snapshot/parse.js.map +1 -1
- package/dist/snapshot/present.js +11 -5
- package/dist/snapshot/present.js.map +1 -1
- package/dist/snapshot/settle.js +39 -9
- package/dist/snapshot/settle.js.map +1 -1
- package/dist/state/consent.js +99 -0
- package/dist/state/consent.js.map +1 -0
- package/dist/state/profile.js +46 -2
- package/dist/state/profile.js.map +1 -1
- package/dist/suite/compile.js +9 -5
- package/dist/suite/compile.js.map +1 -1
- package/dist/suite/lint.js +4 -4
- package/dist/suite/lint.js.map +1 -1
- package/dist/suite/pom.js +50 -41
- package/dist/suite/pom.js.map +1 -1
- package/dist/suite/secretGuard.js +266 -0
- package/dist/suite/secretGuard.js.map +1 -0
- package/dist/suite/testcase.js +9 -7
- package/dist/suite/testcase.js.map +1 -1
- package/dist/testSuite/exporter.js +4 -4
- package/dist/testSuite/exporter.js.map +1 -1
- package/dist/testSuite/generator.js +13 -9
- package/dist/testSuite/generator.js.map +1 -1
- package/dist/testSuite/history.js +1 -1
- package/dist/testSuite/history.js.map +1 -1
- package/dist/testSuite/issueLinks.js +3 -3
- package/dist/testSuite/issueLinks.js.map +1 -1
- package/dist/testSuite/lint.js +4 -4
- package/dist/testSuite/lint.js.map +1 -1
- package/dist/testSuite/merge.js +5 -5
- package/dist/testSuite/merge.js.map +1 -1
- package/dist/testSuite/schema.js +5 -5
- package/dist/testSuite/schema.js.map +1 -1
- package/dist/testSuite/store.js +3 -3
- package/dist/testSuite/store.js.map +1 -1
- package/dist/testSuite/traceability.js +2 -2
- package/dist/testSuite/traceability.js.map +1 -1
- package/dist/tools/act.js +794 -164
- package/dist/tools/act.js.map +1 -1
- package/dist/tools/agent.js +451 -128
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/appControl.js +69 -19
- package/dist/tools/appControl.js.map +1 -1
- package/dist/tools/appMap.js +188 -130
- package/dist/tools/appMap.js.map +1 -1
- package/dist/tools/build.js +32 -42
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/bundletool.js +21 -31
- package/dist/tools/bundletool.js.map +1 -1
- package/dist/tools/clearOverlay.js +55 -12
- package/dist/tools/clearOverlay.js.map +1 -1
- package/dist/tools/device.js +76 -24
- package/dist/tools/device.js.map +1 -1
- package/dist/tools/doctor.js +68 -28
- package/dist/tools/doctor.js.map +1 -1
- package/dist/tools/explore.js +41 -47
- package/dist/tools/explore.js.map +1 -1
- package/dist/tools/featureTesting.js +31 -48
- package/dist/tools/featureTesting.js.map +1 -1
- package/dist/tools/firstRun.js +34 -41
- package/dist/tools/firstRun.js.map +1 -1
- package/dist/tools/flow.js +183 -103
- package/dist/tools/flow.js.map +1 -1
- package/dist/tools/flowRepair.js +25 -13
- package/dist/tools/flowRepair.js.map +1 -1
- package/dist/tools/generate.js +52 -89
- package/dist/tools/generate.js.map +1 -1
- package/dist/tools/getArtifact.js +16 -5
- package/dist/tools/getArtifact.js.map +1 -1
- package/dist/tools/health.js +15 -12
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/ios.js +45 -223
- package/dist/tools/ios.js.map +1 -1
- package/dist/tools/issues.js +251 -35
- package/dist/tools/issues.js.map +1 -1
- package/dist/tools/jobs.js +41 -16
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/metro.js +36 -35
- package/dist/tools/metro.js.map +1 -1
- package/dist/tools/mobileAudit.js +50 -45
- package/dist/tools/mobileAudit.js.map +1 -1
- package/dist/tools/network.js +31 -14
- package/dist/tools/network.js.map +1 -1
- package/dist/tools/note.js +26 -26
- package/dist/tools/note.js.map +1 -1
- package/dist/tools/prepareIosTarget.js +10 -16
- package/dist/tools/prepareIosTarget.js.map +1 -1
- package/dist/tools/prepareTarget.js +117 -50
- package/dist/tools/prepareTarget.js.map +1 -1
- package/dist/tools/report.js +11 -22
- package/dist/tools/report.js.map +1 -1
- package/dist/tools/resolveArtifact.js +11 -15
- package/dist/tools/resolveArtifact.js.map +1 -1
- package/dist/tools/resolveTarget.js +78 -24
- package/dist/tools/resolveTarget.js.map +1 -1
- package/dist/tools/screenRecord.js +23 -21
- package/dist/tools/screenRecord.js.map +1 -1
- package/dist/tools/screenshot.js +23 -16
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/smoke.js +20 -16
- package/dist/tools/smoke.js.map +1 -1
- package/dist/tools/snapshot.js +155 -118
- package/dist/tools/snapshot.js.map +1 -1
- package/dist/tools/startSession.js +104 -116
- package/dist/tools/startSession.js.map +1 -1
- package/dist/tools/suite.js +72 -43
- package/dist/tools/suite.js.map +1 -1
- package/dist/tools/testSuite.js +30 -20
- package/dist/tools/testSuite.js.map +1 -1
- package/dist/tools/testThis.js +24 -28
- package/dist/tools/testThis.js.map +1 -1
- package/dist/tools/visual.js +686 -210
- package/dist/tools/visual.js.map +1 -1
- package/dist/tools/wait.js +9 -38
- package/dist/tools/wait.js.map +1 -1
- package/dist/tools/wda.js +187 -57
- package/dist/tools/wda.js.map +1 -1
- package/dist/version.js +31 -22
- package/dist/version.js.map +1 -1
- package/dist/visual/ocr.js +53 -6
- package/dist/visual/ocr.js.map +1 -1
- package/dist/visual/provider.js +80 -12
- package/dist/visual/provider.js.map +1 -1
- package/docs/README.md +24 -10
- package/docs/ci-reports.md +328 -0
- package/docs/concepts.md +227 -0
- package/docs/flows.md +153 -0
- package/docs/mcp-server.md +194 -128
- package/docs/physical-devices.md +84 -0
- package/docs/tools.md +812 -152
- package/package.json +3 -2
- package/dist/tools/assertVisual.js +0 -84
- package/dist/tools/assertVisual.js.map +0 -1
- package/dist/tools/automationGenerate.js.map +0 -1
- package/dist/tools/capabilities.js +0 -179
- package/dist/tools/capabilities.js.map +0 -1
- package/dist/tools/detectContext.js +0 -41
- package/dist/tools/detectContext.js.map +0 -1
- package/dist/tools/flowGenerate.js.map +0 -1
- package/dist/tools/history.js +0 -86
- package/dist/tools/history.js.map +0 -1
- package/dist/tools/locator.js +0 -85
- package/dist/tools/locator.js.map +0 -1
- package/dist/tools/permissions.js +0 -174
- package/dist/tools/permissions.js.map +0 -1
- package/dist/tools/plan.js +0 -52
- package/dist/tools/plan.js.map +0 -1
- package/dist/tools/screenInfo.js +0 -76
- package/dist/tools/screenInfo.js.map +0 -1
- package/dist/tools/seed.js +0 -133
- package/dist/tools/seed.js.map +0 -1
- package/dist/tools/state.js +0 -217
- package/dist/tools/state.js.map +0 -1
- package/dist/tools/visualText.js +0 -106
- package/dist/tools/visualText.js.map +0 -1
package/dist/issues/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// SWIPIUM Issue Log
|
|
1
|
+
// SWIPIUM Issue Log: high-level service + query layer.
|
|
2
2
|
//
|
|
3
3
|
// This is the single entry point callers (health oracle, reports, explore, mobile audit, tools)
|
|
4
4
|
// use to record observations and mutate lifecycle. It ties together fingerprinting, classification,
|
|
@@ -10,23 +10,31 @@ import { createHash } from 'node:crypto';
|
|
|
10
10
|
import { classifyObservation } from './classify.js';
|
|
11
11
|
import { fingerprint, issueIdFromFingerprint } from './fingerprint.js';
|
|
12
12
|
import { buildRecurrenceMessage, foldEvent } from './recurrence.js';
|
|
13
|
-
import { appendEvents, eventCountForIssue, findRecord, getIndex, loadPolicy, saveIndex } from './store.js';
|
|
14
|
-
import { ISSUE_SCHEMA_VERSION } from './schema.js';
|
|
13
|
+
import { appendEvents, eventCountForIssue, findRecord, getIndex, loadPolicy, saveIndex, withLedgerLock, } from './store.js';
|
|
14
|
+
import { ISSUE_SCHEMA_VERSION, OPEN_STATES } from './schema.js';
|
|
15
15
|
/** Deterministic, collision-resistant event id from its content. */
|
|
16
16
|
export function makeEventId(issueId, createdAt, eventType, seq = 0) {
|
|
17
17
|
const h = createHash('sha256').update(`${issueId}|${createdAt}|${eventType}|${seq}`).digest('hex').slice(0, 12);
|
|
18
18
|
return `evt_${h}`;
|
|
19
19
|
}
|
|
20
|
+
function notFound(key) {
|
|
21
|
+
return { ok: false, code: 'ISSUE_NOT_FOUND', reason: `No issue found for ${key.issueId ?? key.fingerprint ?? '(no key)'}` };
|
|
22
|
+
}
|
|
20
23
|
/**
|
|
21
|
-
* Record one observation: fingerprint
|
|
24
|
+
* Record one observation: fingerprint > classify > decide lifecycle > append event(s) > update
|
|
22
25
|
* index. Reopens a fixed issue (with recurrence message) when its fingerprint is seen again.
|
|
26
|
+
* The whole read-modify-write runs under the cross-process ledger lock.
|
|
23
27
|
*/
|
|
24
28
|
export function recordObservation(root, observation, now, ctx = {}, meta = {}) {
|
|
29
|
+
return withLedgerLock(root, () => recordObservationLocked(root, observation, now, ctx, meta));
|
|
30
|
+
}
|
|
31
|
+
function recordObservationLocked(root, observation, now, ctx, meta) {
|
|
25
32
|
const policy = loadPolicy(root);
|
|
26
33
|
const fp = fingerprint({
|
|
27
34
|
failureCode: observation.failureCode,
|
|
35
|
+
category: meta.fingerprintCategory,
|
|
28
36
|
platform: meta.platform,
|
|
29
|
-
appId: meta.appId,
|
|
37
|
+
appId: meta.fingerprintWithoutAppId ? undefined : meta.appId,
|
|
30
38
|
observation,
|
|
31
39
|
});
|
|
32
40
|
const issueId = issueIdFromFingerprint(fp);
|
|
@@ -82,6 +90,9 @@ export function recordObservation(root, observation, now, ctx = {}, meta = {}) {
|
|
|
82
90
|
saveIndex(root, index);
|
|
83
91
|
return { record, events, isNew: prev == null, reopened, recurrenceMessage, fingerprint: fp, issueId };
|
|
84
92
|
}
|
|
93
|
+
/** States an issue can be marked fixed from: an active defect (open / seen again / regressed /
|
|
94
|
+
* untriaged). Fixing a suppressed, noise, or already-fixed issue is refused with a typed error. */
|
|
95
|
+
export const FIXABLE_STATES = OPEN_STATES;
|
|
85
96
|
/** Append a `fixed` lifecycle event and update the index. */
|
|
86
97
|
export function markFixed(root, key, patch, now) {
|
|
87
98
|
return applyLifecycle(root, key, now, 'fixed', {
|
|
@@ -91,18 +102,51 @@ export function markFixed(root, key, patch, now) {
|
|
|
91
102
|
fixedInVersion: patch.fixedInVersion ?? patch.sourceRevision?.buildVersion,
|
|
92
103
|
howFixed: patch.howFixed,
|
|
93
104
|
fixedBy: patch.fixedBy,
|
|
94
|
-
}, patch.sourceRevision)
|
|
105
|
+
}, patch.sourceRevision, (existing) => FIXABLE_STATES.includes(existing.state)
|
|
106
|
+
? undefined
|
|
107
|
+
: {
|
|
108
|
+
ok: false,
|
|
109
|
+
code: 'ISSUE_STATE_INVALID',
|
|
110
|
+
reason: `Issue ${existing.issueId} is "${existing.state}"; only an active issue (${FIXABLE_STATES.join('/')}) can be marked fixed`,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/** Append a `suppressed` lifecycle event (expected noise / not actionable) and update the index. */
|
|
114
|
+
export function markSuppressed(root, key, patch, now) {
|
|
115
|
+
return applyLifecycle(root, key, now, 'suppressed', {
|
|
116
|
+
state: 'suppressed',
|
|
117
|
+
suppressionReason: patch.suppressionReason,
|
|
118
|
+
suppressedUntil: patch.suppressedUntil,
|
|
119
|
+
suppressionScope: patch.suppressionScope,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Lift a suppression early: append a `triaged` event returning the issue to the lane it was in
|
|
124
|
+
* before it was suppressed (open when unknown). Refused unless the issue is currently suppressed.
|
|
125
|
+
*/
|
|
126
|
+
export function markUnsuppressed(root, key, now) {
|
|
127
|
+
return withLedgerLock(root, () => {
|
|
128
|
+
const index = getIndex(root, now);
|
|
129
|
+
const existing = findRecord(index, key);
|
|
130
|
+
if (!existing)
|
|
131
|
+
return notFound(key);
|
|
132
|
+
if (existing.state !== 'suppressed')
|
|
133
|
+
return { ok: false, code: 'ISSUE_STATE_INVALID', reason: `Issue ${existing.issueId} is "${existing.state}", not suppressed` };
|
|
134
|
+
return applyLifecycleLocked(root, index, existing, now, 'triaged', { state: existing.stateBeforeSuppression ?? 'open' });
|
|
135
|
+
});
|
|
95
136
|
}
|
|
96
137
|
/**
|
|
97
138
|
* Append a `linked_run` event tying a run (test case / audit check) to an issue with a relationship
|
|
98
139
|
* (observed / verified_fixed / regressed / suppressed) and optional evidence. The issue ledger stays
|
|
99
|
-
* the source of truth; this records HOW a run related to the issue
|
|
140
|
+
* the source of truth; this records HOW a run related to the issue.
|
|
100
141
|
*/
|
|
101
142
|
export function linkRun(root, key, opts, now) {
|
|
143
|
+
return withLedgerLock(root, () => linkRunLocked(root, key, opts, now));
|
|
144
|
+
}
|
|
145
|
+
function linkRunLocked(root, key, opts, now) {
|
|
102
146
|
const index = getIndex(root, now);
|
|
103
147
|
const existing = findRecord(index, key);
|
|
104
148
|
if (!existing)
|
|
105
|
-
return
|
|
149
|
+
return notFound(key);
|
|
106
150
|
const event = {
|
|
107
151
|
schemaVersion: ISSUE_SCHEMA_VERSION,
|
|
108
152
|
eventId: makeEventId(existing.issueId, now, 'linked_run', eventCountForIssue(root, existing.issueId)),
|
|
@@ -129,34 +173,53 @@ export function linkRun(root, key, opts, now) {
|
|
|
129
173
|
return { ok: true, record: updated };
|
|
130
174
|
}
|
|
131
175
|
/**
|
|
132
|
-
* Verify a FIXED issue with current-run evidence (
|
|
176
|
+
* Verify a FIXED issue with current-run evidence (`qa_issue_log` mode:"verify_fixed"). Requires the issue
|
|
133
177
|
* to be in state `fixed` and at least one evidence reference (report/test/audit). Appends a
|
|
134
178
|
* `verified_fixed` linked_run event so reports can honestly claim "verified this run".
|
|
135
179
|
*/
|
|
136
180
|
export function verifyFixed(root, key, opts, now) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
reportUri
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
181
|
+
return withLedgerLock(root, () => {
|
|
182
|
+
const index = getIndex(root, now);
|
|
183
|
+
const existing = findRecord(index, key);
|
|
184
|
+
if (!existing)
|
|
185
|
+
return notFound(key);
|
|
186
|
+
if (existing.state !== 'fixed')
|
|
187
|
+
return {
|
|
188
|
+
ok: false,
|
|
189
|
+
code: 'ISSUE_STATE_INVALID',
|
|
190
|
+
reason: `Issue ${existing.issueId} is "${existing.state}", not "fixed"; only a fixed issue can be verified`,
|
|
191
|
+
};
|
|
192
|
+
const hasEvidence = Boolean(opts.reportUri || opts.testCaseId || opts.auditCheckId || (opts.evidenceUris && opts.evidenceUris.length));
|
|
193
|
+
if (!hasEvidence)
|
|
194
|
+
return {
|
|
195
|
+
ok: false,
|
|
196
|
+
code: 'ISSUE_EVIDENCE_REQUIRED',
|
|
197
|
+
reason: 'verify_fixed needs current-run evidence: a reportUri, testCaseId, auditCheckId, or evidenceUris',
|
|
198
|
+
};
|
|
199
|
+
return linkRunLocked(root, { issueId: existing.issueId }, {
|
|
200
|
+
relationship: 'verified_fixed',
|
|
201
|
+
reportUri: opts.reportUri,
|
|
202
|
+
testCaseId: opts.testCaseId ?? opts.auditCheckId,
|
|
203
|
+
evidenceUris: opts.evidenceUris,
|
|
204
|
+
sourceRevision: opts.sourceRevision,
|
|
205
|
+
}, now);
|
|
206
|
+
});
|
|
153
207
|
}
|
|
154
|
-
function applyLifecycle(root, key, now, eventType, lifecycle, sourceRevision
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
208
|
+
function applyLifecycle(root, key, now, eventType, lifecycle, sourceRevision,
|
|
209
|
+
/** Optional precondition on the current record; returning a result refuses the transition. */
|
|
210
|
+
guard) {
|
|
211
|
+
return withLedgerLock(root, () => {
|
|
212
|
+
const index = getIndex(root, now);
|
|
213
|
+
const existing = findRecord(index, key);
|
|
214
|
+
if (!existing)
|
|
215
|
+
return notFound(key);
|
|
216
|
+
const refused = guard?.(existing);
|
|
217
|
+
if (refused)
|
|
218
|
+
return refused;
|
|
219
|
+
return applyLifecycleLocked(root, index, existing, now, eventType, lifecycle, sourceRevision);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function applyLifecycleLocked(root, index, existing, now, eventType, lifecycle, sourceRevision) {
|
|
160
223
|
const event = {
|
|
161
224
|
schemaVersion: ISSUE_SCHEMA_VERSION,
|
|
162
225
|
eventId: makeEventId(existing.issueId, now, eventType, eventCountForIssue(root, existing.issueId)),
|
package/dist/issues/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/issues/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/issues/index.ts"],"names":[],"mappings":"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"}
|
package/dist/issues/metrics.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Issue quality metrics, derived from the append-only EVENT log (not just current
|
|
2
2
|
// index state) so trends are honest: opened / fixed / reopened / verified-fixed counts, issue aging,
|
|
3
3
|
// reopen rate (fixed issues that later reopened), fix-verification rate (fixed issues with a
|
|
4
|
-
// verified_fixed event), and a time/version/category series. PURE
|
|
4
|
+
// verified_fixed event), and a time/version/category series. PURE: `until` is the reference clock.
|
|
5
5
|
import { rebuildRecords } from './recurrence.js';
|
|
6
6
|
function inRange(at, since, until) {
|
|
7
7
|
if (since && at < since)
|
|
@@ -60,8 +60,8 @@ export function computeIssueMetrics(events, opts = {}) {
|
|
|
60
60
|
const groupBy = opts.groupBy ?? 'week';
|
|
61
61
|
const until = opts.until ?? events.reduce((m, e) => (e.createdAt > m ? e.createdAt : m), '1970-01-01T00:00:00.000Z');
|
|
62
62
|
const records = rebuildRecords(events);
|
|
63
|
-
// First-observation EVENT per issue
|
|
64
|
-
// two same-timestamp observations of one fingerprint count as a single open
|
|
63
|
+
// First-observation EVENT per issue > "opened". Track the event id (not just the timestamp) so
|
|
64
|
+
// two same-timestamp observations of one fingerprint count as a single open.
|
|
65
65
|
const firstObserved = new Map();
|
|
66
66
|
for (const e of events) {
|
|
67
67
|
if (e.eventType !== 'observed')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/issues/metrics.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/issues/metrics.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,qGAAqG;AACrG,6FAA6F;AAC7F,mGAAmG;AAEnG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA8BjD,SAAS,OAAO,CAAC,EAAU,EAAE,KAAc,EAAE,KAAc;IACzD,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ;IAC7C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzI,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,EAAc,EAAE,OAAuB;IACxD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,cAAc,EAAE,YAAY,IAAI,SAAS,CAAC;QACtD,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,IAAI,SAAS,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,IAAI,SAAS,CAAC;QAClD,KAAK,OAAO;YACV,OAAO,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,SAAS,CAAC;QAC/C,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,SAAS,CAAC;QACtF,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,SAAS,CAAC;QAC3D;YACE,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,QAAgB;IAChD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,MAAgB,EAAE,CAAS;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,mBAAmB,CAAC,MAAoB,EAAE,OAAuB,EAAE;IACjF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAC7H,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvC,+FAA+F;IAC/F,6EAA6E;IAC7E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2C,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE;YAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,aAAa;QAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,EAAE,CAAC;IAE/F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsF,CAAC;IAC7G,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAwD,EAAE,EAAE;QACrF,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACpF,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvI,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAC/B,gEAAgE;YAChE,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;gBAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,KAAK,YAAY,IAAI,CAAC,CAAC,YAAY,KAAK,gBAAgB,EAAE,CAAC;YACxE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,KAAK,YAAY,IAAI,MAAM;YAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC;QACpD,CAAC,CAAC,CAAC,QAAQ,KAAK,mBAAmB,IAAI,CAAC,CAAC,KAAK,KAAK,4BAA4B,CAAC,CACnF,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,CAClH,CAAC;IACF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3H,MAAM,kBAAkB,GAAG,OAAO;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC;SAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,MAAM,cAAc,GAAG,WAAW;SAC/B,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SAC7E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEf,OAAO;QACL,MAAM;QACN,KAAK;QACL,QAAQ;QACR,aAAa;QACb,UAAU;QACV,gBAAgB,EAAE,WAAW,CAAC,MAAM;QACpC,UAAU;QACV,UAAU;QACV,aAAa;QACb,sBAAsB;QACtB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;QAC5E,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;QACtE,kBAAkB;QAClB,cAAc;QACd,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;KAC9G,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SWIPIUM Issue Log
|
|
1
|
+
// SWIPIUM Issue Log: lifecycle folding + recurrence messages.
|
|
2
2
|
//
|
|
3
3
|
// PURE. `foldEvent` is the single reducer that turns the append-only event stream into the derived
|
|
4
|
-
// index record
|
|
4
|
+
// index record, so the index can always be rebuilt from `issues-log.jsonl`. `buildRecurrenceMessage`
|
|
5
5
|
// produces the product-facing text shown in reports when a fixed issue reappears.
|
|
6
6
|
import { ISSUE_SCHEMA_VERSION } from './schema.js';
|
|
7
7
|
/** Format an ISO timestamp as a YYYY-MM-DD date for human-facing recurrence text. */
|
|
@@ -44,6 +44,24 @@ function mergeLinks(record, links) {
|
|
|
44
44
|
record.reportRefs = mergeRefs(record.reportRefs, links.reportRefs, (r) => `${r.reportPath ?? ''}|${r.reportUri ?? ''}`);
|
|
45
45
|
record.evidenceRefs = mergeRefs(record.evidenceRefs, links.evidenceRefs, (r) => `${r.kind}|${r.uri ?? r.path ?? ''}`);
|
|
46
46
|
}
|
|
47
|
+
/** True when a suppressed record's `suppressedUntil` has passed at `at` (ISO). An unparsable or
|
|
48
|
+
* absent `suppressedUntil` never expires (an open-ended suppression). */
|
|
49
|
+
export function suppressionExpired(record, at) {
|
|
50
|
+
if (record.state !== 'suppressed' || !record.suppressedUntil)
|
|
51
|
+
return false;
|
|
52
|
+
const until = Date.parse(record.suppressedUntil);
|
|
53
|
+
const now = Date.parse(at);
|
|
54
|
+
return Number.isFinite(until) && Number.isFinite(now) && now >= until;
|
|
55
|
+
}
|
|
56
|
+
/** Return the record to the lane it was in before suppression, clearing the suppression fields. */
|
|
57
|
+
export function liftSuppression(record) {
|
|
58
|
+
const out = { ...record, state: record.stateBeforeSuppression ?? 'open' };
|
|
59
|
+
delete out.suppressedUntil;
|
|
60
|
+
delete out.suppressionReason;
|
|
61
|
+
delete out.suppressionScope;
|
|
62
|
+
delete out.stateBeforeSuppression;
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
47
65
|
/**
|
|
48
66
|
* Fold a single event onto the running index record. Returns the updated record (a new object).
|
|
49
67
|
* `prev` is null when this is the first event for the issue. This reducer is the canonical
|
|
@@ -53,8 +71,11 @@ export function foldEvent(prev, event) {
|
|
|
53
71
|
const obs = event.observation;
|
|
54
72
|
const cls = event.classification;
|
|
55
73
|
const lc = event.lifecycle;
|
|
56
|
-
|
|
57
|
-
|
|
74
|
+
// An expired suppression lapses at the first event after `suppressedUntil` (deterministic from
|
|
75
|
+
// the event's own timestamp, so a rebuild from the log reproduces it).
|
|
76
|
+
const base = prev != null && suppressionExpired(prev, event.createdAt) ? liftSuppression(prev) : prev;
|
|
77
|
+
const record = base != null
|
|
78
|
+
? { ...base }
|
|
58
79
|
: {
|
|
59
80
|
schemaVersion: ISSUE_SCHEMA_VERSION,
|
|
60
81
|
issueId: event.issueId,
|
|
@@ -145,6 +166,8 @@ export function foldEvent(prev, event) {
|
|
|
145
166
|
break;
|
|
146
167
|
}
|
|
147
168
|
case 'suppressed': {
|
|
169
|
+
if (record.state !== 'suppressed')
|
|
170
|
+
record.stateBeforeSuppression = record.state;
|
|
148
171
|
record.state = 'suppressed';
|
|
149
172
|
record.suppressedUntil = lc?.suppressedUntil;
|
|
150
173
|
record.suppressionReason = lc?.suppressionReason;
|
|
@@ -161,8 +184,8 @@ export function foldEvent(prev, event) {
|
|
|
161
184
|
break;
|
|
162
185
|
}
|
|
163
186
|
case 'linked_run': {
|
|
164
|
-
// Evidence from a run (test case / audit check), not a state change
|
|
165
|
-
// A `verified_fixed` link records that a passing run confirmed the fix still holds
|
|
187
|
+
// Evidence from a run (test case / audit check), not a state change. Links already merged.
|
|
188
|
+
// A `verified_fixed` link records that a passing run confirmed the fix still holds.
|
|
166
189
|
if (event.relationship === 'verified_fixed' && record.state === 'fixed') {
|
|
167
190
|
record.lastVerifiedFixedAt = event.createdAt;
|
|
168
191
|
}
|
|
@@ -172,9 +195,13 @@ export function foldEvent(prev, event) {
|
|
|
172
195
|
// links already merged above; no state change.
|
|
173
196
|
break;
|
|
174
197
|
}
|
|
175
|
-
// Apply any explicit state override carried on a lifecycle patch last.
|
|
176
|
-
|
|
198
|
+
// Apply any explicit state override carried on a lifecycle patch last. Moving a suppressed issue
|
|
199
|
+
// to any other state (unsuppress, mark_fixed) drops its suppression fields.
|
|
200
|
+
if (lc?.state) {
|
|
201
|
+
if (record.state === 'suppressed' && lc.state !== 'suppressed')
|
|
202
|
+
return { ...liftSuppression(record), state: lc.state };
|
|
177
203
|
record.state = lc.state;
|
|
204
|
+
}
|
|
178
205
|
return record;
|
|
179
206
|
}
|
|
180
207
|
function isNoiseCategory(record) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurrence.js","sourceRoot":"","sources":["../../src/issues/recurrence.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"recurrence.js","sourceRoot":"","sources":["../../src/issues/recurrence.ts"],"names":[],"mappings":"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"}
|
package/dist/issues/report.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
// SWIPIUM Issue Log
|
|
1
|
+
// SWIPIUM Issue Log: fold issue memory into reports.
|
|
2
2
|
//
|
|
3
3
|
// Builds the `issues` section of a QA report from the derived index, and renders the Markdown
|
|
4
|
-
// "Issue Memory" block. PURE
|
|
4
|
+
// "Issue Memory" block. PURE: takes records + now, returns data/strings.
|
|
5
5
|
import { APP_BUG_CATEGORIES, combineReleaseImpact, defaultReleaseImpact } from './schema.js';
|
|
6
6
|
/**
|
|
7
7
|
* Build the report issues section.
|
|
8
8
|
* @param records all index records for the app/project
|
|
9
9
|
* @param runIssueIds ids touched in THIS run (so "new/recurring" reflect this run, not all history)
|
|
10
|
-
* @param verifiedFixedIssueIds ids whose fix was VERIFIED this run by passing evidence
|
|
10
|
+
* @param verifiedFixedIssueIds ids whose fix was VERIFIED this run by passing evidence. Only
|
|
11
11
|
* these are reported as "fixed issues verified this run". When omitted AND no runIssueIds is given
|
|
12
12
|
* (whole-history view, e.g. qa_issue_log) all fixed issues are listed historically.
|
|
13
13
|
*/
|
|
@@ -16,7 +16,7 @@ export function buildReportIssuesSection(records, runIssueIds, verifiedFixedIssu
|
|
|
16
16
|
const newIssues = records.filter((r) => inRun(r) && (r.state === 'open' || r.state === 'observed_again') && r.observationCount <= 1 && !r.lastRecurrenceMessage);
|
|
17
17
|
const openIssues = records.filter((r) => inRun(r) && (r.state === 'open' || r.state === 'observed_again'));
|
|
18
18
|
const recurringIssues = records.filter((r) => inRun(r) && (r.state === 'reopened' || Boolean(r.lastRecurrenceMessage)));
|
|
19
|
-
// "Verified this run" requires CURRENT-RUN pass evidence (a verified_fixed linked_run)
|
|
19
|
+
// "Verified this run" requires CURRENT-RUN pass evidence (a verified_fixed linked_run),
|
|
20
20
|
// honest fix verification. When a verification set is supplied, only those fixed issues count; when
|
|
21
21
|
// a run scope is supplied but no verification set, nothing is claimed verified; with neither (a
|
|
22
22
|
// whole-history view) all fixed issues are listed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/issues/report.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/issues/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// SWIPIUM Issue Log
|
|
1
|
+
// SWIPIUM Issue Log: report integration bridge.
|
|
2
2
|
//
|
|
3
3
|
// Converts a finished run's health findings + structured test outcomes into normalized issue
|
|
4
4
|
// observations, records them in the durable ledger (so recurrence works across runs), and returns
|
|
@@ -47,7 +47,7 @@ function inferScreenPurpose(n) {
|
|
|
47
47
|
function noteToObservation(n) {
|
|
48
48
|
const subsystem = detectSubsystem(`${n.workflow} ${n.reason ?? ''}`);
|
|
49
49
|
return {
|
|
50
|
-
title: `${n.workflow}
|
|
50
|
+
title: `${n.workflow} > ${n.outcome}`,
|
|
51
51
|
summary: n.reason ? n.reason.slice(0, 200) : `${n.workflow} ${n.outcome}`,
|
|
52
52
|
failureCode: n.failureCode,
|
|
53
53
|
workflow: n.workflow,
|
|
@@ -56,7 +56,7 @@ function noteToObservation(n) {
|
|
|
56
56
|
subsystem,
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
// A blocked/failed note in any of these categories is a real
|
|
59
|
+
// A blocked/failed note in any of these categories is a real issue-ledger entry (not just
|
|
60
60
|
// app bugs): hard gates, store-compliance/privacy gaps, readiness improvements, missing data, etc.
|
|
61
61
|
// Intentional skips and not-applicable / passing outcomes are NOT recorded.
|
|
62
62
|
const RECORDED_NOTE_CATEGORIES = new Set([
|
|
@@ -77,7 +77,7 @@ function shouldRecordNote(n) {
|
|
|
77
77
|
if (n.category === 'intentionally_skipped')
|
|
78
78
|
return false;
|
|
79
79
|
// Record when it carries a recognized category, a failure code, or is an uncategorized failure
|
|
80
|
-
// (an uncategorized fail/blocked is still worth remembering
|
|
80
|
+
// (an uncategorized fail/blocked is still worth remembering; the classifier triages it).
|
|
81
81
|
return !n.category || RECORDED_NOTE_CATEGORIES.has(n.category) || Boolean(n.failureCode);
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportBridge.js","sourceRoot":"","sources":["../../src/issues/reportBridge.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"reportBridge.js","sourceRoot":"","sources":["../../src/issues/reportBridge.ts"],"names":[],"mappings":"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"}
|
package/dist/issues/schema.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// SWIPIUM Issue Log / Error Tracking
|
|
1
|
+
// SWIPIUM Issue Log / Error Tracking. Type definitions, enums, and validation
|
|
2
2
|
// helpers for the durable, project-level issue ledger.
|
|
3
3
|
//
|
|
4
4
|
// The ledger is Swipium's mobile-QA memory: an append-only event log (`.swipium/issues-log.jsonl`)
|
|
5
5
|
// plus a derived index (`.swipium/issues/index.json`). Events are compact and never hold full
|
|
6
|
-
// screenshots / logs / stack traces / report JSON
|
|
6
|
+
// screenshots / logs / stack traces / report JSON. Only references to artifacts (Developer Notes).
|
|
7
7
|
// Every lifecycle mutation is append-only so a developer can audit WHY an issue is currently
|
|
8
8
|
// considered fixed / reopened / suppressed.
|
|
9
9
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/issues/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/issues/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// SWIPIUM Issue Log
|
|
1
|
+
// SWIPIUM Issue Log: source revision resolution.
|
|
2
2
|
//
|
|
3
3
|
// Fix attribution is strongest when issues link to a commit/release. But Swipium intentionally does
|
|
4
4
|
// NOT execute Git in spawned providers. So we resolve a SourceRevision in priority order WITHOUT
|
|
5
|
-
// running Git: explicit input
|
|
5
|
+
// running Git: explicit input > CI environment variables > app build metadata > optional read-only
|
|
6
6
|
// `.git/HEAD` (only when policy sets allowGitMetadataRead). `unknown` is always an acceptable result.
|
|
7
7
|
//
|
|
8
8
|
// PURE w.r.t. process state except the optional read-only git read, which only touches `.git/HEAD`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceRevision.js","sourceRoot":"","sources":["../../src/issues/sourceRevision.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"sourceRevision.js","sourceRoot":"","sources":["../../src/issues/sourceRevision.ts"],"names":[],"mappings":"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"}
|