crewly 1.20.78 → 1.20.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/skills/_common/lib.sh +12 -0
- package/config/skills/agent/core/gmail-send/SKILL.md +43 -8
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +67 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +166 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js +9 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.d.ts +21 -0
- package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.js +126 -2
- package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.routes.js +8 -1
- package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +7 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.d.ts +135 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.js +249 -0
- package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +8 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
- package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts +109 -0
- package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts.map +1 -0
- package/dist/backend/backend/src/services/google/gmail-send-gate.js +121 -0
- package/dist/backend/backend/src/services/google/gmail-send-gate.js.map +1 -0
- package/dist/backend/backend/src/services/google/gmail.service.d.ts +34 -0
- package/dist/backend/backend/src/services/google/gmail.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/google/gmail.service.js +42 -0
- package/dist/backend/backend/src/services/google/gmail.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/frontend/dist/assets/{index-a6480a0f.css → index-ae10b608.css} +1 -1
- package/frontend/dist/assets/{index-cc910352.js → index-f612f275.js} +248 -248
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -231,6 +231,18 @@ api_call() {
|
|
|
231
231
|
# Tank: every reply-channel call 404'd for want of this variable).
|
|
232
232
|
echo '{"warning":"CREWLY_SESSION_NAME is not set in this shell — the request is sent without X-Agent-Session; channel replies and heartbeats will not be attributed to you. Prefix the call with CREWLY_SESSION_NAME=<your session name> or restart the agent."}' >&2
|
|
233
233
|
fi
|
|
234
|
+
# What the agent says authorizes an irreversible action, recorded at the
|
|
235
|
+
# moment of the attempt and shown to the owner beside it. Captured here
|
|
236
|
+
# rather than trusted later: an agent that has already sent something has
|
|
237
|
+
# every reason to produce an authorization for it, and one produced
|
|
238
|
+
# afterwards cannot be told apart from one that existed. This one can.
|
|
239
|
+
# Base64 because headers are Latin-1 and these citations quote what the
|
|
240
|
+
# owner actually said, which is frequently not ASCII. Sent raw, a Chinese
|
|
241
|
+
# quote makes curl reject the request outright and the citation is lost —
|
|
242
|
+
# exactly when it matters most.
|
|
243
|
+
if [ -n "${CREWLY_AGENT_AUTHORIZATION:-}" ]; then
|
|
244
|
+
args+=(-H "X-Agent-Authorization: b64:$(printf '%s' "$CREWLY_AGENT_AUTHORIZATION" | base64 | tr -d '\n')")
|
|
245
|
+
fi
|
|
234
246
|
# Which connected Google account the call acts as. One Crewly account can
|
|
235
247
|
# connect several (two Gmail logins, say); without this the backend uses
|
|
236
248
|
# whichever is the default, which is what a single-account install wants.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Gmail Send
|
|
3
|
-
description:
|
|
3
|
+
description: Compose an email from the owner's Gmail account. Your call leaves a real draft in the owner's Drafts and stops there — only the owner can send it. Supports in-thread replies.
|
|
4
4
|
version: 1.0.0
|
|
5
5
|
category: communication
|
|
6
6
|
skillType: claude-skill
|
|
@@ -30,10 +30,43 @@ execution:
|
|
|
30
30
|
|
|
31
31
|
# Gmail Send
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
Composes a plain-text email **as the owner** and leaves it in their Gmail
|
|
34
|
+
Drafts. **You cannot send it. Calling this does not send anything.**
|
|
35
|
+
|
|
36
|
+
The owner sends it, from Gmail or from Crewly. Your job ends at telling them
|
|
37
|
+
it is ready and what it says.
|
|
38
|
+
|
|
39
|
+
This is not advice you can weigh against the task in front of you — it is
|
|
40
|
+
what the endpoint does. A call comes back `202` with `drafted: true`, and no
|
|
41
|
+
mail has left the account.
|
|
42
|
+
|
|
43
|
+
## If you think you have been told to send
|
|
44
|
+
|
|
45
|
+
You have not been given a way to. There is no flag, no parameter and no
|
|
46
|
+
other skill that sends mail. Looking for one, or reaching for a browser to
|
|
47
|
+
click Send in webmail, is working around a decision that was made
|
|
48
|
+
deliberately and is not yours to overturn.
|
|
49
|
+
|
|
50
|
+
Say the draft is ready and let the owner send it.
|
|
51
|
+
|
|
52
|
+
## Citing your instruction
|
|
53
|
+
|
|
54
|
+
If the owner did tell you to send, pass the message you are relying on:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
CREWLY_AGENT_AUTHORIZATION="owner, 14:22 — 'yes send it to Kaleb'" bash execute.sh ...
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
It is recorded with the draft and shown to the owner beside it. Quote what
|
|
61
|
+
was actually said. Do not paraphrase it into something stronger, and if you
|
|
62
|
+
cannot point at a specific message, send nothing and say so — an owner who
|
|
63
|
+
asked you to draft something and finds it sent will ask what you were going
|
|
64
|
+
on, and "I understood it that way" is not an answer either of you can check.
|
|
65
|
+
|
|
66
|
+
An agent already did this: it sent two emails on an owner's behalf, then
|
|
67
|
+
said it had been told to "fill it in and send". The record for that window
|
|
68
|
+
contains four messages from the owner, and the only relevant one says the
|
|
69
|
+
opposite — fill it in, *then I'll do the rest*.
|
|
37
70
|
|
|
38
71
|
```bash
|
|
39
72
|
bash execute.sh --to ann@example.com --subject "Re: Q3 numbers" --text "Looks good, thanks!"
|
|
@@ -52,16 +85,18 @@ bash execute.sh '{"to":"ann@example.com","subject":"Hi","text":"…"}'
|
|
|
52
85
|
| `--cc` (`cc`) | no | Cc recipient(s) |
|
|
53
86
|
| `--thread-id` (`threadId`) | no | Gmail thread to reply in (from `gmail-search`) |
|
|
54
87
|
| `--in-reply-to` (`inReplyTo`) | no | `messageId` of the message being answered (from `gmail-read`) |
|
|
55
|
-
| `--dry-run` | no | Print the
|
|
88
|
+
| `--dry-run` | no | Print the preview locally; create no draft either |
|
|
56
89
|
|
|
57
90
|
`CREWLY_GMAIL_SEND_DRY_RUN=1` in the environment forces dry-run for every
|
|
58
91
|
call — nothing is sent, no request leaves this machine.
|
|
59
92
|
|
|
60
93
|
## Output
|
|
61
94
|
|
|
62
|
-
|
|
95
|
+
Drafted (the normal outcome): `{"success":true,"drafted":true,"draftId":"r-8…","pendingId":"…","message":"Saved as a draft … It has NOT been sent."}` with HTTP 202.
|
|
96
|
+
|
|
97
|
+
Dry run: `{"success":true,"dryRun":true,"preview":"To: …\nSubject: …\n\n<body>"}` — nothing is written anywhere, not even a draft.
|
|
63
98
|
|
|
64
|
-
|
|
99
|
+
There is no output shape in which you have sent an email.
|
|
65
100
|
|
|
66
101
|
## Failures
|
|
67
102
|
|
|
@@ -326,6 +326,23 @@ export declare function getBrowserSession(req: Request, res: Response): void;
|
|
|
326
326
|
* @param res - Express response carrying image bytes, or 404
|
|
327
327
|
*/
|
|
328
328
|
export declare function getBrowserSessionFrame(req: Request, res: Response): void;
|
|
329
|
+
/**
|
|
330
|
+
* GET /api/browser/sessions/:id/frame.json
|
|
331
|
+
* The same frame, as JSON, for callers that cannot carry image bytes.
|
|
332
|
+
*
|
|
333
|
+
* The Cloud portal and the phone app reach this instance over the relay,
|
|
334
|
+
* whose REST passthrough serialises everything as JSON. They cannot use the
|
|
335
|
+
* raw-bytes route, so they get the same picture base64-encoded and pay the
|
|
336
|
+
* ~33% for it — still tens of kilobytes, well inside the relay's frame
|
|
337
|
+
* limit.
|
|
338
|
+
*
|
|
339
|
+
* Fetching registers a watcher exactly as the bytes route does, so a remote
|
|
340
|
+
* viewer raises the capture rate the same way a local one does.
|
|
341
|
+
*
|
|
342
|
+
* @param req - Express request with `:id`
|
|
343
|
+
* @param res - Express response
|
|
344
|
+
*/
|
|
345
|
+
export declare function getBrowserSessionFrameJson(req: Request, res: Response): void;
|
|
329
346
|
/**
|
|
330
347
|
* POST /api/browser/sessions/:id/stop
|
|
331
348
|
* Mark an agent's browser session as stopped by its owner.
|
|
@@ -338,4 +355,54 @@ export declare function getBrowserSessionFrame(req: Request, res: Response): voi
|
|
|
338
355
|
* @param res - Express response
|
|
339
356
|
*/
|
|
340
357
|
export declare function stopBrowserSession(req: Request, res: Response): void;
|
|
358
|
+
/**
|
|
359
|
+
* POST /api/browser/sessions/:id/take-control
|
|
360
|
+
* Take the wheel from the agent.
|
|
361
|
+
*
|
|
362
|
+
* While the owner holds it every browser call from that agent is refused, so
|
|
363
|
+
* the two can never drive the same page at once — which matters most in
|
|
364
|
+
* exactly the situation people take over for: typing a password.
|
|
365
|
+
*
|
|
366
|
+
* @param req - Express request with `:id`
|
|
367
|
+
* @param res - Express response
|
|
368
|
+
*/
|
|
369
|
+
export declare function takeBrowserControl(req: Request, res: Response): void;
|
|
370
|
+
/**
|
|
371
|
+
* POST /api/browser/sessions/:id/release-control
|
|
372
|
+
* Give the wheel back to the agent.
|
|
373
|
+
*
|
|
374
|
+
* Tells the agent where the page ended up, because the owner has been
|
|
375
|
+
* driving and it can no longer assume the page it last saw.
|
|
376
|
+
*
|
|
377
|
+
* @param req - Express request with `:id`
|
|
378
|
+
* @param res - Express response
|
|
379
|
+
*/
|
|
380
|
+
export declare function releaseBrowserControl(req: Request, res: Response): Promise<void>;
|
|
381
|
+
/**
|
|
382
|
+
* POST /api/browser/sessions/:id/pending/:pendingId
|
|
383
|
+
* Approve or reject an action the agent was held on.
|
|
384
|
+
*
|
|
385
|
+
* Approval is one-shot: it lets the attempt the owner looked at through, and
|
|
386
|
+
* nothing else. Approving does not replay the action — the agent retries,
|
|
387
|
+
* because it is the one that knows what it was in the middle of.
|
|
388
|
+
*
|
|
389
|
+
* @param req - Express request with `:id`, `:pendingId` and body `{ decision }`
|
|
390
|
+
* @param res - Express response
|
|
391
|
+
*/
|
|
392
|
+
export declare function resolveBrowserPending(req: Request, res: Response): Promise<void>;
|
|
393
|
+
/** How this module reaches an agent to tell it something. */
|
|
394
|
+
export interface BrowserControlDeps {
|
|
395
|
+
/** Deliver a line into an agent's session */
|
|
396
|
+
sendMessageToAgent: (sessionName: string, message: string) => Promise<unknown>;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Provide the way to reach agents.
|
|
400
|
+
*
|
|
401
|
+
* Injected from server startup rather than imported, because the agent
|
|
402
|
+
* registration service is constructed with the server and importing it here
|
|
403
|
+
* would be a cycle. Unset simply means the nudges are skipped.
|
|
404
|
+
*
|
|
405
|
+
* @param next - The dependencies, or null to clear them
|
|
406
|
+
*/
|
|
407
|
+
export declare function setBrowserControlDeps(next: BrowserControlDeps | null): void;
|
|
341
408
|
//# sourceMappingURL=browser.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOjD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CA+B5D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAc/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C9E;
|
|
1
|
+
{"version":3,"file":"browser.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -246,6 +246,26 @@ async function sendToolCommand(req, res, tool, params, timeoutMs) {
|
|
|
246
246
|
if (tabIdAuth.tabId !== undefined) {
|
|
247
247
|
params = { ...(params ?? {}), tabId: tabIdAuth.tabId };
|
|
248
248
|
}
|
|
249
|
+
// Who holds the wheel, and is this something the agent may do alone?
|
|
250
|
+
//
|
|
251
|
+
// This sits ahead of every transport path on purpose. The guards that
|
|
252
|
+
// decide whether an agent may send a message or submit a form all live at
|
|
253
|
+
// the skill layer, and driving a browser goes around every one of them —
|
|
254
|
+
// at this layer "send the email" is a click, shaped exactly like any
|
|
255
|
+
// other click. An owner asked for an email to be drafted and the agent
|
|
256
|
+
// sent it; nothing in the system was in a position to notice.
|
|
257
|
+
if (agentSession) {
|
|
258
|
+
const verdict = getBrowserSessions().authorize(agentSession, tool, params);
|
|
259
|
+
if (!verdict.allow) {
|
|
260
|
+
res.status(409).json({
|
|
261
|
+
success: false,
|
|
262
|
+
error: verdict.reason,
|
|
263
|
+
code: verdict.code,
|
|
264
|
+
...(verdict.pendingId ? { pendingId: verdict.pendingId } : {}),
|
|
265
|
+
});
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
249
269
|
// Collect errors from each path for diagnostics if all fail
|
|
250
270
|
const errors = [];
|
|
251
271
|
// Path 1: If a specific instance is requested AND proxy is available, use proxy
|
|
@@ -794,6 +814,39 @@ export function getBrowserSessionFrame(req, res) {
|
|
|
794
814
|
res.setHeader('X-Frame-Captured-At', String(frame.capturedAt));
|
|
795
815
|
res.send(body);
|
|
796
816
|
}
|
|
817
|
+
/**
|
|
818
|
+
* GET /api/browser/sessions/:id/frame.json
|
|
819
|
+
* The same frame, as JSON, for callers that cannot carry image bytes.
|
|
820
|
+
*
|
|
821
|
+
* The Cloud portal and the phone app reach this instance over the relay,
|
|
822
|
+
* whose REST passthrough serialises everything as JSON. They cannot use the
|
|
823
|
+
* raw-bytes route, so they get the same picture base64-encoded and pay the
|
|
824
|
+
* ~33% for it — still tens of kilobytes, well inside the relay's frame
|
|
825
|
+
* limit.
|
|
826
|
+
*
|
|
827
|
+
* Fetching registers a watcher exactly as the bytes route does, so a remote
|
|
828
|
+
* viewer raises the capture rate the same way a local one does.
|
|
829
|
+
*
|
|
830
|
+
* @param req - Express request with `:id`
|
|
831
|
+
* @param res - Express response
|
|
832
|
+
*/
|
|
833
|
+
export function getBrowserSessionFrameJson(req, res) {
|
|
834
|
+
const frame = getBrowserSessions().getFrame(req.params.id);
|
|
835
|
+
if (!frame) {
|
|
836
|
+
res.status(404).json({ success: false, error: 'No frame captured yet' });
|
|
837
|
+
return;
|
|
838
|
+
}
|
|
839
|
+
res.setHeader('Cache-Control', 'no-store, private');
|
|
840
|
+
res.json({
|
|
841
|
+
success: true,
|
|
842
|
+
data: {
|
|
843
|
+
base64: frame.base64,
|
|
844
|
+
mimeType: frame.mimeType,
|
|
845
|
+
capturedAt: frame.capturedAt,
|
|
846
|
+
...(frame.devicePixelRatio !== undefined ? { devicePixelRatio: frame.devicePixelRatio } : {}),
|
|
847
|
+
},
|
|
848
|
+
});
|
|
849
|
+
}
|
|
797
850
|
/**
|
|
798
851
|
* POST /api/browser/sessions/:id/stop
|
|
799
852
|
* Mark an agent's browser session as stopped by its owner.
|
|
@@ -814,4 +867,117 @@ export function stopBrowserSession(req, res) {
|
|
|
814
867
|
sessions.endSession(req.params.id, 'stopped');
|
|
815
868
|
res.json({ success: true, data: { session: sessions.getSession(req.params.id) } });
|
|
816
869
|
}
|
|
870
|
+
/**
|
|
871
|
+
* POST /api/browser/sessions/:id/take-control
|
|
872
|
+
* Take the wheel from the agent.
|
|
873
|
+
*
|
|
874
|
+
* While the owner holds it every browser call from that agent is refused, so
|
|
875
|
+
* the two can never drive the same page at once — which matters most in
|
|
876
|
+
* exactly the situation people take over for: typing a password.
|
|
877
|
+
*
|
|
878
|
+
* @param req - Express request with `:id`
|
|
879
|
+
* @param res - Express response
|
|
880
|
+
*/
|
|
881
|
+
export function takeBrowserControl(req, res) {
|
|
882
|
+
const session = getBrowserSessions().takeControl(req.params.id);
|
|
883
|
+
if (!session) {
|
|
884
|
+
res.status(404).json({ success: false, error: 'No browser session for that agent' });
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
res.json({ success: true, data: { session } });
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* POST /api/browser/sessions/:id/release-control
|
|
891
|
+
* Give the wheel back to the agent.
|
|
892
|
+
*
|
|
893
|
+
* Tells the agent where the page ended up, because the owner has been
|
|
894
|
+
* driving and it can no longer assume the page it last saw.
|
|
895
|
+
*
|
|
896
|
+
* @param req - Express request with `:id`
|
|
897
|
+
* @param res - Express response
|
|
898
|
+
*/
|
|
899
|
+
export async function releaseBrowserControl(req, res) {
|
|
900
|
+
const sessions = getBrowserSessions();
|
|
901
|
+
const before = sessions.getSession(req.params.id);
|
|
902
|
+
if (!before) {
|
|
903
|
+
res.status(404).json({ success: false, error: 'No browser session for that agent' });
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
const session = sessions.releaseControl(req.params.id);
|
|
907
|
+
await notifyAgentControlReturned(req.params.id, session?.url);
|
|
908
|
+
res.json({ success: true, data: { session } });
|
|
909
|
+
}
|
|
910
|
+
/**
|
|
911
|
+
* POST /api/browser/sessions/:id/pending/:pendingId
|
|
912
|
+
* Approve or reject an action the agent was held on.
|
|
913
|
+
*
|
|
914
|
+
* Approval is one-shot: it lets the attempt the owner looked at through, and
|
|
915
|
+
* nothing else. Approving does not replay the action — the agent retries,
|
|
916
|
+
* because it is the one that knows what it was in the middle of.
|
|
917
|
+
*
|
|
918
|
+
* @param req - Express request with `:id`, `:pendingId` and body `{ decision }`
|
|
919
|
+
* @param res - Express response
|
|
920
|
+
*/
|
|
921
|
+
export async function resolveBrowserPending(req, res) {
|
|
922
|
+
const decision = req.body?.decision;
|
|
923
|
+
if (decision !== 'approve' && decision !== 'reject') {
|
|
924
|
+
res.status(400).json({ success: false, error: "decision must be 'approve' or 'reject'" });
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
const sessions = getBrowserSessions();
|
|
928
|
+
const held = sessions.getSession(req.params.id)?.pending;
|
|
929
|
+
const session = sessions.resolvePending(req.params.id, req.params.pendingId, decision);
|
|
930
|
+
if (!session) {
|
|
931
|
+
res.status(404).json({ success: false, error: 'No such pending action' });
|
|
932
|
+
return;
|
|
933
|
+
}
|
|
934
|
+
await tellAgent(req.params.id, decision === 'approve'
|
|
935
|
+
? `[BROWSER] The owner approved: ${held?.description ?? 'the action you were waiting on'}. Go ahead with exactly that, once.`
|
|
936
|
+
: `[BROWSER] The owner declined: ${held?.description ?? 'the action you were waiting on'}. Do not do it, do not work around it. Say what you will do instead, or ask.`);
|
|
937
|
+
res.json({ success: true, data: { session } });
|
|
938
|
+
}
|
|
939
|
+
/**
|
|
940
|
+
* Tell an agent that control has come back to it.
|
|
941
|
+
*
|
|
942
|
+
* The agent is not told what the owner did — only where the page is now,
|
|
943
|
+
* which is all it needs and all we can honestly report. The owner may have
|
|
944
|
+
* been typing a credential, and that is not ours to relay.
|
|
945
|
+
*
|
|
946
|
+
* @param agentSession - The agent getting control back
|
|
947
|
+
* @param url - Where the page ended up, when known
|
|
948
|
+
*/
|
|
949
|
+
async function notifyAgentControlReturned(agentSession, url) {
|
|
950
|
+
await tellAgent(agentSession, `[BROWSER] The owner has finished and given control back to you. The page is now ${url ?? 'possibly somewhere else'}. Look at it before you act — do not assume it is where you left it.`);
|
|
951
|
+
}
|
|
952
|
+
let controlDeps = null;
|
|
953
|
+
/**
|
|
954
|
+
* Provide the way to reach agents.
|
|
955
|
+
*
|
|
956
|
+
* Injected from server startup rather than imported, because the agent
|
|
957
|
+
* registration service is constructed with the server and importing it here
|
|
958
|
+
* would be a cycle. Unset simply means the nudges are skipped.
|
|
959
|
+
*
|
|
960
|
+
* @param next - The dependencies, or null to clear them
|
|
961
|
+
*/
|
|
962
|
+
export function setBrowserControlDeps(next) {
|
|
963
|
+
controlDeps = next;
|
|
964
|
+
}
|
|
965
|
+
/**
|
|
966
|
+
* Deliver a line into an agent's session, best-effort.
|
|
967
|
+
*
|
|
968
|
+
* Never allowed to throw: the owner's action has already been applied, and
|
|
969
|
+
* failing to notify the agent must not turn a successful takeover into an
|
|
970
|
+
* error the owner sees.
|
|
971
|
+
*
|
|
972
|
+
* @param agentSession - Target agent
|
|
973
|
+
* @param message - What to tell it
|
|
974
|
+
*/
|
|
975
|
+
async function tellAgent(agentSession, message) {
|
|
976
|
+
try {
|
|
977
|
+
await controlDeps?.sendMessageToAgent(agentSession, message);
|
|
978
|
+
}
|
|
979
|
+
catch {
|
|
980
|
+
// Best-effort: the UI is the owner's source of truth, not this nudge.
|
|
981
|
+
}
|
|
982
|
+
}
|
|
817
983
|
//# sourceMappingURL=browser.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA0CjC;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA8G5C"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module controllers/browser/browser.routes
|
|
9
9
|
*/
|
|
10
10
|
import { Router } from 'express';
|
|
11
|
-
import { getStatus, getInstances, connectProxy, navigate, screenshot, readText, getTabs, execute, executeJs, click, fill, type, scroll, scrollInElement, hover, pressKey, getElement, waitForSelector, getCookies, getLocalStorage, getConsole, fullPageScreenshot, getInteractiveElements, searchText, listOptions, selectOption, setFileInput, bindTab, unbindTab, getBindings, listBrowserSessions, getBrowserSession, getBrowserSessionFrame, stopBrowserSession, } from './browser.controller.js';
|
|
11
|
+
import { getStatus, getInstances, connectProxy, navigate, screenshot, readText, getTabs, execute, executeJs, click, fill, type, scroll, scrollInElement, hover, pressKey, getElement, waitForSelector, getCookies, getLocalStorage, getConsole, fullPageScreenshot, getInteractiveElements, searchText, listOptions, selectOption, setFileInput, bindTab, unbindTab, getBindings, listBrowserSessions, getBrowserSession, getBrowserSessionFrame, getBrowserSessionFrameJson, stopBrowserSession, takeBrowserControl, releaseBrowserControl, resolveBrowserPending, } from './browser.controller.js';
|
|
12
12
|
/**
|
|
13
13
|
* Create the browser bridge router with all browser control endpoints.
|
|
14
14
|
*
|
|
@@ -83,7 +83,15 @@ export function createBrowserRouter() {
|
|
|
83
83
|
router.get('/sessions', listBrowserSessions);
|
|
84
84
|
router.get('/sessions/:id', getBrowserSession);
|
|
85
85
|
router.get('/sessions/:id/frame', getBrowserSessionFrame);
|
|
86
|
+
// JSON variant for callers reaching this instance over the relay, whose
|
|
87
|
+
// REST passthrough cannot carry raw bytes.
|
|
88
|
+
router.get('/sessions/:id/frame.json', getBrowserSessionFrameJson);
|
|
86
89
|
router.post('/sessions/:id/stop', stopBrowserSession);
|
|
90
|
+
// Taking the wheel. While the owner holds it the agent is refused, so the
|
|
91
|
+
// two can never drive the same page at once.
|
|
92
|
+
router.post('/sessions/:id/take-control', takeBrowserControl);
|
|
93
|
+
router.post('/sessions/:id/release-control', releaseBrowserControl);
|
|
94
|
+
router.post('/sessions/:id/pending/:pendingId', resolveBrowserPending);
|
|
87
95
|
return router;
|
|
88
96
|
}
|
|
89
97
|
//# sourceMappingURL=browser.routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACN,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,eAAe,EACf,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,UAAU,EACV,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"browser.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -205,4 +205,25 @@ export declare function slidesRead(req: Request, res: Response): Promise<void>;
|
|
|
205
205
|
* @param res - Response
|
|
206
206
|
*/
|
|
207
207
|
export declare function slidesCreate(req: Request, res: Response): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* GET /api/google/gmail/held — mail an agent has drafted and is waiting to send.
|
|
210
|
+
*
|
|
211
|
+
* Each entry carries the instruction the agent cited when it tried, captured
|
|
212
|
+
* at that moment. An entry with no citation is an attempt that named nothing.
|
|
213
|
+
*
|
|
214
|
+
* @param _req - Incoming request
|
|
215
|
+
* @param res - Response
|
|
216
|
+
*/
|
|
217
|
+
export declare function gmailListHeld(_req: Request, res: Response): void;
|
|
218
|
+
/**
|
|
219
|
+
* POST /api/google/gmail/held/:id — the owner answers a held send.
|
|
220
|
+
*
|
|
221
|
+
* Body `{ decision: 'send' | 'discard' }`. Sending goes through the draft
|
|
222
|
+
* the owner can already see, so what leaves is exactly what they reviewed —
|
|
223
|
+
* including any edits they made in Gmail.
|
|
224
|
+
*
|
|
225
|
+
* @param req - Incoming request
|
|
226
|
+
* @param res - Response
|
|
227
|
+
*/
|
|
228
|
+
export declare function gmailResolveHeld(req: Request, res: Response): Promise<void>;
|
|
208
229
|
//# sourceMappingURL=google.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/google/google.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EACL,2BAA2B,EAE5B,MAAM,yDAAyD,CAAC;
|
|
1
|
+
{"version":3,"file":"google.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/google/google.controller.ts"],"names":[],"mappings":"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"}
|