@broccolo1d/wallet-browser 0.2.0 → 0.2.2

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/README.md CHANGED
@@ -2,29 +2,32 @@
2
2
 
3
3
  Core browser-wallet runtime helpers for dapp QA.
4
4
 
5
- This package owns launch configuration, MetaMask-oriented browser helpers, prompt guardrails, network/account assertions, local smoke artifacts, proof verification, and the `wallet-browser` CLI. It is the lower-level dependency used by `@broccolo1d/playwright`; use the Playwright package for ergonomic app-owned fixtures and public proof manifests.
5
+ This lower-level package owns Chromium/MetaMask launch configuration, prompt guardrails, network/account assertions, local smoke artifacts, proof verification, and the `wallet-browser` CLI. Most app test suites should consume `@broccolo1d/playwright`; use this package directly for custom runners, package integrations, and low-level wallet runtime work.
6
6
 
7
7
  ## Install
8
8
 
9
9
  ```bash
10
- pnpm add -D @broccolo1d/wallet-browser playwright
10
+ pnpm add -D @broccolo1d/wallet-browser@0.2.2 playwright
11
11
  ```
12
12
 
13
- The package is ESM-only and requires Node.js `>=22 <23`.
13
+ ESM-only. Node.js `>=22 <23`.
14
14
 
15
15
  ## CLI
16
16
 
17
- Build before invoking the source CLI directly from the repository root:
17
+ After install, the package exposes a `wallet-browser` binary:
18
18
 
19
19
  ```bash
20
- pnpm --filter @broccolo1d/wallet-browser build
21
- node packages/wallet-browser/dist/cli.js --help
20
+ pnpm exec wallet-browser --help
21
+ pnpm exec wallet-browser doctor
22
+ pnpm exec wallet-browser prepare
23
+ pnpm exec wallet-browser verify-smoke-artifacts .wallet-artifacts/metamask-smoke/<run-id>
22
24
  ```
23
25
 
24
- From this repository root, use the convenience scripts:
26
+ From this repository root, convenience scripts build the package first and resolve default `.wallet-*` paths consistently:
25
27
 
26
28
  ```bash
27
29
  pnpm wallet:cli --help
30
+ pnpm wallet:doctor
28
31
  pnpm wallet:metamask:fetch --dry-run
29
32
  pnpm wallet:metamask:fetch
30
33
  pnpm wallet:prepare
@@ -33,12 +36,11 @@ pnpm wallet:smoke:fixture-extension
33
36
  pnpm wallet:smoke:verify
34
37
  ```
35
38
 
36
- The root convenience scripts build the package and invoke `packages/wallet-browser/dist/cli.js` from the repository root, so default `.wallet-*` paths resolve consistently. Fetch the pinned extension before `wallet:prepare` when using the default extension path.
37
-
38
39
  Commands:
39
40
 
40
41
  ```text
41
42
  wallet-browser prepare
43
+ wallet-browser doctor
42
44
  wallet-browser smoke-metamask
43
45
  wallet-browser smoke-fixture-extension
44
46
  wallet-browser verify-smoke-artifacts [artifact-dir]
@@ -48,7 +50,9 @@ wallet-browser profile-bootstrap-import --dry-run
48
50
  wallet-browser network-plan
49
51
  ```
50
52
 
51
- `verify-smoke-artifacts` accepts an explicit artifact directory. If omitted, it verifies the newest directory under `.wallet-artifacts/metamask-smoke/` or `.wallet-artifacts/fixture-extension-smoke/`.
53
+ `doctor` prints setup diagnostics for Node 22, Playwright/Chromium resolution, the configured MetaMask extension path/manifest, `.env` key presence, wallet profile usability, and `.gitignore` protection for local wallet directories. It exits non-zero for actionable setup errors and never prints `.env` values, private keys, wallet passwords, or RPC tokens.
54
+
55
+ `prepare`, `onboarding-plan`, `network-plan`, and dry-run commands print redacted plans. The raw local output can still contain machine-specific paths; redact before sharing. `smoke-metamask` launches Chromium and captures local-only screenshots, but it does not import, unlock, connect, sign, or transact.
52
56
 
53
57
  ## API sketch
54
58
 
@@ -62,11 +66,12 @@ import {
62
66
  verifySmokeArtifactManifest
63
67
  } from '@broccolo1d/wallet-browser';
64
68
 
65
- const expectedAccount = '0x0000000000000000000000000000000000000000';
69
+ const expectedAccount = process.env.SEPOLIA_WALLET_ADDRESS;
70
+ if (!expectedAccount) throw new Error('SEPOLIA_WALLET_ADDRESS is required for wallet QA');
71
+
66
72
  const config = resolveWalletBrowserConfig();
67
73
  const { context } = await launchWalletBrowser({ config });
68
74
 
69
- // Replace with an app-provided network driver in real wallet jobs.
70
75
  const network: MetaMaskNetworkDriver = {
71
76
  async getChainId() { return 11155111; },
72
77
  async getAccounts() { return [expectedAccount]; },
@@ -74,20 +79,29 @@ const network: MetaMaskNetworkDriver = {
74
79
  async addEthereumChain() {}
75
80
  };
76
81
 
77
- const sepolia = resolveSepoliaNetworkConfig({ expectedAccount });
78
-
79
82
  try {
83
+ const sepolia = resolveSepoliaNetworkConfig({ expectedAccount });
80
84
  await assertExpectedChainAndAccount(sepolia, network);
81
85
  } finally {
82
86
  await context.close();
83
87
  }
84
88
 
85
- verifySmokeArtifactManifest('.wallet-artifacts/metamask-smoke/run-id');
89
+ verifySmokeArtifactManifest('.wallet-artifacts/metamask-smoke/<run-id>');
86
90
  ```
87
91
 
88
92
  ## Configuration
89
93
 
90
- Use explicit options where possible. Environment-backed local runs use ignored `.env` files. Relevant keys include:
94
+ Prefer explicit options in code. Environment-backed local runs should use ignored `.env` files. Before launching a browser, run:
95
+
96
+ ```bash
97
+ npx wallet-browser doctor
98
+ # or inside this repo:
99
+ pnpm wallet:doctor
100
+ ```
101
+
102
+ The doctor report lists configured key names and setup status only; it does not print secret values. Fix any `error` checks before running `prepare` or smoke commands.
103
+
104
+ Relevant keys include:
91
105
 
92
106
  - `METAMASK_EXTENSION_PATH` or `METAMASK_EXTENSION_DIR`
93
107
  - `METAMASK_EXTENSION_VERSION`
@@ -101,11 +115,27 @@ Use explicit options where possible. Environment-backed local runs use ignored `
101
115
 
102
116
  Never commit `.env`, wallet profiles, extension bundles, traces, screenshots, videos, reports, or local proof artifacts.
103
117
 
118
+ ## Smoke and artifact verification
119
+
120
+ ```bash
121
+ # Real browser smoke: local burner/testnet config only.
122
+ xvfb-run -a pnpm exec wallet-browser smoke-metamask
123
+
124
+ # Verify the newest smoke artifact directory.
125
+ pnpm exec wallet-browser verify-smoke-artifacts
126
+
127
+ # Verify one explicit run.
128
+ pnpm exec wallet-browser verify-smoke-artifacts .wallet-artifacts/metamask-smoke/<run-id>
129
+ ```
130
+
131
+ `verify-smoke-artifacts` checks manifest shape and attachment hash/size metadata. If no directory is supplied, it verifies the newest run under `.wallet-artifacts/metamask-smoke/` or `.wallet-artifacts/fixture-extension-smoke/`.
132
+
104
133
  ## Safety notes
105
134
 
106
- - Use burner/testnet wallets only.
107
- - `prepare`, `onboarding-plan`, `network-plan`, and dry-run commands print redacted plans.
108
- - Smoke commands launch Chromium and capture local-only screenshots, but do not import, unlock, connect, sign, or transact.
135
+ - Burner/testnet wallets only.
136
+ - Real wallet launch requires explicit configuration.
109
137
  - Prompt approval requires explicit prompt-driver support and guardrail policy.
110
138
  - Unknown prompts, signatures, and transactions fail closed unless intentionally supported by the caller.
111
- - The ergonomic Playwright helper layer verifies public manifests without storing full local paths or full wallet addresses.
139
+ - Transaction value caps default to zero wei.
140
+ - Plans and public manifests must not expose private keys, seed phrases, wallet passwords, RPC credentials, local paths, or full wallet addresses.
141
+ - Raw screenshots, traces, videos, profiles, and extension bundles remain local unless reviewed and verified.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKhF,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;CAC7C;AAoFD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAqIhG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMhF,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;CAC7C;AAsFD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CA2IhG"}
package/dist/cli.js CHANGED
@@ -7,6 +7,7 @@ import { createMetaMaskOnboardingPlan, resolveMetaMaskOnboardingConfig } from '.
7
7
  import { createSepoliaNetworkPlan, resolveSepoliaNetworkConfig } from './network.js';
8
8
  import { createProfileBootstrapImportDryRun } from './profile-bootstrap.js';
9
9
  import { verifyFixtureConnectionProofManifest } from './fixture-proof.js';
10
+ import { createWalletBrowserDoctorReport } from './doctor.js';
10
11
  import { captureFixtureExtensionSmokeScreenshots, captureMetaMaskSmokeScreenshots, verifySmokeArtifactManifest } from './metamask-smoke.js';
11
12
  const PREPARE_CONFIG_KEYS = [
12
13
  'METAMASK_EXTENSION_PATH',
@@ -19,6 +20,7 @@ const PREPARE_CONFIG_KEYS = [
19
20
  const PREPARE_ERROR_REDACT_KEYS = ['METAMASK_EXTENSION_PATH', 'METAMASK_EXTENSION_DIR', 'WALLET_PROFILE_DIR'];
20
21
  const USAGE = `Usage:
21
22
  wallet-browser prepare
23
+ wallet-browser doctor
22
24
  wallet-browser smoke-metamask
23
25
  wallet-browser smoke-fixture-extension
24
26
  wallet-browser verify-smoke-artifacts [artifact-dir]
@@ -27,7 +29,8 @@ const USAGE = `Usage:
27
29
  wallet-browser profile-bootstrap-import --dry-run
28
30
  wallet-browser network-plan
29
31
 
30
- Print a sanitized Chromium persistent-context launch plan for the pinned MetaMask extension profile,
32
+ Print setup diagnostics for Node, Playwright/Chromium, MetaMask, .env, and ignored wallet artifacts,
33
+ print a sanitized Chromium persistent-context launch plan for the pinned MetaMask extension profile,
31
34
  launch real Chromium with MetaMask loaded and capture local-only smoke screenshots,
32
35
  launch real Chromium with a generated fake extension to prove extension-loading mechanics only,
33
36
  print a redacted MetaMask onboarding plan for the configured burner wallet, or print a
@@ -71,6 +74,11 @@ export async function runWalletBrowserCli(options = {}) {
71
74
  stdout(USAGE);
72
75
  return 0;
73
76
  }
77
+ if (command === 'doctor') {
78
+ const report = createWalletBrowserDoctorReport({ cwd: options.cwd, env: options.env });
79
+ stdout(`${JSON.stringify(report, null, 2)}\n`);
80
+ return report.status === 'error' ? 1 : 0;
81
+ }
74
82
  if (command === 'smoke-metamask') {
75
83
  try {
76
84
  const runSmoke = options.runMetaMaskSmoke ?? captureMetaMaskSmokeScreenshots;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,UAAU,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAID,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,iCAAsC,GAAG,mBAAmB,CAsC/G"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,UAAU,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAID,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,iCAAsC,GAAG,mBAAmB,CAqC/G"}
package/dist/config.js CHANGED
@@ -5,16 +5,10 @@ const DEFAULT_PROFILE_NAME = 'sepolia-burner';
5
5
  export function resolveWalletBrowserConfig(options = {}) {
6
6
  const cwd = options.cwd ?? process.cwd();
7
7
  const env = options.env ?? process.env;
8
- const metamaskExtensionVersion = options.metamaskExtensionVersion?.trim() || env.METAMASK_EXTENSION_VERSION?.trim() || PINNED_METAMASK_VERSION;
9
- const extensionPathValue = options.metamaskExtensionPath ??
10
- options.metamaskExtensionDir ??
11
- env.METAMASK_EXTENSION_PATH ??
12
- env.METAMASK_EXTENSION_DIR ??
13
- defaultMetamaskExtensionPath(metamaskExtensionVersion);
14
- const usesDefaultExtensionArtifact = options.metamaskExtensionPath === undefined &&
15
- options.metamaskExtensionDir === undefined &&
16
- env.METAMASK_EXTENSION_PATH === undefined &&
17
- env.METAMASK_EXTENSION_DIR === undefined;
8
+ const metamaskExtensionVersion = normalizeMetaMaskExtensionVersion(options.metamaskExtensionVersion?.trim() || env.METAMASK_EXTENSION_VERSION?.trim() || PINNED_METAMASK_VERSION);
9
+ const explicitExtensionPath = firstNonBlank(options.metamaskExtensionPath, options.metamaskExtensionDir, env.METAMASK_EXTENSION_PATH, env.METAMASK_EXTENSION_DIR);
10
+ const extensionPathValue = explicitExtensionPath ?? defaultMetamaskExtensionPath(metamaskExtensionVersion);
11
+ const usesDefaultExtensionArtifact = explicitExtensionPath === undefined;
18
12
  const metamaskExtensionPath = resolve(cwd, extensionPathValue);
19
13
  assertDirectory(metamaskExtensionPath, 'MetaMask extension path');
20
14
  const metamaskExtensionIdentity = readMetaMaskManifestIdentity(metamaskExtensionPath);
@@ -37,16 +31,37 @@ export function resolveWalletBrowserConfig(options = {}) {
37
31
  };
38
32
  }
39
33
  function defaultMetamaskExtensionPath(version) {
34
+ normalizeMetaMaskExtensionVersion(version);
40
35
  return join('.wallet-extensions', 'metamask', version, 'chrome');
41
36
  }
37
+ function firstNonBlank(...values) {
38
+ for (const value of values) {
39
+ if (typeof value !== 'string')
40
+ continue;
41
+ const trimmed = value.trim();
42
+ if (trimmed !== '')
43
+ return trimmed;
44
+ }
45
+ return undefined;
46
+ }
47
+ function normalizeMetaMaskExtensionVersion(value) {
48
+ const version = value.trim();
49
+ if (!/^\d+\.\d+\.\d+(?:[-+][A-Za-z0-9.-]+)?$/.test(version)) {
50
+ throw new Error('METAMASK_EXTENSION_VERSION must be a semver-like version string without path separators.');
51
+ }
52
+ return version;
53
+ }
42
54
  function assertDirectory(path, label) {
43
55
  if (!existsSync(path)) {
44
- throw new Error(`${label} does not exist: ${path}. Set METAMASK_EXTENSION_PATH or METAMASK_EXTENSION_DIR to an unpacked MetaMask extension directory, or prepare the pinned default artifact under ${defaultMetamaskExtensionPath(PINNED_METAMASK_VERSION)}.`);
56
+ throw new Error(`${label} does not exist: ${redactLocalPath(path)}. Set METAMASK_EXTENSION_PATH or METAMASK_EXTENSION_DIR to an unpacked MetaMask extension directory, or prepare the pinned default artifact under ${defaultMetamaskExtensionPath(PINNED_METAMASK_VERSION)}.`);
45
57
  }
46
58
  if (!statSync(path).isDirectory()) {
47
- throw new Error(`${label} must be a directory: ${path}`);
59
+ throw new Error(`${label} must be a directory: ${redactLocalPath(path)}`);
48
60
  }
49
61
  }
62
+ function redactLocalPath(value) {
63
+ return value ? '[REDACTED_LOCAL_PATH]' : value;
64
+ }
50
65
  function assertSafeProfileDir(profileDir, cwd, metamaskExtensionPath) {
51
66
  const root = parse(profileDir).root;
52
67
  if (profileDir === root || profileDir === resolve(cwd)) {
@@ -62,17 +77,17 @@ function isSamePathOrChild(candidatePath, parentPath) {
62
77
  }
63
78
  function assertManifestVersionMatchesConfiguredVersion(identity, configuredVersion, extensionPath) {
64
79
  if (identity.version !== configuredVersion) {
65
- throw new Error(`MetaMask extension manifest version must match configured version for default artifact ${extensionPath}: expected ${configuredVersion}, found ${identity.version ?? 'missing'}.`);
80
+ throw new Error(`MetaMask extension manifest version must match configured version for default artifact ${redactLocalPath(extensionPath)}: expected ${configuredVersion}, found ${identity.version ?? 'missing'}.`);
66
81
  }
67
82
  }
68
83
  function readMetaMaskManifestIdentity(extensionPath) {
69
84
  const manifestPath = join(extensionPath, 'manifest.json');
70
85
  if (!existsSync(manifestPath)) {
71
- throw new Error(`MetaMask extension manifest is missing: ${manifestPath}`);
86
+ throw new Error(`MetaMask extension manifest is missing: ${redactLocalPath(manifestPath)}`);
72
87
  }
73
88
  const manifest = readManifest(manifestPath);
74
89
  if (manifest.manifest_version !== 3) {
75
- throw new Error(`MetaMask extension manifest_version must be 3: ${manifestPath}`);
90
+ throw new Error(`MetaMask extension manifest_version must be 3: ${redactLocalPath(manifestPath)}`);
76
91
  }
77
92
  const rawName = typeof manifest.name === 'string' ? manifest.name : '';
78
93
  const rawShortName = typeof manifest.short_name === 'string' ? manifest.short_name : '';
@@ -80,7 +95,7 @@ function readMetaMaskManifestIdentity(extensionPath) {
80
95
  const name = resolveManifestText(rawName, localeMessages).trim();
81
96
  const shortName = resolveManifestText(rawShortName, localeMessages).trim();
82
97
  if (!isMetaMaskManifestName(name) && !isMetaMaskManifestName(shortName)) {
83
- throw new Error(`MetaMask extension manifest must identify MetaMask: ${manifestPath}`);
98
+ throw new Error(`MetaMask extension manifest must identify MetaMask: ${redactLocalPath(manifestPath)}`);
84
99
  }
85
100
  const identity = { name };
86
101
  if (shortName !== '') {
@@ -99,7 +114,14 @@ function readLocaleMessages(extensionPath, manifest) {
99
114
  if (defaultLocale === '') {
100
115
  return {};
101
116
  }
102
- const messagesPath = join(extensionPath, '_locales', defaultLocale, 'messages.json');
117
+ if (!/^[A-Za-z0-9_@-]+$/.test(defaultLocale)) {
118
+ throw new Error('MetaMask extension default_locale contains unsupported characters.');
119
+ }
120
+ const localesRoot = resolve(extensionPath, '_locales');
121
+ const messagesPath = resolve(localesRoot, defaultLocale, 'messages.json');
122
+ if (!isSamePathOrChild(messagesPath, localesRoot)) {
123
+ throw new Error('MetaMask extension default_locale resolves outside the _locales directory.');
124
+ }
103
125
  if (!existsSync(messagesPath)) {
104
126
  return {};
105
127
  }
@@ -127,7 +149,7 @@ function readManifest(manifestPath) {
127
149
  return manifest;
128
150
  }
129
151
  catch (error) {
130
- throw new Error(`MetaMask extension manifest must be valid JSON: ${manifestPath}${error instanceof Error ? ` (${error.message})` : ''}`);
152
+ throw new Error(`MetaMask extension manifest must be valid JSON: ${redactLocalPath(manifestPath)}${error instanceof Error ? ` (${error.message})` : ''}`);
131
153
  }
132
154
  }
133
155
  function parseBoolean(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type WalletBrowserEnv } from './config.js';
2
+ export type WalletBrowserDoctorStatus = 'ok' | 'warning' | 'error';
3
+ export interface WalletBrowserDoctorCheck {
4
+ id: string;
5
+ label: string;
6
+ status: WalletBrowserDoctorStatus;
7
+ summary: string;
8
+ action?: string;
9
+ }
10
+ export interface WalletBrowserDoctorReport {
11
+ status: WalletBrowserDoctorStatus;
12
+ checks: WalletBrowserDoctorCheck[];
13
+ env: {
14
+ envFile: {
15
+ path: string;
16
+ present: boolean;
17
+ keys: string[];
18
+ };
19
+ runtime: {
20
+ present: string[];
21
+ missing: string[];
22
+ };
23
+ };
24
+ paths: {
25
+ profileDir?: string;
26
+ metamaskExtensionPath?: string;
27
+ chromiumExecutablePath?: string;
28
+ };
29
+ notes: string[];
30
+ }
31
+ export interface CreateWalletBrowserDoctorReportOptions {
32
+ cwd?: string;
33
+ env?: WalletBrowserEnv;
34
+ nodeVersion?: string;
35
+ }
36
+ export declare function createWalletBrowserDoctorReport(options?: CreateWalletBrowserDoctorReportOptions): WalletBrowserDoctorReport;
37
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,GAAG,EAAE;QACH,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,IAAI,EAAE,MAAM,EAAE,CAAC;SAChB,CAAC;QACF,OAAO,EAAE;YACP,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,CAAC;IACF,KAAK,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,sCAAsC;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkBD,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,sCAA2C,GAAG,yBAAyB,CA+D/H"}
package/dist/doctor.js ADDED
@@ -0,0 +1,406 @@
1
+ import { existsSync, readFileSync, statSync } from 'node:fs';
2
+ import { isAbsolute, join, parse, relative, resolve, sep } from 'node:path';
3
+ import { chromium } from 'playwright';
4
+ import { PINNED_METAMASK_VERSION } from './config.js';
5
+ const DOCTOR_ENV_KEYS = [
6
+ 'METAMASK_EXTENSION_PATH',
7
+ 'METAMASK_EXTENSION_DIR',
8
+ 'METAMASK_EXTENSION_VERSION',
9
+ 'WALLET_PROFILE_DIR',
10
+ 'WALLET_PROFILE_NAME',
11
+ 'PRESERVE_WALLET_PROFILE',
12
+ 'SEPOLIA_WALLET_ADDRESS',
13
+ 'SEPOLIA_WALLET_PRIVATE_KEY',
14
+ 'METAMASK_PASSWORD',
15
+ 'SEPOLIA_CHAIN_ID',
16
+ 'SEPOLIA_RPC_URL'
17
+ ];
18
+ const REQUIRED_GITIGNORE_PATTERNS = ['.env', '.wallet-profiles/', '.wallet-extensions/', '.wallet-artifacts/'];
19
+ export function createWalletBrowserDoctorReport(options = {}) {
20
+ const cwd = options.cwd ?? process.cwd();
21
+ const env = options.env ?? process.env;
22
+ const checks = [];
23
+ const paths = {};
24
+ checks.push(checkNodeVersion(options.nodeVersion ?? process.version));
25
+ const playwrightCheck = checkPlaywrightChromium();
26
+ checks.push(playwrightCheck.check);
27
+ if (playwrightCheck.chromiumExecutablePath) {
28
+ paths.chromiumExecutablePath = redactLocalPath(playwrightCheck.chromiumExecutablePath);
29
+ }
30
+ const envFile = summarizeEnvFile(cwd);
31
+ checks.push({
32
+ id: 'env-file',
33
+ label: '.env file',
34
+ status: envFile.present ? 'ok' : 'warning',
35
+ summary: envFile.present
36
+ ? `.env is present with ${envFile.keys.length} configured key${envFile.keys.length === 1 ? '' : 's'}; values are intentionally omitted.`
37
+ : '.env was not found; runtime environment variables will still be honored.',
38
+ action: envFile.present ? undefined : 'Create a local .env from README examples when you need persistent wallet testnet settings; never commit it.'
39
+ });
40
+ const runtimeEnv = summarizeRuntimeEnv(env);
41
+ checks.push({
42
+ id: 'runtime-env',
43
+ label: 'wallet runtime environment',
44
+ status: runtimeEnv.present.length > 0 ? 'ok' : 'warning',
45
+ summary: runtimeEnv.present.length > 0
46
+ ? `Runtime env has ${runtimeEnv.present.length} wallet setup key${runtimeEnv.present.length === 1 ? '' : 's'} configured; values are intentionally omitted.`
47
+ : 'No wallet setup runtime variables are configured.',
48
+ action: runtimeEnv.present.length > 0 ? undefined : 'Set METAMASK_EXTENSION_PATH or run pnpm wallet:metamask:fetch to prepare the pinned default MetaMask artifact.'
49
+ });
50
+ const metamaskCheck = checkMetaMaskExtension(cwd, env);
51
+ checks.push(metamaskCheck.check);
52
+ if (metamaskCheck.metamaskExtensionPath) {
53
+ paths.metamaskExtensionPath = redactLocalPath(metamaskCheck.metamaskExtensionPath);
54
+ }
55
+ if (metamaskCheck.profileDir) {
56
+ paths.profileDir = redactLocalPath(metamaskCheck.profileDir);
57
+ }
58
+ checks.push(checkProfileDirectory(cwd, env));
59
+ checks.push(checkGitignore(cwd));
60
+ const status = summarizeStatus(checks);
61
+ return {
62
+ status,
63
+ checks,
64
+ env: {
65
+ envFile,
66
+ runtime: runtimeEnv
67
+ },
68
+ paths,
69
+ notes: [
70
+ 'Doctor never launches Chromium, imports wallets, unlocks MetaMask, connects accounts, signs messages, or sends transactions.',
71
+ 'Secret values from .env and process env are not printed; only key names and redacted setup state are reported.',
72
+ 'Local filesystem paths are redacted from doctor JSON so reports can be shared safely.'
73
+ ]
74
+ };
75
+ }
76
+ function checkNodeVersion(version) {
77
+ const normalized = version.trim().replace(/^v/, '');
78
+ const major = Number.parseInt(normalized.split('.')[0] ?? '', 10);
79
+ if (major === 22) {
80
+ return {
81
+ id: 'node',
82
+ label: 'Node.js version',
83
+ status: 'ok',
84
+ summary: `Node ${version} satisfies @broccolo1d/wallet-browser engine >=22 <23.`
85
+ };
86
+ }
87
+ return {
88
+ id: 'node',
89
+ label: 'Node.js version',
90
+ status: 'error',
91
+ summary: `Node ${version} does not satisfy @broccolo1d/wallet-browser engine >=22 <23.`,
92
+ action: 'Install and use Node 22.x before running wallet-browser setup or smoke commands.'
93
+ };
94
+ }
95
+ function checkPlaywrightChromium() {
96
+ try {
97
+ const executablePath = chromium.executablePath();
98
+ if (executablePath.trim() === '') {
99
+ return {
100
+ check: {
101
+ id: 'playwright-chromium',
102
+ label: 'Playwright Chromium',
103
+ status: 'error',
104
+ summary: 'Playwright is installed but did not report a Chromium executable path.',
105
+ action: 'Run pnpm exec playwright install chromium, then rerun npx wallet-browser doctor.'
106
+ }
107
+ };
108
+ }
109
+ return {
110
+ chromiumExecutablePath: executablePath,
111
+ check: {
112
+ id: 'playwright-chromium',
113
+ label: 'Playwright Chromium',
114
+ status: existsSync(executablePath) ? 'ok' : 'warning',
115
+ summary: existsSync(executablePath)
116
+ ? 'Playwright can resolve an installed Chromium executable.'
117
+ : 'Playwright can resolve a Chromium executable path, but the binary was not found on disk.',
118
+ action: existsSync(executablePath) ? undefined : 'Run pnpm exec playwright install chromium before browser smoke runs.'
119
+ }
120
+ };
121
+ }
122
+ catch (error) {
123
+ return {
124
+ check: {
125
+ id: 'playwright-chromium',
126
+ label: 'Playwright Chromium',
127
+ status: 'error',
128
+ summary: `Playwright Chromium diagnostics failed: ${error instanceof Error ? error.message : String(error)}`,
129
+ action: 'Install dependencies with pnpm install, then run pnpm exec playwright install chromium.'
130
+ }
131
+ };
132
+ }
133
+ }
134
+ function checkMetaMaskExtension(cwd, env) {
135
+ try {
136
+ const configuredVersion = normalizeMetaMaskExtensionVersion(env.METAMASK_EXTENSION_VERSION?.trim() || PINNED_METAMASK_VERSION);
137
+ const explicitExtensionPath = firstNonBlank(env.METAMASK_EXTENSION_PATH, env.METAMASK_EXTENSION_DIR);
138
+ const extensionPathValue = explicitExtensionPath ?? defaultMetamaskExtensionPath(configuredVersion);
139
+ const usesDefaultExtensionArtifact = explicitExtensionPath === undefined;
140
+ const metamaskExtensionPath = resolve(cwd, extensionPathValue);
141
+ const profileDir = resolveProfileDir(cwd, env);
142
+ assertDirectoryExists(metamaskExtensionPath, 'MetaMask extension path');
143
+ const identity = readMetaMaskManifestIdentity(metamaskExtensionPath);
144
+ if (usesDefaultExtensionArtifact && identity.version !== configuredVersion) {
145
+ throw new Error(`MetaMask extension manifest version must match configured version for default artifact ${redactLocalPath(metamaskExtensionPath)}: expected ${configuredVersion}, found ${identity.version ?? 'missing'}.`);
146
+ }
147
+ return {
148
+ metamaskExtensionPath,
149
+ profileDir,
150
+ check: {
151
+ id: 'metamask-extension',
152
+ label: 'MetaMask extension artifact',
153
+ status: 'ok',
154
+ summary: `MetaMask extension manifest is valid${identity.version ? ` (${identity.version})` : ''}.`
155
+ }
156
+ };
157
+ }
158
+ catch (error) {
159
+ const message = redactDoctorMessage(error instanceof Error ? error.message : String(error), env, cwd);
160
+ return {
161
+ check: {
162
+ id: 'metamask-extension',
163
+ label: 'MetaMask extension artifact',
164
+ status: 'error',
165
+ summary: message,
166
+ action: `Run pnpm wallet:metamask:fetch to populate .wallet-extensions/metamask/${PINNED_METAMASK_VERSION}/chrome, or set METAMASK_EXTENSION_PATH to an unpacked MetaMask MV3 extension directory.`
167
+ }
168
+ };
169
+ }
170
+ }
171
+ function checkProfileDirectory(cwd, env) {
172
+ try {
173
+ const configuredVersion = normalizeMetaMaskExtensionVersion(env.METAMASK_EXTENSION_VERSION?.trim() || PINNED_METAMASK_VERSION);
174
+ const profileDir = resolveProfileDir(cwd, env);
175
+ const extensionPathValue = firstNonBlank(env.METAMASK_EXTENSION_PATH, env.METAMASK_EXTENSION_DIR) ?? defaultMetamaskExtensionPath(configuredVersion);
176
+ const metamaskExtensionPath = resolve(cwd, extensionPathValue);
177
+ assertSafeProfileDir(profileDir, cwd, metamaskExtensionPath);
178
+ if (!existsSync(profileDir)) {
179
+ return {
180
+ id: 'wallet-profile-dir',
181
+ label: 'wallet profile directory',
182
+ status: 'warning',
183
+ summary: 'Wallet profile directory does not exist yet; setup/smoke commands can create it later. Doctor does not create files.',
184
+ action: 'Run wallet setup or smoke commands only after .gitignore protects .wallet-profiles/.'
185
+ };
186
+ }
187
+ if (!statSync(profileDir).isDirectory()) {
188
+ throw new Error('configured wallet profile path is not a directory');
189
+ }
190
+ return {
191
+ id: 'wallet-profile-dir',
192
+ label: 'wallet profile directory',
193
+ status: 'ok',
194
+ summary: 'Wallet profile directory already exists and is isolated from source-controlled files.'
195
+ };
196
+ }
197
+ catch (error) {
198
+ return {
199
+ id: 'wallet-profile-dir',
200
+ label: 'wallet profile directory',
201
+ status: 'error',
202
+ summary: `Wallet profile directory is not usable: ${redactDoctorMessage(error instanceof Error ? error.message : String(error), env, cwd)}`,
203
+ action: 'Set WALLET_PROFILE_DIR to a writable local-only directory, preferably under .wallet-profiles/.'
204
+ };
205
+ }
206
+ }
207
+ function checkGitignore(cwd) {
208
+ const gitignorePath = join(cwd, '.gitignore');
209
+ let gitignore = '';
210
+ try {
211
+ gitignore = readFileSync(gitignorePath, 'utf8');
212
+ }
213
+ catch {
214
+ return {
215
+ id: 'gitignore-wallet-artifacts',
216
+ label: 'local wallet artifacts ignored',
217
+ status: 'error',
218
+ summary: '.gitignore is missing, so wallet profiles, extension artifacts, and .env are not protected from accidental commits.',
219
+ action: `Create .gitignore entries for ${REQUIRED_GITIGNORE_PATTERNS.join(', ')}.`
220
+ };
221
+ }
222
+ const missing = REQUIRED_GITIGNORE_PATTERNS.filter((pattern) => !gitignoreIncludesPattern(gitignore, pattern));
223
+ if (missing.length === 0) {
224
+ return {
225
+ id: 'gitignore-wallet-artifacts',
226
+ label: 'local wallet artifacts ignored',
227
+ status: 'ok',
228
+ summary: '.gitignore protects .env, wallet profiles, extension artifacts, and smoke artifacts.'
229
+ };
230
+ }
231
+ return {
232
+ id: 'gitignore-wallet-artifacts',
233
+ label: 'local wallet artifacts ignored',
234
+ status: 'error',
235
+ summary: `.gitignore is missing wallet-local pattern${missing.length === 1 ? '' : 's'}: ${missing.join(', ')}.`,
236
+ action: `Add ${missing.join(', ')} to .gitignore before running wallet setup commands.`
237
+ };
238
+ }
239
+ function defaultMetamaskExtensionPath(version) {
240
+ normalizeMetaMaskExtensionVersion(version);
241
+ return join('.wallet-extensions', 'metamask', version, 'chrome');
242
+ }
243
+ function firstNonBlank(...values) {
244
+ for (const value of values) {
245
+ if (typeof value !== 'string')
246
+ continue;
247
+ const trimmed = value.trim();
248
+ if (trimmed !== '')
249
+ return trimmed;
250
+ }
251
+ return undefined;
252
+ }
253
+ function normalizeMetaMaskExtensionVersion(value) {
254
+ const version = value.trim();
255
+ if (!/^\d+\.\d+\.\d+(?:[-+][A-Za-z0-9.-]+)?$/.test(version)) {
256
+ throw new Error('METAMASK_EXTENSION_VERSION must be a semver-like version string without path separators.');
257
+ }
258
+ return version;
259
+ }
260
+ function resolveProfileDir(cwd, env) {
261
+ const profileName = sanitizeProfileName(env.WALLET_PROFILE_NAME?.trim() || 'sepolia-burner');
262
+ return resolve(cwd, env.WALLET_PROFILE_DIR?.trim() || `.wallet-profiles/${profileName}`);
263
+ }
264
+ function assertDirectoryExists(path, label) {
265
+ if (!existsSync(path)) {
266
+ throw new Error(`${label} does not exist: ${redactLocalPath(path)}.`);
267
+ }
268
+ if (!statSync(path).isDirectory()) {
269
+ throw new Error(`${label} must be a directory: ${redactLocalPath(path)}.`);
270
+ }
271
+ }
272
+ function assertSafeProfileDir(profileDir, cwd, metamaskExtensionPath) {
273
+ const root = parse(profileDir).root;
274
+ if (profileDir === root || profileDir === resolve(cwd)) {
275
+ throw new Error('Wallet browser profile directory is unsafe; use an isolated directory under .wallet-profiles or an explicit wallet profile root.');
276
+ }
277
+ if (isSamePathOrChild(profileDir, metamaskExtensionPath) || isSamePathOrChild(metamaskExtensionPath, profileDir)) {
278
+ throw new Error('Wallet browser profile directory must not overlap the MetaMask extension path.');
279
+ }
280
+ }
281
+ function isSamePathOrChild(candidatePath, parentPath) {
282
+ const relation = relative(parentPath, candidatePath);
283
+ return relation === '' || (!relation.startsWith('..') && !isAbsolute(relation) && !relation.startsWith(sep));
284
+ }
285
+ function readMetaMaskManifestIdentity(extensionPath) {
286
+ const manifestPath = join(extensionPath, 'manifest.json');
287
+ if (!existsSync(manifestPath)) {
288
+ throw new Error(`MetaMask extension manifest is missing: ${redactLocalPath(manifestPath)}.`);
289
+ }
290
+ const manifest = JSON.parse(readFileSync(manifestPath, 'utf8'));
291
+ if (manifest.manifest_version !== 3) {
292
+ throw new Error(`MetaMask extension manifest_version must be 3: ${redactLocalPath(manifestPath)}.`);
293
+ }
294
+ const localeMessages = readLocaleMessages(extensionPath, manifest);
295
+ const name = resolveManifestText(typeof manifest.name === 'string' ? manifest.name : '', localeMessages).trim();
296
+ const shortName = resolveManifestText(typeof manifest.short_name === 'string' ? manifest.short_name : '', localeMessages).trim();
297
+ if (name.trim().toLowerCase() !== 'metamask' && shortName.trim().toLowerCase() !== 'metamask') {
298
+ throw new Error(`MetaMask extension manifest must identify MetaMask: ${redactLocalPath(manifestPath)}.`);
299
+ }
300
+ const identity = { name: name || 'MetaMask' };
301
+ if (shortName)
302
+ identity.shortName = shortName;
303
+ if (typeof manifest.version === 'string' && manifest.version.trim() !== '')
304
+ identity.version = manifest.version;
305
+ return identity;
306
+ }
307
+ function readLocaleMessages(extensionPath, manifest) {
308
+ const defaultLocale = typeof manifest.default_locale === 'string' ? manifest.default_locale.trim() : '';
309
+ if (defaultLocale === '') {
310
+ return {};
311
+ }
312
+ if (!/^[A-Za-z0-9_@-]+$/.test(defaultLocale)) {
313
+ throw new Error('MetaMask extension default_locale contains unsupported characters.');
314
+ }
315
+ const localesRoot = resolve(extensionPath, '_locales');
316
+ const messagesPath = resolve(localesRoot, defaultLocale, 'messages.json');
317
+ if (!isSamePathOrChild(messagesPath, localesRoot)) {
318
+ throw new Error('MetaMask extension default_locale resolves outside the _locales directory.');
319
+ }
320
+ if (!existsSync(messagesPath)) {
321
+ return {};
322
+ }
323
+ const messages = JSON.parse(readFileSync(messagesPath, 'utf8'));
324
+ const resolved = {};
325
+ for (const [key, value] of Object.entries(messages)) {
326
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
327
+ const message = value.message;
328
+ if (typeof message === 'string') {
329
+ resolved[key] = message;
330
+ }
331
+ }
332
+ }
333
+ return resolved;
334
+ }
335
+ function resolveManifestText(value, localeMessages) {
336
+ return value.replace(/__MSG_([A-Za-z0-9_@]+)__/g, (match, key) => localeMessages[key] ?? match);
337
+ }
338
+ function sanitizeProfileName(value) {
339
+ if (!/^[a-zA-Z0-9._-]+$/.test(value)) {
340
+ throw new Error('WALLET_PROFILE_NAME may only contain letters, numbers, dots, underscores, and hyphens.');
341
+ }
342
+ return value;
343
+ }
344
+ function redactLocalPath(value) {
345
+ return value ? '[REDACTED_LOCAL_PATH]' : value;
346
+ }
347
+ function summarizeEnvFile(cwd) {
348
+ const envPath = join(cwd, '.env');
349
+ if (!existsSync(envPath)) {
350
+ return { path: '.env', present: false, keys: [] };
351
+ }
352
+ const keys = new Set();
353
+ const content = readFileSync(envPath, 'utf8');
354
+ for (const line of content.split(/\r?\n/)) {
355
+ const trimmed = line.trim();
356
+ if (trimmed === '' || trimmed.startsWith('#')) {
357
+ continue;
358
+ }
359
+ const match = /^(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=/.exec(trimmed);
360
+ if (match?.[1]) {
361
+ keys.add(match[1]);
362
+ }
363
+ }
364
+ return { path: '.env', present: true, keys: [...keys].sort() };
365
+ }
366
+ function summarizeRuntimeEnv(env) {
367
+ const present = [];
368
+ const missing = [];
369
+ for (const key of DOCTOR_ENV_KEYS) {
370
+ const value = env[key];
371
+ if (typeof value === 'string' && value.trim() !== '') {
372
+ present.push(key);
373
+ }
374
+ else {
375
+ missing.push(key);
376
+ }
377
+ }
378
+ return { present, missing };
379
+ }
380
+ function gitignoreIncludesPattern(gitignore, pattern) {
381
+ return gitignore
382
+ .split(/\r?\n/)
383
+ .map((line) => line.trim())
384
+ .filter((line) => line !== '' && !line.startsWith('#'))
385
+ .includes(pattern);
386
+ }
387
+ function summarizeStatus(checks) {
388
+ if (checks.some((check) => check.status === 'error')) {
389
+ return 'error';
390
+ }
391
+ if (checks.some((check) => check.status === 'warning')) {
392
+ return 'warning';
393
+ }
394
+ return 'ok';
395
+ }
396
+ function redactDoctorMessage(message, env, cwd) {
397
+ let redacted = cwd ? message.replaceAll(cwd, '[REDACTED_LOCAL_PATH]') : message;
398
+ for (const [key, rawValue] of Object.entries(env)) {
399
+ const value = rawValue?.trim();
400
+ if (value && value.length >= 4) {
401
+ redacted = redacted.replaceAll(value, `[redacted:${key}]`);
402
+ }
403
+ }
404
+ return redacted.replace(/(?:[A-Za-z]:)?\/?(?:[^\s:]+\/){2,}[^\s:)]*/g, '[REDACTED_LOCAL_PATH]');
405
+ }
406
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { DEFAULT_METAMASK_PROMPT_SELECTORS, approveMetaMaskConnectionPrompt, ass
6
6
  export { FIXTURE_CONNECTION_PROOF_MANIFEST, verifyFixtureConnectionProofManifest, type FixtureConnectionProofEvidence, type FixtureConnectionProofScreenshot, type FixtureConnectionProofVerificationResult } from './fixture-proof.js';
7
7
  export { runFixtureConnectionProof, type FixtureConnectionScreenshotCaptureInput, type RunFixtureConnectionProofOptions } from './fixture-harness.js';
8
8
  export { runWalletBrowserCli, type WalletBrowserCliOptions } from './cli.js';
9
+ export { createWalletBrowserDoctorReport, type CreateWalletBrowserDoctorReportOptions, type WalletBrowserDoctorCheck, type WalletBrowserDoctorReport, type WalletBrowserDoctorStatus } from './doctor.js';
9
10
  export { DEFAULT_METAMASK_ONBOARDING_TIMEOUT_MS, METAMASK_ONBOARDING_SELECTORS, createMetaMaskOnboardingPlan, createMetaMaskPageDriver, findMetaMaskExtensionPage, importPrivateKeyIntoMetaMaskPage, isMetaMaskExtensionPageUrl, maskSecret, resolveMetaMaskOnboardingConfig, runMetaMaskOnboarding, unlockMetaMaskPage, validateEthereumAddress, validateMetaMaskPassword, validatePrivateKey, verifyMetaMaskActiveAddress, type MetaMaskImportPrivateKeyInput, type MetaMaskExtensionPageDiscoveryOptions, type MetaMaskOnboardingConfig, type MetaMaskOnboardingDriver, type MetaMaskOnboardingEnv, type MetaMaskOnboardingResult, type MetaMaskOnboardingState, type MetaMaskOnboardingStatus, type MetaMaskPageDriverOptions, type MetaMaskUnlockInput, type RedactedMetaMaskOnboardingPlan, type ResolveMetaMaskOnboardingConfigOptions } from './onboarding.js';
10
11
  export { DEFAULT_ALLOWED_WALLET_CHAIN_IDS, DEFAULT_NETWORK_ASSERTION_TIMEOUT_MS, DEFAULT_SEPOLIA_CHAIN_ID, assertExpectedChainAndAccount, chainIdToHex, createMetaMaskNetworkPageDriver, createSepoliaAddChainInput, createSepoliaNetworkPlan, isAllowedWalletChainId, normalizeChainId, normalizeExpectedAccount, provisionSepoliaNetwork, redactRpcUrl, resolveSepoliaNetworkConfig, validateOptionalRpcUrl, type AddEthereumChainInput, type MetaMaskNetworkDriver, type MetaMaskNetworkPageDriverOptions, type RedactedSepoliaNetworkPlan, type ResolveSepoliaNetworkConfigOptions, type SepoliaNetworkAssertionResult, type SepoliaNetworkConfig, type SepoliaNetworkEnv } from './network.js';
11
12
  export { createProfileBootstrapImportDryRun, createProfileBootstrapImportManifest, maskEthereumAddress, type ProfileBootstrapImportDryRunResult, type ProfileBootstrapImportEnv, type ProfileBootstrapImportManifest, type ResolveProfileBootstrapImportOptions } from './profile-bootstrap.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export { DEFAULT_METAMASK_PROMPT_SELECTORS, approveMetaMaskConnectionPrompt, ass
6
6
  export { FIXTURE_CONNECTION_PROOF_MANIFEST, verifyFixtureConnectionProofManifest } from './fixture-proof.js';
7
7
  export { runFixtureConnectionProof } from './fixture-harness.js';
8
8
  export { runWalletBrowserCli } from './cli.js';
9
+ export { createWalletBrowserDoctorReport } from './doctor.js';
9
10
  export { DEFAULT_METAMASK_ONBOARDING_TIMEOUT_MS, METAMASK_ONBOARDING_SELECTORS, createMetaMaskOnboardingPlan, createMetaMaskPageDriver, findMetaMaskExtensionPage, importPrivateKeyIntoMetaMaskPage, isMetaMaskExtensionPageUrl, maskSecret, resolveMetaMaskOnboardingConfig, runMetaMaskOnboarding, unlockMetaMaskPage, validateEthereumAddress, validateMetaMaskPassword, validatePrivateKey, verifyMetaMaskActiveAddress } from './onboarding.js';
10
11
  export { DEFAULT_ALLOWED_WALLET_CHAIN_IDS, DEFAULT_NETWORK_ASSERTION_TIMEOUT_MS, DEFAULT_SEPOLIA_CHAIN_ID, assertExpectedChainAndAccount, chainIdToHex, createMetaMaskNetworkPageDriver, createSepoliaAddChainInput, createSepoliaNetworkPlan, isAllowedWalletChainId, normalizeChainId, normalizeExpectedAccount, provisionSepoliaNetwork, redactRpcUrl, resolveSepoliaNetworkConfig, validateOptionalRpcUrl } from './network.js';
11
12
  export { createProfileBootstrapImportDryRun, createProfileBootstrapImportManifest, maskEthereumAddress } from './profile-bootstrap.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAK3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAG7B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAM7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uCAAuC,EACvC,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EAK1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,EAK3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iCAAiC,EACjC,oCAAoC,EAIrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAgC,MAAM,UAAU,CAAC;AAE7E,OAAO,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,0BAA0B,EAC1B,UAAU,EACV,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAa5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,gCAAgC,EAChC,oCAAoC,EACpC,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY,EACZ,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,2BAA2B,EAC3B,sBAAsB,EASvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,mBAAmB,EAKpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,YAAY,EACZ,aAAa,EAwBd,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAK3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAG7B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAM7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uCAAuC,EACvC,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EAK1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,EAK3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iCAAiC,EACjC,oCAAoC,EAIrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAgC,MAAM,UAAU,CAAC;AAC7E,OAAO,EACL,+BAA+B,EAKhC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,0BAA0B,EAC1B,UAAU,EACV,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAa5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,gCAAgC,EAChC,oCAAoC,EACpC,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY,EACZ,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,2BAA2B,EAC3B,sBAAsB,EASvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,mBAAmB,EAKpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,YAAY,EACZ,aAAa,EAwBd,MAAM,qBAAqB,CAAC"}
@@ -86,9 +86,9 @@ export declare function validateMetaMaskPassword(value: string | undefined): str
86
86
  export declare function maskSecret(value: string): string;
87
87
  export declare function createMetaMaskOnboardingPlan(config: MetaMaskOnboardingConfig): RedactedMetaMaskOnboardingPlan;
88
88
  export declare function runMetaMaskOnboarding(config: MetaMaskOnboardingConfig, driver: MetaMaskOnboardingDriver): Promise<MetaMaskOnboardingResult>;
89
- export declare function importPrivateKeyIntoMetaMaskPage(_page: Page, _input: MetaMaskImportPrivateKeyInput): Promise<void>;
89
+ export declare function importPrivateKeyIntoMetaMaskPage(page: Page, input: MetaMaskImportPrivateKeyInput): Promise<void>;
90
90
  export declare function unlockMetaMaskPage(page: Page, input: MetaMaskUnlockInput): Promise<void>;
91
- export declare function verifyMetaMaskActiveAddress(_page: Page, _expectedAddress: string): Promise<string>;
91
+ export declare function verifyMetaMaskActiveAddress(page: Page, expectedAddress: string): Promise<string>;
92
92
  export declare function isMetaMaskExtensionPageUrl(url: string, extensionId?: string): boolean;
93
93
  export declare function findMetaMaskExtensionPage(options: MetaMaskExtensionPageDiscoveryOptions): Page;
94
94
  export declare function createMetaMaskPageDriver(options: MetaMaskPageDriverOptions): Promise<MetaMaskOnboardingDriver>;
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"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"}
@@ -94,15 +94,45 @@ export async function runMetaMaskOnboarding(config, driver) {
94
94
  }
95
95
  return { status: 'verified', expectedAddress: config.expectedAddress, activeAddress };
96
96
  }
97
- export async function importPrivateKeyIntoMetaMaskPage(_page, _input) {
98
- throw new Error('MetaMask page import automation is not implemented yet; selector contract is exported for the pinned onboarding flow.');
97
+ export async function importPrivateKeyIntoMetaMaskPage(page, input) {
98
+ await clickIfPresent(page, METAMASK_ONBOARDING_SELECTORS.termsCheckbox, input.timeoutMs);
99
+ await clickIfPresent(page, METAMASK_ONBOARDING_SELECTORS.importWalletButton, input.timeoutMs);
100
+ await clickIfPresent(page, METAMASK_ONBOARDING_SELECTORS.noThanksMetricsButton, input.timeoutMs);
101
+ const srpWords = 'test test test test test test test test test test test junk'.split(' ');
102
+ if (await selectorExists(page, '[data-testid="import-srp__srp-word-0"]')) {
103
+ for (let index = 0; index < srpWords.length; index += 1) {
104
+ await page.locator(`[data-testid="import-srp__srp-word-${index}"]`).fill(srpWords[index]);
105
+ }
106
+ }
107
+ else if (await selectorExists(page, METAMASK_ONBOARDING_SELECTORS.privateKeyInput)) {
108
+ await page.locator(METAMASK_ONBOARDING_SELECTORS.privateKeyInput).fill(input.privateKey);
109
+ }
110
+ if (await selectorExists(page, METAMASK_ONBOARDING_SELECTORS.passwordInput)) {
111
+ await page.locator(METAMASK_ONBOARDING_SELECTORS.passwordInput).fill(input.password);
112
+ }
113
+ if (await selectorExists(page, METAMASK_ONBOARDING_SELECTORS.confirmPasswordInput)) {
114
+ await page.locator(METAMASK_ONBOARDING_SELECTORS.confirmPasswordInput).fill(input.password);
115
+ }
116
+ await clickIfPresent(page, '[data-testid="import-srp-confirm"]', input.timeoutMs);
117
+ await clickIfPresent(page, METAMASK_ONBOARDING_SELECTORS.importSubmitButton, input.timeoutMs);
118
+ await clickIfPresent(page, '[data-testid="onboarding-complete-done"]', input.timeoutMs);
119
+ await clickIfPresent(page, '[data-testid="pin-extension-next"]', input.timeoutMs);
120
+ await clickIfPresent(page, '[data-testid="pin-extension-done"]', input.timeoutMs);
99
121
  }
100
122
  export async function unlockMetaMaskPage(page, input) {
101
123
  await page.locator(METAMASK_ONBOARDING_SELECTORS.unlockPasswordInput).fill(input.password);
102
124
  await page.locator(METAMASK_ONBOARDING_SELECTORS.unlockSubmitButton).click();
103
- }
104
- export async function verifyMetaMaskActiveAddress(_page, _expectedAddress) {
105
- throw new Error('MetaMask active-address verification is not implemented yet; use a MetaMaskOnboardingDriver mock until real extension page selectors are wired.');
125
+ await clickIfPresent(page, '[data-testid="onboarding-complete-done"]', input.timeoutMs);
126
+ await clickIfPresent(page, '[data-testid="pin-extension-next"]', input.timeoutMs);
127
+ await clickIfPresent(page, '[data-testid="pin-extension-done"]', input.timeoutMs);
128
+ }
129
+ export async function verifyMetaMaskActiveAddress(page, expectedAddress) {
130
+ const normalized = validateEthereumAddress(expectedAddress);
131
+ const body = (await page.locator('body').innerText({ timeout: 2_000 }).catch(() => '')).toLowerCase();
132
+ if (body.includes(normalized) || (body.includes(normalized.slice(0, 6)) && body.includes(normalized.slice(-5)))) {
133
+ return normalized;
134
+ }
135
+ throw new Error(`MetaMask active address did not match expected ${normalized.slice(0, 6)}…${normalized.slice(-4)}.`);
106
136
  }
107
137
  export function isMetaMaskExtensionPageUrl(url, extensionId) {
108
138
  return isKnownMetaMaskExtensionPageUrl(url, { extensionId });
@@ -152,6 +182,26 @@ export async function createMetaMaskPageDriver(options) {
152
182
  }
153
183
  };
154
184
  }
185
+ async function selectorExists(page, selector) {
186
+ try {
187
+ return (await page.locator(selector).count()) > 0;
188
+ }
189
+ catch {
190
+ return false;
191
+ }
192
+ }
193
+ async function clickIfPresent(page, selector, timeoutMs) {
194
+ try {
195
+ if (!(await selectorExists(page, selector)))
196
+ return false;
197
+ await page.locator(selector).click({ timeout: Math.min(timeoutMs, 5_000) });
198
+ await page.waitForTimeout?.(250).catch(() => undefined);
199
+ return true;
200
+ }
201
+ catch {
202
+ return false;
203
+ }
204
+ }
155
205
  async function hasAnyVisibleSelector(page, selectors) {
156
206
  for (const selector of selectors) {
157
207
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@broccolo1d/wallet-browser",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Core browser-wallet runtime, guardrails, CLI, and artifact helpers for dapp QA.",
5
5
  "private": false,
6
6
  "type": "module",