@framers/agentos-ext-browser-automation 0.2.0 → 0.2.1

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 (124) hide show
  1. package/README.md +80 -0
  2. package/dist/BrowserService.js +9 -45
  3. package/dist/BrowserService.js.map +1 -1
  4. package/dist/attach/AttachController.js +44 -41
  5. package/dist/attach/AttachController.js.map +1 -1
  6. package/dist/attach/backends/jxa.js +29 -62
  7. package/dist/attach/backends/jxa.js.map +1 -1
  8. package/dist/attach/backends/raw-cdp.js +32 -35
  9. package/dist/attach/backends/raw-cdp.js.map +1 -1
  10. package/dist/attach/daemon/client.js +23 -23
  11. package/dist/attach/daemon/client.js.map +1 -1
  12. package/dist/attach/daemon/daemon-lock.js +14 -17
  13. package/dist/attach/daemon/daemon-lock.js.map +1 -1
  14. package/dist/attach/daemon/daemon-main.d.ts +11 -0
  15. package/dist/attach/daemon/daemon-main.d.ts.map +1 -1
  16. package/dist/attach/daemon/daemon-main.js +37 -18
  17. package/dist/attach/daemon/daemon-main.js.map +1 -1
  18. package/dist/attach/daemon/daemon.d.ts.map +1 -1
  19. package/dist/attach/daemon/daemon.js +41 -32
  20. package/dist/attach/daemon/daemon.js.map +1 -1
  21. package/dist/attach/daemon/index.js +7 -25
  22. package/dist/attach/daemon/index.js.map +1 -1
  23. package/dist/attach/daemon/protocol.js +33 -45
  24. package/dist/attach/daemon/protocol.js.map +1 -1
  25. package/dist/attach/daemon/runner.js +1 -4
  26. package/dist/attach/daemon/runner.js.map +1 -1
  27. package/dist/attach/daemon/surface.js +12 -14
  28. package/dist/attach/daemon/surface.js.map +1 -1
  29. package/dist/attach/devtools-port.js +1 -4
  30. package/dist/attach/devtools-port.js.map +1 -1
  31. package/dist/attach/errors.js +4 -9
  32. package/dist/attach/errors.js.map +1 -1
  33. package/dist/attach/lease.js +18 -23
  34. package/dist/attach/lease.js.map +1 -1
  35. package/dist/attach/singleton-lock.js +1 -4
  36. package/dist/attach/singleton-lock.js.map +1 -1
  37. package/dist/attach/state.js +6 -13
  38. package/dist/attach/state.js.map +1 -1
  39. package/dist/attach/tools.js +84 -88
  40. package/dist/attach/tools.js.map +1 -1
  41. package/dist/attach/url-policy.js +2 -6
  42. package/dist/attach/url-policy.js.map +1 -1
  43. package/dist/attach.js +7 -23
  44. package/dist/attach.js.map +1 -1
  45. package/dist/captcha/CaptchaSolver.js +4 -7
  46. package/dist/captcha/CaptchaSolver.js.map +1 -1
  47. package/dist/captcha/ICaptchaProvider.js +1 -2
  48. package/dist/captcha/ICaptchaProvider.js.map +1 -1
  49. package/dist/index.js +55 -75
  50. package/dist/index.js.map +1 -1
  51. package/dist/proxy/IProxyProvider.js +1 -2
  52. package/dist/proxy/IProxyProvider.js.map +1 -1
  53. package/dist/proxy/ProxyManager.js +7 -10
  54. package/dist/proxy/ProxyManager.js.map +1 -1
  55. package/dist/tools/ClickTool.js +17 -20
  56. package/dist/tools/ClickTool.js.map +1 -1
  57. package/dist/tools/EvaluateTool.js +16 -19
  58. package/dist/tools/EvaluateTool.js.map +1 -1
  59. package/dist/tools/ExtractTool.js +23 -26
  60. package/dist/tools/ExtractTool.js.map +1 -1
  61. package/dist/tools/FillTool.js +17 -20
  62. package/dist/tools/FillTool.js.map +1 -1
  63. package/dist/tools/NavigateTool.js +31 -34
  64. package/dist/tools/NavigateTool.js.map +1 -1
  65. package/dist/tools/PageSnapshotTool.js +13 -16
  66. package/dist/tools/PageSnapshotTool.js.map +1 -1
  67. package/dist/tools/ScreenshotTool.js +16 -19
  68. package/dist/tools/ScreenshotTool.js.map +1 -1
  69. package/dist/tools/ScrollTool.js +17 -20
  70. package/dist/tools/ScrollTool.js.map +1 -1
  71. package/dist/tools/SessionTool.js +24 -27
  72. package/dist/tools/SessionTool.js.map +1 -1
  73. package/dist/tools/WaitTool.js +22 -25
  74. package/dist/tools/WaitTool.js.map +1 -1
  75. package/manifest.json +1 -1
  76. package/package.json +5 -4
  77. package/dist/attach/__tests__/AttachController.test.d.ts +0 -2
  78. package/dist/attach/__tests__/AttachController.test.d.ts.map +0 -1
  79. package/dist/attach/__tests__/AttachController.test.js +0 -278
  80. package/dist/attach/__tests__/AttachController.test.js.map +0 -1
  81. package/dist/attach/__tests__/attach-primitives.test.d.ts +0 -2
  82. package/dist/attach/__tests__/attach-primitives.test.d.ts.map +0 -1
  83. package/dist/attach/__tests__/attach-primitives.test.js +0 -158
  84. package/dist/attach/__tests__/attach-primitives.test.js.map +0 -1
  85. package/dist/attach/__tests__/jxa-args.test.d.ts +0 -2
  86. package/dist/attach/__tests__/jxa-args.test.d.ts.map +0 -1
  87. package/dist/attach/__tests__/jxa-args.test.js +0 -37
  88. package/dist/attach/__tests__/jxa-args.test.js.map +0 -1
  89. package/dist/attach/__tests__/pack-registration.test.d.ts +0 -2
  90. package/dist/attach/__tests__/pack-registration.test.d.ts.map +0 -1
  91. package/dist/attach/__tests__/pack-registration.test.js +0 -34
  92. package/dist/attach/__tests__/pack-registration.test.js.map +0 -1
  93. package/dist/attach/__tests__/tools.test.d.ts +0 -2
  94. package/dist/attach/__tests__/tools.test.d.ts.map +0 -1
  95. package/dist/attach/__tests__/tools.test.js +0 -155
  96. package/dist/attach/__tests__/tools.test.js.map +0 -1
  97. package/dist/attach/backends/__tests__/raw-cdp.test.d.ts +0 -2
  98. package/dist/attach/backends/__tests__/raw-cdp.test.d.ts.map +0 -1
  99. package/dist/attach/backends/__tests__/raw-cdp.test.js +0 -133
  100. package/dist/attach/backends/__tests__/raw-cdp.test.js.map +0 -1
  101. package/dist/attach/daemon/__tests__/client.test.d.ts +0 -2
  102. package/dist/attach/daemon/__tests__/client.test.d.ts.map +0 -1
  103. package/dist/attach/daemon/__tests__/client.test.js +0 -58
  104. package/dist/attach/daemon/__tests__/client.test.js.map +0 -1
  105. package/dist/attach/daemon/__tests__/daemon-lock.test.d.ts +0 -2
  106. package/dist/attach/daemon/__tests__/daemon-lock.test.d.ts.map +0 -1
  107. package/dist/attach/daemon/__tests__/daemon-lock.test.js +0 -72
  108. package/dist/attach/daemon/__tests__/daemon-lock.test.js.map +0 -1
  109. package/dist/attach/daemon/__tests__/daemon-loop.integration.test.d.ts +0 -2
  110. package/dist/attach/daemon/__tests__/daemon-loop.integration.test.d.ts.map +0 -1
  111. package/dist/attach/daemon/__tests__/daemon-loop.integration.test.js +0 -102
  112. package/dist/attach/daemon/__tests__/daemon-loop.integration.test.js.map +0 -1
  113. package/dist/attach/daemon/__tests__/harness.d.ts +0 -44
  114. package/dist/attach/daemon/__tests__/harness.d.ts.map +0 -1
  115. package/dist/attach/daemon/__tests__/harness.js +0 -96
  116. package/dist/attach/daemon/__tests__/harness.js.map +0 -1
  117. package/dist/attach/daemon/__tests__/protocol.test.d.ts +0 -2
  118. package/dist/attach/daemon/__tests__/protocol.test.d.ts.map +0 -1
  119. package/dist/attach/daemon/__tests__/protocol.test.js +0 -71
  120. package/dist/attach/daemon/__tests__/protocol.test.js.map +0 -1
  121. package/dist/attach/daemon/__tests__/runner.test.d.ts +0 -2
  122. package/dist/attach/daemon/__tests__/runner.test.d.ts.map +0 -1
  123. package/dist/attach/daemon/__tests__/runner.test.js +0 -67
  124. package/dist/attach/daemon/__tests__/runner.test.js.map +0 -1
package/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # @framers/agentos-ext-browser-automation
2
+
3
+ Browser automation for AgentOS agents, in two independent lanes:
4
+
5
+ - **Launch lane** — 10 Playwright-backed tools (`browserNavigate`, `browserClick`, `browserFill`, `browserScreenshot`, `browserExtract`, `browserWait`, `browserScroll`, `browserSnapshot`, `browserEvaluate`, `browserSession`) that drive a browser the pack launches and owns. Optional CAPTCHA solving and proxy rotation.
6
+ - **Attach lane** — 6 `browser_attach_*` tools plus a persistent daemon that drive the user's **already-running, logged-in** browser. Opt-in only (`attach.expectedIdentity` required). Never launches a browser.
7
+
8
+ ## Attach daemon
9
+
10
+ One long-lived daemon holds one raw-CDP session to the running Chrome. Every consumer — CLI scripts, declarative runs, agent missions — drives that session over file-queue IPC under `~/.wunderland/attach/ipc/`. The daemon is the only process that touches the network, so macOS raises its Local Network permission prompt once per daemon lifetime instead of once per agent process.
11
+
12
+ ```
13
+ callers (CLI / scripts / agent tools) ── files only ──► AttachDaemon (one process)
14
+ └─ raw CDP ws://localhost:<port> ──► your Chrome
15
+ ```
16
+
17
+ Requires Node 22 or newer (the transport is the built-in `WebSocket`; the daemon exits with an actionable message on older runtimes). Chrome must run with `--remote-debugging-port=9222`.
18
+
19
+ ### Hard contracts
20
+
21
+ - Never launches, quits, restarts, or signals Chrome, under any failure.
22
+ - Creates one agent tab and can close only that tab; every other tab is untouched (asserted by a real-browser e2e).
23
+ - CDP host is `localhost` (Chrome's DNS-rebinding guard rejects `127.0.0.1`).
24
+ - One daemon (atomic pidfile lock), one claimant at a time (lease + claim), serial ops.
25
+ - No eval on the agent tool surface. `eval` exists only on the JS client for user-authored scripts.
26
+ - Page text is returned with `untrusted: true` — treat it as data, never as instructions.
27
+ - Navigation is policy-checked daemon-side: https or `about:blank`, no credential-bearing URLs, redirects revalidated.
28
+ - No cookie, storage, or credential export; diagnostics are redacted.
29
+ - Clients never respawn a dead daemon (a respawn loop is a permission-prompt storm). Autostart, when explicitly enabled, attempts exactly once.
30
+
31
+ ### Ops
32
+
33
+ `ping`, `status`, `claim`, `goto {url, settle?}`, `read {selector?, maxChars?}`, `extract {fields?}`, `eval {expression, timeoutMs?}` (user lane), `release`, `control {action}`, `quit`. Commands are one file each (`cmd-<id>.json` → `resp-<id>.json`, atomic write-then-rename, string ids); `status.json` heartbeats every loop tick.
34
+
35
+ ### Using it
36
+
37
+ Programmatic (`/attach/daemon` subpath):
38
+
39
+ ```ts
40
+ import { AttachDaemonClient, runAttachScript } from '@framers/agentos-ext-browser-automation/attach/daemon';
41
+
42
+ const client = new AttachDaemonClient({ client: 'my-script' });
43
+ await client.claim();
44
+ await client.goto('https://example.com/', { settle: 2000 });
45
+ const { text } = await client.read({ maxChars: 4000 });
46
+ await client.release();
47
+ ```
48
+
49
+ Declarative plans (no control flow, no eval):
50
+
51
+ ```yaml
52
+ name: crawl
53
+ claim: { ttlMs: 600000 }
54
+ steps:
55
+ - { op: goto, url: "https://example.com/list", settle: 2500 }
56
+ - { op: read, out: listing }
57
+ - { op: extract, fields: { items: "ul li" }, out: items }
58
+ ```
59
+
60
+ From the wunderland CLI: `wunderland attach start | status | stop | run <file.mjs|file.yaml|file.json>`. Agent missions reach the same held session by enabling the attach tools with `transport: 'cdp'` (`WUNDERLAND_ATTACH_TRANSPORT=cdp`).
61
+
62
+ ### Environment
63
+
64
+ | Variable | Meaning |
65
+ |---|---|
66
+ | `WUNDERLAND_ATTACH_IDENTITY` | Required. Profile identity the daemon must verify before claiming (e.g. your account email; matched against the identity-probe tab's title/url metadata). |
67
+ | `WUNDERLAND_ATTACH_TRANSPORT` | `jxa` (in-process, macOS AppleScript) or `cdp` (daemon-routed). |
68
+ | `WUNDERLAND_ATTACH_PROFILE_ROOT` | Chrome profile root holding `DevToolsActivePort`. |
69
+ | `WUNDERLAND_ATTACH_PROBE_URL` | Identity-probe URL substring (default `mail.google.com`). |
70
+ | `WUNDERLAND_ATTACH_HOSTS` | Comma-separated https host allowlist for navigation. |
71
+ | `WUNDERLAND_ATTACH_LEASE` | Lease file path override. |
72
+ | `WUNDERLAND_ATTACH_IPC_DIR` | IPC directory override (default `~/.wunderland/attach/ipc`). |
73
+ | `WUNDERLAND_ATTACH_PID_FILE` | Daemon pidfile override (default `~/.wunderland/attach/daemon.pid`). |
74
+ | `WUNDERLAND_ATTACH_AUTOSTART` | `1`/`true`: allow one autostart attempt when the daemon is down. |
75
+ | `WUNDERLAND_ATTACH_DRYRUN` | `1`/`true`: simulate navigation/reads without touching the browser. |
76
+ | `WUNDERLAND_ATTACH_DEADLINE_MS` | Per-operation deadline (default 45000). |
77
+
78
+ ## License
79
+
80
+ Apache-2.0
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  // @ts-nocheck
3
2
  /**
4
3
  * @fileoverview Singleton browser manager wrapping Playwright.
@@ -6,54 +5,20 @@
6
5
  * Provides persistent browser context, session storage,
7
6
  * auto-screenshot on errors, and page feedback capture.
8
7
  */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.BrowserService = void 0;
44
8
  // ---------------------------------------------------------------------------
45
9
  // BrowserService
46
10
  // ---------------------------------------------------------------------------
47
- class BrowserService {
11
+ export class BrowserService {
12
+ browser = null;
13
+ context = null;
14
+ page = null;
15
+ config;
16
+ consoleLogs = [];
17
+ initialized = false;
48
18
  constructor(config = {}) {
49
- this.browser = null;
50
- this.context = null;
51
- this.page = null;
52
- this.consoleLogs = [];
53
- this.initialized = false;
54
19
  this.config = {
55
20
  headless: true,
56
- timeout: 30000,
21
+ timeout: 30_000,
57
22
  viewport: { width: 1280, height: 720 },
58
23
  ...config,
59
24
  };
@@ -62,7 +27,7 @@ class BrowserService {
62
27
  async initialize() {
63
28
  if (this.initialized)
64
29
  return;
65
- const { chromium } = await Promise.resolve().then(() => __importStar(require('playwright')));
30
+ const { chromium } = await import('playwright');
66
31
  if (this.config.userDataDir) {
67
32
  this.context = await chromium.launchPersistentContext(this.config.userDataDir, {
68
33
  headless: this.config.headless,
@@ -328,5 +293,4 @@ class BrowserService {
328
293
  return this.page;
329
294
  }
330
295
  }
331
- exports.BrowserService = BrowserService;
332
296
  //# sourceMappingURL=BrowserService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserService.js","sourceRoot":"","sources":["../src/BrowserService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserService.js","sourceRoot":"","sources":["../src/BrowserService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AttachController = void 0;
4
1
  /**
5
2
  * @fileoverview AttachController — the one object allowed to touch an attached
6
3
  * (user-owned, already-running) browser.
@@ -23,25 +20,32 @@ exports.AttachController = void 0;
23
20
  *
24
21
  * @module browser-automation/attach/AttachController
25
22
  */
26
- const errors_js_1 = require("./errors.js");
27
- const lease_js_1 = require("./lease.js");
28
- const state_js_1 = require("./state.js");
29
- const url_policy_js_1 = require("./url-policy.js");
23
+ import { AttachError, toStructuredError } from './errors.js';
24
+ import { acquireLease, releaseLease, requireLease } from './lease.js';
25
+ import { AttachStateMachine, withDeadline } from './state.js';
26
+ import { isNavigationAllowed, revalidateRedirect } from './url-policy.js';
30
27
  /**
31
28
  * Orchestrates one attach session end to end. One controller instance = one
32
29
  * lease = one agent tab.
33
30
  */
34
- class AttachController {
31
+ export class AttachController {
32
+ backend;
33
+ opts;
34
+ machine = new AttachStateMachine();
35
+ lease;
36
+ tab;
37
+ lastError;
38
+ paused = false;
39
+ dryRun;
40
+ navigations = 0;
41
+ lastUrl;
35
42
  constructor(opts) {
36
- this.machine = new state_js_1.AttachStateMachine();
37
- this.paused = false;
38
- this.navigations = 0;
39
43
  this.backend = opts.backend;
40
44
  this.opts = opts;
41
45
  this.dryRun = !!opts.dryRun;
42
46
  }
43
47
  get deadline() {
44
- return this.opts.deadlineMs ?? 45000;
48
+ return this.opts.deadlineMs ?? 45_000;
45
49
  }
46
50
  /** Non-throwing status snapshot. */
47
51
  status() {
@@ -76,18 +80,18 @@ class AttachController {
76
80
  async claim() {
77
81
  this.machine.to('connecting');
78
82
  try {
79
- this.lease = (0, lease_js_1.acquireLease)({ file: this.opts.leaseFile });
80
- await (0, state_js_1.withDeadline)(this.backend.connect(), this.deadline, 'connect');
81
- const identity = await (0, state_js_1.withDeadline)(this.backend.probeIdentity(), this.deadline, 'probeIdentity');
83
+ this.lease = acquireLease({ file: this.opts.leaseFile });
84
+ await withDeadline(this.backend.connect(), this.deadline, 'connect');
85
+ const identity = await withDeadline(this.backend.probeIdentity(), this.deadline, 'probeIdentity');
82
86
  if (!identity.includes(this.opts.expectedIdentity)) {
83
- throw new errors_js_1.AttachError('PROFILE_MISMATCH', `attached browser did not present the expected profile identity (looked for "${this.opts.expectedIdentity}")`);
87
+ throw new AttachError('PROFILE_MISMATCH', `attached browser did not present the expected profile identity (looked for "${this.opts.expectedIdentity}")`);
84
88
  }
85
- this.tab = await (0, state_js_1.withDeadline)(this.backend.claimAgentTab(), this.deadline, 'claimAgentTab');
89
+ this.tab = await withDeadline(this.backend.claimAgentTab(), this.deadline, 'claimAgentTab');
86
90
  this.machine.to('ready');
87
91
  return this.status();
88
92
  }
89
93
  catch (err) {
90
- this.lastError = (0, errors_js_1.toStructuredError)(err);
94
+ this.lastError = toStructuredError(err);
91
95
  this.machine.to('failed');
92
96
  await this.safeReleaseOnFailure();
93
97
  throw err;
@@ -96,9 +100,9 @@ class AttachController {
96
100
  /** Navigate the agent tab (policy-checked, HITL-gated, redirect-revalidated). */
97
101
  async goto(url) {
98
102
  this.requireReady();
99
- const verdict = (0, url_policy_js_1.isNavigationAllowed)(url, this.opts.urlPolicy);
103
+ const verdict = isNavigationAllowed(url, this.opts.urlPolicy);
100
104
  if (!verdict.allowed) {
101
- throw new errors_js_1.AttachError('POLICY_BLOCKED', `navigation to "${url}" rejected: ${verdict.reason}`);
105
+ throw new AttachError('POLICY_BLOCKED', `navigation to "${url}" rejected: ${verdict.reason}`);
102
106
  }
103
107
  // HITL gate: after the policy passes, an approver may still block the page.
104
108
  if (this.opts.onNavigate) {
@@ -106,10 +110,10 @@ class AttachController {
106
110
  const approved = typeof decision === 'boolean' ? decision : decision.approved;
107
111
  if (!approved) {
108
112
  const reason = typeof decision === 'object' && decision.reason ? decision.reason : 'operator denied';
109
- throw new errors_js_1.AttachError('POLICY_BLOCKED', `navigation to "${url}" denied by approver: ${reason}`);
113
+ throw new AttachError('POLICY_BLOCKED', `navigation to "${url}" denied by approver: ${reason}`);
110
114
  }
111
115
  }
112
- (0, lease_js_1.requireLease)(this.opts.leaseFile, this.lease.nonce);
116
+ requireLease(this.opts.leaseFile, this.lease.nonce);
113
117
  // Dry-run: report the URL as the landed target without touching the browser.
114
118
  if (this.dryRun) {
115
119
  this.navigations += 1;
@@ -118,13 +122,13 @@ class AttachController {
118
122
  }
119
123
  this.machine.to('navigating');
120
124
  try {
121
- const landed = await (0, state_js_1.withDeadline)(this.backend.gotoTab(this.tab, url), this.deadline, 'goto');
125
+ const landed = await withDeadline(this.backend.gotoTab(this.tab, url), this.deadline, 'goto');
122
126
  this.navigations += 1;
123
127
  this.lastUrl = landed;
124
- const landedVerdict = (0, url_policy_js_1.revalidateRedirect)(landed, this.opts.urlPolicy);
128
+ const landedVerdict = revalidateRedirect(landed, this.opts.urlPolicy);
125
129
  if (!landedVerdict.allowed) {
126
130
  this.machine.to('ready');
127
- throw new errors_js_1.AttachError('POLICY_BLOCKED', `redirect landed on a blocked target: ${landedVerdict.reason}`);
131
+ throw new AttachError('POLICY_BLOCKED', `redirect landed on a blocked target: ${landedVerdict.reason}`);
128
132
  }
129
133
  this.machine.to('ready');
130
134
  return landed;
@@ -132,26 +136,26 @@ class AttachController {
132
136
  catch (err) {
133
137
  if (this.machine.state === 'navigating')
134
138
  this.machine.to('failed');
135
- this.lastError = (0, errors_js_1.toStructuredError)(err);
139
+ this.lastError = toStructuredError(err);
136
140
  throw err;
137
141
  }
138
142
  }
139
143
  /** Read text from the agent tab (size-capped by the backend). */
140
144
  async read(selector, maxChars) {
141
145
  this.requireReady();
142
- (0, lease_js_1.requireLease)(this.opts.leaseFile, this.lease.nonce);
146
+ requireLease(this.opts.leaseFile, this.lease.nonce);
143
147
  if (this.dryRun)
144
148
  return '[dry-run] read skipped';
145
149
  this.machine.to('reading');
146
150
  try {
147
- const text = await (0, state_js_1.withDeadline)(this.backend.readTab(this.tab, selector, maxChars), this.deadline, 'read');
151
+ const text = await withDeadline(this.backend.readTab(this.tab, selector, maxChars), this.deadline, 'read');
148
152
  this.machine.to('ready');
149
153
  return text;
150
154
  }
151
155
  catch (err) {
152
156
  if (this.machine.state === 'reading')
153
157
  this.machine.to('failed');
154
- this.lastError = (0, errors_js_1.toStructuredError)(err);
158
+ this.lastError = toStructuredError(err);
155
159
  throw err;
156
160
  }
157
161
  }
@@ -179,7 +183,7 @@ class AttachController {
179
183
  requireEval() {
180
184
  const fn = this.backend.evalInTab?.bind(this.backend);
181
185
  if (!fn) {
182
- throw new errors_js_1.AttachError('UNSUPPORTED_OP', `${this.backend.kind} backend has no page-evaluation capability`);
186
+ throw new AttachError('UNSUPPORTED_OP', `${this.backend.kind} backend has no page-evaluation capability`);
183
187
  }
184
188
  return fn;
185
189
  }
@@ -192,19 +196,19 @@ class AttachController {
192
196
  async extract(fields) {
193
197
  this.requireReady();
194
198
  const evalFn = this.requireEval();
195
- (0, lease_js_1.requireLease)(this.opts.leaseFile, this.lease.nonce);
199
+ requireLease(this.opts.leaseFile, this.lease.nonce);
196
200
  if (this.dryRun)
197
201
  return { dryRun: true };
198
202
  this.machine.to('reading');
199
203
  try {
200
- const out = await (0, state_js_1.withDeadline)(evalFn(this.tab, AttachController.extractExpression(fields)), this.deadline, 'extract');
204
+ const out = await withDeadline(evalFn(this.tab, AttachController.extractExpression(fields)), this.deadline, 'extract');
201
205
  this.machine.to('ready');
202
206
  return out;
203
207
  }
204
208
  catch (err) {
205
209
  if (this.machine.state === 'reading')
206
210
  this.machine.to('failed');
207
- this.lastError = (0, errors_js_1.toStructuredError)(err);
211
+ this.lastError = toStructuredError(err);
208
212
  throw err;
209
213
  }
210
214
  }
@@ -216,19 +220,19 @@ class AttachController {
216
220
  async evaluate(expression, timeoutMs) {
217
221
  this.requireReady();
218
222
  const evalFn = this.requireEval();
219
- (0, lease_js_1.requireLease)(this.opts.leaseFile, this.lease.nonce);
223
+ requireLease(this.opts.leaseFile, this.lease.nonce);
220
224
  if (this.dryRun)
221
225
  return '[dry-run] evaluate skipped';
222
226
  this.machine.to('reading');
223
227
  try {
224
- const out = await (0, state_js_1.withDeadline)(evalFn(this.tab, expression, timeoutMs), Math.max(this.deadline, (timeoutMs ?? 0) + 5000), 'evaluate');
228
+ const out = await withDeadline(evalFn(this.tab, expression, timeoutMs), Math.max(this.deadline, (timeoutMs ?? 0) + 5_000), 'evaluate');
225
229
  this.machine.to('ready');
226
230
  return out;
227
231
  }
228
232
  catch (err) {
229
233
  if (this.machine.state === 'reading')
230
234
  this.machine.to('failed');
231
- this.lastError = (0, errors_js_1.toStructuredError)(err);
235
+ this.lastError = toStructuredError(err);
232
236
  throw err;
233
237
  }
234
238
  }
@@ -243,7 +247,7 @@ class AttachController {
243
247
  }
244
248
  finally {
245
249
  if (this.lease)
246
- (0, lease_js_1.releaseLease)(this.opts.leaseFile, this.lease.nonce);
250
+ releaseLease(this.opts.leaseFile, this.lease.nonce);
247
251
  this.lease = undefined;
248
252
  this.tab = undefined;
249
253
  if (this.machine.state !== 'disconnected') {
@@ -255,10 +259,10 @@ class AttachController {
255
259
  }
256
260
  requireReady() {
257
261
  if (this.paused) {
258
- throw new errors_js_1.AttachError('UNKNOWN', 'attach session is paused — call resume() before further operations');
262
+ throw new AttachError('UNKNOWN', 'attach session is paused — call resume() before further operations');
259
263
  }
260
264
  if (this.machine.state !== 'ready' || !this.tab || !this.lease) {
261
- throw new errors_js_1.AttachError('UNKNOWN', `attach session not ready (state=${this.machine.state}) — call claim() first`);
265
+ throw new AttachError('UNKNOWN', `attach session not ready (state=${this.machine.state}) — call claim() first`);
262
266
  }
263
267
  }
264
268
  async safeReleaseOnFailure() {
@@ -270,7 +274,7 @@ class AttachController {
270
274
  }
271
275
  if (this.lease) {
272
276
  try {
273
- (0, lease_js_1.releaseLease)(this.opts.leaseFile, this.lease.nonce);
277
+ releaseLease(this.opts.leaseFile, this.lease.nonce);
274
278
  }
275
279
  catch {
276
280
  /* foreign lease — leave it */
@@ -279,5 +283,4 @@ class AttachController {
279
283
  }
280
284
  }
281
285
  }
282
- exports.AttachController = AttachController;
283
286
  //# sourceMappingURL=AttachController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachController.js","sourceRoot":"","sources":["../../src/attach/AttachController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttachController.js","sourceRoot":"","sources":["../../src/attach/AttachController.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.JxaBackend = exports.JXA_DRIVER_SOURCE = void 0;
37
- exports.buildJxaArgs = buildJxaArgs;
38
1
  /**
39
2
  * @fileoverview JXA (macOS) attach backend.
40
3
  *
@@ -52,24 +15,24 @@ exports.buildJxaArgs = buildJxaArgs;
52
15
  *
53
16
  * @module browser-automation/attach/backends/jxa
54
17
  */
55
- const node_child_process_1 = require("node:child_process");
56
- const node_util_1 = require("node:util");
57
- const node_os_1 = require("node:os");
58
- const node_path_1 = require("node:path");
59
- const node_fs_1 = require("node:fs");
60
- const singleton_lock_js_1 = require("../singleton-lock.js");
61
- const errors_js_1 = require("../errors.js");
62
- const pExecFile = (0, node_util_1.promisify)(node_child_process_1.execFile);
18
+ import { execFile } from 'node:child_process';
19
+ import { promisify } from 'node:util';
20
+ import { homedir } from 'node:os';
21
+ import { join } from 'node:path';
22
+ import { readlinkSync } from 'node:fs';
23
+ import { pidFromSingletonLock } from '../singleton-lock.js';
24
+ import { AttachError } from '../errors.js';
25
+ const pExecFile = promisify(execFile);
63
26
  /**
64
27
  * Build the exact osascript argv for a driver invocation. Pure + exported for
65
28
  * unit tests: arguments pass as argv (never shell-interpolated). The driver
66
29
  * receives `profileRoot` as its first arg, then the command and its args.
67
30
  */
68
- function buildJxaArgs(script, profileRoot, cmd, args) {
31
+ export function buildJxaArgs(script, profileRoot, cmd, args) {
69
32
  return ['-l', 'JavaScript', script, profileRoot, cmd, ...args];
70
33
  }
71
34
  /** The embedded JXA driver source (written to a temp file at first use). */
72
- exports.JXA_DRIVER_SOURCE = `ObjC.import('Foundation');
35
+ export const JXA_DRIVER_SOURCE = `ObjC.import('Foundation');
73
36
  function chromePid(root) {
74
37
  const dest = $.NSFileManager.defaultManager.destinationOfSymbolicLinkAtPathError(root + '/SingletonLock', null);
75
38
  if (!dest || !dest.js) throw new Error('SingletonLock unreadable');
@@ -114,23 +77,28 @@ function run(argv) {
114
77
  }
115
78
  `;
116
79
  /** macOS JXA transport backend. */
117
- class JxaBackend {
80
+ export class JxaBackend {
81
+ kind = 'jxa';
82
+ profileRoot;
83
+ identityProbeUrl;
84
+ execTimeoutMs;
85
+ driverPath;
86
+ claimed;
118
87
  constructor(opts = {}) {
119
- this.kind = 'jxa';
120
- this.profileRoot = opts.profileRoot ?? (0, node_path_1.join)((0, node_os_1.homedir)(), 'Library/Application Support/Google/Chrome');
88
+ this.profileRoot = opts.profileRoot ?? join(homedir(), 'Library/Application Support/Google/Chrome');
121
89
  this.identityProbeUrl = opts.identityProbeUrl ?? 'https://mail.google.com/mail/u/0/';
122
- this.execTimeoutMs = opts.execTimeoutMs ?? 40000;
90
+ this.execTimeoutMs = opts.execTimeoutMs ?? 40_000;
123
91
  }
124
92
  /** Verify the SingletonLock resolves (Chrome is running) — no side effects. */
125
93
  async connect() {
126
94
  let target;
127
95
  try {
128
- target = (0, node_fs_1.readlinkSync)((0, node_path_1.join)(this.profileRoot, 'SingletonLock'));
96
+ target = readlinkSync(join(this.profileRoot, 'SingletonLock'));
129
97
  }
130
98
  catch {
131
- throw new errors_js_1.AttachError('CDP_UNAVAILABLE', 'no running Chrome found for the target profile root (SingletonLock absent)');
99
+ throw new AttachError('CDP_UNAVAILABLE', 'no running Chrome found for the target profile root (SingletonLock absent)');
132
100
  }
133
- (0, singleton_lock_js_1.pidFromSingletonLock)(target); // throws on malformed
101
+ pidFromSingletonLock(target); // throws on malformed
134
102
  }
135
103
  /** Nothing persistent to tear down: each op is a discrete osascript exec. */
136
104
  async disconnectTransport() {
@@ -139,11 +107,11 @@ class JxaBackend {
139
107
  async driver() {
140
108
  if (this.driverPath)
141
109
  return this.driverPath;
142
- const { mkdtempSync, writeFileSync } = await Promise.resolve().then(() => __importStar(require('node:fs')));
143
- const { tmpdir } = await Promise.resolve().then(() => __importStar(require('node:os')));
144
- const dir = mkdtempSync((0, node_path_1.join)(tmpdir(), 'attach-jxa-'));
145
- const file = (0, node_path_1.join)(dir, 'driver.js');
146
- writeFileSync(file, exports.JXA_DRIVER_SOURCE);
110
+ const { mkdtempSync, writeFileSync } = await import('node:fs');
111
+ const { tmpdir } = await import('node:os');
112
+ const dir = mkdtempSync(join(tmpdir(), 'attach-jxa-'));
113
+ const file = join(dir, 'driver.js');
114
+ writeFileSync(file, JXA_DRIVER_SOURCE);
147
115
  this.driverPath = file;
148
116
  return file;
149
117
  }
@@ -156,14 +124,14 @@ class JxaBackend {
156
124
  }
157
125
  catch (err) {
158
126
  const msg = err instanceof Error ? err.message : String(err);
159
- throw new errors_js_1.AttachError(/turned off/i.test(msg) ? 'JS_DISABLED' : /not authorized/i.test(msg) ? 'ACCESSIBILITY_DENIED' : 'UNKNOWN', msg);
127
+ throw new AttachError(/turned off/i.test(msg) ? 'JS_DISABLED' : /not authorized/i.test(msg) ? 'ACCESSIBILITY_DENIED' : 'UNKNOWN', msg);
160
128
  }
161
129
  }
162
130
  async claimAgentTab() {
163
131
  const out = await this.exec('claim', []);
164
132
  const [wid, tid] = out.split(/\s+/);
165
133
  if (!wid || !tid)
166
- throw new errors_js_1.AttachError('TAB_CLOSED', `claim returned malformed ids: "${out}"`);
134
+ throw new AttachError('TAB_CLOSED', `claim returned malformed ids: "${out}"`);
167
135
  this.claimed = { wid, tid };
168
136
  return `${wid} ${tid}`;
169
137
  }
@@ -184,5 +152,4 @@ class JxaBackend {
184
152
  return this.exec('read', [wid, tid, selector ?? 'body', String(maxChars ?? 6000)]);
185
153
  }
186
154
  }
187
- exports.JxaBackend = JxaBackend;
188
155
  //# sourceMappingURL=jxa.js.map