crewly 1.20.78 → 1.20.80

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 (41) hide show
  1. package/config/skills/_common/lib.sh +12 -0
  2. package/config/skills/agent/core/gmail-send/SKILL.md +43 -8
  3. package/config/skills/agent/remote-browser/SKILL.md +43 -1
  4. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +67 -0
  5. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
  6. package/dist/backend/backend/src/controllers/browser/browser.controller.js +166 -0
  7. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  8. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
  9. package/dist/backend/backend/src/controllers/browser/browser.routes.js +9 -1
  10. package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
  11. package/dist/backend/backend/src/controllers/google/google.controller.d.ts +21 -0
  12. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  13. package/dist/backend/backend/src/controllers/google/google.controller.js +126 -2
  14. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/google/google.routes.d.ts +3 -0
  16. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/google/google.routes.js +8 -1
  18. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  19. package/dist/backend/backend/src/index.d.ts.map +1 -1
  20. package/dist/backend/backend/src/index.js +7 -0
  21. package/dist/backend/backend/src/index.js.map +1 -1
  22. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts +135 -1
  23. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/browser/browser-session.service.js +249 -0
  25. package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
  26. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +8 -0
  28. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts +109 -0
  30. package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts.map +1 -0
  31. package/dist/backend/backend/src/services/google/gmail-send-gate.js +121 -0
  32. package/dist/backend/backend/src/services/google/gmail-send-gate.js.map +1 -0
  33. package/dist/backend/backend/src/services/google/gmail.service.d.ts +34 -0
  34. package/dist/backend/backend/src/services/google/gmail.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/google/gmail.service.js +42 -0
  36. package/dist/backend/backend/src/services/google/gmail.service.js.map +1 -1
  37. package/dist/backend/build-info.json +2 -2
  38. package/frontend/dist/assets/{index-a6480a0f.css → index-ae10b608.css} +1 -1
  39. package/frontend/dist/assets/{index-cc910352.js → index-f612f275.js} +248 -248
  40. package/frontend/dist/index.html +2 -2
  41. package/package.json +1 -1
@@ -32,7 +32,25 @@
32
32
  * @module services/browser/browser-session.service
33
33
  */
34
34
  /** What an agent is doing with the browser right now. */
35
- export type BrowserSessionStatus = 'navigating' | 'reading' | 'acting' | 'stopped' | 'done';
35
+ export type BrowserSessionStatus = 'navigating' | 'reading' | 'acting'
36
+ /** Blocked on the owner: either they took the wheel, or the agent reached
37
+ * something it is not allowed to do by itself. */
38
+ | 'waiting_owner' | 'stopped' | 'done';
39
+ /** Who is allowed to drive this browser tab right now. */
40
+ export type BrowserControl = 'agent' | 'owner';
41
+ /** An action the agent asked to take that needs the owner to decide. */
42
+ export interface PendingConfirmation {
43
+ /** Stable id the owner's approve/reject refers to */
44
+ id: string;
45
+ /** Tool the agent tried to use */
46
+ tool: string;
47
+ /** What it was about to do, in words */
48
+ description: string;
49
+ /** Why it was held */
50
+ matched: string;
51
+ /** When it was raised (epoch ms) */
52
+ raisedAt: number;
53
+ }
36
54
  /** A captured picture of the page, held in memory only. */
37
55
  export interface BrowserFrame {
38
56
  /** Base64-encoded image bytes, as the extension returned them */
@@ -68,6 +86,15 @@ export interface BrowserSession {
68
86
  startedAt: number;
69
87
  /** When the session finished or was stopped (epoch ms) */
70
88
  endedAt?: number;
89
+ /**
90
+ * Who may drive the tab. An agent whose session is under `owner` control
91
+ * is refused, so the two can never fight over the same page.
92
+ */
93
+ control: BrowserControl;
94
+ /** Set while the owner holds the wheel, so the agent can be told why */
95
+ controlTakenAt?: number;
96
+ /** An irreversible action the agent is blocked on, awaiting the owner */
97
+ pending?: PendingConfirmation;
71
98
  /** Capture time of the frame currently held, if any (epoch ms) */
72
99
  frameAt?: number;
73
100
  /** Why the last capture attempt failed, if it did */
@@ -101,6 +128,20 @@ export type FrameCapturer = (agentSession: string, options: {
101
128
  * @returns A short description, e.g. `Clicked “Sign in”`
102
129
  */
103
130
  export declare function describeAction(tool: string, params?: Record<string, unknown>): string;
131
+ /**
132
+ * Decide whether an action looks irreversible and outward-facing.
133
+ *
134
+ * @param tool - Tool the agent wants to use
135
+ * @param params - Params it wants to use
136
+ * @returns A short label for what it looks like, or null
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * matchIrreversible('click', { selector: 'button[aria-label="Send"]' }); // 'sending'
141
+ * matchIrreversible('readText', {}); // null
142
+ * ```
143
+ */
144
+ export declare function matchIrreversible(tool: string, params?: Record<string, unknown>): string | null;
104
145
  /**
105
146
  * Maps a tool to the status it puts the session into.
106
147
  *
@@ -130,6 +171,21 @@ export declare class BrowserSessionService {
130
171
  private readonly dirty;
131
172
  /** Sessions with a capture in flight, so ticks cannot pile up on a slow page. */
132
173
  private readonly capturing;
174
+ /**
175
+ * Sessions holding a one-shot approval from the owner.
176
+ *
177
+ * Consumed by the next matching action, so approving "send this email"
178
+ * lets exactly that through rather than opening the gate for good.
179
+ */
180
+ private readonly approvedOnce;
181
+ /**
182
+ * Whether irreversible actions are held for the owner.
183
+ *
184
+ * On by default. An owner who wants an agent to work unattended can turn
185
+ * it off, but that has to be a decision someone makes, not the state we
186
+ * ship in.
187
+ */
188
+ private confirmBeforeIrreversible;
133
189
  private capturer;
134
190
  private timer;
135
191
  private constructor();
@@ -151,6 +207,18 @@ export declare class BrowserSessionService {
151
207
  * @param capturer - How to capture, or null to disable capture
152
208
  */
153
209
  setCapturer(capturer: FrameCapturer | null): void;
210
+ /**
211
+ * Turn the irreversible-action hold on or off.
212
+ *
213
+ * @param enabled - Whether to hold irreversible actions for the owner
214
+ */
215
+ setConfirmBeforeIrreversible(enabled: boolean): void;
216
+ /**
217
+ * Whether irreversible actions are currently held.
218
+ *
219
+ * @returns True when the hold is on
220
+ */
221
+ isConfirmBeforeIrreversible(): boolean;
154
222
  /** Starts the capture loop. Safe to call twice. */
155
223
  start(): void;
156
224
  /** Stops the capture loop. Sessions and frames are left in place. */
@@ -171,6 +239,72 @@ export declare class BrowserSessionService {
171
239
  goal?: string;
172
240
  tabId?: number;
173
241
  }): void;
242
+ /**
243
+ * Decide whether the agent may take this action, and hold it if not.
244
+ *
245
+ * Two things are checked, in order:
246
+ *
247
+ * 1. Whether the owner has taken the wheel. If so the agent is refused
248
+ * outright — the two must never drive the same page at once, and the
249
+ * owner is frequently mid-way through typing a password.
250
+ * 2. Whether the action looks irreversible and outward-facing. Sending a
251
+ * message, submitting a form, paying, deleting: things that cannot be
252
+ * taken back and that reach other people.
253
+ *
254
+ * The second check exists because of a real incident. An owner asked for
255
+ * an email to be *drafted*; the agent produced one and sent it. Nothing
256
+ * in the system could have stopped that, because at the browser layer
257
+ * "send an email" is a click on a button, indistinguishable from any
258
+ * other click. Every guard we had lived at the skill layer, and driving a
259
+ * browser goes around all of them.
260
+ *
261
+ * A held action is not an error. The agent is told to wait, the owner is
262
+ * shown what it wanted to do, and their answer decides.
263
+ *
264
+ * @param agentSession - Agent asking to act
265
+ * @param tool - Tool it wants to use
266
+ * @param params - Params it wants to use
267
+ * @returns `allow`, or a refusal carrying the reason to hand the agent
268
+ */
269
+ authorize(agentSession: string, tool: string, params?: Record<string, unknown>): {
270
+ allow: true;
271
+ } | {
272
+ allow: false;
273
+ code: string;
274
+ reason: string;
275
+ pendingId?: string;
276
+ };
277
+ /**
278
+ * Hand the wheel to the owner.
279
+ *
280
+ * @param agentSession - Session to take over
281
+ * @returns The updated session, or undefined when there is none
282
+ */
283
+ takeControl(agentSession: string): BrowserSession | undefined;
284
+ /**
285
+ * Give the wheel back to the agent.
286
+ *
287
+ * Any action that was held is dropped rather than resumed: the owner has
288
+ * been driving, so the page is no longer the one the agent was looking at
289
+ * and re-running its click blind would be worse than making it look again.
290
+ *
291
+ * @param agentSession - Session to release
292
+ * @returns The updated session, or undefined when there is none
293
+ */
294
+ releaseControl(agentSession: string): BrowserSession | undefined;
295
+ /**
296
+ * Resolve a held action.
297
+ *
298
+ * Approving clears the hold so the agent's next attempt goes through;
299
+ * it deliberately does not replay the action itself, because the agent
300
+ * is the one that knows what it was in the middle of.
301
+ *
302
+ * @param agentSession - Session holding the action
303
+ * @param pendingId - The hold being answered
304
+ * @param decision - What the owner chose
305
+ * @returns The updated session, or undefined when the id does not match
306
+ */
307
+ resolvePending(agentSession: string, pendingId: string, decision: 'approve' | 'reject'): BrowserSession | undefined;
174
308
  /**
175
309
  * Mark a session as finished.
176
310
  *
@@ -1 +1 @@
1
- {"version":3,"file":"browser-session.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-session.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-session.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-session.service.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,71 @@ export function describeAction(tool, params) {
104
104
  return tool;
105
105
  }
106
106
  }
107
+ /**
108
+ * Tools that write into the page. Only these can be irreversible; reading a
109
+ * page never is.
110
+ */
111
+ const WRITING_TOOLS = new Set([
112
+ 'click',
113
+ 'pressKey',
114
+ 'selectOption',
115
+ 'setFileInput',
116
+ 'executeJs',
117
+ 'executeScript',
118
+ ]);
119
+ /**
120
+ * Words that mark a control as doing something that cannot be undone and that
121
+ * reaches other people.
122
+ *
123
+ * Deliberately matched against the selector and any text the agent passed,
124
+ * not against the page — we are judging what the agent asked for, which is
125
+ * the thing we can attribute to it. Kept short and specific: a list that
126
+ * matches everything trains people to click through it, which is worse than
127
+ * no list at all.
128
+ */
129
+ const IRREVERSIBLE_WORDS = [
130
+ [/\bsend\b|发送|送信/i, 'sending'],
131
+ [/\bsubmit\b|提交/i, 'submitting'],
132
+ [/\bpay\b|\bpurchase\b|\bcheckout\b|\border\b|付款|支付|结[账帐]/i, 'paying'],
133
+ [/\bdelete\b|\bremove\b|删除/i, 'deleting'],
134
+ [/\bconfirm\b|\bagree\b|\baccept\b|确认|同意/i, 'confirming'],
135
+ [/\bpublish\b|\bpost\b|发布/i, 'publishing'],
136
+ [/\bsign\b|\bsignature\b|签署|签名/i, 'signing'],
137
+ ];
138
+ /**
139
+ * Decide whether an action looks irreversible and outward-facing.
140
+ *
141
+ * @param tool - Tool the agent wants to use
142
+ * @param params - Params it wants to use
143
+ * @returns A short label for what it looks like, or null
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * matchIrreversible('click', { selector: 'button[aria-label="Send"]' }); // 'sending'
148
+ * matchIrreversible('readText', {}); // null
149
+ * ```
150
+ */
151
+ export function matchIrreversible(tool, params) {
152
+ if (!WRITING_TOOLS.has(tool))
153
+ return null;
154
+ // `pressKey` is only interesting for the combinations that submit.
155
+ if (tool === 'pressKey') {
156
+ const key = String(params?.key ?? '');
157
+ return /^(Enter|NumpadEnter)$/i.test(key) || /\bMeta\+Enter|Control\+Enter\b/i.test(key)
158
+ ? 'submitting with a keystroke'
159
+ : null;
160
+ }
161
+ const haystack = [params?.selector, params?.text, params?.value, params?.code]
162
+ .filter((v) => typeof v === 'string')
163
+ .join(' ');
164
+ if (!haystack)
165
+ return null;
166
+ for (const [pattern, label] of IRREVERSIBLE_WORDS) {
167
+ if (pattern.test(haystack))
168
+ return label;
169
+ }
170
+ return null;
171
+ }
107
172
  /**
108
173
  * Maps a tool to the status it puts the session into.
109
174
  *
@@ -141,6 +206,21 @@ export class BrowserSessionService {
141
206
  dirty = new Set();
142
207
  /** Sessions with a capture in flight, so ticks cannot pile up on a slow page. */
143
208
  capturing = new Set();
209
+ /**
210
+ * Sessions holding a one-shot approval from the owner.
211
+ *
212
+ * Consumed by the next matching action, so approving "send this email"
213
+ * lets exactly that through rather than opening the gate for good.
214
+ */
215
+ approvedOnce = new Set();
216
+ /**
217
+ * Whether irreversible actions are held for the owner.
218
+ *
219
+ * On by default. An owner who wants an agent to work unattended can turn
220
+ * it off, but that has to be a decision someone makes, not the state we
221
+ * ship in.
222
+ */
223
+ confirmBeforeIrreversible = true;
144
224
  capturer = null;
145
225
  timer = null;
146
226
  constructor() {
@@ -174,6 +254,23 @@ export class BrowserSessionService {
174
254
  setCapturer(capturer) {
175
255
  this.capturer = capturer;
176
256
  }
257
+ /**
258
+ * Turn the irreversible-action hold on or off.
259
+ *
260
+ * @param enabled - Whether to hold irreversible actions for the owner
261
+ */
262
+ setConfirmBeforeIrreversible(enabled) {
263
+ this.confirmBeforeIrreversible = enabled;
264
+ this.logger.info('Irreversible-action hold changed', { enabled });
265
+ }
266
+ /**
267
+ * Whether irreversible actions are currently held.
268
+ *
269
+ * @returns True when the hold is on
270
+ */
271
+ isConfirmBeforeIrreversible() {
272
+ return this.confirmBeforeIrreversible;
273
+ }
177
274
  /** Starts the capture loop. Safe to call twice. */
178
275
  start() {
179
276
  if (this.timer)
@@ -212,6 +309,7 @@ export class BrowserSessionService {
212
309
  id: agentSession,
213
310
  agentSession,
214
311
  status: 'reading',
312
+ control: 'agent',
215
313
  lastAction: '',
216
314
  lastActionAt: now,
217
315
  startedAt: now,
@@ -242,6 +340,157 @@ export class BrowserSessionService {
242
340
  session.endedAt = now;
243
341
  this.dirty.add(agentSession);
244
342
  }
343
+ /**
344
+ * Decide whether the agent may take this action, and hold it if not.
345
+ *
346
+ * Two things are checked, in order:
347
+ *
348
+ * 1. Whether the owner has taken the wheel. If so the agent is refused
349
+ * outright — the two must never drive the same page at once, and the
350
+ * owner is frequently mid-way through typing a password.
351
+ * 2. Whether the action looks irreversible and outward-facing. Sending a
352
+ * message, submitting a form, paying, deleting: things that cannot be
353
+ * taken back and that reach other people.
354
+ *
355
+ * The second check exists because of a real incident. An owner asked for
356
+ * an email to be *drafted*; the agent produced one and sent it. Nothing
357
+ * in the system could have stopped that, because at the browser layer
358
+ * "send an email" is a click on a button, indistinguishable from any
359
+ * other click. Every guard we had lived at the skill layer, and driving a
360
+ * browser goes around all of them.
361
+ *
362
+ * A held action is not an error. The agent is told to wait, the owner is
363
+ * shown what it wanted to do, and their answer decides.
364
+ *
365
+ * @param agentSession - Agent asking to act
366
+ * @param tool - Tool it wants to use
367
+ * @param params - Params it wants to use
368
+ * @returns `allow`, or a refusal carrying the reason to hand the agent
369
+ */
370
+ authorize(agentSession, tool, params) {
371
+ const session = this.sessions.get(agentSession);
372
+ if (session?.control === 'owner') {
373
+ return {
374
+ allow: false,
375
+ code: 'owner_has_control',
376
+ reason: 'The owner has taken control of this browser. Do not retry — wait, and you will be told when control comes back.',
377
+ };
378
+ }
379
+ // An action already held must not be re-attempted under a new id.
380
+ if (session?.pending) {
381
+ return {
382
+ allow: false,
383
+ code: 'awaiting_owner',
384
+ reason: `Waiting for the owner to approve: ${session.pending.description}. Do not retry and do not try another way round it.`,
385
+ pendingId: session.pending.id,
386
+ };
387
+ }
388
+ if (!this.confirmBeforeIrreversible)
389
+ return { allow: true };
390
+ // Spend an approval the owner already gave.
391
+ if (this.approvedOnce.has(agentSession)) {
392
+ this.approvedOnce.delete(agentSession);
393
+ return { allow: true };
394
+ }
395
+ const matched = matchIrreversible(tool, params);
396
+ if (!matched)
397
+ return { allow: true };
398
+ const pending = {
399
+ id: `${agentSession}:${Date.now()}`,
400
+ tool,
401
+ description: describeAction(tool, params),
402
+ matched,
403
+ raisedAt: Date.now(),
404
+ };
405
+ // Raising a hold creates the session if the agent had not acted yet,
406
+ // so the owner can see the request either way.
407
+ this.noteAction({ agentSession, tool, params });
408
+ const target = this.sessions.get(agentSession);
409
+ if (target) {
410
+ target.pending = pending;
411
+ target.status = 'waiting_owner';
412
+ this.dirty.add(agentSession);
413
+ }
414
+ this.logger.warn('Held an irreversible browser action for the owner', {
415
+ agentSession,
416
+ tool,
417
+ matched,
418
+ description: pending.description,
419
+ });
420
+ return {
421
+ allow: false,
422
+ code: 'awaiting_owner',
423
+ reason: `This looks irreversible (${matched}) and needs the owner to approve it. Stop here and tell the owner what you are waiting on. Do not retry and do not look for another way to do it.`,
424
+ pendingId: pending.id,
425
+ };
426
+ }
427
+ /**
428
+ * Hand the wheel to the owner.
429
+ *
430
+ * @param agentSession - Session to take over
431
+ * @returns The updated session, or undefined when there is none
432
+ */
433
+ takeControl(agentSession) {
434
+ const session = this.sessions.get(agentSession);
435
+ if (!session)
436
+ return undefined;
437
+ session.control = 'owner';
438
+ session.controlTakenAt = Date.now();
439
+ session.status = 'waiting_owner';
440
+ this.dirty.add(agentSession);
441
+ this.logger.info('Owner took control of a browser session', { agentSession });
442
+ return { ...session };
443
+ }
444
+ /**
445
+ * Give the wheel back to the agent.
446
+ *
447
+ * Any action that was held is dropped rather than resumed: the owner has
448
+ * been driving, so the page is no longer the one the agent was looking at
449
+ * and re-running its click blind would be worse than making it look again.
450
+ *
451
+ * @param agentSession - Session to release
452
+ * @returns The updated session, or undefined when there is none
453
+ */
454
+ releaseControl(agentSession) {
455
+ const session = this.sessions.get(agentSession);
456
+ if (!session)
457
+ return undefined;
458
+ session.control = 'agent';
459
+ delete session.controlTakenAt;
460
+ delete session.pending;
461
+ session.status = 'reading';
462
+ this.dirty.add(agentSession);
463
+ this.logger.info('Owner gave control back to the agent', { agentSession });
464
+ return { ...session };
465
+ }
466
+ /**
467
+ * Resolve a held action.
468
+ *
469
+ * Approving clears the hold so the agent's next attempt goes through;
470
+ * it deliberately does not replay the action itself, because the agent
471
+ * is the one that knows what it was in the middle of.
472
+ *
473
+ * @param agentSession - Session holding the action
474
+ * @param pendingId - The hold being answered
475
+ * @param decision - What the owner chose
476
+ * @returns The updated session, or undefined when the id does not match
477
+ */
478
+ resolvePending(agentSession, pendingId, decision) {
479
+ const session = this.sessions.get(agentSession);
480
+ if (!session?.pending || session.pending.id !== pendingId)
481
+ return undefined;
482
+ if (decision === 'approve') {
483
+ // Keyed on the session: the agent will retry, and the retry must
484
+ // get through. Keyed on the hold id it would be held again under a
485
+ // new id and loop forever.
486
+ this.approvedOnce.add(agentSession);
487
+ }
488
+ delete session.pending;
489
+ session.status = decision === 'approve' ? 'acting' : 'reading';
490
+ this.dirty.add(agentSession);
491
+ this.logger.info('Owner resolved a held browser action', { agentSession, pendingId, decision });
492
+ return { ...session };
493
+ }
245
494
  /**
246
495
  * Mark a session as finished.
247
496
  *
@@ -1 +1 @@
1
- {"version":3,"file":"browser-session.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-session.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-session.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-session.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-api-relay.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/mobile-api-relay.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMhF,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/E,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,GAAG,IAAI,CAAC;IAChF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClF;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3F;AAED,4DAA4D;AAC5D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiC1F,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5E;AAMD,2BAA2B;AAC3B,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,qBAAqB,CAAC;IACjC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,OAAO,CAA4D;gBAE/D,OAAO,EAAE,qBAAqB;IAQ1C,6CAA6C;IAC7C,KAAK,IAAI,IAAI;IAab,uDAAuD;IACvD,IAAI,IAAI,IAAI;IAOZ;;;;;;OAMG;YACW,aAAa;CA6D5B"}
1
+ {"version":3,"file":"mobile-api-relay.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/mobile-api-relay.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMhF,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/E,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,GAAG,IAAI,CAAC;IAChF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClF;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3F;AAED,4DAA4D;AAC5D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAyC1F,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5E;AAMD,2BAA2B;AAC3B,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,qBAAqB,CAAC;IACjC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,OAAO,CAA4D;gBAE/D,OAAO,EAAE,qBAAqB;IAQ1C,6CAA6C;IAC7C,KAAK,IAAI,IAAI;IAab,uDAAuD;IACvD,IAAI,IAAI,IAAI;IAOZ;;;;;;OAMG;YACW,aAAa;CA6D5B"}
@@ -49,6 +49,14 @@ export const MOBILE_API_ALLOWLIST = [
49
49
  { method: 'GET', prefix: '/slack/agent-identities' },
50
50
  { method: 'POST', prefix: '/slack/team-channels' }, // create or link
51
51
  { method: 'POST', prefix: '/slack/cloud/agents/sync' },
52
+ // Live browser view. Reads let an owner who is not at this machine see
53
+ // what an agent is doing in a browser; the writes under /browser/sessions
54
+ // are the owner-side controls only — stop, take the wheel, give it back,
55
+ // answer a held action. The driving endpoints (/browser/navigate,
56
+ // /browser/click, …) are deliberately NOT here: those are how an agent
57
+ // acts, and nothing on the internet should be able to act as one.
58
+ { method: 'GET', prefix: '/browser/sessions' },
59
+ { method: 'POST', prefix: '/browser/sessions' },
52
60
  // Desktop control, deliberately lopsided. Seeing what a machine is doing
53
61
  // and being able to stop it are exactly what an owner who is not sitting
54
62
  // at it needs, and neither can do harm. Driving the mouse is left off:
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-api-relay.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/mobile-api-relay.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mobile-api-relay.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/mobile-api-relay.service.ts"],"names":[],"mappings":"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"}