swipium 1.4.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 +313 -0
- package/README.md +175 -219
- package/THREAT_MODEL.md +223 -47
- package/dist/appMap/automationLink.js +39 -26
- package/dist/appMap/automationLink.js.map +1 -1
- package/dist/appMap/build.js +68 -20
- package/dist/appMap/build.js.map +1 -1
- package/dist/appMap/codeIndex.js +31 -5
- package/dist/appMap/codeIndex.js.map +1 -1
- package/dist/appMap/featureIndex.js +23 -5
- package/dist/appMap/featureIndex.js.map +1 -1
- package/dist/appMap/featureModel.js +44 -8
- package/dist/appMap/featureModel.js.map +1 -1
- package/dist/appMap/firstRunApply.js +24 -6
- package/dist/appMap/firstRunApply.js.map +1 -1
- package/dist/appMap/fsWalk.js +19 -2
- package/dist/appMap/fsWalk.js.map +1 -1
- package/dist/appMap/issues.js +10 -30
- package/dist/appMap/issues.js.map +1 -1
- package/dist/appMap/migrations.js +6 -6
- 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 +83 -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 +21 -5
- package/dist/appMap/query.js.map +1 -1
- package/dist/appMap/runtimeMerge.js +12 -5
- 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 +6 -2
- package/dist/appMap/screenMatch.js.map +1 -1
- package/dist/appMap/staticScan.js +151 -39
- package/dist/appMap/staticScan.js.map +1 -1
- package/dist/appMap/store.js +58 -85
- package/dist/appMap/store.js.map +1 -1
- package/dist/appMap/tsAstScan.js +34 -12
- package/dist/appMap/tsAstScan.js.map +1 -1
- package/dist/artifacts/bundletool.js +49 -12
- package/dist/artifacts/bundletool.js.map +1 -1
- package/dist/artifacts/resolve.js +41 -14
- package/dist/artifacts/resolve.js.map +1 -1
- package/dist/automation/capabilities.js +112 -30
- package/dist/automation/capabilities.js.map +1 -1
- package/dist/automation/gestures.js +6 -2
- package/dist/automation/gestures.js.map +1 -1
- package/dist/automation/plan.js +71 -23
- package/dist/automation/plan.js.map +1 -1
- package/dist/automation/report.js +15 -5
- package/dist/automation/report.js.map +1 -1
- package/dist/automation/selectors.js +22 -28
- 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 +14 -8
- package/dist/automation/waits.js.map +1 -1
- package/dist/automation/webview.js +9 -3
- package/dist/automation/webview.js.map +1 -1
- package/dist/automationGen/appiumModel.js +16 -8
- package/dist/automationGen/appiumModel.js.map +1 -1
- package/dist/automationGen/ciEmitter.js +6 -6
- 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 +288 -121
- 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 +76 -27
- package/dist/automationGen/projectProfile.js.map +1 -1
- package/dist/automationGen/pythonEmitter.js +278 -107
- 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/automationGen/run.js +388 -0
- package/dist/automationGen/run.js.map +1 -0
- package/dist/automationGen/suitePlan.js +17 -10
- package/dist/automationGen/suitePlan.js.map +1 -1
- package/dist/automationGen/validation.js +52 -12
- package/dist/automationGen/validation.js.map +1 -1
- package/dist/build/parseBuildLog.js +235 -31
- package/dist/build/parseBuildLog.js.map +1 -1
- package/dist/build/plan.js +39 -18
- 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 +36 -15
- package/dist/cli/scan.js.map +1 -1
- package/dist/cli/suite.js +7 -7
- 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 +55 -18
- package/dist/context/detect.js.map +1 -1
- package/dist/context/findApps.js +22 -8
- 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 +10 -8
- package/dist/core/target.js.map +1 -1
- package/dist/core/targetPlan.js +160 -39
- package/dist/core/targetPlan.js.map +1 -1
- package/dist/drivers/DirectDriver.js +317 -43
- package/dist/drivers/DirectDriver.js.map +1 -1
- package/dist/drivers/SimctlDriver.js +124 -8
- package/dist/drivers/SimctlDriver.js.map +1 -1
- package/dist/drivers/WdaDriver.js +365 -55
- package/dist/drivers/WdaDriver.js.map +1 -1
- package/dist/explore/candidates.js +7 -3
- package/dist/explore/candidates.js.map +1 -1
- package/dist/explore/graph.js +15 -6
- package/dist/explore/graph.js.map +1 -1
- package/dist/explore/memory.js +4 -1
- package/dist/explore/memory.js.map +1 -1
- package/dist/explore/planner.js +54 -9
- package/dist/explore/planner.js.map +1 -1
- package/dist/explore/policy.js +11 -6
- package/dist/explore/policy.js.map +1 -1
- package/dist/explore/runner.js +363 -190
- package/dist/explore/runner.js.map +1 -1
- package/dist/explore/signatures.js +4 -2
- package/dist/explore/signatures.js.map +1 -1
- package/dist/explore/suite.js +3 -1
- package/dist/explore/suite.js.map +1 -1
- package/dist/featureTesting/executionBootstrap.js +137 -29
- package/dist/featureTesting/executionBootstrap.js.map +1 -1
- package/dist/featureTesting/featureMap.js +6 -3
- package/dist/featureTesting/featureMap.js.map +1 -1
- package/dist/featureTesting/featureScope.js +101 -20
- package/dist/featureTesting/featureScope.js.map +1 -1
- package/dist/featureTesting/mapFeatureScope.js +44 -15
- package/dist/featureTesting/mapFeatureScope.js.map +1 -1
- package/dist/featureTesting/objectiveModel.js +15 -11
- package/dist/featureTesting/objectiveModel.js.map +1 -1
- package/dist/featureTesting/resultMerge.js +16 -8
- package/dist/featureTesting/resultMerge.js.map +1 -1
- package/dist/featureTesting/sources.js +8 -5
- package/dist/featureTesting/sources.js.map +1 -1
- package/dist/featureTesting/suiteBridge.js +8 -2
- package/dist/featureTesting/suiteBridge.js.map +1 -1
- package/dist/featureTesting/synonyms.js +32 -4
- package/dist/featureTesting/synonyms.js.map +1 -1
- package/dist/featureTesting/testCaseFactory.js +27 -15
- package/dist/featureTesting/testCaseFactory.js.map +1 -1
- package/dist/featureTesting/testPlan.js +34 -12
- 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 +9 -6
- package/dist/firstRun/classifyScreen.js.map +1 -1
- package/dist/firstRun/firstRunPlanner.js +16 -13
- package/dist/firstRun/firstRunPlanner.js.map +1 -1
- package/dist/firstRun/firstRunRunner.js +92 -31
- package/dist/firstRun/firstRunRunner.js.map +1 -1
- package/dist/firstRun/generatedDataPolicy.js +25 -15
- package/dist/firstRun/generatedDataPolicy.js.map +1 -1
- package/dist/firstRun/inputPlanner.js +45 -11
- 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 +72 -9
- 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 +68 -17
- package/dist/flows/generate.js.map +1 -1
- package/dist/flows/lint.js +88 -14
- package/dist/flows/lint.js.map +1 -1
- package/dist/flows/pack.js +21 -5
- 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 +176 -37
- package/dist/flows/repair.js.map +1 -1
- package/dist/flows/run.js +308 -99
- package/dist/flows/run.js.map +1 -1
- package/dist/flows/schema.js +107 -25
- package/dist/flows/schema.js.map +1 -1
- package/dist/flows/seedExec.js +8 -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/ios/signing.js +32 -3
- package/dist/ios/signing.js.map +1 -1
- package/dist/issues/classify.js +28 -20
- package/dist/issues/classify.js.map +1 -1
- package/dist/issues/fingerprint.js +35 -9
- package/dist/issues/fingerprint.js.map +1 -1
- package/dist/issues/index.js +93 -46
- package/dist/issues/index.js.map +1 -1
- package/dist/issues/metrics.js +6 -5
- 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 +12 -8
- package/dist/issues/report.js.map +1 -1
- package/dist/issues/reportBridge.js +40 -9
- 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 +84 -8
- 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 +53 -12
- 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 +12 -3
- package/dist/lib/image.js.map +1 -1
- package/dist/lib/lockfile.js +399 -0
- package/dist/lib/lockfile.js.map +1 -0
- package/dist/lib/needsInput.js +9 -6
- package/dist/lib/needsInput.js.map +1 -1
- package/dist/lib/png.js +4 -3
- 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 +94 -10
- package/dist/lib/result.js.map +1 -1
- package/dist/lib/schemaHash.js +7 -5
- package/dist/lib/schemaHash.js.map +1 -1
- package/dist/lib/sensitive.js +6 -3
- 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 +78 -17
- 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 +321 -25
- package/dist/lib/wda.js.map +1 -1
- package/dist/lib/wdaConfig.js +12 -5
- package/dist/lib/wdaConfig.js.map +1 -1
- package/dist/lib/wdaTune.js +52 -23
- package/dist/lib/wdaTune.js.map +1 -1
- package/dist/mobileAudit/checks.js +150 -28
- 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 +121 -20
- package/dist/mobileAudit/profiles.js.map +1 -1
- package/dist/mobileAudit/results.js +9 -4
- package/dist/mobileAudit/results.js.map +1 -1
- package/dist/mobileAudit/runner.js +214 -35
- 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 +1085 -145
- package/dist/oracle/failures.js.map +1 -1
- package/dist/oracle/health.js +148 -26
- package/dist/oracle/health.js.map +1 -1
- package/dist/oracle/locator.js +148 -19
- 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 +7 -13
- package/dist/orchestration/goal.js.map +1 -1
- package/dist/orchestration/testThis/execute.js +167 -0
- package/dist/orchestration/testThis/execute.js.map +1 -0
- package/dist/orchestration/testThis/pipeline.js +413 -0
- package/dist/orchestration/testThis/pipeline.js.map +1 -0
- package/dist/orchestration/testThis/plan.js +519 -0
- package/dist/orchestration/testThis/plan.js.map +1 -0
- package/dist/orchestration/testThis/sessionIntent.js +72 -0
- package/dist/orchestration/testThis/sessionIntent.js.map +1 -0
- package/dist/orchestration/testThis/terminal.js +136 -0
- package/dist/orchestration/testThis/terminal.js.map +1 -0
- package/dist/orchestration/testThis/types.js +12 -0
- package/dist/orchestration/testThis/types.js.map +1 -0
- package/dist/plan/plan.js +9 -9
- package/dist/plan/plan.js.map +1 -1
- package/dist/prompts/index.js +24 -24
- package/dist/prompts/index.js.map +1 -1
- package/dist/report/coverage.js +0 -1
- package/dist/report/coverage.js.map +1 -1
- package/dist/report/evidence.js.map +1 -1
- package/dist/report/export.js +449 -72
- 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/flake.js +13 -14
- package/dist/report/flake.js.map +1 -1
- package/dist/report/history.js +72 -38
- package/dist/report/history.js.map +1 -1
- package/dist/report/policy.js +18 -7
- package/dist/report/policy.js.map +1 -1
- package/dist/report/qaLevel.js +10 -16
- package/dist/report/qaLevel.js.map +1 -1
- package/dist/report/readiness.js +42 -12
- package/dist/report/readiness.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/timing.js +23 -23
- package/dist/report/timing.js.map +1 -1
- package/dist/report/toolHealth.js +124 -0
- package/dist/report/toolHealth.js.map +1 -0
- package/dist/server.js +501 -69
- 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 +10 -4
- package/dist/services/build.js.map +1 -1
- package/dist/services/flowGenerate.js +75 -0
- package/dist/services/flowGenerate.js.map +1 -0
- package/dist/services/preflight.js +40 -8
- package/dist/services/preflight.js.map +1 -1
- package/dist/services/prepareAndroid.js +92 -18
- package/dist/services/prepareAndroid.js.map +1 -1
- package/dist/services/prepareIos.js +94 -17
- package/dist/services/prepareIos.js.map +1 -1
- package/dist/services/report.js +271 -80
- package/dist/services/report.js.map +1 -1
- package/dist/services/smoke.js +68 -22
- package/dist/services/smoke.js.map +1 -1
- package/dist/services/suiteGenerate.js +43 -6
- package/dist/services/suiteGenerate.js.map +1 -1
- package/dist/services/testSuiteKnowledge.js +78 -33
- package/dist/services/testSuiteKnowledge.js.map +1 -1
- package/dist/session/attach.js +284 -4
- package/dist/session/attach.js.map +1 -1
- package/dist/session/processRegistry.js +433 -0
- package/dist/session/processRegistry.js.map +1 -0
- package/dist/session/progress.js +1 -1
- package/dist/session/progress.js.map +1 -1
- package/dist/session/retention.js +201 -0
- package/dist/session/retention.js.map +1 -0
- package/dist/session/store.js +459 -59
- package/dist/session/store.js.map +1 -1
- package/dist/snapshot/overlays.js +60 -10
- package/dist/snapshot/overlays.js.map +1 -1
- package/dist/snapshot/parse.js +30 -12
- package/dist/snapshot/parse.js.map +1 -1
- package/dist/snapshot/present.js +36 -6
- 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 +82 -11
- package/dist/state/profile.js.map +1 -1
- package/dist/suite/compile.js +15 -6
- package/dist/suite/compile.js.map +1 -1
- package/dist/suite/lint.js +22 -4
- package/dist/suite/lint.js.map +1 -1
- package/dist/suite/pom.js +75 -44
- 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 +15 -11
- package/dist/suite/testcase.js.map +1 -1
- package/dist/testSuite/exporter.js +7 -3
- package/dist/testSuite/exporter.js.map +1 -1
- package/dist/testSuite/generator.js +43 -14
- 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 +13 -7
- package/dist/testSuite/merge.js.map +1 -1
- package/dist/testSuite/schema.js +21 -16
- package/dist/testSuite/schema.js.map +1 -1
- package/dist/testSuite/store.js +12 -4
- 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 +868 -174
- package/dist/tools/act.js.map +1 -1
- package/dist/tools/agent.js +521 -112
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/appControl.js +82 -19
- package/dist/tools/appControl.js.map +1 -1
- package/dist/tools/appMap.js +393 -189
- package/dist/tools/appMap.js.map +1 -1
- package/dist/tools/build.js +92 -51
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/bundletool.js +141 -40
- package/dist/tools/bundletool.js.map +1 -1
- package/dist/tools/clearOverlay.js +98 -18
- package/dist/tools/clearOverlay.js.map +1 -1
- package/dist/tools/device.js +108 -19
- package/dist/tools/device.js.map +1 -1
- package/dist/tools/doctor.js +98 -35
- package/dist/tools/doctor.js.map +1 -1
- package/dist/tools/explore.js +110 -42
- package/dist/tools/explore.js.map +1 -1
- package/dist/tools/featureTesting.js +152 -130
- package/dist/tools/featureTesting.js.map +1 -1
- package/dist/tools/firstRun.js +94 -66
- package/dist/tools/firstRun.js.map +1 -1
- package/dist/tools/flow.js +347 -132
- package/dist/tools/flow.js.map +1 -1
- package/dist/tools/flowRepair.js +42 -10
- package/dist/tools/flowRepair.js.map +1 -1
- package/dist/tools/generate.js +199 -0
- package/dist/tools/generate.js.map +1 -0
- package/dist/tools/getArtifact.js +37 -8
- package/dist/tools/getArtifact.js.map +1 -1
- package/dist/tools/health.js +17 -12
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/ios.js +148 -194
- package/dist/tools/ios.js.map +1 -1
- package/dist/tools/issues.js +256 -171
- package/dist/tools/issues.js.map +1 -1
- package/dist/tools/jobs.js +55 -11
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/metro.js +84 -38
- package/dist/tools/metro.js.map +1 -1
- package/dist/tools/mobileAudit.js +83 -26
- package/dist/tools/mobileAudit.js.map +1 -1
- package/dist/tools/network.js +36 -14
- package/dist/tools/network.js.map +1 -1
- package/dist/tools/note.js +31 -17
- package/dist/tools/note.js.map +1 -1
- package/dist/tools/prepareIosTarget.js +31 -14
- package/dist/tools/prepareIosTarget.js.map +1 -1
- package/dist/tools/prepareTarget.js +193 -47
- package/dist/tools/prepareTarget.js.map +1 -1
- package/dist/tools/report.js +16 -8
- package/dist/tools/report.js.map +1 -1
- package/dist/tools/resolveArtifact.js +12 -12
- package/dist/tools/resolveArtifact.js.map +1 -1
- package/dist/tools/resolveTarget.js +81 -18
- package/dist/tools/resolveTarget.js.map +1 -1
- package/dist/tools/screenRecord.js +85 -20
- package/dist/tools/screenRecord.js.map +1 -1
- package/dist/tools/screenshot.js +42 -18
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/smoke.js +29 -12
- package/dist/tools/smoke.js.map +1 -1
- package/dist/tools/snapshot.js +157 -107
- package/dist/tools/snapshot.js.map +1 -1
- package/dist/tools/startSession.js +117 -84
- package/dist/tools/startSession.js.map +1 -1
- package/dist/tools/suite.js +391 -310
- package/dist/tools/suite.js.map +1 -1
- package/dist/tools/testSuite.js +112 -36
- package/dist/tools/testSuite.js.map +1 -1
- package/dist/tools/testThis.js +35 -802
- package/dist/tools/testThis.js.map +1 -1
- package/dist/tools/visual.js +698 -116
- package/dist/tools/visual.js.map +1 -1
- package/dist/tools/wait.js +9 -23
- package/dist/tools/wait.js.map +1 -1
- package/dist/tools/wda.js +312 -54
- package/dist/tools/wda.js.map +1 -1
- package/dist/version.js +37 -64
- package/dist/version.js.map +1 -1
- package/dist/visual/ocr.js +65 -8
- package/dist/visual/ocr.js.map +1 -1
- package/dist/visual/provider.js +87 -15
- 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 +210 -104
- package/docs/physical-devices.md +84 -0
- package/docs/tools.md +808 -217
- package/package.json +16 -6
- package/dist/appMap/diff.js +0 -60
- package/dist/appMap/diff.js.map +0 -1
- package/dist/automation/maestroIr.js +0 -282
- package/dist/automation/maestroIr.js.map +0 -1
- package/dist/interop/maestro.js +0 -151
- package/dist/interop/maestro.js.map +0 -1
- package/dist/tools/assertVisual.js +0 -74
- package/dist/tools/assertVisual.js.map +0 -1
- package/dist/tools/automationGenerate.js +0 -394
- package/dist/tools/automationGenerate.js.map +0 -1
- package/dist/tools/capabilities.js +0 -209
- 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 +0 -55
- package/dist/tools/flowGenerate.js.map +0 -1
- package/dist/tools/history.js +0 -56
- package/dist/tools/history.js.map +0 -1
- package/dist/tools/idling.js +0 -104
- package/dist/tools/idling.js.map +0 -1
- package/dist/tools/inputCapabilities.js +0 -30
- package/dist/tools/inputCapabilities.js.map +0 -1
- package/dist/tools/locator.js +0 -57
- package/dist/tools/locator.js.map +0 -1
- package/dist/tools/maestro.js +0 -78
- package/dist/tools/maestro.js.map +0 -1
- package/dist/tools/permissions.js +0 -149
- package/dist/tools/permissions.js.map +0 -1
- package/dist/tools/plan.js +0 -49
- package/dist/tools/plan.js.map +0 -1
- package/dist/tools/screenInfo.js +0 -70
- package/dist/tools/screenInfo.js.map +0 -1
- package/dist/tools/seed.js +0 -101
- package/dist/tools/seed.js.map +0 -1
- package/dist/tools/state.js +0 -170
- package/dist/tools/state.js.map +0 -1
- package/dist/tools/visualText.js +0 -61
- package/dist/tools/visualText.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//
|
|
1
|
+
// firstRunPlanner(): the per-screen brain of the first-run state machine. Given an
|
|
2
2
|
// observed screen, the session, the test-data policy, and the generated-account decision, it
|
|
3
3
|
// classifies the screen and returns a bounded, safe FirstRunPlan: the actions to take, the expected
|
|
4
|
-
// next screens, the stop conditions, and the app-map updates. PURE
|
|
4
|
+
// next screens, the stop conditions, and the app-map updates. PURE: no device access. The driver
|
|
5
5
|
// loop in firstRunRunner.ts executes the returned actions.
|
|
6
6
|
import { classifyCurrentScreen } from './classifyScreen.js';
|
|
7
7
|
import { planInputForField } from './inputPlanner.js';
|
|
@@ -34,7 +34,7 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
34
34
|
const inputCtx = { policy: ctx.policy, generationAllowed: ctx.decision.allowed, timestamp: ctx.timestamp };
|
|
35
35
|
let genIndex = 0;
|
|
36
36
|
const planFor = (req) => planInputForField(session, req, { ...inputCtx, index: genIndex++ });
|
|
37
|
-
// --- error / native crash
|
|
37
|
+
// --- error / native crash > stop ---
|
|
38
38
|
if (classification.purpose === 'error') {
|
|
39
39
|
return {
|
|
40
40
|
...base,
|
|
@@ -42,12 +42,12 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
42
42
|
actions: [],
|
|
43
43
|
expectedNextPurposes: [],
|
|
44
44
|
stopConditions: ['app or native error on screen'],
|
|
45
|
-
reason: 'app/native error encountered
|
|
45
|
+
reason: 'app/native error encountered, first-run halted',
|
|
46
46
|
pathTaken: 'none',
|
|
47
47
|
nextRecommendedTool: 'qa_report',
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
// --- OTP / email verification
|
|
50
|
+
// --- OTP / email verification > stop with NeedsInput ---
|
|
51
51
|
if (classification.purpose === 'otp_or_email_verification') {
|
|
52
52
|
return {
|
|
53
53
|
...base,
|
|
@@ -75,7 +75,10 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
75
75
|
expectedNextPurposes: [],
|
|
76
76
|
stopConditions: ['unsafe environment for generated account creation'],
|
|
77
77
|
reason: ctx.decision.reason,
|
|
78
|
-
needsInput: {
|
|
78
|
+
needsInput: {
|
|
79
|
+
kind: 'credentials',
|
|
80
|
+
reason: `${ctx.decision.reason}. Provide test credentials, or confirm this is a disposable test/staging environment.`,
|
|
81
|
+
},
|
|
79
82
|
pathTaken,
|
|
80
83
|
nextRecommendedTool: 'qa_continue_from_blocker',
|
|
81
84
|
};
|
|
@@ -125,10 +128,10 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
125
128
|
stopConditions: ['permission prompt requires deliberate handling'],
|
|
126
129
|
reason: 'permission prompt encountered; not auto-granted',
|
|
127
130
|
pathTaken: 'permissions',
|
|
128
|
-
nextRecommendedTool: '
|
|
131
|
+
nextRecommendedTool: 'qa_first_run',
|
|
129
132
|
};
|
|
130
133
|
}
|
|
131
|
-
// --- paywall
|
|
134
|
+
// --- paywall > record coverage, dismiss only via a safe visible path ---
|
|
132
135
|
if (classification.purpose === 'paywall') {
|
|
133
136
|
const pw = planPaywall(elements);
|
|
134
137
|
if (pw.stop || !pw.action) {
|
|
@@ -153,7 +156,7 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
153
156
|
pathTaken: 'paywall',
|
|
154
157
|
};
|
|
155
158
|
}
|
|
156
|
-
// --- onboarding
|
|
159
|
+
// --- onboarding > safe forward/skip ---
|
|
157
160
|
if (classification.purpose === 'onboarding') {
|
|
158
161
|
const step = planOnboardingStep(elements);
|
|
159
162
|
if (!step.action) {
|
|
@@ -183,8 +186,8 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
183
186
|
state: 'completed',
|
|
184
187
|
actions: [],
|
|
185
188
|
expectedNextPurposes: [],
|
|
186
|
-
stopConditions: ['reached home/feature
|
|
187
|
-
reason: `reached ${classification.purpose}
|
|
189
|
+
stopConditions: ['reached home/feature, hand off to guided exploration'],
|
|
190
|
+
reason: `reached ${classification.purpose}, first-run gates cleared`,
|
|
188
191
|
pathTaken: hasProvidedCredentials(session) ? 'login' : 'home',
|
|
189
192
|
nextRecommendedTool: 'qa_explore',
|
|
190
193
|
};
|
|
@@ -195,13 +198,13 @@ export function planFirstRun(obs, session, ctx) {
|
|
|
195
198
|
state: 'blocked',
|
|
196
199
|
actions: classification.safeActions.slice(0, 1),
|
|
197
200
|
expectedNextPurposes: [],
|
|
198
|
-
stopConditions: ['unknown screen
|
|
201
|
+
stopConditions: ['unknown screen, cannot plan a safe first-run step'],
|
|
199
202
|
reason: classification.blockedReasons[0] ?? 'screen purpose is unknown',
|
|
200
203
|
pathTaken: 'none',
|
|
201
204
|
};
|
|
202
205
|
}
|
|
203
206
|
/** Convenience for tests/reporting: a one-line label of the path a plan would take. */
|
|
204
207
|
export function describePlan(plan) {
|
|
205
|
-
return `${plan.classification.purpose} (conf ${plan.classification.confidence})
|
|
208
|
+
return `${plan.classification.purpose} (conf ${plan.classification.confidence}) > ${plan.state}${plan.pathTaken ? ` [${plan.pathTaken}]` : ''}`;
|
|
206
209
|
}
|
|
207
210
|
//# sourceMappingURL=firstRunPlanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firstRunPlanner.js","sourceRoot":"","sources":["../../src/firstRun/firstRunPlanner.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"firstRunPlanner.js","sourceRoot":"","sources":["../../src/firstRun/firstRunPlanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
// observe
|
|
1
|
+
// The first-run driver loop. The ONLY side-effecting part of the first-run lane:
|
|
2
|
+
// observe > planFirstRun > execute the bounded action(s) > record evidence/app-map > repeat until
|
|
3
3
|
// the requested mode's stop condition. Generated values are recorded as evidence (non-secret) or
|
|
4
4
|
// added to the redaction set (secret); they never appear in the read-only plan.
|
|
5
5
|
import { existsSync, readFileSync } from 'node:fs';
|
|
@@ -14,7 +14,7 @@ import { staticCandidatesForObservation } from '../appMap/screenMatch.js';
|
|
|
14
14
|
const GATE_PURPOSES = new Set(['paywall', 'otp_or_email_verification', 'permissions_prompt']);
|
|
15
15
|
const TERMINAL_PURPOSES = new Set(['home', 'feature', 'settings']);
|
|
16
16
|
const APP_ERROR_RE = /(redbox|render error|unhandled (js )?exception|com\.facebook\.react.*Exception|ReactNativeJS.*Error)/i;
|
|
17
|
-
/** Observe the current screen
|
|
17
|
+
/** Observe the current screen > elements + signature + a budget-aware evidence screenshot. Shared by
|
|
18
18
|
* the read-only plan tool and the executing runner. */
|
|
19
19
|
export async function observeScreen(sessions, session, driver) {
|
|
20
20
|
const foreground = await driver.foregroundOwner().catch(() => 'unknown');
|
|
@@ -38,7 +38,10 @@ export async function observeScreen(sessions, session, driver) {
|
|
|
38
38
|
/* best-effort */
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
const visibleText = elements
|
|
41
|
+
const visibleText = elements
|
|
42
|
+
.map((e) => `${e.text ?? ''} ${e.label ?? ''}`)
|
|
43
|
+
.join(' ')
|
|
44
|
+
.trim();
|
|
42
45
|
const screenSignature = elements.length ? structuredSignature(elements, { foreground, keyboardShown: false }) : `visual:${foreground}`;
|
|
43
46
|
return { elements, foreground, visibleText, screenSignature, screenshotUri, appError: APP_ERROR_RE.test(xml) };
|
|
44
47
|
}
|
|
@@ -127,7 +130,7 @@ export async function runFirstRun(sessions, session, driver, opts, ctx = {}) {
|
|
|
127
130
|
const r = resolveFixtureValue(session, action.label, action.locator?.value, { role: action.field });
|
|
128
131
|
return r?.value;
|
|
129
132
|
}
|
|
130
|
-
// generator
|
|
133
|
+
// generator: generate once and cache it so confirm-password matches password.
|
|
131
134
|
if (genCache.has(v.varName))
|
|
132
135
|
return genCache.get(v.varName);
|
|
133
136
|
const gen = generateFieldValue(action.field ?? 'generic', policy, { timestamp: opts.timestamp, index: genCache.size });
|
|
@@ -154,8 +157,14 @@ export async function runFirstRun(sessions, session, driver, opts, ctx = {}) {
|
|
|
154
157
|
sessions.bump(session, 'actions');
|
|
155
158
|
if (action.value && action.locator && action.locator.strategy && action.locator.strategy !== 'coordinate') {
|
|
156
159
|
sessions.addRecordedAction(session, {
|
|
157
|
-
at: Date.now(),
|
|
158
|
-
|
|
160
|
+
at: Date.now(),
|
|
161
|
+
action: 'type',
|
|
162
|
+
selector: action.locator.value,
|
|
163
|
+
selectorKind: selectorKind(action.locator.strategy),
|
|
164
|
+
text: `\${${action.value.varName}}`,
|
|
165
|
+
secret: action.value.secret,
|
|
166
|
+
exportability: action.value.secret ? 'needs-human-data' : 'semantic',
|
|
167
|
+
screen,
|
|
159
168
|
});
|
|
160
169
|
}
|
|
161
170
|
return 'done';
|
|
@@ -170,8 +179,12 @@ export async function runFirstRun(sessions, session, driver, opts, ctx = {}) {
|
|
|
170
179
|
sessions.bump(session, 'actions');
|
|
171
180
|
if (action.locator && action.locator.strategy && action.locator.strategy !== 'coordinate') {
|
|
172
181
|
sessions.addRecordedAction(session, {
|
|
173
|
-
at: Date.now(),
|
|
174
|
-
|
|
182
|
+
at: Date.now(),
|
|
183
|
+
action: 'tap',
|
|
184
|
+
selector: action.locator.value,
|
|
185
|
+
selectorKind: selectorKind(action.locator.strategy),
|
|
186
|
+
exportability: 'semantic',
|
|
187
|
+
screen,
|
|
175
188
|
});
|
|
176
189
|
}
|
|
177
190
|
return 'done';
|
|
@@ -193,30 +206,57 @@ export async function runFirstRun(sessions, session, driver, opts, ctx = {}) {
|
|
|
193
206
|
break;
|
|
194
207
|
}
|
|
195
208
|
const obs = await observe();
|
|
196
|
-
const staticCandidates = opts.appMap
|
|
197
|
-
|
|
198
|
-
|
|
209
|
+
const staticCandidates = opts.appMap
|
|
210
|
+
? staticCandidatesForObservation(opts.appMap, { foreground: obs.foreground, visibleText: obs.visibleText })
|
|
211
|
+
: undefined;
|
|
212
|
+
const plan = planFirstRun({
|
|
213
|
+
...obs,
|
|
214
|
+
screenSignature: obs.screenSignature,
|
|
215
|
+
appError: obs.appError,
|
|
216
|
+
staticCandidates,
|
|
217
|
+
authState: session.auth.loginScreenSeen ? 'auth_required' : undefined,
|
|
218
|
+
}, session, {
|
|
219
|
+
policy,
|
|
220
|
+
decision,
|
|
221
|
+
timestamp: opts.timestamp,
|
|
222
|
+
fromSignature,
|
|
199
223
|
});
|
|
200
224
|
mapUpdates.push(...plan.mapUpdates);
|
|
201
225
|
if (obs.screenshotUri)
|
|
202
226
|
evidenceUris.push(obs.screenshotUri);
|
|
203
|
-
progress(`first-run: ${plan.classification.purpose}
|
|
227
|
+
progress(`first-run: ${plan.classification.purpose} > ${plan.state}`);
|
|
204
228
|
// Record a classification note (auth-state side-effects too).
|
|
205
229
|
if (AUTH_PURPOSES_RUNTIME.has(plan.classification.purpose))
|
|
206
230
|
sessions.markAuth(session, { loginScreenSeen: true, loginScreenSeenAt: Date.now() });
|
|
207
231
|
sessions.addNote(session, {
|
|
208
|
-
at: Date.now(),
|
|
232
|
+
at: Date.now(),
|
|
233
|
+
workflow: 'first_run',
|
|
234
|
+
outcome: plan.state === 'completed'
|
|
235
|
+
? 'pass'
|
|
236
|
+
: plan.state === 'ready'
|
|
237
|
+
? 'pass'
|
|
238
|
+
: plan.state === 'unsafe'
|
|
239
|
+
? 'skipped'
|
|
240
|
+
: plan.state === 'needs_input'
|
|
241
|
+
? 'blocked'
|
|
242
|
+
: 'blocked',
|
|
209
243
|
category: plan.state === 'unsafe' ? 'destructive_refused' : plan.state === 'needs_input' ? 'missing_test_data' : undefined,
|
|
210
|
-
reason: `${plan.classification.purpose} (confidence ${plan.classification.confidence})${plan.reason ?
|
|
244
|
+
reason: `${plan.classification.purpose} (confidence ${plan.classification.confidence})${plan.reason ? `: ${plan.reason}` : ''}`,
|
|
211
245
|
artifactUris: obs.screenshotUri ? [obs.screenshotUri] : undefined,
|
|
212
246
|
method: obs.elements.length ? 'structured' : 'visual',
|
|
213
247
|
});
|
|
214
248
|
pathTaken = plan.pathTaken ?? pathTaken;
|
|
215
249
|
nextRecommendedTool = plan.nextRecommendedTool;
|
|
216
250
|
const stepRec = {
|
|
217
|
-
index: i,
|
|
218
|
-
|
|
219
|
-
|
|
251
|
+
index: i,
|
|
252
|
+
purpose: plan.classification.purpose,
|
|
253
|
+
confidence: plan.classification.confidence,
|
|
254
|
+
state: plan.state,
|
|
255
|
+
pathTaken: plan.pathTaken,
|
|
256
|
+
actions: [],
|
|
257
|
+
evidenceUris: obs.screenshotUri ? [obs.screenshotUri] : [],
|
|
258
|
+
screenSignature: obs.screenSignature,
|
|
259
|
+
reason: plan.reason,
|
|
220
260
|
};
|
|
221
261
|
// Terminal / pause states.
|
|
222
262
|
if (plan.state === 'completed') {
|
|
@@ -250,7 +290,7 @@ export async function runFirstRun(sessions, session, driver, opts, ctx = {}) {
|
|
|
250
290
|
stoppedReason = plan.reason ?? plan.stopConditions[0] ?? 'blocked';
|
|
251
291
|
break;
|
|
252
292
|
}
|
|
253
|
-
// state === 'ready'
|
|
293
|
+
// state === 'ready' > execute the planned actions.
|
|
254
294
|
let typedCredential = false;
|
|
255
295
|
for (const action of plan.actions) {
|
|
256
296
|
if (ctx.signal?.aborted)
|
|
@@ -296,21 +336,38 @@ export async function runFirstRun(sessions, session, driver, opts, ctx = {}) {
|
|
|
296
336
|
}
|
|
297
337
|
void typedCredential;
|
|
298
338
|
}
|
|
299
|
-
// Persist the app-map patches as a forward-compatible artifact (
|
|
339
|
+
// Persist the app-map patches as a forward-compatible artifact (the app map consumes these).
|
|
300
340
|
let mapArtifactUri;
|
|
301
341
|
if (mapUpdates.length) {
|
|
302
342
|
mapArtifactUri = sessions.saveArtifact(session, 'app_map', `first-run-map-${Date.now()}.json`, JSON.stringify({ schema: 'swipium.app_map_patch.v1', appId: session.appId ?? null, platform, patches: mapUpdates }, null, 2), 'application/json', 'first-run app-map classifications');
|
|
303
343
|
evidenceUris.push(mapArtifactUri);
|
|
304
344
|
}
|
|
305
|
-
const accountOutcome = refusedUnsafe
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
345
|
+
const accountOutcome = refusedUnsafe
|
|
346
|
+
? 'refused_unsafe'
|
|
347
|
+
: reachedVerification
|
|
348
|
+
? 'reached_verification'
|
|
349
|
+
: createdAccount
|
|
350
|
+
? 'created'
|
|
351
|
+
: usedProvidedCreds
|
|
352
|
+
? 'used_provided_credentials'
|
|
353
|
+
: session.auth.loginScreenSeen
|
|
354
|
+
? 'pre_login_only'
|
|
310
355
|
: 'not_applicable';
|
|
311
356
|
result = {
|
|
312
|
-
state: finalState,
|
|
313
|
-
|
|
357
|
+
state: finalState,
|
|
358
|
+
stoppedReason,
|
|
359
|
+
steps,
|
|
360
|
+
environment,
|
|
361
|
+
decision,
|
|
362
|
+
policySource,
|
|
363
|
+
generatedVariables,
|
|
364
|
+
mapUpdates,
|
|
365
|
+
mapArtifactUri,
|
|
366
|
+
evidenceUris,
|
|
367
|
+
needsInput,
|
|
368
|
+
pathTaken,
|
|
369
|
+
nextRecommendedTool,
|
|
370
|
+
accountOutcome,
|
|
314
371
|
};
|
|
315
372
|
return result;
|
|
316
373
|
}
|
|
@@ -320,10 +377,14 @@ function hasProvidedCredsNow(session) {
|
|
|
320
377
|
}
|
|
321
378
|
function selectorKind(strategy) {
|
|
322
379
|
switch (strategy) {
|
|
323
|
-
case 'accessibility':
|
|
324
|
-
|
|
325
|
-
case '
|
|
326
|
-
|
|
380
|
+
case 'accessibility':
|
|
381
|
+
return 'accessibility_id';
|
|
382
|
+
case 'id':
|
|
383
|
+
return 'resource_id';
|
|
384
|
+
case 'text':
|
|
385
|
+
return 'text';
|
|
386
|
+
default:
|
|
387
|
+
return 'coords';
|
|
327
388
|
}
|
|
328
389
|
}
|
|
329
390
|
// Re-exported for callers that want gate/terminal sets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firstRunRunner.js","sourceRoot":"","sources":["../../src/firstRun/firstRunRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firstRunRunner.js","sourceRoot":"","sources":["../../src/firstRun/firstRunRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Safe generated-data policy + environment classifier + built-in safe generators.
|
|
2
2
|
//
|
|
3
3
|
// Controlled autonomy: Swipium will only invent values for input fields (to create a throwaway
|
|
4
4
|
// account, fill onboarding, etc.) when policy AND the classified environment say it is safe. The
|
|
5
5
|
// guardrails follow the MCP security best-practices (consent, least privilege) and Anthropic's
|
|
6
|
-
// "use environmental ground truth at each step" guidance
|
|
6
|
+
// "use environmental ground truth at each step" guidance. If production cannot be ruled out, we do
|
|
7
7
|
// NOT create an account; we ask one NeedsInput question instead.
|
|
8
8
|
//
|
|
9
9
|
// Secrets (generated passwords) are flagged so they go into the session redaction set and never
|
|
@@ -37,11 +37,9 @@ export const DEFAULT_TEST_DATA_POLICY = {
|
|
|
37
37
|
};
|
|
38
38
|
export const DEFAULT_POLICY_PATH = '.swipium/test-data-policy.json';
|
|
39
39
|
/** Load `.swipium/test-data-policy.json` from the project root (or an explicit path), deep-merged
|
|
40
|
-
* over the safe default. A missing/corrupt file falls back to the default
|
|
40
|
+
* over the safe default. A missing/corrupt file falls back to the default. Never throws. */
|
|
41
41
|
export function loadTestDataPolicy(root, explicitPath) {
|
|
42
|
-
const path = explicitPath
|
|
43
|
-
? (explicitPath.startsWith('/') ? explicitPath : join(root, explicitPath))
|
|
44
|
-
: join(root, DEFAULT_POLICY_PATH);
|
|
42
|
+
const path = explicitPath ? (explicitPath.startsWith('/') ? explicitPath : join(root, explicitPath)) : join(root, DEFAULT_POLICY_PATH);
|
|
45
43
|
if (!existsSync(path))
|
|
46
44
|
return { policy: DEFAULT_TEST_DATA_POLICY, source: 'default' };
|
|
47
45
|
try {
|
|
@@ -135,8 +133,8 @@ export function classifyEnvironment(input) {
|
|
|
135
133
|
if (prodHits > 0) {
|
|
136
134
|
return { environment: 'production', confidence: Math.min(0.85, 0.55 + prodHits * 0.15), signals, productionRisk: true };
|
|
137
135
|
}
|
|
138
|
-
// 4. Nothing decisive
|
|
139
|
-
signals.push('no decisive test/staging signal
|
|
136
|
+
// 4. Nothing decisive > unknown, and we MUST treat unknown as production-risk (fail safe).
|
|
137
|
+
signals.push('no decisive test/staging signal; environment cannot be confirmed as non-production');
|
|
140
138
|
return { environment: 'unknown', confidence: 0.3, signals, productionRisk: true };
|
|
141
139
|
}
|
|
142
140
|
/** Combine policy + environment into the single "may Swipium create a throwaway account?" verdict. */
|
|
@@ -151,8 +149,8 @@ export function decideGeneratedAccount(policy, env, override) {
|
|
|
151
149
|
return {
|
|
152
150
|
allowed: false,
|
|
153
151
|
reason: env.environment === 'production'
|
|
154
|
-
? 'environment classified as production
|
|
155
|
-
: 'environment could not be confirmed as non-production
|
|
152
|
+
? 'environment classified as production, refusing automatic account creation'
|
|
153
|
+
: 'environment could not be confirmed as non-production, refusing automatic account creation',
|
|
156
154
|
environment: env,
|
|
157
155
|
};
|
|
158
156
|
}
|
|
@@ -160,13 +158,21 @@ export function decideGeneratedAccount(policy, env, override) {
|
|
|
160
158
|
return { allowed: false, reason: 'policy disallows generated accounts (allowGeneratedAccounts="never")', environment: env };
|
|
161
159
|
}
|
|
162
160
|
if (policy.allowGeneratedAccounts === 'always' || override === true) {
|
|
163
|
-
return {
|
|
161
|
+
return {
|
|
162
|
+
allowed: true,
|
|
163
|
+
reason: override === true ? 'generated account explicitly approved for this run' : 'policy allows generated accounts (always)',
|
|
164
|
+
environment: env,
|
|
165
|
+
};
|
|
164
166
|
}
|
|
165
167
|
// test_or_staging_only
|
|
166
168
|
if (env.environment === 'test' || env.environment === 'staging') {
|
|
167
169
|
return { allowed: true, reason: `policy allows generated accounts in ${env.environment} (test_or_staging_only)`, environment: env };
|
|
168
170
|
}
|
|
169
|
-
return {
|
|
171
|
+
return {
|
|
172
|
+
allowed: false,
|
|
173
|
+
reason: `policy allows generated accounts only in test/staging; environment is "${env.environment}"`,
|
|
174
|
+
environment: env,
|
|
175
|
+
};
|
|
170
176
|
}
|
|
171
177
|
const GIVEN_NAMES = ['Alex', 'Sam', 'Jordan', 'Taylor', 'Casey', 'Riley', 'Morgan', 'Jamie'];
|
|
172
178
|
const FAMILY_NAMES = ['Tester', 'Quality', 'Sample', 'Probe', 'Fixture'];
|
|
@@ -177,7 +183,7 @@ function emailFromPattern(pattern, ts, index) {
|
|
|
177
183
|
}
|
|
178
184
|
/** Generate a safe value for a field kind under the policy. Returns undefined when the field kind
|
|
179
185
|
* is not safely generatable without explicit policy opt-in (phone/date_of_birth) or never
|
|
180
|
-
* (otp
|
|
186
|
+
* (otp, which must come from a real provider). */
|
|
181
187
|
export function generateFieldValue(field, policy, opts = {}) {
|
|
182
188
|
const ts = opts.timestamp ?? Date.now();
|
|
183
189
|
const i = opts.index;
|
|
@@ -191,7 +197,11 @@ export function generateFieldValue(field, policy, opts = {}) {
|
|
|
191
197
|
case 'confirm_password':
|
|
192
198
|
return { value: policy.password.value, secret: policy.password.secret, generator: policy.password.generator };
|
|
193
199
|
case 'name':
|
|
194
|
-
return {
|
|
200
|
+
return {
|
|
201
|
+
value: `${GIVEN_NAMES[ts % GIVEN_NAMES.length]} ${FAMILY_NAMES[ts % FAMILY_NAMES.length]}`,
|
|
202
|
+
secret: false,
|
|
203
|
+
generator: 'name_default',
|
|
204
|
+
};
|
|
195
205
|
case 'first_name':
|
|
196
206
|
return { value: GIVEN_NAMES[ts % GIVEN_NAMES.length], secret: false, generator: 'name_default' };
|
|
197
207
|
case 'last_name':
|
|
@@ -207,7 +217,7 @@ export function generateFieldValue(field, policy, opts = {}) {
|
|
|
207
217
|
case 'date_of_birth':
|
|
208
218
|
return policy.allowDateOfBirth ? { value: '1990-01-15', secret: false, generator: 'dob_default' } : undefined;
|
|
209
219
|
case 'otp':
|
|
210
|
-
return undefined; // never invented
|
|
220
|
+
return undefined; // never invented; only a declared provider may supply it
|
|
211
221
|
default:
|
|
212
222
|
return undefined;
|
|
213
223
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatedDataPolicy.js","sourceRoot":"","sources":["../../src/firstRun/generatedDataPolicy.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"generatedDataPolicy.js","sourceRoot":"","sources":["../../src/firstRun/generatedDataPolicy.ts"],"names":[],"mappings":"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"}
|