@deeeed/metamask-harness 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/adapters/extension/artifact-runtime-state.cjs +128 -0
  3. package/adapters/extension/inject.mjs +1 -0
  4. package/adapters/extension/launch-browser.cjs +22 -0
  5. package/adapters/extension/live.sh +82 -12
  6. package/adapters/extension/readiness.mjs +77 -36
  7. package/adapters/extension/snapshot-dist.sh +88 -3
  8. package/adapters/extension/verify.sh +6 -2
  9. package/adapters/manifest.json +9 -1
  10. package/adapters/shared/log-tui.mjs +1 -1
  11. package/dist/adapters/extension/artifact-integrity.js +38 -0
  12. package/dist/adapters/extension/extension-id.js +23 -4
  13. package/dist/adapters/extension/release-artifact.js +386 -0
  14. package/dist/adapters/extension/runtime-decision.js +161 -20
  15. package/dist/adapters/extension/runtime.js +127 -0
  16. package/dist/adapters/mobile/release-artifact-state.js +124 -0
  17. package/dist/adapters/mobile/release-artifact.js +295 -0
  18. package/dist/adapters.js +11 -4
  19. package/dist/command-contract.js +16 -0
  20. package/dist/commands/call.js +2 -1
  21. package/dist/commands/launch/extension.js +55 -6
  22. package/dist/commands/launch/mobile.js +2 -0
  23. package/dist/commands/provision.js +2 -0
  24. package/dist/commands/run-engine.js +89 -5
  25. package/dist/commands/run.js +3 -1
  26. package/dist/commands/runtime-launch.js +178 -10
  27. package/dist/heal-bounds.js +1 -1
  28. package/dist/live-adapter-contract.js +3 -1
  29. package/dist/metamask-action-validation.js +47 -1
  30. package/dist/mm-harness-cli.js +31 -1
  31. package/dist/run-diagnostics.js +1 -1
  32. package/docs/RELEASE-QA-CAPABILITY-MAP.md +150 -0
  33. package/library/actions/extension/perps/perps.mjs +2 -0
  34. package/library/actions/extension/perps/read_snapshot.mjs +470 -0
  35. package/library/actions/extension/platform/cdp.mjs +6 -3
  36. package/library/actions/extension/wallet/import.mjs +13 -46
  37. package/library/actions/extension/wallet/secret-input.mjs +98 -0
  38. package/library/actions/mobile/platform/observe-ui.mjs +84 -2
  39. package/library/actions/mobile/ui/native-navigation.mjs +225 -0
  40. package/library/actions/mobile/ui/navigate.mjs +7 -0
  41. package/library/actions/mobile/wallet/import.mjs +71 -2
  42. package/library/actions/mobile/wallet/native-ui.mjs +493 -0
  43. package/library/actions/mobile/wallet/read_state.mjs +16 -0
  44. package/library/actions/mobile/wallet/reset.mjs +17 -4
  45. package/library/actions/shared/ui/locators.mjs +7 -0
  46. package/library/manifests/extension.action-manifest.json +116 -0
  47. package/library/manifests/mobile.action-manifest.json +16 -0
  48. package/library/recipes/extension/runner/action-validation.recipe.json +12 -1
  49. package/library/recipes/wallet/import.recipe.json +20 -1
  50. package/library/recipes/wallet/reset-import.recipe.json +20 -1
  51. package/package.json +1 -1
@@ -1316,6 +1316,22 @@
1316
1316
  "default": false,
1317
1317
  "description": "Enable MetaMetrics during visible onboarding."
1318
1318
  },
1319
+ "biometrics": {
1320
+ "type": "boolean",
1321
+ "enum": [false],
1322
+ "default": false,
1323
+ "description": "Biometric authentication is disabled because unattended recipes cannot satisfy the device prompt."
1324
+ },
1325
+ "notifications": {
1326
+ "type": "boolean",
1327
+ "default": false,
1328
+ "description": "Enable push notifications during Mobile onboarding; defaults off."
1329
+ },
1330
+ "skip_wallet_tour": {
1331
+ "type": "boolean",
1332
+ "default": true,
1333
+ "description": "Skip the Mobile wallet-home tour after onboarding; defaults on so recipes reach a usable wallet."
1334
+ },
1319
1335
  "interests": {
1320
1336
  "type": "array",
1321
1337
  "items": {
@@ -158,11 +158,22 @@
158
158
  },
159
159
  "perps-navigate-market": {
160
160
  "action": "ui.navigate",
161
- "next": "start-state",
161
+ "next": "read-snapshot",
162
162
  "intent": "Show the ETH Perps market details",
163
163
  "page": "perps-market",
164
164
  "market": "ETH"
165
165
  },
166
+ "read-snapshot": {
167
+ "action": "metamask.perps.read_snapshot",
168
+ "include": [
169
+ "markets"
170
+ ],
171
+ "markets": [
172
+ "ETH"
173
+ ],
174
+ "next": "start-state",
175
+ "intent": "Read a bounded live Perps market snapshot"
176
+ },
166
177
  "ensure-clean": {
167
178
  "action": "metamask.perps.ensure_positions",
168
179
  "market": "ETH",
@@ -33,6 +33,22 @@
33
33
  "default": false,
34
34
  "description": "Enable MetaMetrics during visible onboarding; defaults off."
35
35
  },
36
+ "biometrics": {
37
+ "type": "boolean",
38
+ "enum": [false],
39
+ "default": false,
40
+ "description": "Keep Mobile biometric authentication disabled for unattended validation."
41
+ },
42
+ "notifications": {
43
+ "type": "boolean",
44
+ "default": false,
45
+ "description": "Enable Mobile push notifications during onboarding; defaults off."
46
+ },
47
+ "skip_wallet_tour": {
48
+ "type": "boolean",
49
+ "default": true,
50
+ "description": "Skip the Mobile wallet-home tour so the recipe ends at a usable wallet."
51
+ },
36
52
  "interests": {
37
53
  "type": "array",
38
54
  "items": {
@@ -44,7 +60,7 @@
44
60
  },
45
61
  "timeout_ms": {
46
62
  "type": "number",
47
- "default": 120000,
63
+ "default": 300000,
48
64
  "description": "Maximum time for each onboarding transition and final wallet readiness."
49
65
  }
50
66
  }
@@ -64,6 +80,9 @@
64
80
  "srp_env": "{{params.srp_env}}",
65
81
  "password_env": "{{params.password_env}}",
66
82
  "metametrics": "{{params.metametrics}}",
83
+ "biometrics": "{{params.biometrics}}",
84
+ "notifications": "{{params.notifications}}",
85
+ "skip_wallet_tour": "{{params.skip_wallet_tour}}",
67
86
  "interests": "{{params.interests}}",
68
87
  "timeout_ms": "{{params.timeout_ms}}",
69
88
  "intent": "Reuse the fixture-backed wallet or import it through the visible onboarding flow",
@@ -27,6 +27,22 @@
27
27
  "default": false,
28
28
  "description": "Enable MetaMetrics during visible onboarding; defaults off."
29
29
  },
30
+ "biometrics": {
31
+ "type": "boolean",
32
+ "enum": [false],
33
+ "default": false,
34
+ "description": "Enable Mobile biometric authentication during onboarding; defaults off for unattended validation."
35
+ },
36
+ "notifications": {
37
+ "type": "boolean",
38
+ "default": false,
39
+ "description": "Enable Mobile push notifications during onboarding; defaults off."
40
+ },
41
+ "skip_wallet_tour": {
42
+ "type": "boolean",
43
+ "default": true,
44
+ "description": "Skip the Mobile wallet-home tour so the recipe ends at a usable wallet."
45
+ },
30
46
  "interests": {
31
47
  "type": "array",
32
48
  "items": {
@@ -38,7 +54,7 @@
38
54
  },
39
55
  "timeout_ms": {
40
56
  "type": "number",
41
- "default": 120000,
57
+ "default": 300000,
42
58
  "description": "Maximum time for each reset/import transition and final wallet readiness."
43
59
  }
44
60
  }
@@ -69,6 +85,9 @@
69
85
  "srp_env": "{{params.srp_env}}",
70
86
  "password_env": "{{params.password_env}}",
71
87
  "metametrics": "{{params.metametrics}}",
88
+ "biometrics": "{{params.biometrics}}",
89
+ "notifications": "{{params.notifications}}",
90
+ "skip_wallet_tour": "{{params.skip_wallet_tour}}",
72
91
  "interests": "{{params.interests}}",
73
92
  "timeout_ms": "{{params.timeout_ms}}",
74
93
  "intent": "Import the primary mnemonic through visible onboarding UI",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deeeed/metamask-harness",
3
- "version": "0.36.0",
3
+ "version": "0.37.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "mm-harness": "bin/mm-harness"