@browserbridge/bbx 1.7.8 → 1.9.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 (44) hide show
  1. package/PRIVACY.md +57 -12
  2. package/README.md +19 -8
  3. package/SECURITY.md +12 -0
  4. package/package.json +15 -6
  5. package/packages/agent-client/src/cli-args.js +59 -0
  6. package/packages/agent-client/src/cli-batch.js +121 -58
  7. package/packages/agent-client/src/cli-output.js +8 -1
  8. package/packages/agent-client/src/cli.js +272 -70
  9. package/packages/agent-client/src/client.js +296 -8
  10. package/packages/agent-client/src/command-registry.js +64 -55
  11. package/packages/agent-client/src/config.js +195 -0
  12. package/packages/agent-client/src/content-extract.js +198 -0
  13. package/packages/agent-client/src/npm-self-update.js +305 -0
  14. package/packages/agent-client/src/remotes.js +4 -2
  15. package/packages/agent-client/src/runtime.js +864 -39
  16. package/packages/agent-client/src/types.ts +169 -6
  17. package/packages/mcp-server/src/guidance.js +1 -1
  18. package/packages/mcp-server/src/handlers-capture.js +69 -6
  19. package/packages/mcp-server/src/handlers-dom.js +61 -4
  20. package/packages/mcp-server/src/handlers-navigation.js +2 -1
  21. package/packages/mcp-server/src/handlers-page.js +211 -54
  22. package/packages/mcp-server/src/handlers-utils.js +101 -10
  23. package/packages/mcp-server/src/handlers.js +14 -7
  24. package/packages/mcp-server/src/server.js +176 -11
  25. package/packages/native-host/src/artifact-store.js +353 -0
  26. package/packages/native-host/src/config.js +9 -1
  27. package/packages/native-host/src/daemon-logger.js +3 -1
  28. package/packages/native-host/src/daemon.js +701 -33
  29. package/packages/native-host/src/native-host.js +28 -3
  30. package/packages/protocol/src/capability-values.js +2 -0
  31. package/packages/protocol/src/defaults.js +31 -0
  32. package/packages/protocol/src/errors.js +102 -6
  33. package/packages/protocol/src/incidental-sanitizer.js +197 -0
  34. package/packages/protocol/src/index.js +2 -0
  35. package/packages/protocol/src/protocol.js +612 -6
  36. package/packages/protocol/src/recovery-telemetry.js +302 -0
  37. package/packages/protocol/src/registry.js +206 -38
  38. package/packages/protocol/src/summary.js +203 -30
  39. package/packages/protocol/src/types.ts +721 -2
  40. package/skills/browser-bridge/SKILL.md +54 -19
  41. package/skills/browser-bridge/references/interaction.md +55 -11
  42. package/skills/browser-bridge/references/patch-workflow.md +2 -0
  43. package/skills/browser-bridge/references/protocol.md +265 -86
  44. package/skills/browser-bridge/references/token-efficiency.md +29 -13
@@ -4,6 +4,7 @@ import fs from 'node:fs';
4
4
  import os from 'node:os';
5
5
  import path from 'node:path';
6
6
  import { createHash } from 'node:crypto';
7
+ import { sanitizeIncidentalPath, sanitizeIncidentalText } from '../../protocol/src/index.js';
7
8
 
8
9
  export const APP_NAME = 'com.browserbridge.browser_bridge';
9
10
  export const BRIDGE_HOME_ENV = 'BROWSER_BRIDGE_HOME';
@@ -58,6 +59,11 @@ export function getBridgeDir(env = process.env) {
58
59
  return path.join(xdgDataHome, 'browser-bridge');
59
60
  }
60
61
 
62
+ /** @param {NodeJS.ProcessEnv} [env=process.env] */
63
+ export function getArtifactStorePath(env = process.env) {
64
+ return path.join(getBridgeDir(env), 'artifacts');
65
+ }
66
+
61
67
  /**
62
68
  * Resolve the IPC endpoint the daemon listens on and the CLI / native host
63
69
  * connect to. On Windows we use a Named Pipe by default because Node's AF_UNIX
@@ -125,7 +131,9 @@ function normalizePort(value) {
125
131
  * @returns {void}
126
132
  */
127
133
  function warnProxyConfigIgnored(configPath, reason) {
128
- console.error(`browser-bridge: ignoring proxy config at ${configPath}: ${reason}`);
134
+ console.error(
135
+ `browser-bridge: ignoring proxy config at ${sanitizeIncidentalPath(configPath)}: ${sanitizeIncidentalText(reason)}`
136
+ );
129
137
  }
130
138
 
131
139
  /**
@@ -1,5 +1,7 @@
1
1
  // @ts-check
2
2
 
3
+ import { sanitizeIncidentalValue } from '../../protocol/src/index.js';
4
+
3
5
  /** @typedef {{ write: (chunk: string) => void }} LogStream */
4
6
 
5
7
  /**
@@ -62,7 +64,7 @@ export class DaemonLogger {
62
64
  message,
63
65
  ...extra,
64
66
  };
65
- this.#stream.write(`${JSON.stringify(entry)}\n`);
67
+ this.#stream.write(`${JSON.stringify(sanitizeIncidentalValue(entry))}\n`);
66
68
  }
67
69
 
68
70
  /**