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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/automation/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/automation/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
// Automation Kernel V2
|
|
1
|
+
// Automation Kernel V2, Workstream 9: Automation Readiness Output. Turns an AutomationPlan into one
|
|
2
2
|
// consistent response shape with natural-language messages a coding agent can repeat verbatim to the
|
|
3
3
|
// user. The canonical phrases below match the plan's required wording for each backend/fallback case.
|
|
4
4
|
import { isVisualStrategy } from './types.js';
|
|
5
|
-
// Canonical phrases (plan Workstream 9
|
|
5
|
+
// Canonical phrases (plan Workstream 9, "Required phrases").
|
|
6
6
|
const PHRASE = {
|
|
7
7
|
iosRawSimulator: 'I can launch and inspect the app in the iOS simulator, but this backend cannot run structured taps. Attach WDA or Appium for selector-based automation.',
|
|
8
8
|
androidDirect: 'I can run this on Android using resource-id/accessibility/text selectors. Unicode text input needs a stronger backend or fixture adjustment.',
|
|
9
9
|
appiumRequired: 'This flow needs an Appium backend because it uses a WebView context or gesture that the current backend cannot perform.',
|
|
10
10
|
visualFallback: 'I can continue with visual/OCR evidence, but that is candidate-level evidence and not a structured locator proof.',
|
|
11
11
|
};
|
|
12
|
-
// Structured interaction/assertion kinds
|
|
12
|
+
// Structured interaction/assertion kinds: the ones that produce structured-locator proof. Lifecycle
|
|
13
13
|
// and control steps (openUrl, pressKey, waitForIdle, lifecycle) do NOT make a flow "ready" on their own.
|
|
14
14
|
const STRUCTURED_PROOF_KINDS = new Set([
|
|
15
|
-
'tap',
|
|
16
|
-
'
|
|
15
|
+
'tap',
|
|
16
|
+
'longPress',
|
|
17
|
+
'doubleTap',
|
|
18
|
+
'inputText',
|
|
19
|
+
'clearText',
|
|
20
|
+
'scrollUntilVisible',
|
|
21
|
+
'swipe',
|
|
22
|
+
'drag',
|
|
23
|
+
'pinch',
|
|
24
|
+
'waitForVisible',
|
|
25
|
+
'waitForNotVisible',
|
|
26
|
+
'assertVisible',
|
|
17
27
|
]);
|
|
18
28
|
function providesStructuredProof(step) {
|
|
19
29
|
if (step.support !== 'native' && step.support !== 'supported_with_fallback')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/automation/report.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/automation/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
// Automation Kernel V2
|
|
2
|
-
// Flow V2,
|
|
3
|
-
//
|
|
4
|
-
//
|
|
1
|
+
// Automation Kernel V2, Workstream 2: Selector IR V2. One normalized selector model shared by
|
|
2
|
+
// Flow V2, the Appium audit, and flow repair. Parses the existing Swipium selector string
|
|
3
|
+
// grammar, normalizes Android resource ids, scores risk/portability, preserves provenance, and
|
|
4
|
+
// refuses unsupported strategies per backend. NEVER generates XPath. (Maestro interop left the
|
|
5
|
+
// public surface in 1.5.0; the `maestro_import` SelectorSource remains valid for flows recorded
|
|
6
|
+
// by earlier versions.)
|
|
5
7
|
import { selectorSupported } from './capabilities.js';
|
|
6
8
|
import { isVisualStrategy } from './types.js';
|
|
7
9
|
const PLATFORM_FOR_STRATEGY = {
|
|
@@ -42,7 +44,7 @@ function riskFor(strategy, value, hints) {
|
|
|
42
44
|
* Parse one Swipium selector string into Selector IR. Recognizes the existing grammar:
|
|
43
45
|
* `id=foo`, `id/foo`, `com.example:id/foo`, `accessibility id=foo`, `name=foo`,
|
|
44
46
|
* `predicate string=...`, `class chain=...`, and bare text.
|
|
45
|
-
* OCR / image selectors come from dedicated flow steps, not this string grammar
|
|
47
|
+
* OCR / image selectors come from dedicated flow steps, not this string grammar. See selectorForVisual().
|
|
46
48
|
*/
|
|
47
49
|
export function parseSelector(raw, opts = {}) {
|
|
48
50
|
const source = opts.source ?? 'flow';
|
|
@@ -85,7 +87,7 @@ export function selectorForVisual(strategy, value, opts = {}) {
|
|
|
85
87
|
portable: true,
|
|
86
88
|
};
|
|
87
89
|
}
|
|
88
|
-
/** A coordinate selector (tapAt)
|
|
90
|
+
/** A coordinate selector (tapAt). Always last-resort, non-portable, high risk. */
|
|
89
91
|
export function selectorForCoordinate(value, source = 'flow') {
|
|
90
92
|
return { strategy: 'coordinate', value, platform: 'cross_platform', source, risk: 'high', portable: false };
|
|
91
93
|
}
|
|
@@ -126,9 +128,14 @@ export function checkSelectorCiRisk(ir) {
|
|
|
126
128
|
* are AMBIGUOUS_SELECTOR unless the IR's hints (boundsBucket / screenSignature) disambiguate to one.
|
|
127
129
|
*/
|
|
128
130
|
export function resolveSelector(ir, candidates) {
|
|
129
|
-
const key = (c) => ir.strategy === 'resource_id'
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
const key = (c) => ir.strategy === 'resource_id'
|
|
132
|
+
? c.resourceId
|
|
133
|
+
? normalizeResourceId(c.resourceId)
|
|
134
|
+
: undefined
|
|
135
|
+
: ir.strategy === 'accessibility_id'
|
|
136
|
+
? c.accessibilityId
|
|
137
|
+
: ir.strategy === 'text'
|
|
138
|
+
? c.text
|
|
132
139
|
: undefined;
|
|
133
140
|
let matches = candidates.filter((c) => key(c) === ir.value);
|
|
134
141
|
if (matches.length === 0) {
|
|
@@ -157,7 +164,7 @@ export function resolveSelector(ir, candidates) {
|
|
|
157
164
|
};
|
|
158
165
|
}
|
|
159
166
|
/**
|
|
160
|
-
* Export a Selector IR to an Appium native locator strategy. NEVER returns XPath
|
|
167
|
+
* Export a Selector IR to an Appium native locator strategy. NEVER returns XPath: visual/coordinate
|
|
161
168
|
* strategies have no Appium native locator and return null (the caller must mark them manual_review).
|
|
162
169
|
*/
|
|
163
170
|
export function selectorToAppium(ir) {
|
|
@@ -172,28 +179,15 @@ export function selectorToAppium(ir) {
|
|
|
172
179
|
return { using: '-ios class chain', value: ir.value };
|
|
173
180
|
case 'text':
|
|
174
181
|
// Prefer a UiAutomator native text matcher over XPath for Android.
|
|
175
|
-
|
|
182
|
+
// Backslashes must be doubled before quotes so a value ending in `\` can't escape the closing quote.
|
|
183
|
+
return {
|
|
184
|
+
using: '-android uiautomator',
|
|
185
|
+
value: `new UiSelector().text("${ir.value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}")`,
|
|
186
|
+
};
|
|
176
187
|
default:
|
|
177
188
|
return null;
|
|
178
189
|
}
|
|
179
190
|
}
|
|
180
|
-
/** Convert a Maestro selector block (string | { id|text|... }) to Selector IR without semantic loss. */
|
|
181
|
-
export function selectorFromMaestro(value, source = 'maestro_import') {
|
|
182
|
-
if (typeof value === 'string')
|
|
183
|
-
return parseSelector(value, { source });
|
|
184
|
-
if (!value || typeof value !== 'object')
|
|
185
|
-
return null;
|
|
186
|
-
const v = value;
|
|
187
|
-
if (typeof v.id === 'string')
|
|
188
|
-
return parseSelector(`id=${v.id}`, { source });
|
|
189
|
-
if (typeof v['accessibility id'] === 'string')
|
|
190
|
-
return parseSelector(`accessibility id=${v['accessibility id']}`, { source });
|
|
191
|
-
if (typeof v.label === 'string')
|
|
192
|
-
return parseSelector(`accessibility id=${v.label}`, { source });
|
|
193
|
-
if (typeof v.text === 'string')
|
|
194
|
-
return parseSelector(v.text, { source });
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
191
|
/** True when the strategy is a structured (non-visual) locator. */
|
|
198
192
|
export function isStructuredSelector(ir) {
|
|
199
193
|
return !isVisualStrategy(ir.strategy) && ir.strategy !== 'coordinate';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/automation/selectors.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/automation/selectors.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,+FAA+F;AAC/F,+FAA+F;AAC/F,gGAAgG;AAChG,wBAAwB;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,qBAAqB,GAA8D;IACvF,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,mBAAmB,GAAgC,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAE3G,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC;AAED,SAAS,OAAO,CAAC,QAA0B,EAAE,KAAa,EAAE,KAAqB;IAC/E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,kBAAkB,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC;QACf,KAAK,eAAe,CAAC;QACrB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,wFAAwF;YACxF,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,KAAK,EAAE,eAAe,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5F,OAAO,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,CAAC;QACD,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,YAAY;YACf,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,OAA8F,EAAE;IAEhG,MAAM,MAAM,GAAmB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAErB,MAAM,IAAI,GAAG,CAAC,QAA0B,EAAE,KAAa,EAAc,EAAE,CAAC,CAAC;QACvE,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,gBAAgB;QAC9E,MAAM;QACN,KAAK;QACL,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;QACrC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACjD,CAAC,CAAC;IAEH,IAAI,CAA0B,CAAC;IAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,qGAAqG;IACrG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAC/B,QAA8B,EAC9B,KAAa,EACb,OAA2D,EAAE;IAE7D,OAAO;QACL,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,SAAyB,MAAM;IAClF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9G,CAAC;AASD,+FAA+F;AAC/F,MAAM,UAAU,oBAAoB,CAAC,EAAc,EAAE,IAAyB;IAC5E,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrE,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,iCAAiC,IAAI,CAAC,OAAO,GAAG;QACtE,QAAQ,EAAE,8BAA8B,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,QAA0B,EAAE,IAAyB;IAC3F,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACnE,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,IAAI,CAAC,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACnH,OAAO,2FAA2F,CAAC;IACrG,CAAC;IACD,OAAO,kCAAkC,QAAQ,GAAG,CAAC;AACvD,CAAC;AASD,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,EAAc;IAChD,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,sFAAsF;YAC9F,QAAQ,EAAE,gHAAgH;SAC3H,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAc,EAAE,UAAoC;IAClF,MAAM,GAAG,GAAG,CAAC,CAAyB,EAAsB,EAAE,CAC5D,EAAE,CAAC,QAAQ,KAAK,aAAa;QAC3B,CAAC,CAAC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,EAAE,CAAC,QAAQ,KAAK,kBAAkB;YAClC,CAAC,CAAC,CAAC,CAAC,eAAe;YACnB,CAAC,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM;gBACtB,CAAC,CAAC,CAAC,CAAC,IAAI;gBACR,CAAC,CAAC,SAAS,CAAC;IAEpB,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,gCAAgC;IAChC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAC,KAAM,CAAC,YAAY,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,GAAG,QAAQ,CAAC;IAC1C,CAAC;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,EAAE,CAAC,KAAM,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,mBAAmB,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,gFAAgF;QACnJ,OAAO,EAAE,OAAO,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAc;IAC7C,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1C,KAAK,kBAAkB;YACrB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QACxD,KAAK,eAAe;YAClB,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QAC7D,KAAK,iBAAiB;YACpB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QACxD,KAAK,MAAM;YACT,mEAAmE;YACnE,qGAAqG;YACrG,OAAO;gBACL,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,0BAA0B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;aAC1F,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CAAC,EAAc;IACjD,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,KAAK,YAAY,CAAC;AACxE,CAAC"}
|
package/dist/automation/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Automation Kernel V2
|
|
1
|
+
// Automation Kernel V2 shared types (Developer 3 lane). A backend-neutral automation model that
|
|
2
2
|
// lets a Flow V2 file be compiled into a deterministic, capability-checked plan *before* a device
|
|
3
3
|
// is touched. Everything here is pure data: no I/O, no driver calls. The runner, the planning
|
|
4
4
|
// tools, Maestro interop, and the Appium audit all share these types so "the same flow means the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/automation/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/automation/types.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,kGAAkG;AAClG,8FAA8F;AAC9F,iGAAiG;AACjG,qCAAqC;AACrC,EAAE;AACF,wFAAwF;AA6BxF,yGAAyG;AACzG,MAAM,CAAC,MAAM,iBAAiB,GAAgC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEpF,MAAM,UAAU,gBAAgB,CAAC,QAA0B;IACzD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/automation/waits.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Automation Kernel V2
|
|
1
|
+
// Automation Kernel V2, Workstream 4: Wait and Stability Engine. Explicit wait contracts that
|
|
2
2
|
// replace scattered sleeps. Assertions act as efficient condition waits (Maestro parity); idle waits
|
|
3
3
|
// label their source as app_declared | backend | heuristic (Espresso parity); tap retry is explicit
|
|
4
4
|
// and recorded, never a hidden loop. All executors take an injectable clock so they are deterministic
|
|
@@ -33,7 +33,7 @@ export async function waitForVisible(isVisible, opts) {
|
|
|
33
33
|
const r = await waitForCondition(isVisible, opts);
|
|
34
34
|
return { ...r, visible: r.ok };
|
|
35
35
|
}
|
|
36
|
-
/** Wait until an element is NOT visible
|
|
36
|
+
/** Wait until an element is NOT visible, e.g. a spinner / modal disappears. */
|
|
37
37
|
export async function waitForNotVisible(isVisible, opts) {
|
|
38
38
|
const r = await waitForCondition(async () => !(await isVisible()), opts);
|
|
39
39
|
return { ...r, visible: !r.ok };
|
|
@@ -42,19 +42,25 @@ export async function waitForNotVisible(isVisible, opts) {
|
|
|
42
42
|
* Wait for the UI to settle. The caller declares which idle source is in play:
|
|
43
43
|
* - app_declared: an Espresso/RN idling resource the app exposes (the only true proof)
|
|
44
44
|
* - backend: WDA/XCTest waitForIdle or driver-level idle
|
|
45
|
-
* - heuristic: best-effort settling (screenshot stability etc.)
|
|
45
|
+
* - heuristic: best-effort settling (screenshot stability etc.), labeled as NOT app proof
|
|
46
46
|
*/
|
|
47
47
|
export async function waitForIdle(isIdle, opts) {
|
|
48
48
|
const r = await waitForCondition(isIdle, opts);
|
|
49
49
|
const appProof = opts.source === 'app_declared' && r.ok;
|
|
50
50
|
const detail = opts.source === 'app_declared'
|
|
51
|
-
? r.ok
|
|
51
|
+
? r.ok
|
|
52
|
+
? 'app-declared idling resource reported idle'
|
|
53
|
+
: 'app-declared idling resource did not settle within timeout'
|
|
52
54
|
: opts.source === 'backend'
|
|
53
|
-
? r.ok
|
|
54
|
-
|
|
55
|
+
? r.ok
|
|
56
|
+
? 'backend (WDA/XCTest) idle reported'
|
|
57
|
+
: 'backend idle did not settle within timeout'
|
|
58
|
+
: r.ok
|
|
59
|
+
? 'heuristic settling reached (not app-declared proof)'
|
|
60
|
+
: 'heuristic settling did not stabilize within timeout';
|
|
55
61
|
return { ok: r.ok, source: opts.source, elapsedMs: r.elapsedMs, polls: r.polls, timedOut: r.timedOut, appProof, detail };
|
|
56
62
|
}
|
|
57
|
-
/** waitForAnimationToEnd
|
|
63
|
+
/** waitForAnimationToEnd: on timeout, pass with a warning rather than fail. */
|
|
58
64
|
export async function waitForAnimationToEnd(isAnimating, opts) {
|
|
59
65
|
const r = await waitForCondition(async () => !(await isAnimating()), opts);
|
|
60
66
|
if (r.ok)
|
|
@@ -69,7 +75,7 @@ export async function waitForAnimationToEnd(isAnimating, opts) {
|
|
|
69
75
|
/**
|
|
70
76
|
* Tap with explicit `retryTapIfNoChange` semantics. Taps once; if the UI did not change AND retry is
|
|
71
77
|
* enabled, taps exactly one more time. Every attempt (with before/after signatures) is recorded so
|
|
72
|
-
* the retry is visible in the plan and evidence
|
|
78
|
+
* the retry is visible in the plan and evidence. Never a hidden loop.
|
|
73
79
|
*/
|
|
74
80
|
export async function retryTapIfNoChange(doTap, screenSignature, opts) {
|
|
75
81
|
const attempts = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waits.js","sourceRoot":"","sources":["../../src/automation/waits.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"waits.js","sourceRoot":"","sources":["../../src/automation/waits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Automation Kernel V2
|
|
1
|
+
// Automation Kernel V2, Workstream 7 (Stage 1): Hybrid / WebView awareness. Pure detection of
|
|
2
2
|
// probable WebView / canvas / map surfaces from UI-tree element classes, plus the diagnostics that
|
|
3
3
|
// tell a developer whether structured automation is possible or whether Appium context support (or a
|
|
4
4
|
// native accessibility id) is required. Stage 1 is detection + read-only Appium context inventory; it
|
|
@@ -34,7 +34,13 @@ export function detectHybridSurface(elements, opts = {}) {
|
|
|
34
34
|
const softHybrid = surfaces.length === 0 && (opts.visualFallbackRatio ?? 0) >= 0.5;
|
|
35
35
|
const hybrid = surfaces.length > 0 || softHybrid;
|
|
36
36
|
if (!hybrid) {
|
|
37
|
-
return {
|
|
37
|
+
return {
|
|
38
|
+
hybrid: false,
|
|
39
|
+
surfaces,
|
|
40
|
+
diagnostic: 'NATIVE',
|
|
41
|
+
appiumRequired: false,
|
|
42
|
+
agentMessage: 'This screen looks like a native UI tree; structured selectors should work.',
|
|
43
|
+
};
|
|
38
44
|
}
|
|
39
45
|
const hasWebview = surfaces.some((s) => s.kind === 'webview') || softHybrid;
|
|
40
46
|
const nonNativeContexts = (opts.contexts ?? []).filter((c) => !/^native_app$/i.test(c));
|
|
@@ -65,7 +71,7 @@ export function detectHybridSurface(elements, opts = {}) {
|
|
|
65
71
|
agentMessage: 'This screen looks like a WebView. I need Appium context support or a native accessibility id to automate it structurally; otherwise I can only produce visual candidate evidence.',
|
|
66
72
|
};
|
|
67
73
|
}
|
|
68
|
-
/** Read-only Appium context inventory (Stage 2 deliverable
|
|
74
|
+
/** Read-only Appium context inventory (Stage 2 deliverable, no arbitrary JS execution). */
|
|
69
75
|
export function summarizeAppiumContexts(contexts, current) {
|
|
70
76
|
const webviewContexts = contexts.filter((c) => !/^native_app$/i.test(c));
|
|
71
77
|
return { current: current ?? null, available: [...contexts], webviewContexts };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webview.js","sourceRoot":"","sources":["../../src/automation/webview.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"webview.js","sourceRoot":"","sources":["../../src/automation/webview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Cross-platform Appium POM model. Pure transform of the canonical Swipium POM
|
|
2
2
|
// (src/suite/pom.ts) into an Appium-ready, language-agnostic screen model that the JS and Python
|
|
3
3
|
// emitters share. This is the "shared intermediate model" the requirement asks for so generated
|
|
4
4
|
// JS/Python cannot drift from Swipium YAML semantics.
|
|
5
5
|
//
|
|
6
|
-
// Locator policy (
|
|
6
|
+
// Locator policy (follows Appium locator-strategy guidance):
|
|
7
7
|
// accessibility id > resource-id/id > iOS predicate/class-chain/name > text > coordinate.
|
|
8
8
|
// XPath is NEVER emitted; coordinate is the explicit non-release-grade fallback.
|
|
9
|
-
|
|
9
|
+
import { asciiFold } from './identifiers.js';
|
|
10
|
+
/** PomPage name (LoginPage) > screen class name (LoginScreen). */
|
|
10
11
|
export function screenClassName(pageName) {
|
|
11
12
|
return /Page$/.test(pageName) ? pageName.replace(/Page$/, 'Screen') : `${pageName}Screen`;
|
|
12
13
|
}
|
|
@@ -21,7 +22,7 @@ function locator(strategy, value) {
|
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Compute the platform-specific Appium locators for one POM element selectorKind.
|
|
24
|
-
* Returns { android, ios, fallback }
|
|
25
|
+
* Returns { android, ios, fallback }, any of which may be undefined.
|
|
25
26
|
*/
|
|
26
27
|
function locatorsFor(selectorKind, selector, coords, platforms) {
|
|
27
28
|
const value = selector ?? '';
|
|
@@ -40,7 +41,7 @@ function locatorsFor(selectorKind, selector, coords, platforms) {
|
|
|
40
41
|
case 'class_chain':
|
|
41
42
|
return { ios: platforms.ios ? locator('iosClassChain', value) : undefined };
|
|
42
43
|
case 'text': {
|
|
43
|
-
// text
|
|
44
|
+
// text > Android UiAutomator text match (semi), iOS name match (semi). Both fragile.
|
|
44
45
|
const android = platforms.android ? locator('androidUiautomator', value) : undefined;
|
|
45
46
|
const ios = platforms.ios ? locator('name', value) : undefined;
|
|
46
47
|
return { android, ios, fallback: locator('androidUiautomator', value) };
|
|
@@ -74,7 +75,9 @@ export function buildAppiumModel(pom, opts) {
|
|
|
74
75
|
secure: e.secure,
|
|
75
76
|
remediation: e.remediation,
|
|
76
77
|
mapScreenId: p.screen,
|
|
77
|
-
sourceFile: opts.sourceFilePrefix
|
|
78
|
+
sourceFile: opts.sourceFilePrefix
|
|
79
|
+
? `${opts.sourceFilePrefix}/pages/${kebab(p.name)}.page.yaml`
|
|
80
|
+
: `pages/${kebab(p.name)}.page.yaml`,
|
|
78
81
|
};
|
|
79
82
|
});
|
|
80
83
|
return { className, pageName: p.name, screenSignature: p.screen, elements };
|
|
@@ -102,7 +105,7 @@ function toStep(s, secrets, variables) {
|
|
|
102
105
|
variables.add(m[1]);
|
|
103
106
|
return { ...base, action: 'inputText', text: s.text, secret: s.secret, varName: m[1] };
|
|
104
107
|
}
|
|
105
|
-
// literal non-secret text
|
|
108
|
+
// literal non-secret text; also scan for embedded ${VARS}
|
|
106
109
|
for (const mm of (s.text ?? '').matchAll(/\$\{([^}]+)\}/g))
|
|
107
110
|
variables.add(mm[1]);
|
|
108
111
|
return { ...base, action: 'inputText', text: s.text ?? '', secret: s.secret };
|
|
@@ -113,14 +116,19 @@ function toStep(s, secrets, variables) {
|
|
|
113
116
|
return { ...base, action: 'press', key: s.key };
|
|
114
117
|
if (s.action === 'swipe')
|
|
115
118
|
return { ...base, action: 'swipe', direction: s.direction };
|
|
119
|
+
// scrollTo carries the CONTENT direction the recording scrolled in ('down' reveals content below).
|
|
120
|
+
if (s.action === 'scrollTo')
|
|
121
|
+
return { ...base, action: 'scrollTo', direction: s.direction, text: s.element ? undefined : s.text };
|
|
116
122
|
if (s.action === 'openUrl')
|
|
117
123
|
return { ...base, action: 'openUrl', url: s.url };
|
|
118
124
|
if (s.action === 'assertVisible')
|
|
119
125
|
return { ...base, action: 'assertVisible', text: s.text };
|
|
126
|
+
if (s.action === 'visualCheck')
|
|
127
|
+
return { ...base, element: undefined, action: 'visualCheck', text: s.text };
|
|
120
128
|
return base;
|
|
121
129
|
}
|
|
122
130
|
function kebab(s) {
|
|
123
|
-
return s
|
|
131
|
+
return asciiFold(s)
|
|
124
132
|
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')
|
|
125
133
|
.replace(/[^A-Za-z0-9]+/g, '-')
|
|
126
134
|
.replace(/^-+|-+$/g, '')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appiumModel.js","sourceRoot":"","sources":["../../src/automationGen/appiumModel.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"appiumModel.js","sourceRoot":"","sources":["../../src/automationGen/appiumModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
//
|
|
1
|
+
// CI example emitter. Pure: produces a LOCAL-Appium CI template (GitHub Actions)
|
|
2
2
|
// for the generated JS or Python suite. Per the non-goals, this is a starting example only (no cloud
|
|
3
|
-
// device-farm config), and the tool writes it as `ci.example.yml
|
|
4
|
-
export function emitCiExample(language,
|
|
3
|
+
// device-farm config), and the tool writes it as `ci.example.yml`, never as an active workflow.
|
|
4
|
+
export function emitCiExample(language, _opts = {}) {
|
|
5
5
|
if (language === 'python')
|
|
6
6
|
return pythonCi();
|
|
7
7
|
return jsCi(language);
|
|
8
8
|
}
|
|
9
9
|
function jsCi(language) {
|
|
10
10
|
const installTs = language === 'typescript' ? '' : '';
|
|
11
|
-
return `# Generated by Swipium
|
|
11
|
+
return `# Generated by Swipium. EXAMPLE local-Appium CI (rename to .github/workflows/*.yml to enable).
|
|
12
12
|
# Local Appium + Android emulator only. No cloud device farm (out of scope for v1).
|
|
13
13
|
name: appium-e2e (example)
|
|
14
14
|
on:
|
|
@@ -37,12 +37,12 @@ jobs:
|
|
|
37
37
|
sleep 8
|
|
38
38
|
ANDROID_APP_PACKAGE=\${{ env.ANDROID_APP_PACKAGE }} npm test
|
|
39
39
|
env:
|
|
40
|
-
# Provide secrets via repo/Org secrets
|
|
40
|
+
# Provide secrets via repo/Org secrets. Never commit them.
|
|
41
41
|
SWIPIUM_TEST_PASSWORD: \${{ secrets.SWIPIUM_TEST_PASSWORD }}
|
|
42
42
|
`;
|
|
43
43
|
}
|
|
44
44
|
function pythonCi() {
|
|
45
|
-
return `# Generated by Swipium
|
|
45
|
+
return `# Generated by Swipium. EXAMPLE local-Appium CI (rename to .github/workflows/*.yml to enable).
|
|
46
46
|
# Local Appium + Android emulator only. No cloud device farm (out of scope for v1).
|
|
47
47
|
name: appium-e2e (example)
|
|
48
48
|
on:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ciEmitter.js","sourceRoot":"","sources":["../../src/automationGen/ciEmitter.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ciEmitter.js","sourceRoot":"","sources":["../../src/automationGen/ciEmitter.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qGAAqG;AACrG,gGAAgG;AAIhG,MAAM,UAAU,aAAa,CAAC,QAA4B,EAAE,QAA4B,EAAE;IACxF,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,EAAE,CAAC;IAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,QAA4B;IACxC,MAAM,SAAS,GAAG,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO;;;;;;;;;;;;;;0BAciB,SAAS;;;;;;;;;;;;;;;;;CAiBlC,CAAC;AACF,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCR,CAAC;AACF,CAAC"}
|