@deeeed/metamask-harness 0.82.1 → 0.84.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 (73) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +8 -1
  3. package/adapters/core/cleanup.sh +5 -29
  4. package/adapters/core/controller-import-probe.mjs +26 -0
  5. package/adapters/manifest.json +22 -102
  6. package/adapters/shared/session-lock.mjs +43 -0
  7. package/adapters/web-dapp/metamask-signer.mjs +212 -0
  8. package/dist/adapters/core/actions.js +0 -3
  9. package/dist/adapters/core/overlay.js +1 -5
  10. package/dist/adapters/core/readiness.js +133 -2
  11. package/dist/adapters/core/surface.js +53 -41
  12. package/dist/adapters/extension/extension-id.js +1 -0
  13. package/dist/adapters/extension/fixtures.js +60 -1
  14. package/dist/adapters/extension/network-observer.js +19 -206
  15. package/dist/adapters/extension/run.js +5 -3
  16. package/dist/adapters/extension/runtime.js +112 -20
  17. package/dist/adapters/mobile/android-gfxinfo-performance.js +3 -1
  18. package/dist/adapters/mobile/devices.js +5 -1
  19. package/dist/adapters/mobile/performance-observer.js +9 -6
  20. package/dist/adapters/mobile/run.js +1 -1
  21. package/dist/adapters/mobile/surface.js +1 -2
  22. package/dist/adapters/performance/trace-kinds.js +36 -0
  23. package/dist/adapters/plugin-surface.js +34 -34
  24. package/dist/adapters/session-lock.js +23 -0
  25. package/dist/adapters/web-dapp/console-capture.js +2 -20
  26. package/dist/adapters/web-dapp/run.js +31 -25
  27. package/dist/adapters/web-dapp/surface.js +32 -108
  28. package/dist/command-contract.js +1363 -630
  29. package/dist/commands/core-readiness.js +1 -9
  30. package/dist/commands/doctor.js +1 -1
  31. package/dist/commands/launch/device.js +1 -1
  32. package/dist/doctor.js +5 -2
  33. package/dist/mm-harness-cli.js +228 -1210
  34. package/dist/performance-observation.js +28 -5
  35. package/docs/CONTRIBUTING.md +6 -4
  36. package/docs/cli-contract.md +1 -1
  37. package/docs/feature-guard.md +1 -1
  38. package/library/actions/core/perps/_controller.mjs +10 -0
  39. package/library/actions/extension/wallet/import.mjs +21 -4
  40. package/library/actions/extension/wallet/visible-session.mjs +32 -12
  41. package/library/actions/shared/console-collector.mjs +1 -1
  42. package/library/actions/web-dapp/app/launch.mjs +1 -1
  43. package/library/actions/web-dapp/platform/adapter-web-lib.mjs +18 -0
  44. package/library/actions/web-dapp/platform/hud.mjs +1 -1
  45. package/library/actions/web-dapp/platform/page.mjs +2 -3
  46. package/library/actions/web-dapp/platform/runtime.mjs +29 -178
  47. package/package.json +7 -6
  48. package/scripts/completions.sh +1 -1
  49. package/adapters/web-dapp/cleanup.mjs +0 -69
  50. package/adapters/web-dapp/inject.mjs +0 -75
  51. package/adapters/web-dapp/launch.mjs +0 -631
  52. package/adapters/web-dapp/lib/blocked-hosts.mjs +0 -24
  53. package/adapters/web-dapp/lib/cdp-client.mjs +0 -84
  54. package/adapters/web-dapp/lib/display.mjs +0 -115
  55. package/adapters/web-dapp/lib/hud.mjs +0 -148
  56. package/adapters/web-dapp/lib/policy.mjs +0 -79
  57. package/adapters/web-dapp/lib/processes.mjs +0 -187
  58. package/adapters/web-dapp/lib/readiness.mjs +0 -272
  59. package/adapters/web-dapp/stop.mjs +0 -38
  60. package/adapters/web-dapp/verify.mjs +0 -51
  61. package/adapters/web-dapp/wallet-host.mjs +0 -520
  62. package/dist/adapters/core/live-script-env.js +0 -36
  63. package/dist/adapters/extension/browser-cdp.js +0 -174
  64. package/dist/adapters/extension/performance-observer.js +0 -75
  65. package/dist/adapters/performance/cdp-trace.js +0 -406
  66. package/dist/adapters/performance/js-task-metrics.js +0 -35
  67. package/dist/adapters/web-dapp/doctor-checks.js +0 -33
  68. package/dist/adapters/web-dapp/launch.js +0 -87
  69. package/dist/adapters/web-dapp/overlay.js +0 -21
  70. package/dist/adapters/web-dapp/readiness.js +0 -10
  71. package/dist/adapters/web-dapp/stop.js +0 -20
  72. package/dist/async.js +0 -19
  73. package/dist/cli.js +0 -202
@@ -47,13 +47,6 @@ function coreDependencyBlock(target) {
47
47
  }
48
48
  return null;
49
49
  }
50
- function corePnpNodeOptions(target, current) {
51
- if (readYarnNodeLinker(target) !== "pnp") return current;
52
- const pnp = path.join(path.resolve(target), ".pnp.cjs");
53
- if (!fs.existsSync(pnp)) return current;
54
- const pnpOption = `--require ${pnp}`;
55
- return current ? `${current} ${pnpOption}` : pnpOption;
56
- }
57
50
  function canResolveFromTarget(specifier, target) {
58
51
  try {
59
52
  requireFromHarness.resolve(specifier, { paths: [target] });
@@ -75,6 +68,5 @@ function shellQuote(value) {
75
68
  return `'${value.replace(/'/gu, `'\\''`)}'`;
76
69
  }
77
70
  export {
78
- coreDependencyBlock,
79
- corePnpNodeOptions
71
+ coreDependencyBlock
80
72
  };
@@ -18,7 +18,7 @@ function applyDoctorRuntimePorts(options) {
18
18
  process.env.CDP_PORT = cdpPort;
19
19
  process.env.RECIPE_CDP_PORT = cdpPort;
20
20
  }
21
- const watcherPort = optionString(options, "watcherPort") ?? optionString(options, "port") ?? optionString(options, "metroPort");
21
+ const watcherPort = optionString(options, "watcherPort") ?? optionString(options, "port");
22
22
  if (watcherPort) {
23
23
  process.env.WATCHER_PORT = watcherPort;
24
24
  process.env.METRO_PORT = watcherPort;
@@ -9,7 +9,7 @@ import {
9
9
  parseRemoteFlagSpec,
10
10
  remoteFlagRequestFor
11
11
  } from "../../feature-flags.js";
12
- import { webDappOnlyLaunchFlags } from "../../adapters/web-dapp/launch.js";
12
+ import { webDappOnlyLaunchFlags } from "@farmslot/adapter-web/web-dapp";
13
13
  import { shellQuote } from "./quote.js";
14
14
  async function runDeviceLaunch(context, profile) {
15
15
  const { adapter, options, target, heal, jsonOutput, machine, stream, usage } = context;
package/dist/doctor.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
+ import { RECIPE_CLI_VERSION } from "@farmslot/recipe-cli";
3
4
  import { color, harnessExecutable, recipeHarnessRoot, recipeRuntimeDir, readRuntimeContextField, resolveRuntimeContextPath } from "@farmslot/recipe-cli/harness";
4
5
  import { normalizeFeatureFlagRecord } from "./feature-flags.js";
5
6
  import { getAdapterSurface } from "./adapters/surface.js";
@@ -92,7 +93,7 @@ const DEV_SERVER_PORT_ENV = ["WATCHER_PORT", "METRO_PORT", "RECIPE_WATCHER_PORT"
92
93
  const RUNTIME_CONTEXT_FIELDS = [
93
94
  { key: "slotId", envVars: ["RECIPE_SLOT_ID"], envVar: "RECIPE_SLOT_ID", customize: "doctor --fix creates local identity; Farmslot may override", adapters: ["mobile", "extension", "core"] },
94
95
  { key: "watcherPort", envVars: DEV_SERVER_PORT_ENV, envVar: "WATCHER_PORT", customize: "doctor --fix claims one; --watcher-port overrides", adapters: ["mobile"] },
95
- { key: "metroPort", envVars: DEV_SERVER_PORT_ENV, envVar: "WATCHER_PORT", customize: "mirrors watcherPort; --metro-port is its alias", adapters: ["mobile"] },
96
+ { key: "metroPort", envVars: DEV_SERVER_PORT_ENV, envVar: "WATCHER_PORT", customize: "mirrors watcherPort", adapters: ["mobile"] },
96
97
  { key: "devServerPort", envVars: DEV_SERVER_PORT_ENV, envVar: "WATCHER_PORT", customize: "mirrors watcherPort for the adapter dev server", adapters: ["mobile", "extension"] },
97
98
  { key: "simulator", envVars: ["IOS_SIMULATOR"], envVar: "IOS_SIMULATOR", customize: "--device pins the matched simulator into the context", adapters: ["mobile"] },
98
99
  { key: "simulatorUdid", envVars: ["SIM_UDID"], envVar: "SIM_UDID", customize: "--device pins the matched udid into the context", adapters: ["mobile"] },
@@ -223,7 +224,9 @@ function runnerProvenance(actionManifestPath) {
223
224
  invokedPath,
224
225
  executablePath,
225
226
  actionManifestPath,
226
- harnessPackage: "@farmslot/recipe-runner"
227
+ harnessPackage: "@farmslot/recipe-runner",
228
+ // The @farmslot/recipe-cli this harness runs on (`--version --verbose` prints it too).
229
+ recipeCliVersion: RECIPE_CLI_VERSION
227
230
  };
228
231
  }
229
232
  function readJsonObject(file) {