orquesta-agent 0.2.75 → 0.2.77

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.
@@ -0,0 +1,17 @@
1
+ import type { BroadcastChannel } from './ws-client.js';
2
+ export declare function startBrowserSession(opts: {
3
+ sessionId: string;
4
+ channel: BroadcastChannel;
5
+ channelName: string;
6
+ initialUrl?: string;
7
+ }): Promise<{
8
+ sessionId: string;
9
+ vncPort: number;
10
+ rpcPort: number;
11
+ }>;
12
+ export declare function tunnelInbound(sessionId: string, data: Buffer): void;
13
+ export declare function endBrowserSession(sessionId: string, reason?: string): Promise<void>;
14
+ export declare function browserRpc(sessionId: string, method: string, path: string, body?: unknown): Promise<unknown>;
15
+ export declare function activeBrowserSessions(): string[];
16
+ export declare function shutdownAllBrowserSessions(): Promise<void>;
17
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAgEtD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiGnE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAInE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9F;AAiBD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAIlH;AAED,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAKhE"}
@@ -0,0 +1,206 @@
1
+ // Browser session lifecycle on the agent side.
2
+ //
3
+ // On `browser:start_session` we:
4
+ // 1. docker run an `orquesta/browser-agent:latest` container, capture the
5
+ // host-mapped VNC and RPC ports.
6
+ // 2. Open a localhost TCP socket to the VNC port and pipe its bytes through
7
+ // the existing socket.io broadcast channel as a `browser:tunnel:out`
8
+ // event. Reverse direction (`browser:tunnel:in`) writes back to the TCP
9
+ // socket. The dashboard's noVNC adapter is the other end of the tunnel.
10
+ // 3. On end / disconnect, kill the container and close the socket.
11
+ //
12
+ // We deliberately keep this orthogonal to executor.ts and the agent_chat path
13
+ // — browser sessions don't go through the execution queue, are read-only with
14
+ // respect to the agent's working directory, and don't touch prompts/logs.
15
+ import { execFile } from 'child_process';
16
+ import { connect } from 'net';
17
+ import { randomBytes } from 'crypto';
18
+ import * as logger from './logger.js';
19
+ const DEFAULT_IMAGE = process.env.ORQUESTA_BROWSER_IMAGE || 'orquesta/browser-agent:latest';
20
+ const CONTAINER_LABEL = 'orquesta-browser-session';
21
+ const START_TIMEOUT_MS = 60_000;
22
+ const sessions = new Map();
23
+ function dockerAvailable() {
24
+ return new Promise(resolve => {
25
+ execFile('docker', ['info'], { timeout: 5_000 }, err => resolve(!err));
26
+ });
27
+ }
28
+ function execDocker(args, timeoutMs = 30_000) {
29
+ return new Promise((resolve, reject) => {
30
+ execFile('docker', args, { timeout: timeoutMs, maxBuffer: 4 * 1024 * 1024 }, (err, stdout, stderr) => {
31
+ if (err) {
32
+ reject(new Error(`docker ${args[0]} failed: ${(stderr || err.message).slice(0, 400)}`));
33
+ return;
34
+ }
35
+ resolve({ stdout: String(stdout), stderr: String(stderr) });
36
+ });
37
+ });
38
+ }
39
+ async function getHostPort(containerId, containerPort) {
40
+ const { stdout } = await execDocker([
41
+ 'inspect',
42
+ '--format',
43
+ `{{(index (index .NetworkSettings.Ports "${containerPort}/tcp") 0).HostPort}}`,
44
+ containerId,
45
+ ]);
46
+ const port = parseInt(stdout.trim(), 10);
47
+ if (!Number.isFinite(port))
48
+ throw new Error(`could not resolve host port for ${containerPort}`);
49
+ return port;
50
+ }
51
+ async function waitForTcp(host, port, deadline) {
52
+ while (Date.now() < deadline) {
53
+ const ok = await new Promise(resolve => {
54
+ const s = connect({ host, port });
55
+ const done = (v) => { try {
56
+ s.destroy();
57
+ }
58
+ catch { } ; resolve(v); };
59
+ s.once('connect', () => done(true));
60
+ s.once('error', () => done(false));
61
+ setTimeout(() => done(false), 1500);
62
+ });
63
+ if (ok)
64
+ return;
65
+ await new Promise(r => setTimeout(r, 500));
66
+ }
67
+ throw new Error(`timed out waiting for ${host}:${port}`);
68
+ }
69
+ export async function startBrowserSession(opts) {
70
+ const { sessionId, channel, channelName, initialUrl } = opts;
71
+ if (sessions.has(sessionId)) {
72
+ throw new Error(`session ${sessionId} already running`);
73
+ }
74
+ if (!(await dockerAvailable())) {
75
+ throw new Error('Docker is not available on this agent VM. Install Docker to use browser sessions.');
76
+ }
77
+ const rpcToken = randomBytes(24).toString('base64url');
78
+ logger.info(`[browser] starting container for session ${sessionId}`);
79
+ // -p 127.0.0.1:0:5900 -> bind to a random free host port on loopback only.
80
+ // No public port exposure — the dashboard reaches it only via the WS tunnel.
81
+ const runArgs = [
82
+ 'run',
83
+ '-d',
84
+ '--rm',
85
+ '--label', `${CONTAINER_LABEL}=${sessionId}`,
86
+ '--cap-drop', 'ALL',
87
+ '--cap-add', 'SYS_ADMIN',
88
+ '--security-opt', 'seccomp=unconfined',
89
+ '--memory', '2g',
90
+ '--shm-size', '512m',
91
+ '--network', 'bridge',
92
+ '-p', '127.0.0.1::5900',
93
+ '-p', '127.0.0.1::7070',
94
+ '-e', `RPC_TOKEN=${rpcToken}`,
95
+ DEFAULT_IMAGE,
96
+ ];
97
+ const { stdout } = await execDocker(runArgs, 60_000);
98
+ const containerId = stdout.trim().split('\n').pop() || '';
99
+ if (!containerId)
100
+ throw new Error('docker run returned empty container id');
101
+ let vncPort, rpcPort;
102
+ try {
103
+ [vncPort, rpcPort] = await Promise.all([
104
+ getHostPort(containerId, 5900),
105
+ getHostPort(containerId, 7070),
106
+ ]);
107
+ const deadline = Date.now() + START_TIMEOUT_MS;
108
+ await waitForTcp('127.0.0.1', vncPort, deadline);
109
+ }
110
+ catch (err) {
111
+ await execDocker(['kill', containerId]).catch(() => { });
112
+ throw err;
113
+ }
114
+ const tcp = connect({ host: '127.0.0.1', port: vncPort });
115
+ const session = {
116
+ sessionId,
117
+ containerId,
118
+ vncPort,
119
+ rpcPort,
120
+ rpcToken,
121
+ tcp,
122
+ channel,
123
+ channelName,
124
+ };
125
+ sessions.set(sessionId, session);
126
+ tcp.on('data', (data) => {
127
+ // Forward VNC bytes to the dashboard subscribers via broadcast.
128
+ channel.send({
129
+ type: 'broadcast',
130
+ event: 'browser:tunnel:out',
131
+ payload: { sessionId, data },
132
+ }).catch(err => logger.error(`[browser] tunnel out error: ${err?.message || err}`));
133
+ });
134
+ tcp.on('error', (err) => {
135
+ logger.warn(`[browser] vnc socket error (${sessionId}): ${err.message}`);
136
+ });
137
+ tcp.on('close', () => {
138
+ logger.info(`[browser] vnc socket closed (${sessionId})`);
139
+ void endBrowserSession(sessionId, 'vnc_closed');
140
+ });
141
+ // Optional: navigate to a starting URL via the RPC service.
142
+ if (initialUrl) {
143
+ void rpcCall(session, 'POST', '/goto', { url: initialUrl }).catch(err => logger.warn(`[browser] initial goto failed: ${err?.message || err}`));
144
+ }
145
+ await channel.send({
146
+ type: 'broadcast',
147
+ event: 'browser:session:started',
148
+ payload: { sessionId },
149
+ });
150
+ return { sessionId, vncPort, rpcPort };
151
+ }
152
+ export function tunnelInbound(sessionId, data) {
153
+ const s = sessions.get(sessionId);
154
+ if (!s || !s.tcp || s.tcp.destroyed)
155
+ return;
156
+ s.tcp.write(data);
157
+ }
158
+ export async function endBrowserSession(sessionId, reason = 'requested') {
159
+ const s = sessions.get(sessionId);
160
+ if (!s)
161
+ return;
162
+ sessions.delete(sessionId);
163
+ try {
164
+ s.tcp?.destroy();
165
+ }
166
+ catch { }
167
+ await execDocker(['kill', s.containerId]).catch(err => logger.warn(`[browser] docker kill failed for ${s.containerId}: ${err.message}`));
168
+ await s.channel.send({
169
+ type: 'broadcast',
170
+ event: 'browser:session:ended',
171
+ payload: { sessionId, reason },
172
+ }).catch(() => { });
173
+ logger.info(`[browser] session ${sessionId} ended (${reason})`);
174
+ }
175
+ async function rpcCall(s, method, path, body) {
176
+ const fetchFn = globalThis.fetch;
177
+ if (!fetchFn)
178
+ throw new Error('fetch not available');
179
+ const res = await fetchFn(`http://127.0.0.1:${s.rpcPort}${path}`, {
180
+ method,
181
+ headers: {
182
+ 'Authorization': `Bearer ${s.rpcToken}`,
183
+ 'Content-Type': 'application/json',
184
+ },
185
+ body: body ? JSON.stringify(body) : undefined,
186
+ });
187
+ if (!res.ok)
188
+ throw new Error(`rpc ${path} ${res.status}`);
189
+ return res.json().catch(() => ({}));
190
+ }
191
+ export async function browserRpc(sessionId, method, path, body) {
192
+ const s = sessions.get(sessionId);
193
+ if (!s)
194
+ throw new Error(`session ${sessionId} not found`);
195
+ return rpcCall(s, method, path, body);
196
+ }
197
+ export function activeBrowserSessions() {
198
+ return [...sessions.keys()];
199
+ }
200
+ export async function shutdownAllBrowserSessions() {
201
+ const ids = [...sessions.keys()];
202
+ for (const id of ids) {
203
+ await endBrowserSession(id, 'agent_shutdown').catch(() => { });
204
+ }
205
+ }
206
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/executor.js CHANGED
@@ -1975,11 +1975,48 @@ export async function agentChat(options) {
1975
1975
  delete env.CLAUDECODE;
1976
1976
  delete env.CLAUDE_CODE_ENTRYPOINT;
1977
1977
  // Build conversational prompt with history
1978
- let fullPrompt = `You are participating in a team discussion about this project/codebase.
1979
- You are in READ-ONLY mode do NOT create, modify, or delete any files.
1980
- Answer questions, analyze code, explain architecture, suggest approaches, and help plan.
1981
- Be concise and conversational this is a meeting, not a formal report.
1982
- You can read files and explore the codebase to answer questions.
1978
+ let fullPrompt = `You are a planning partner in the Orquesta agent-chat. Your job is to help the user
1979
+ turn ideas into prompts and plans they can execute later. You are READ-ONLY — never
1980
+ create, modify, or delete files. Read the codebase as needed to answer accurately.
1981
+ Be concise and conversational; no formal reports.
1982
+
1983
+ # Structured artifacts
1984
+
1985
+ When the user wants something runnable (a plan, a prompt to send, or a choice between
1986
+ alternatives), wrap it in one of these tags so the dashboard can render it as an
1987
+ interactive card with Run / Save / Schedule / Run-in-session buttons. Plain prose
1988
+ around the tags is fine and rendered normally.
1989
+
1990
+ Available tags (top-level only — never nest tags inside one another):
1991
+
1992
+ <plan title="Short plan title">
1993
+ 1. First step — concrete and self-contained
1994
+ 2. Second step
1995
+ 3. Third step
1996
+ </plan>
1997
+
1998
+ <draft_prompt title="Short label for the prompt">
1999
+ The exact prompt body the agent should receive. Write it the way the user would
2000
+ write a prompt — imperative, with all context the executing agent needs.
2001
+ </draft_prompt>
2002
+
2003
+ <options title="Short question the user is choosing between">
2004
+ <option title="Approach A">Concrete prompt body for approach A.</option>
2005
+ <option title="Approach B">Concrete prompt body for approach B.</option>
2006
+ <option title="Approach C">Concrete prompt body for approach C.</option>
2007
+ </options>
2008
+
2009
+ # Tag rules
2010
+
2011
+ - Only use tags when the user is asking for something runnable. For pure Q&A, just
2012
+ answer in prose — do not wrap a prose answer in any tag.
2013
+ - Each <option>, <draft_prompt>, and <plan> body must stand alone as a runnable
2014
+ prompt: the agent that later executes it has no chat history, only the body.
2015
+ - Plans are numbered steps in plain markdown (1. 2. 3.). Do not nest plans/options
2016
+ inside other tags.
2017
+ - One artifact per response is usually enough; emit multiple only if the user
2018
+ explicitly asked for several distinct outputs.
2019
+ - Title attributes are short (≤ 60 chars), descriptive, and human-readable.
1983
2020
 
1984
2021
  `;
1985
2022
  // Include conversation history