teamshare-bridge 0.24.0 → 0.25.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 (47) hide show
  1. package/dist/bridge/daemon.js +6 -2
  2. package/dist/bridge/daemon.js.map +1 -1
  3. package/dist/bridge/local-server.d.ts +5 -1
  4. package/dist/bridge/local-server.js.map +1 -1
  5. package/dist/bridge/spawn.d.ts +11 -0
  6. package/dist/bridge/spawn.js +36 -0
  7. package/dist/bridge/spawn.js.map +1 -1
  8. package/dist/bridge/wake-handler.js +57 -3
  9. package/dist/bridge/wake-handler.js.map +1 -1
  10. package/dist/bridge/wake-lanes.d.ts +2 -0
  11. package/dist/bridge/wake-lanes.js +4 -1
  12. package/dist/bridge/wake-lanes.js.map +1 -1
  13. package/dist/bridge/wake-routing.d.ts +25 -2
  14. package/dist/bridge/wake-routing.js +57 -0
  15. package/dist/bridge/wake-routing.js.map +1 -1
  16. package/dist/cli/commands/research.js +27 -1
  17. package/dist/cli/commands/research.js.map +1 -1
  18. package/dist/cli/commands/workflow.d.ts +1 -0
  19. package/dist/cli/commands/workflow.js +419 -0
  20. package/dist/cli/commands/workflow.js.map +1 -0
  21. package/dist/cli/index.js +6 -0
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/lib/api-agents.d.ts +3 -1
  24. package/dist/lib/api-agents.js.map +1 -1
  25. package/dist/lib/api-types.d.ts +38 -1
  26. package/dist/lib/api.d.ts +62 -0
  27. package/dist/lib/api.js +48 -0
  28. package/dist/lib/api.js.map +1 -1
  29. package/dist/lib/browser/batch.d.ts +15 -0
  30. package/dist/lib/browser/batch.js +18 -0
  31. package/dist/lib/browser/batch.js.map +1 -1
  32. package/dist/lib/browser/index.d.ts +2 -0
  33. package/dist/lib/browser/index.js +7 -1
  34. package/dist/lib/browser/index.js.map +1 -1
  35. package/dist/lib/browser/login.d.ts +81 -0
  36. package/dist/lib/browser/login.js +371 -0
  37. package/dist/lib/browser/login.js.map +1 -0
  38. package/dist/lib/browser/session.d.ts +31 -2
  39. package/dist/lib/browser/session.js +36 -6
  40. package/dist/lib/browser/session.js.map +1 -1
  41. package/dist/lib/lock.d.ts +5 -1
  42. package/dist/lib/lock.js.map +1 -1
  43. package/dist/lib/orchestrator/handlers/browser.js +34 -0
  44. package/dist/lib/orchestrator/handlers/browser.js.map +1 -1
  45. package/dist/lib/tools/browser-tool.js +39 -0
  46. package/dist/lib/tools/browser-tool.js.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findLoginFields = findLoginFields;
4
+ exports.typeTextVerified = typeTextVerified;
5
+ exports.fillFieldVerified = fillFieldVerified;
6
+ exports.performLogin = performLogin;
7
+ exports.isCredentialFocused = isCredentialFocused;
8
+ /**
9
+ * Deterministic credential entry + login for the DEBUG browser (2026-10).
10
+ *
11
+ * The debug/MCP browser (`browser_open` / `browser_action`) is an agent-driven
12
+ * QA/automation browser. It historically refused to touch any password field
13
+ * (`LOGIN_BLOCKED`), which made QA tasks that need a sign-in impossible. This
14
+ * module is the explicit, OPT-IN escape hatch (`allowCredentials`), authored so
15
+ * the LLM never has to type a secret itself:
16
+ *
17
+ * - `findLoginFields(page)` locates the username / password / submit controls
18
+ * with plain DOM heuristics (autocomplete -> input type -> label/text).
19
+ * - `performLogin(page, { username, password })` fills them, handles the common
20
+ * two-step email -> Continue -> password flow, submits, and returns a
21
+ * structured result. It is LLM-free.
22
+ * - `fillFieldVerified(page, x, y, value)` is the hardened insert: it focuses
23
+ * the field, replaces its contents, and VERIFIES the value actually landed,
24
+ * falling back to character-by-character key events when `Input.insertText`
25
+ * is swallowed (a controlled/echoing password widget).
26
+ * - `typeTextVerified(page, text)` is the same verification for the generic
27
+ * `type` action, so a password typed by the agent is confirmed too.
28
+ *
29
+ * The auto-answer loop (`browse --auto-answer`) is a DIFFERENT code path and
30
+ * still never touches credentials - see `personal-fields.ts`.
31
+ *
32
+ * NO secret is ever logged here.
33
+ */
34
+ const cdp_1 = require("./cdp");
35
+ /** DOM heuristic: locate the login controls. Runs entirely in the page. */
36
+ const FIND_LOGIN_FIELDS_JS = `(() => {
37
+ const vis = (el) => {
38
+ if (!el) return false;
39
+ const r = el.getBoundingClientRect();
40
+ if (r.width === 0 || r.height === 0) return false;
41
+ const cs = getComputedStyle(el);
42
+ return cs.visibility !== 'hidden' && cs.display !== 'none';
43
+ };
44
+ const box = (el, hint) => {
45
+ const r = el.getBoundingClientRect();
46
+ return { x: Math.round(r.x + r.width / 2), y: Math.round(r.y + r.height / 2), hint: hint || '' };
47
+ };
48
+ const hintOf = (el) => [el.getAttribute('name'), el.id, el.getAttribute('autocomplete')].filter(Boolean).join('/');
49
+ const inputs = [...document.querySelectorAll('input, textarea')].filter(vis);
50
+ const lowerType = (el) => (el.type || '').toLowerCase();
51
+
52
+ const pw =
53
+ inputs.find((el) => lowerType(el) === 'password') ||
54
+ inputs.find((el) => ['current-password', 'new-password'].includes((el.getAttribute('autocomplete') || '').toLowerCase())) ||
55
+ null;
56
+
57
+ let user =
58
+ inputs.find((el) => (el.getAttribute('autocomplete') || '').toLowerCase() === 'username') ||
59
+ inputs.find((el) => lowerType(el) === 'email') ||
60
+ null;
61
+ if (!user) {
62
+ const textish = inputs.filter((el) => ['', 'text', 'email', 'tel'].includes(lowerType(el)) && lowerType(el) !== 'password');
63
+ if (pw) {
64
+ user = textish.find((el) => (el.compareDocumentPosition(pw) & Node.DOCUMENT_POSITION_PRECEDING)) || null;
65
+ }
66
+ if (!user && textish.length) user = textish[0];
67
+ }
68
+
69
+ const otp =
70
+ inputs.find((el) => (el.getAttribute('autocomplete') || '').toLowerCase() === 'one-time-code') ||
71
+ inputs.find((el) => /otp|one[- ]?time|verif|code/i.test(hintOf(el))) ||
72
+ null;
73
+
74
+ const submitRe = /sign\\s?in|log\\s?in|login|continue|next|submit|log\\s?on|enter|proceed/i;
75
+ const clickable = [...document.querySelectorAll('button, input[type=submit], input[type=button], [role=button], a')].filter(vis);
76
+ let submit =
77
+ clickable.find((el) => (el.getAttribute('type') || '').toLowerCase() === 'submit') ||
78
+ clickable.find((el) => submitRe.test((el.innerText || el.textContent || el.value || '').trim())) ||
79
+ clickable.find((el) => /submit/i.test(hintOf(el))) ||
80
+ null;
81
+
82
+ return {
83
+ username: user && vis(user) ? box(user, hintOf(user)) : null,
84
+ password: pw && vis(pw) ? box(pw, hintOf(pw)) : null,
85
+ submit: submit ? box(submit, (submit.innerText || submit.textContent || submit.value || '').trim().slice(0, 40)) : null,
86
+ otp: otp ? box(otp, hintOf(otp)) : null,
87
+ };
88
+ })()`;
89
+ async function findLoginFields(page) {
90
+ try {
91
+ const value = await (0, cdp_1.evaluateJs)(page, FIND_LOGIN_FIELDS_JS);
92
+ if (!value || typeof value !== 'object') {
93
+ return { username: null, password: null, submit: null, otp: null };
94
+ }
95
+ return {
96
+ username: value.username ?? null,
97
+ password: value.password ?? null,
98
+ submit: value.submit ?? null,
99
+ otp: value.otp ?? null,
100
+ };
101
+ }
102
+ catch {
103
+ return { username: null, password: null, submit: null, otp: null };
104
+ }
105
+ }
106
+ /** Read the active element's value length (password fields expose .value to JS). */
107
+ async function activeValue(page) {
108
+ try {
109
+ const v = await (0, cdp_1.evaluateJs)(page, `(() => { const a = document.activeElement; return a && typeof a.value === 'string' ? a.value : null; })()`);
110
+ return typeof v === 'string' ? v : null;
111
+ }
112
+ catch {
113
+ return null;
114
+ }
115
+ }
116
+ /** CDP key/code for a printable char (local copy - avoids a browse-editor cycle). */
117
+ function charKey(c) {
118
+ if (/^[a-z]$/.test(c))
119
+ return { key: c, code: `Key${c.toUpperCase()}`, shift: false };
120
+ if (/^[A-Z]$/.test(c))
121
+ return { key: c, code: `Key${c.toUpperCase()}`, shift: true };
122
+ if (/^[0-9]$/.test(c))
123
+ return { key: c, code: `Digit${c}`, shift: false };
124
+ const special = {
125
+ ' ': { code: 'Space', shift: false },
126
+ '-': { code: 'Minus', shift: false },
127
+ _: { code: 'Minus', shift: true },
128
+ '=': { code: 'Equal', shift: false },
129
+ '+': { code: 'Equal', shift: true },
130
+ '!': { code: 'Digit1', shift: true },
131
+ '@': { code: 'Digit2', shift: true },
132
+ '#': { code: 'Digit3', shift: true },
133
+ $: { code: 'Digit4', shift: true },
134
+ '%': { code: 'Digit5', shift: true },
135
+ '^': { code: 'Digit6', shift: true },
136
+ '&': { code: 'Digit7', shift: true },
137
+ '*': { code: 'Digit8', shift: true },
138
+ '(': { code: 'Digit9', shift: true },
139
+ ')': { code: 'Digit0', shift: true },
140
+ '.': { code: 'Period', shift: false },
141
+ ',': { code: 'Comma', shift: false },
142
+ '/': { code: 'Slash', shift: false },
143
+ '?': { code: 'Slash', shift: true },
144
+ ':': { code: 'Semicolon', shift: true },
145
+ ';': { code: 'Semicolon', shift: false },
146
+ "'": { code: 'Quote', shift: false },
147
+ '"': { code: 'Quote', shift: true },
148
+ '\\': { code: 'Backslash', shift: false },
149
+ '|': { code: 'Backslash', shift: true },
150
+ '[': { code: 'BracketLeft', shift: false },
151
+ ']': { code: 'BracketRight', shift: false },
152
+ '{': { code: 'BracketLeft', shift: true },
153
+ '}': { code: 'BracketRight', shift: true },
154
+ '`': { code: 'Backquote', shift: false },
155
+ '~': { code: 'Backquote', shift: true },
156
+ '<': { code: 'Comma', shift: true },
157
+ '>': { code: 'Period', shift: true },
158
+ };
159
+ const s = special[c];
160
+ if (s)
161
+ return { key: c, code: s.code, shift: s.shift };
162
+ return { key: c, code: c, shift: false };
163
+ }
164
+ async function typeCharByChar(page, text) {
165
+ for (const char of text) {
166
+ const k = charKey(char);
167
+ const mods = k.shift ? 2 : undefined;
168
+ const down = { type: 'keyDown', key: k.key, code: k.code, text: char };
169
+ const up = { type: 'keyUp', key: k.key, code: k.code };
170
+ if (mods !== undefined) {
171
+ down.modifiers = mods;
172
+ up.modifiers = mods;
173
+ }
174
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', down);
175
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', up);
176
+ await (0, cdp_1.sleep)(12);
177
+ }
178
+ }
179
+ /** Select the focused control's current contents so the next insert replaces it. */
180
+ async function selectActive(page) {
181
+ try {
182
+ await (0, cdp_1.evaluateJs)(page, `(() => { const a = document.activeElement; if (a && a.select) { try { a.select(); return true; } catch (e) {} } if (a && a.setSelectionRange) { try { a.setSelectionRange(0, a.value ? a.value.length : 0); return true; } catch (e) {} } return false; })()`);
183
+ }
184
+ catch {
185
+ /* best-effort */
186
+ }
187
+ }
188
+ /**
189
+ * Type text into the currently focused control and VERIFY it landed.
190
+ * `Input.insertText` first (fires a proper `input` event for controlled
191
+ * components); on a shortfall, retry character-by-character via key events.
192
+ * Returns the value actually observed in the field.
193
+ */
194
+ async function typeTextVerified(page, text) {
195
+ const before = (await activeValue(page)) ?? '';
196
+ // Insert path: replaces any current selection.
197
+ try {
198
+ await (0, cdp_1.cdpSend)(page, 'Input.insertText', { text });
199
+ }
200
+ catch {
201
+ /* fall through to key events */
202
+ }
203
+ await (0, cdp_1.sleep)(60);
204
+ let after = (await activeValue(page)) ?? '';
205
+ if (after.length >= before.length + text.length)
206
+ return true;
207
+ // Fallback: clear, then key-event each character.
208
+ await selectActive(page);
209
+ try {
210
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', {
211
+ type: 'keyDown', key: 'Backspace', code: 'Backspace', windowsVirtualKeyCode: 8, nativeVirtualKeyCode: 8,
212
+ });
213
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', {
214
+ type: 'keyUp', key: 'Backspace', code: 'Backspace', windowsVirtualKeyCode: 8, nativeVirtualKeyCode: 8,
215
+ });
216
+ }
217
+ catch {
218
+ /* best-effort */
219
+ }
220
+ await (0, cdp_1.sleep)(40);
221
+ await typeCharByChar(page, text);
222
+ await (0, cdp_1.sleep)(60);
223
+ after = (await activeValue(page)) ?? '';
224
+ return after.length >= text.length || after.length > before.length;
225
+ }
226
+ /**
227
+ * Fill a specific control (by click coords) with a value and verify it landed.
228
+ * Clears the field first (select-all then insert / backspace).
229
+ */
230
+ async function fillFieldVerified(page, control, value) {
231
+ try {
232
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchMouseEvent', {
233
+ type: 'mousePressed', x: control.x, y: control.y, button: 'left', clickCount: 1,
234
+ });
235
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchMouseEvent', {
236
+ type: 'mouseReleased', x: control.x, y: control.y, button: 'left', clickCount: 1,
237
+ });
238
+ await (0, cdp_1.sleep)(80);
239
+ // Focus the element directly too (a click can land on a wrapping label).
240
+ await (0, cdp_1.evaluateJs)(page, `(() => { const el = document.elementFromPoint(${control.x}, ${control.y}); const f = el && (el.closest ? el.closest('input,textarea') : null); if (f) { try { f.focus(); } catch (e) {} } return !!f; })()`);
241
+ await selectActive(page);
242
+ await (0, cdp_1.cdpSend)(page, 'Input.insertText', { text: value });
243
+ await (0, cdp_1.sleep)(60);
244
+ let current = (await activeValue(page)) ?? '';
245
+ if (current === value || current.length === value.length)
246
+ return true;
247
+ // Fallback: clear + per-char key events.
248
+ await selectActive(page);
249
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', {
250
+ type: 'keyDown', key: 'Backspace', code: 'Backspace', windowsVirtualKeyCode: 8, nativeVirtualKeyCode: 8,
251
+ });
252
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', {
253
+ type: 'keyUp', key: 'Backspace', code: 'Backspace', windowsVirtualKeyCode: 8, nativeVirtualKeyCode: 8,
254
+ });
255
+ await (0, cdp_1.sleep)(40);
256
+ await typeCharByChar(page, value);
257
+ await (0, cdp_1.sleep)(60);
258
+ current = (await activeValue(page)) ?? '';
259
+ return current.length === value.length;
260
+ }
261
+ catch {
262
+ return false;
263
+ }
264
+ }
265
+ async function clickControl(page, control) {
266
+ if (!control)
267
+ return false;
268
+ try {
269
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchMouseEvent', {
270
+ type: 'mousePressed', x: control.x, y: control.y, button: 'left', clickCount: 1,
271
+ });
272
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchMouseEvent', {
273
+ type: 'mouseReleased', x: control.x, y: control.y, button: 'left', clickCount: 1,
274
+ });
275
+ return true;
276
+ }
277
+ catch {
278
+ return false;
279
+ }
280
+ }
281
+ async function pressEnter(page) {
282
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', {
283
+ type: 'keyDown', key: 'Enter', code: 'Enter', text: '\r', windowsVirtualKeyCode: 13, nativeVirtualKeyCode: 13,
284
+ });
285
+ await (0, cdp_1.cdpSend)(page, 'Input.dispatchKeyEvent', {
286
+ type: 'keyUp', key: 'Enter', code: 'Enter', windowsVirtualKeyCode: 13, nativeVirtualKeyCode: 13,
287
+ });
288
+ }
289
+ /** Poll for a control to appear, up to `timeoutMs`. */
290
+ async function waitForPasswordField(page, timeoutMs) {
291
+ const deadline = Date.now() + timeoutMs;
292
+ let fields = await findLoginFields(page);
293
+ while (!fields.password && Date.now() < deadline) {
294
+ await (0, cdp_1.sleep)(300);
295
+ fields = await findLoginFields(page);
296
+ }
297
+ return fields;
298
+ }
299
+ /**
300
+ * Deterministic login. Fills whatever credentials are present, submits, and
301
+ * handles the common two-step (email -> Continue -> password) flow. Returns a
302
+ * structured result; it NEVER throws and NEVER logs a secret.
303
+ */
304
+ async function performLogin(page, opts) {
305
+ const submit = opts.submit !== false;
306
+ const stepTimeoutMs = opts.stepTimeoutMs ?? 6000;
307
+ const maxSteps = opts.maxSteps ?? 2;
308
+ const result = {
309
+ ok: false,
310
+ usernameFilled: false,
311
+ passwordFilled: false,
312
+ submitted: false,
313
+ twoStep: false,
314
+ };
315
+ let fields = await findLoginFields(page);
316
+ // MFA/OTP on screen already: credentials alone cannot complete this.
317
+ if (fields.otp && !fields.password) {
318
+ return { ...result, error: 'MFA_REQUIRED', detail: 'A one-time-code field is on screen; a human must complete it.' };
319
+ }
320
+ if (!fields.username && !fields.password) {
321
+ return { ...result, error: 'LOGIN_FIELD_NOT_FOUND', detail: 'No username or password field found on this page.' };
322
+ }
323
+ for (let step = 1; step <= maxSteps; step++) {
324
+ // Fill username on the first step that offers it.
325
+ if (opts.username && fields.username && !result.usernameFilled) {
326
+ result.usernameFilled = await fillFieldVerified(page, fields.username, opts.username);
327
+ }
328
+ // Password present -> fill it and submit. Done.
329
+ if (fields.password) {
330
+ result.passwordFilled = await fillFieldVerified(page, fields.password, opts.password);
331
+ if (!result.passwordFilled) {
332
+ return { ...result, error: 'CREDENTIAL_FILL_FAILED', detail: 'The password field did not accept the value.' };
333
+ }
334
+ if (submit) {
335
+ result.submitted = (await clickControl(page, fields.submit)) || false;
336
+ if (!result.submitted) {
337
+ await pressEnter(page);
338
+ result.submitted = true;
339
+ }
340
+ }
341
+ result.ok = true;
342
+ return result;
343
+ }
344
+ // No password yet: this is a multi-step form. Submit step 1 and wait.
345
+ result.twoStep = true;
346
+ if (!submit) {
347
+ return { ...result, error: 'LOGIN_FIELD_NOT_FOUND', detail: 'Password field is not present and submit was disabled.' };
348
+ }
349
+ await clickControl(page, fields.submit);
350
+ await pressEnter(page).catch(() => undefined);
351
+ fields = await waitForPasswordField(page, stepTimeoutMs);
352
+ if (!fields.password) {
353
+ if (fields.otp) {
354
+ return { ...result, error: 'MFA_REQUIRED', detail: 'A one-time-code field appeared; a human must complete it.' };
355
+ }
356
+ return { ...result, error: 'LOGIN_FIELD_NOT_FOUND', detail: 'The password field never appeared after submitting the username.' };
357
+ }
358
+ }
359
+ return { ...result, error: 'LOGIN_FIELD_NOT_FOUND', detail: 'Login did not reach a password field within the step budget.' };
360
+ }
361
+ /** True when the currently focused element is a password/credential control. */
362
+ async function isCredentialFocused(page) {
363
+ try {
364
+ const v = await (0, cdp_1.evaluateJs)(page, `(() => { const a = document.activeElement; if (!a) return false; const ac = (a.getAttribute && (a.getAttribute('autocomplete') || '')) || ''; return a.type === 'password' || ac === 'current-password' || ac === 'new-password' || ac === 'one-time-code'; })()`);
365
+ return v === true;
366
+ }
367
+ catch {
368
+ return false;
369
+ }
370
+ }
371
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/lib/browser/login.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { CdpPage, ElementInfo, PageInfo, PageText, PageLink } from './cdp';
2
+ import { type LoginResult, type PerformLoginOptions } from './login';
2
3
  /**
3
4
  * Persistent Chrome profile for the AUTO-ANSWER browser (research reads,
4
5
  * `browse --auto-answer`, the web-auto-answer tool).
@@ -40,6 +41,16 @@ export interface BrowserSessionOptions {
40
41
  profileDir?: string;
41
42
  /** Extra Chrome args for auto-launch. */
42
43
  chromeArgs?: string[];
44
+ /**
45
+ * OPT-IN (default false): permit typing into password/credential fields.
46
+ *
47
+ * The debug/MCP browser is an agent-driven QA browser, so a QA task that
48
+ * needs a sign-in must be able to enter credentials. This is a deliberate
49
+ * opt-in - `browser_open({ allowCredentials: true })` - never a default, and
50
+ * the auto-answer browser (a different code path) is unaffected. When false,
51
+ * `type()` keeps throwing `LOGIN_BLOCKED` for a credential field.
52
+ */
53
+ allowCredentials?: boolean;
43
54
  }
44
55
  export declare class BrowserSession {
45
56
  private readonly id;
@@ -51,6 +62,8 @@ export declare class BrowserSession {
51
62
  private _profileDir;
52
63
  private _chromeArgs;
53
64
  private _connected;
65
+ /** Opt-in credential entry (see BrowserSessionOptions.allowCredentials). */
66
+ private _allowCredentials;
54
67
  /**
55
68
  * True when THIS bridge process launched the Chrome this session is attached
56
69
  * to. Only such a browser may be terminated by the bridge; one the human
@@ -58,6 +71,12 @@ export declare class BrowserSession {
58
71
  */
59
72
  private _ownedByBridge;
60
73
  constructor(id: string, opts?: BrowserSessionOptions);
74
+ /**
75
+ * Toggle credential entry for this session. Persists across actions - a
76
+ * `browser_open` sets it once and later `type`/`login` calls honour it.
77
+ */
78
+ setAllowCredentials(allow: boolean): void;
79
+ get allowCredentials(): boolean;
61
80
  /** Last time a command actually used this session (drives idle close). */
62
81
  private _lastUsedAt;
63
82
  /** When this session was last used — the idle-close timer reads this. */
@@ -105,10 +124,20 @@ export declare class BrowserSession {
105
124
  */
106
125
  click(x: number, y: number): Promise<void>;
107
126
  /**
108
- * Type text at the current cursor position. Refuses to type into a password
109
- * field: research tooling must never attempt logins / credential entry.
127
+ * Type text at the current cursor position, VERIFYING it landed.
128
+ *
129
+ * A password/credential field is refused with `LOGIN_BLOCKED` unless the
130
+ * caller opted in (`browser_open({ allowCredentials: true })`) AND passed a
131
+ * credential for the run - the debug browser is the QA surface, the
132
+ * auto-answer loop is a separate path that still never touches credentials.
110
133
  */
111
134
  type(text: string): Promise<void>;
135
+ /**
136
+ * Deterministically fill a login form (username + password) and submit.
137
+ * Handles the common two-step email -> Continue -> password flow. Requires
138
+ * `allowCredentials` (opt-in). The password is never logged or returned.
139
+ */
140
+ login(opts: PerformLoginOptions): Promise<LoginResult>;
112
141
  /**
113
142
  * Press a keyboard key (Enter, Tab, Escape, etc.).
114
143
  */
@@ -16,6 +16,7 @@ const cdp_1 = require("./cdp");
16
16
  const launch_1 = require("./launch");
17
17
  const owned_registry_1 = require("./owned-registry");
18
18
  const process_1 = require("./process");
19
+ const login_1 = require("./login");
19
20
  /**
20
21
  * Persistent Chrome profile for the AUTO-ANSWER browser (research reads,
21
22
  * `browse --auto-answer`, the web-auto-answer tool).
@@ -49,6 +50,8 @@ class BrowserSession {
49
50
  _profileDir;
50
51
  _chromeArgs;
51
52
  _connected = false;
53
+ /** Opt-in credential entry (see BrowserSessionOptions.allowCredentials). */
54
+ _allowCredentials;
52
55
  /**
53
56
  * True when THIS bridge process launched the Chrome this session is attached
54
57
  * to. Only such a browser may be terminated by the bridge; one the human
@@ -62,6 +65,17 @@ class BrowserSession {
62
65
  this._headless = opts?.headless ?? false;
63
66
  this._profileDir = opts?.profileDir ?? exports.DEBUG_PROFILE_DIR;
64
67
  this._chromeArgs = opts?.chromeArgs ?? [];
68
+ this._allowCredentials = opts?.allowCredentials ?? false;
69
+ }
70
+ /**
71
+ * Toggle credential entry for this session. Persists across actions - a
72
+ * `browser_open` sets it once and later `type`/`login` calls honour it.
73
+ */
74
+ setAllowCredentials(allow) {
75
+ this._allowCredentials = allow;
76
+ }
77
+ get allowCredentials() {
78
+ return this._allowCredentials;
65
79
  }
66
80
  /** Last time a command actually used this session (drives idle close). */
67
81
  _lastUsedAt = Date.now();
@@ -193,16 +207,32 @@ class BrowserSession {
193
207
  await (0, cdp_1.clickAt)(this.page, x, y);
194
208
  }
195
209
  /**
196
- * Type text at the current cursor position. Refuses to type into a password
197
- * field: research tooling must never attempt logins / credential entry.
210
+ * Type text at the current cursor position, VERIFYING it landed.
211
+ *
212
+ * A password/credential field is refused with `LOGIN_BLOCKED` unless the
213
+ * caller opted in (`browser_open({ allowCredentials: true })`) AND passed a
214
+ * credential for the run - the debug browser is the QA surface, the
215
+ * auto-answer loop is a separate path that still never touches credentials.
198
216
  */
199
217
  async type(text) {
200
218
  this.ensureConnected();
201
- const isPassword = await this.evaluate("(() => { const a = document.activeElement; return !!(a && (a.type === 'password' || a.getAttribute('autocomplete') === 'current-password' || a.getAttribute('autocomplete') === 'new-password')); })()").catch(() => false);
202
- if (isPassword) {
203
- throw new Error('LOGIN_BLOCKED: refusing to type into a password/credential field. Use the persistent TeamShare browser profile for logged-in sites, or ask the human to sign in.');
219
+ const credential = await (0, login_1.isCredentialFocused)(this.page);
220
+ if (credential && !this._allowCredentials) {
221
+ throw new Error('LOGIN_BLOCKED: refusing to type into a password/credential field. Pass allowCredentials:true on browser_open (debug browser only), use browser_action({action:"login"}) with supplied credentials, or ask the human to sign in.');
222
+ }
223
+ await (0, login_1.typeTextVerified)(this.page, text);
224
+ }
225
+ /**
226
+ * Deterministically fill a login form (username + password) and submit.
227
+ * Handles the common two-step email -> Continue -> password flow. Requires
228
+ * `allowCredentials` (opt-in). The password is never logged or returned.
229
+ */
230
+ async login(opts) {
231
+ this.ensureConnected();
232
+ if (!this._allowCredentials) {
233
+ throw new Error('LOGIN_BLOCKED: credential entry is not enabled for this browser session. Call browser_open with allowCredentials:true first.');
204
234
  }
205
- await (0, cdp_1.typeText)(this.page, text);
235
+ return (0, login_1.performLogin)(this.page, opts);
206
236
  }
207
237
  /**
208
238
  * Press a keyboard key (Enter, Tab, Escape, etc.).
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/lib/browser/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/lib/browser/session.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ export type LockKind = 'task' | 'chat' | 'doc' | 'board' | 'build' | 'orchestrat
2
2
  /** Blog authoring session (IMP-9xx). */
3
3
  | 'blog'
4
4
  /** Insights harness session (2026-10). */
5
- | 'insight';
5
+ | 'insight'
6
+ /** Custom workflow session (2026-10). */
7
+ | 'workflow';
6
8
  export interface AgentLock {
7
9
  pid: number;
8
10
  startedAt: string;
@@ -16,6 +18,8 @@ export interface AgentLock {
16
18
  blogGenerationId?: string;
17
19
  /** InsightNarrativeRun id (kind === 'insight'). */
18
20
  insightRunId?: string;
21
+ /** WorkflowRun id (kind === 'workflow'). */
22
+ workflowRunId?: string;
19
23
  }
20
24
  export declare const LOCK_DIR: string;
21
25
  /** Max session age before lock is considered stale (PID reuse safety net).
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lib/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lib/lock.ts"],"names":[],"mappings":";;;AA2DA,4BAEC;AAoDD,4BAGC;AAoBD,wCAmFC;AAGD,kCAOC;AAGD,8BAMC;AAQD,gCAaC;AAuBD,kCAgDC;AA1UD;;;;;;;;;;;;GAYG;AACH,qCAA+F;AAC/F,qCAAkC;AAClC,yCAAiC;AAkCpB,QAAA,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC/D;;;gDAGgD;AACnC,QAAA,cAAc,GACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9D,QAAA,YAAY,GAAG,MAAM,CAAC;AACtB,QAAA,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,SAAgB,QAAQ,CAAC,OAAe;IACtC,OAAO,IAAA,gBAAI,EAAC,gBAAQ,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;AAC3C,CAAC;AAkBD,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;YAC1C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,YAAY;IACZ,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,GAAG,oBAAY,EAAE,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,OAAe;IACtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gEAAgE;QAChE,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAe;IAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,sBAAc,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,SAAgB,cAAc,CAC5B,OAAe,EACf,IAAc,EACd,OAAsD,EAAE;IAExD,IAAA,mBAAS,EAAC,gBAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAc;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI;QACJ,GAAG,IAAI;KACR,CAAC;IACF,MAAM,WAAW,GAAG,GAAY,EAAE;QAChC,IAAA,uBAAa,EAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YAC9D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,IAAI,CAAC;QACH,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,qEAAqE;YACrE,0EAA0E;YAC1E,0EAA0E;YAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,wEAAwE;YACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;YAC9E,yEAAyE;YACzE,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,CAAC;gBACH,IAAA,gBAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAG,QAAkC,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9F,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/D,6BAA6B;QAC7B,EAAE;QACF,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,uCAAuC;QACvC,EAAE;QACF,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,kEAAkE;QAClE,EAAE;QACF,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QACtD,IAAI,CAAC;YACH,IAAA,uBAAa,EAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,IAAA,oBAAU,EAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAA,gBAAM,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAG,WAAqC,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/F,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAgB,WAAW,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;YAAE,IAAA,gBAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,SAAgB,SAAS,CAAC,OAAe;IACvC,IAAI,CAAC;QACH,IAAA,gBAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,OAAe;IACxC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,gFAAgF;IAChF,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,sBAAc;QAAE,OAAO,KAAK,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,IAAc,EACd,OAAsD,EAAE,EACxD,OAUI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,oBAAY,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,wBAAgB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,kBAAsC,CAAC;IAC3C,SAAS,CAAC;QACR,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,gEAAgE;YAChE,MAAM,QAAQ,GACZ,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;YAC5E,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,IAAI,kBAAkB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7E,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,gBAAgB,OAAO,0DAA0D,OAAO,CAAC,WAAW,KAAK;gBACvG,kBAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,6DAA6D,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}