mandala-computer-mcp 0.14.0 → 0.16.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.
- package/README.md +68 -12
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +2 -2
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -2
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +54 -13
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +70 -14
- package/dist/errors.js.map +1 -1
- package/dist/limits.d.ts +11 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +11 -0
- package/dist/limits.js.map +1 -1
- package/dist/paths.d.ts +61 -16
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +75 -15
- package/dist/paths.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/dist/tool-filters.d.ts +1 -1
- package/dist/tool-filters.d.ts.map +1 -1
- package/dist/tool-filters.js +11 -1
- package/dist/tool-filters.js.map +1 -1
- package/dist/tools/account.js +1 -1
- package/dist/tools/account.js.map +1 -1
- package/dist/tools/agent.d.ts +63 -0
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +96 -71
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/chat.d.ts.map +1 -1
- package/dist/tools/chat.js +44 -8
- package/dist/tools/chat.js.map +1 -1
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +24 -14
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/conversation.d.ts +40 -0
- package/dist/tools/conversation.d.ts.map +1 -0
- package/dist/tools/conversation.js +70 -0
- package/dist/tools/conversation.js.map +1 -0
- package/dist/tools/guest.js +2 -2
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/runs.d.ts +3 -0
- package/dist/tools/runs.d.ts.map +1 -0
- package/dist/tools/runs.js +344 -0
- package/dist/tools/runs.js.map +1 -0
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +12 -8
- package/dist/tools/snapshots.js.map +1 -1
- package/dist/tools/templates.d.ts.map +1 -1
- package/dist/tools/templates.js +17 -1
- package/dist/tools/templates.js.map +1 -1
- package/dist/tools/threads.d.ts +3 -0
- package/dist/tools/threads.d.ts.map +1 -0
- package/dist/tools/threads.js +214 -0
- package/dist/tools/threads.js.map +1 -0
- package/dist/tools/webhooks.d.ts.map +1 -1
- package/dist/tools/webhooks.js +15 -4
- package/dist/tools/webhooks.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/tools/agent.js
CHANGED
|
@@ -5,11 +5,12 @@ import { APIError, agentRunAdvice, authenticationAdvice, creditsExhaustedAdvice,
|
|
|
5
5
|
import { errorMetadata, failed, guarded, refused, said, withErrorMetadata } from '../format.js';
|
|
6
6
|
import * as P from '../paths.js';
|
|
7
7
|
import { safeResult } from './chat.js';
|
|
8
|
+
import { keptThread, STORE_WITH_THREAD, stopVerdict, storeArg, threadIdArg, threadLine, } from './conversation.js';
|
|
8
9
|
/** run_agent's annotations, shared with the check that decides whether to ask about credits. */
|
|
9
10
|
export const RUN_AGENT_ANNOTATIONS = { openWorldHint: true };
|
|
10
11
|
const TITLE = 'Have the platform drive the computer';
|
|
11
12
|
/** What both descriptions say after their first sentence about who pays. */
|
|
12
|
-
const HOW = 'Use it to delegate a long stretch of pixel work; drive with the individual tools when you want to see each frame yourself. The computer must already be running. A run is MINUTES, not seconds: it reports progress on every step so a client that sends a progressToken and sets resetTimeoutOnProgress can hold the request open
|
|
13
|
+
const HOW = 'Use it to delegate a long stretch of pixel work; drive with the individual tools when you want to see each frame yourself. The computer must already be running. A run is MINUTES, not seconds: it reports progress on every step so a client that sends a progressToken and sets resetTimeoutOnProgress can hold the request open. A client that cannot hold one call open that long should use start_agent_run, which starts the same run in the background and answers at once, rather than watch its own timeout cancel a run it is already paying for. Unless it sent store: false, every run that acts or answers is kept in a thread, and the answer names its thread_id: send it back as thread_id to continue the conversation.';
|
|
13
14
|
const TASK = 'Give the computer a task in plain language and let the platform drive it — screenshot, decide, click, type, repeat — until it is done.';
|
|
14
15
|
const computerId = z
|
|
15
16
|
.string()
|
|
@@ -18,6 +19,13 @@ const computerId = z
|
|
|
18
19
|
const prompt = z.string().describe('The task, in plain language.');
|
|
19
20
|
const nonblankModel = z.string().refine((v) => v.trim().length > 0, 'model must not be blank');
|
|
20
21
|
const STEPS_CAP = `Defaults to 20 and is capped at ${P.AGENT_MAX_STEPS} here, so a larger value is refused before the call rather than after it.`;
|
|
22
|
+
/** A run on credits' admission budget. */
|
|
23
|
+
const maxCostArg = z
|
|
24
|
+
.number()
|
|
25
|
+
.min(0.25)
|
|
26
|
+
.max(20)
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('The most this run may spend from credits, in USD, 0.25 to 20; the platform defaults to 2. No model call starts past it, but the last one can go over. A run that reaches it ends with stop max_cost.');
|
|
21
29
|
/** How many actions, told the way each payer needs it told. */
|
|
22
30
|
const maxSteps = (bill, bound) => z
|
|
23
31
|
.number()
|
|
@@ -48,20 +56,8 @@ export const registerAgent = (server, session) => {
|
|
|
48
56
|
if (session.modelKey) {
|
|
49
57
|
server.registerTool('run_agent', {
|
|
50
58
|
title: TITLE,
|
|
51
|
-
description: `${TASK}
|
|
52
|
-
inputSchema: {
|
|
53
|
-
computer_id: computerId,
|
|
54
|
-
prompt,
|
|
55
|
-
system: z.string().optional().describe('Standing instructions carried into the run.'),
|
|
56
|
-
provider: z
|
|
57
|
-
.enum(['anthropic', 'openai'])
|
|
58
|
-
.optional()
|
|
59
|
-
.describe('Inferred from model when omitted. Select openai to use gpt-6.1-sol by default. The configured MANDALA_MODEL_KEY must match the provider.'),
|
|
60
|
-
model: nonblankModel
|
|
61
|
-
.optional()
|
|
62
|
-
.describe('A computer-capable Anthropic or OpenAI model id to run with. Omit it for the one the platform picks. The configured key must be able to use it; a model it cannot use fails the run.'),
|
|
63
|
-
max_steps: maxSteps('what your key is billed', 'budget the bill on the key itself'),
|
|
64
|
-
},
|
|
59
|
+
description: `${TASK} ${BYOK_BILLING} ${HOW}`,
|
|
60
|
+
inputSchema: { ...BYOK_RUN_ARGS, thread_id: threadIdArg, store: storeArg },
|
|
65
61
|
annotations: RUN_AGENT_ANNOTATIONS,
|
|
66
62
|
}, run);
|
|
67
63
|
return;
|
|
@@ -70,27 +66,48 @@ export const registerAgent = (server, session) => {
|
|
|
70
66
|
return;
|
|
71
67
|
server.registerTool('run_agent', {
|
|
72
68
|
title: TITLE,
|
|
73
|
-
description: `${TASK}
|
|
74
|
-
inputSchema: {
|
|
75
|
-
computer_id: computerId,
|
|
76
|
-
prompt,
|
|
77
|
-
model: nonblankModel
|
|
78
|
-
.optional()
|
|
79
|
-
.describe('claude-sonnet-5-5, the default, or claude-opus-5-5; credits pay for these two. Another model needs a model key.'),
|
|
80
|
-
max_steps: maxSteps('what a run costs', 'the spend with max_cost_usd'),
|
|
81
|
-
max_cost_usd: z
|
|
82
|
-
.number()
|
|
83
|
-
.min(0.25)
|
|
84
|
-
.max(20)
|
|
85
|
-
.optional()
|
|
86
|
-
.describe('The most this run may spend from credits, in USD, 0.25 to 20; the platform defaults to 2. No model call starts past it, but the last one can go over. A run that reaches it ends with stop max_cost.'),
|
|
87
|
-
},
|
|
69
|
+
description: `${TASK} ${FUNDED_BILLING} ${HOW}`,
|
|
70
|
+
inputSchema: { ...FUNDED_RUN_ARGS, thread_id: threadIdArg, store: storeArg },
|
|
88
71
|
annotations: RUN_AGENT_ANNOTATIONS,
|
|
89
72
|
}, run);
|
|
90
73
|
};
|
|
74
|
+
/** Who pays for a run on a model key, said the same way by every tool that starts one. */
|
|
75
|
+
export const BYOK_BILLING = 'Runs on the Anthropic or OpenAI key this server was configured with, and bills that key for every step.';
|
|
76
|
+
/** Who pays for a run on AI credits. */
|
|
77
|
+
export const FUNDED_BILLING = "Runs on this account's Mandala AI credits, because no model key is configured: each model call reserves $0.25 and is charged for its usage, max_cost_usd caps what one run may start, and get_credits reads the balance.";
|
|
78
|
+
/**
|
|
79
|
+
* What a run on a model key takes, shared by run_agent and start_agent_run: the
|
|
80
|
+
* two start the same loop with the same body, and a field described one way on
|
|
81
|
+
* one and another way on the other is two answers to one question.
|
|
82
|
+
*/
|
|
83
|
+
export const BYOK_RUN_ARGS = {
|
|
84
|
+
computer_id: computerId,
|
|
85
|
+
prompt,
|
|
86
|
+
system: z.string().optional().describe('Standing instructions carried into the run.'),
|
|
87
|
+
provider: z
|
|
88
|
+
.enum(['anthropic', 'openai'])
|
|
89
|
+
.optional()
|
|
90
|
+
.describe('Inferred from model when omitted. Select openai to use gpt-6.1-sol by default. The configured MANDALA_MODEL_KEY must match the provider.'),
|
|
91
|
+
model: nonblankModel
|
|
92
|
+
.optional()
|
|
93
|
+
.describe('A computer-capable Anthropic or OpenAI model id to run with. Omit it for the one the platform picks. The configured key must be able to use it; a model it cannot use fails the run.'),
|
|
94
|
+
max_steps: maxSteps('what your key is billed', 'budget the bill on the key itself'),
|
|
95
|
+
};
|
|
96
|
+
/** What a run on AI credits takes: no `system` or `provider`, which such a run is refused. */
|
|
97
|
+
export const FUNDED_RUN_ARGS = {
|
|
98
|
+
computer_id: computerId,
|
|
99
|
+
prompt,
|
|
100
|
+
model: nonblankModel
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('claude-sonnet-5-5, the default, or claude-opus-5-5; credits pay for these two. Another model needs a model key.'),
|
|
103
|
+
max_steps: maxSteps('what a run costs', 'the spend with max_cost_usd'),
|
|
104
|
+
max_cost_usd: maxCostArg,
|
|
105
|
+
};
|
|
91
106
|
/** One run, BYOK or funded: `session.modelKey` decides which. */
|
|
92
|
-
function runAgent(log, session, { computer_id, prompt, system, model, provider, max_steps, max_cost_usd }, extra) {
|
|
107
|
+
function runAgent(log, session, { computer_id, prompt, system, model, provider, max_steps, max_cost_usd, thread_id, store, }, extra) {
|
|
93
108
|
return guarded(async () => {
|
|
109
|
+
if (store === false && thread_id !== undefined)
|
|
110
|
+
return refused(STORE_WITH_THREAD);
|
|
94
111
|
const id = session.resolve(computer_id);
|
|
95
112
|
const steps = [];
|
|
96
113
|
let done;
|
|
@@ -111,6 +128,8 @@ function runAgent(log, session, { computer_id, prompt, system, model, provider,
|
|
|
111
128
|
provider,
|
|
112
129
|
max_steps,
|
|
113
130
|
max_cost_usd,
|
|
131
|
+
thread_id,
|
|
132
|
+
store,
|
|
114
133
|
stream: true,
|
|
115
134
|
}),
|
|
116
135
|
// No header at all on a run that credits pay for: its absence is what
|
|
@@ -204,13 +223,19 @@ function runAgent(log, session, { computer_id, prompt, system, model, provider,
|
|
|
204
223
|
const diagnostic = new APIError('', typeof frame.status === 'number' ? frame.status : 0, frame);
|
|
205
224
|
const spent = spending(frame.cost_usd, remaining);
|
|
206
225
|
const topUp = topUpUrl(frame.status, frame, session.api.baseUrl);
|
|
207
|
-
|
|
226
|
+
// A failed run is kept too, once it acted or when it continued a
|
|
227
|
+
// thread the caller named, and the thread is how the next run picks
|
|
228
|
+
// up from what this one did (OPL-6085).
|
|
229
|
+
const thread = keptThread(frame.thread_id);
|
|
230
|
+
return withErrorMetadata(refused(`The run failed after ${steps.length} step(s).${stopReason(ev.data, topUp, session.funded, 'run_agent')}` +
|
|
208
231
|
(spent.line ? `\n\n${spent.line}` : '') +
|
|
232
|
+
(thread ? `\n\n${threadLine(thread)}` : '') +
|
|
209
233
|
(steps.length ? `\n\nWhat it did, and is billed for:\n${steps.join('\n')}` : ''), {
|
|
210
234
|
error: platformSaid(frame),
|
|
211
235
|
status: errorMetadata({ status: frame.status }).fields.status,
|
|
212
236
|
...(topUp ? { code: INSUFFICIENT_CREDITS, top_up_url: topUp } : {}),
|
|
213
237
|
...spent.fields,
|
|
238
|
+
...(thread ? { thread_id: thread } : {}),
|
|
214
239
|
steps: frame.steps,
|
|
215
240
|
usage: frame.usage,
|
|
216
241
|
}), {
|
|
@@ -222,21 +247,10 @@ function runAgent(log, session, { computer_id, prompt, system, model, provider,
|
|
|
222
247
|
}
|
|
223
248
|
}
|
|
224
249
|
catch (err) {
|
|
225
|
-
// Refused before the stream opened
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
// (which it would call a change that may or may not have happened).
|
|
230
|
-
if (!(err instanceof APIError))
|
|
231
|
-
throw err;
|
|
232
|
-
const topUp = topUpUrl(err.status, err.body, session.api.baseUrl);
|
|
233
|
-
if (topUp) {
|
|
234
|
-
const result = failed(err, true, creditsExhaustedAdvice(topUp, 'run_agent'));
|
|
235
|
-
result.content.push(...said('Refusal metadata:', { code: INSUFFICIENT_CREDITS, top_up_url: topUp }).content);
|
|
236
|
-
return result;
|
|
237
|
-
}
|
|
238
|
-
if (fundedOutage(session.funded, err.status, err.body))
|
|
239
|
-
return failed(err, true, fundedUnavailableAdvice('run_agent'));
|
|
250
|
+
// Refused before the stream opened: see preRunRefusal for the two worded here.
|
|
251
|
+
const refusal = preRunRefusal(err, session, 'run_agent');
|
|
252
|
+
if (refusal)
|
|
253
|
+
return refusal;
|
|
240
254
|
throw err;
|
|
241
255
|
}
|
|
242
256
|
if (!done) {
|
|
@@ -246,23 +260,7 @@ function runAgent(log, session, { computer_id, prompt, system, model, provider,
|
|
|
246
260
|
// ignores: a run that hit max_steps ended without finishing, and
|
|
247
261
|
// treating every ending as success reports a failure as a result.
|
|
248
262
|
const stop = String(done.stop ?? 'unknown');
|
|
249
|
-
const verdict = stop
|
|
250
|
-
? 'finished'
|
|
251
|
-
: stop === 'max_steps'
|
|
252
|
-
? `RAN OUT OF STEPS after ${done.steps ?? max_steps} — the task is probably unfinished`
|
|
253
|
-
: stop === 'credits_exhausted'
|
|
254
|
-
? "RAN OUT OF AI CREDITS — the task is probably unfinished. A person can top up the account's credits on its billing page, or configure a model key"
|
|
255
|
-
: stop === 'max_cost'
|
|
256
|
-
? 'REACHED max_cost_usd: another model call would have gone past it — the task is probably unfinished'
|
|
257
|
-
: stop === 'refusal'
|
|
258
|
-
? 'the model declined the task'
|
|
259
|
-
: stop === 'pause_turn'
|
|
260
|
-
? 'the model kept pausing its turn — the task is probably unfinished'
|
|
261
|
-
: stop === 'incomplete'
|
|
262
|
-
? "the model's response was incomplete — the task is probably unfinished"
|
|
263
|
-
: stop === 'safety_check'
|
|
264
|
-
? 'STOPPED FOR A SAFETY CHECK: the model asked for approval of an action, which this tool cannot give — the task is unfinished; say so rather than running it again'
|
|
265
|
-
: `ended: ${stop}`;
|
|
263
|
+
const verdict = stopVerdict(stop, done.steps ?? max_steps);
|
|
266
264
|
// Interpolated only when it IS a string, which is the same discipline
|
|
267
265
|
// `stop` gets three lines up. `String()` over a shape this build does
|
|
268
266
|
// not know — a content-block array is the plausible one — renders the
|
|
@@ -276,16 +274,43 @@ function runAgent(log, session, { computer_id, prompt, system, model, provider,
|
|
|
276
274
|
? ''
|
|
277
275
|
: JSON.stringify(done.text);
|
|
278
276
|
const spent = spending(done.cost_usd, remaining);
|
|
277
|
+
const thread = keptThread(done.thread_id);
|
|
279
278
|
const result = `${verdict}\n\n${text}` +
|
|
280
279
|
(spent.line ? `\n\n${spent.line}` : '') +
|
|
280
|
+
(thread ? `\n\n${threadLine(thread)}` : '') +
|
|
281
281
|
`\n\nWhat it did:\n${steps.join('\n')}`;
|
|
282
282
|
// The cost fields as read above, not as sent: a value that is not a
|
|
283
283
|
// finite number (or a negative charge) is left out rather than repeated.
|
|
284
|
-
|
|
285
|
-
|
|
284
|
+
// And the thread as read above: a value that is not a thread id is left
|
|
285
|
+
// out of the record as it is left out of the sentence, rather than handed
|
|
286
|
+
// on to be sent back and refused.
|
|
287
|
+
const { cost_usd: _cost, credits_remaining_usd: _left, thread_id: _thread, ...rest } = done;
|
|
288
|
+
const record = { ...rest, ...(thread ? { thread_id: thread } : {}), ...spent.fields };
|
|
286
289
|
return stop === 'end_turn' ? said(result, record) : refused(result, record);
|
|
287
290
|
});
|
|
288
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* A refusal answered before any run started, worded here where the shared
|
|
294
|
+
* advice would word it wrong, or `undefined` to let the caller rethrow it.
|
|
295
|
+
*
|
|
296
|
+
* Two refusals: a run on credits the account cannot cover (a 402 naming a
|
|
297
|
+
* top-up page, which that advice would call a plan limit), and a run on
|
|
298
|
+
* credits the platform's AI service cannot serve (which it would call a change
|
|
299
|
+
* that may or may not have happened). Shared by every tool that starts a run.
|
|
300
|
+
*/
|
|
301
|
+
export function preRunRefusal(err, session, tool) {
|
|
302
|
+
if (!(err instanceof APIError))
|
|
303
|
+
return undefined;
|
|
304
|
+
const topUp = topUpUrl(err.status, err.body, session.api.baseUrl);
|
|
305
|
+
if (topUp) {
|
|
306
|
+
const result = failed(err, true, creditsExhaustedAdvice(topUp, tool));
|
|
307
|
+
result.content.push(...said('Refusal metadata:', { code: INSUFFICIENT_CREDITS, top_up_url: topUp }).content);
|
|
308
|
+
return result;
|
|
309
|
+
}
|
|
310
|
+
if (fundedOutage(session.funded, err.status, err.body))
|
|
311
|
+
return failed(err, true, fundedUnavailableAdvice(tool));
|
|
312
|
+
return undefined;
|
|
313
|
+
}
|
|
289
314
|
/**
|
|
290
315
|
* What a run on credits cost, and what the account has left, as a sentence and
|
|
291
316
|
* as fields — or nothing, on a run a model key paid for, which reports neither.
|
|
@@ -311,7 +336,7 @@ function spending(cost, remaining) {
|
|
|
311
336
|
return { line: `Cost: ${parts.join('; ')}.`, fields };
|
|
312
337
|
}
|
|
313
338
|
/** Dollars to the cent, or to a hundredth of a cent when a cent would read as nothing. */
|
|
314
|
-
const usd = (value) => {
|
|
339
|
+
export const usd = (value) => {
|
|
315
340
|
const digits = value !== 0 && Math.abs(value) < 0.01 ? 4 : 2;
|
|
316
341
|
return `${value < 0 ? '-' : ''}$${Math.abs(value).toFixed(digits)}`;
|
|
317
342
|
};
|
|
@@ -354,7 +379,7 @@ function fundedOutage(funded, status, body) {
|
|
|
354
379
|
* direction: the leading space is part of the returned clause so that an
|
|
355
380
|
* unclassified stop reads as one sentence rather than as a missing one.
|
|
356
381
|
*/
|
|
357
|
-
function stopReason(data, topUp, funded) {
|
|
382
|
+
export function stopReason(data, topUp, funded, tool) {
|
|
358
383
|
const frame = isRecord(data) ? data : undefined;
|
|
359
384
|
const status = typeof frame?.status === 'number' ? frame.status : undefined;
|
|
360
385
|
const said = platformSaid(frame);
|
|
@@ -364,16 +389,16 @@ function stopReason(data, topUp, funded) {
|
|
|
364
389
|
// platform reports in its own AI-service words is its provider refusing
|
|
365
390
|
// Mandala's key, not the caller's credential.
|
|
366
391
|
if (!topUp && fundedOutage(funded, status, frame))
|
|
367
|
-
return ` HTTP ${status}: ${fundedUnavailableAdvice(
|
|
392
|
+
return ` HTTP ${status}: ${fundedUnavailableAdvice(tool)}.${why}`;
|
|
368
393
|
// 401 and 403 are split, because the recovery is not the same one. A shared
|
|
369
394
|
// clause told a caller whose ROLE had been taken away to re-authenticate,
|
|
370
395
|
// which restores nothing and sends it round the same refusal with another
|
|
371
396
|
// prompt's worth of billed steps behind it (Codex review).
|
|
372
397
|
if (status === 401) {
|
|
373
|
-
return (` HTTP ${status}: ${authenticationAdvice(reason)}.${why} Do NOT call
|
|
398
|
+
return (` HTTP ${status}: ${authenticationAdvice(reason)}.${why} Do NOT call ${tool} again with the same` +
|
|
374
399
|
` prompt. Read what the steps below already did before deciding what is left to do.`);
|
|
375
400
|
}
|
|
376
|
-
const advice = agentRunAdvice(status, reason,
|
|
401
|
+
const advice = agentRunAdvice(status, reason, tool, topUp);
|
|
377
402
|
return advice ? ` HTTP ${status}: ${advice}.${why}` : why;
|
|
378
403
|
}
|
|
379
404
|
const isRecord = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
package/dist/tools/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/tools/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/tools/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAiBzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAwL5C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAe/F;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SA0G1B,CAAC"}
|
package/dist/tools/chat.js
CHANGED
|
@@ -4,6 +4,7 @@ import { APIError, agentRunAdvice, messageFromBody } from '../errors.js';
|
|
|
4
4
|
import { apiErrorMessage, errorMetadata, failed, originWording, refused, said } from '../format.js';
|
|
5
5
|
import * as P from '../paths.js';
|
|
6
6
|
import { heartbeat } from '../poll.js';
|
|
7
|
+
import { keptThread, keptThreadField, STORE_WITH_THREAD, storeArg, threadIdArg, threadLine, } from './conversation.js';
|
|
7
8
|
import { count, label } from './directory.js';
|
|
8
9
|
import { computerSchema } from './results.js';
|
|
9
10
|
const content = z.union([
|
|
@@ -17,7 +18,15 @@ const choice = z.object({
|
|
|
17
18
|
message: z.object({ role: z.literal('assistant'), content: z.string() }),
|
|
18
19
|
finish_reason: label,
|
|
19
20
|
});
|
|
20
|
-
|
|
21
|
+
// `thread_id` is the thread the exchange was kept in (OPL-6085), absent with
|
|
22
|
+
// `store: false`; listed here because an object schema drops what it does not
|
|
23
|
+
// name, and the id is what continues the conversation.
|
|
24
|
+
const agent = z.object({
|
|
25
|
+
computer_id: label,
|
|
26
|
+
steps: count,
|
|
27
|
+
stop: label,
|
|
28
|
+
thread_id: keptThreadField,
|
|
29
|
+
});
|
|
21
30
|
const completion = z.object({
|
|
22
31
|
id: label,
|
|
23
32
|
object: z.literal('chat.completion'),
|
|
@@ -84,6 +93,8 @@ const failedAgent = z.object({
|
|
|
84
93
|
cache_write_tokens: count,
|
|
85
94
|
}),
|
|
86
95
|
steps,
|
|
96
|
+
// A failed run is kept too, once it acted or when it continued a thread.
|
|
97
|
+
thread_id: keptThreadField,
|
|
87
98
|
});
|
|
88
99
|
/**
|
|
89
100
|
* The advice for a failed chat run, in place of the status advice every other
|
|
@@ -154,8 +165,15 @@ function chatFailure(error) {
|
|
|
154
165
|
: apiErrorMessage(error));
|
|
155
166
|
const result = failed(new APIError(detail, error.status, { ...projected, error: detail }, error.retryAfterMs, error), nested === undefined, runAdvice(error));
|
|
156
167
|
const diagnostics = errorMetadata(error);
|
|
168
|
+
// Read on its own rather than off the bounded native record: a failure with
|
|
169
|
+
// many steps is exactly the one whose record is omitted for size, and the
|
|
170
|
+
// thread is how the next run picks up from what those steps did.
|
|
171
|
+
const thread = keptThread(isRecord(nested?.agent) ? nested.agent.thread_id : undefined);
|
|
172
|
+
if (thread)
|
|
173
|
+
result.content.push({ type: 'text', text: threadLine(thread) });
|
|
157
174
|
result.content.push(...said(`${incompleteNative ? 'Native agent failure metadata was malformed or oversized and omitted. ' : ''}${diagnostics.omitted ? 'Oversized diagnostic metadata was omitted. ' : ''}Chat refusal metadata; recorded work may already be billed. Inspect what took effect before another run.`, {
|
|
158
175
|
...diagnostics.fields,
|
|
176
|
+
...(thread ? { thread_id: thread } : {}),
|
|
159
177
|
...(boundedNative ? { agent: native.data } : {}),
|
|
160
178
|
...(incompleteNative ? { incomplete: true } : {}),
|
|
161
179
|
}).content);
|
|
@@ -188,7 +206,7 @@ export const registerChat = (server, session) => {
|
|
|
188
206
|
const modelKey = session.modelKey;
|
|
189
207
|
server.registerTool('run_agent_chat', {
|
|
190
208
|
title: 'Drive the computer with BYOK textual chat',
|
|
191
|
-
description: "Run the same hosted computer agent using OpenAI-shaped textual messages and JSON-only results (stream:false). The last user message is the task; system messages provide standing instructions
|
|
209
|
+
description: "Run the same hosted computer agent using OpenAI-shaped textual messages and JSON-only results (stream:false). The last user message is the task; system messages provide standing instructions; the user and assistant messages before it are given to the model as the conversation so far, told they are done. With thread_id, the thread's own turns are the conversation instead and earlier messages are not read, so the last user message alone is enough. Unless it sent store: false, every run that acts or answers is kept in a thread, and agent.thread_id in the answer continues it. This is BYOK computer control, not hosted inference or a chat UI. The computer must already be running. Bills the caller's configured Anthropic or OpenAI key. A GPT or o-series model selects OpenAI; a Claude model selects Anthropic. SHORT TASKS ONLY: on the hosted API a request that does not stream is cut at the edge after about 120 seconds (HTTP 524), which stops the run and loses its result, usage and steps, and the default 20 steps can take longer than that. Use run_agent, which streams, for anything longer. Progress counts waiting heartbeats, not completed actions; progressToken plus resetTimeoutOnProgress keeps only the MCP client waiting, not the edge. Never automatically replay a failed run.",
|
|
192
210
|
inputSchema: {
|
|
193
211
|
computer_id: computerSchema,
|
|
194
212
|
messages: z
|
|
@@ -210,14 +228,26 @@ export const registerChat = (server, session) => {
|
|
|
210
228
|
.refine((v) => v.trim().length > 0, 'model must not be blank')
|
|
211
229
|
.optional(),
|
|
212
230
|
max_steps: z.number().int().min(1).max(P.AGENT_MAX_STEPS).default(20),
|
|
231
|
+
thread_id: threadIdArg,
|
|
232
|
+
store: storeArg,
|
|
213
233
|
},
|
|
214
234
|
annotations: { openWorldHint: true },
|
|
215
|
-
}, async ({ computer_id, messages, model, provider, max_steps }, extra) => {
|
|
235
|
+
}, async ({ computer_id, messages, model, provider, max_steps, thread_id, store }, extra) => {
|
|
236
|
+
if (store === false && thread_id !== undefined)
|
|
237
|
+
return refused(STORE_WITH_THREAD);
|
|
216
238
|
let beat;
|
|
217
239
|
try {
|
|
218
240
|
const id = session.resolve(computer_id);
|
|
219
241
|
extra.signal.throwIfAborted();
|
|
220
|
-
const body = P.chatBody({
|
|
242
|
+
const body = P.chatBody({
|
|
243
|
+
computer_id: id,
|
|
244
|
+
messages,
|
|
245
|
+
model,
|
|
246
|
+
provider,
|
|
247
|
+
max_steps,
|
|
248
|
+
thread_id,
|
|
249
|
+
store,
|
|
250
|
+
});
|
|
221
251
|
beat = heartbeat(extra, server.server);
|
|
222
252
|
await beat('Waiting for the chat agent result; progress counts heartbeats, not completed actions.');
|
|
223
253
|
const value = await session.api.json('POST', P.CHAT_COMPLETIONS, {
|
|
@@ -227,8 +257,12 @@ export const registerChat = (server, session) => {
|
|
|
227
257
|
});
|
|
228
258
|
extra.signal.throwIfAborted();
|
|
229
259
|
const parsed = completion.safeParse(value);
|
|
230
|
-
if (!parsed.success)
|
|
231
|
-
|
|
260
|
+
if (!parsed.success) {
|
|
261
|
+
// The rest of the answer did not parse, but a thread it names is
|
|
262
|
+
// still where this run's exchange was kept.
|
|
263
|
+
const thread = keptThread(isRecord(value) && isRecord(value.agent) ? value.agent.thread_id : undefined);
|
|
264
|
+
return safeResult(refused(`Malformed or missing chat terminal metadata; task completion is unconfirmed.${thread ? ` ${threadLine(thread)}` : ''} Valid partial result:`, partial(value)), modelKey);
|
|
265
|
+
}
|
|
232
266
|
const data = parsed.data;
|
|
233
267
|
const finished = data.agent.stop === 'end_turn' &&
|
|
234
268
|
data.choices[0].finish_reason === 'stop' &&
|
|
@@ -236,9 +270,11 @@ export const registerChat = (server, session) => {
|
|
|
236
270
|
data.agent.computer_id === id &&
|
|
237
271
|
data.agent.steps <= max_steps &&
|
|
238
272
|
data.usage.total_tokens === data.usage.prompt_tokens + data.usage.completion_tokens;
|
|
273
|
+
const thread = keptThread(data.agent.thread_id);
|
|
274
|
+
const kept = thread ? ` ${threadLine(thread)}` : '';
|
|
239
275
|
return safeResult(finished
|
|
240
|
-
? said(
|
|
241
|
-
: refused(
|
|
276
|
+
? said(`The chat agent finished.${kept}`, data)
|
|
277
|
+
: refused(`The chat agent did not establish successful task completion. Inspect stop, finish reason and partial work before deciding what remains; do not replay automatically.${kept}`, data), modelKey);
|
|
242
278
|
}
|
|
243
279
|
catch (error) {
|
|
244
280
|
return safeResult(chatFailure(error), modelKey);
|
package/dist/tools/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computers.d.ts","sourceRoot":"","sources":["../../src/tools/computers.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiX5C,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"computers.d.ts","sourceRoot":"","sources":["../../src/tools/computers.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiX5C,eAAO,MAAM,iBAAiB,EAAE,SA83D/B,CAAC"}
|
package/dist/tools/computers.js
CHANGED
|
@@ -354,18 +354,23 @@ export const registerComputers = (server, session, opts) => {
|
|
|
354
354
|
// invitation to create.
|
|
355
355
|
if (!Array.isArray(items)) {
|
|
356
356
|
const got = items === undefined ? 'no body at all' : items === null ? 'null' : typeof items;
|
|
357
|
-
return refused(`GET /computers answered with ${got}, not a list of computers. This is not an empty account — do not create a computer on the strength of it
|
|
357
|
+
return refused(`GET /computers answered with ${got}, not a list of computers. This is not an empty account — do not create a computer on the strength of it.`);
|
|
358
358
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
359
|
+
// Strict (OPL-6081), as the SDKs decode a listing: a row that is not
|
|
360
|
+
// an object, or has no id, fails the call rather than being dropped
|
|
361
|
+
// with a warning. A dropped row is a computer that exists and is
|
|
362
|
+
// running up a bill, left out of the answer a caller reads to find out.
|
|
363
|
+
const list = items.filter((item) => item !== null &&
|
|
364
|
+
typeof item === 'object' &&
|
|
365
|
+
!Array.isArray(item) &&
|
|
366
|
+
typeof item.id === 'string' &&
|
|
367
|
+
item.id.trim() !== '');
|
|
368
|
+
const malformed = items.length - list.length;
|
|
369
|
+
if (malformed) {
|
|
370
|
+
return refused(`GET /computers answered with ${malformed} malformed entr${malformed === 1 ? 'y' : 'ies'} (not an object, or without an id), so this listing cannot be read. This is not an empty account — do not create a computer on the strength of it.`);
|
|
371
|
+
}
|
|
372
|
+
const warning = incompleteWarning('computers', incomplete);
|
|
365
373
|
if (!list.length) {
|
|
366
|
-
if (malformed) {
|
|
367
|
-
return refused(`${warning}No valid computers remained. This is not an empty account — do not create a computer on the strength of a malformed listing.`, items);
|
|
368
|
-
}
|
|
369
374
|
// Two different empty answers, and telling them apart is the whole
|
|
370
375
|
// point of reading the header. A workspace-scoped key gets no
|
|
371
376
|
// unreachable placeholder rows at all — the platform withholds them
|
|
@@ -1204,7 +1209,11 @@ export const registerComputers = (server, session, opts) => {
|
|
|
1204
1209
|
await sleep(POLL_MS, signal);
|
|
1205
1210
|
continue;
|
|
1206
1211
|
}
|
|
1207
|
-
|
|
1212
|
+
// `starting` is the agent not up yet and polls; `unavailable` polls too,
|
|
1213
|
+
// because the status read on the next turn names a stop itself. A 409 with
|
|
1214
|
+
// no word is not this route's settling state (only a desktop exec has one),
|
|
1215
|
+
// so it, and every other permanent word, ends the wait (OPL-6081).
|
|
1216
|
+
if (!isTransientForPoll(err, { unavailable: true }))
|
|
1208
1217
|
throw err;
|
|
1209
1218
|
// What actually refused, rather than one sentence for every
|
|
1210
1219
|
// failure. A 409 IS the guest not being up yet — that is the
|
|
@@ -1262,9 +1271,10 @@ export const registerComputers = (server, session, opts) => {
|
|
|
1262
1271
|
await sleep(POLL_MS, signal);
|
|
1263
1272
|
continue;
|
|
1264
1273
|
}
|
|
1265
|
-
// A computer that stopped answers 409 `unavailable`, which polls
|
|
1266
|
-
//
|
|
1267
|
-
|
|
1274
|
+
// A computer that stopped answers 409 `unavailable`, which polls through
|
|
1275
|
+
// here: the status read on the next turn names it. A 409 with no word is
|
|
1276
|
+
// the route's documented answer for a desktop session not up yet.
|
|
1277
|
+
if (!isTransientForPoll(err, { unavailable: true, reasonless409: true }))
|
|
1268
1278
|
throw err;
|
|
1269
1279
|
if (err instanceof ConflictError) {
|
|
1270
1280
|
heldOn = 'desktop';
|