mandala-computer-mcp 0.12.0 → 0.13.1
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 +77 -19
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -3
- package/dist/api.js.map +1 -1
- package/dist/errors.d.ts +61 -25
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +167 -34
- package/dist/errors.js.map +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +30 -8
- package/dist/format.js.map +1 -1
- package/dist/paths.d.ts +25 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +34 -0
- package/dist/paths.js.map +1 -1
- package/dist/server.d.ts +32 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +116 -3
- package/dist/server.js.map +1 -1
- package/dist/tool-filters.d.ts +2 -1
- package/dist/tool-filters.d.ts.map +1 -1
- package/dist/tool-filters.js +2 -0
- package/dist/tool-filters.js.map +1 -1
- package/dist/tools/account.d.ts.map +1 -1
- package/dist/tools/account.js +10 -3
- package/dist/tools/account.js.map +1 -1
- package/dist/tools/activities.d.ts.map +1 -1
- package/dist/tools/activities.js +4 -0
- package/dist/tools/activities.js.map +1 -1
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +91 -10
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/guest.d.ts.map +1 -1
- package/dist/tools/guest.js +4 -5
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +1 -0
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/operations.js +2 -2
- package/dist/tools/operations.js.map +1 -1
- package/dist/tools/publicurls.d.ts +3 -0
- package/dist/tools/publicurls.d.ts.map +1 -0
- package/dist/tools/publicurls.js +287 -0
- package/dist/tools/publicurls.js.map +1 -0
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +1 -0
- package/dist/tools/snapshots.js.map +1 -1
- package/dist/tools/ssh.d.ts.map +1 -1
- package/dist/tools/ssh.js +4 -2
- package/dist/tools/ssh.js.map +1 -1
- package/dist/tools/webhooks.d.ts.map +1 -1
- package/dist/tools/webhooks.js +32 -23
- package/dist/tools/webhooks.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { APIError, NotFoundError } from '../errors.js';
|
|
3
|
+
import { guarded, refused, said } from '../format.js';
|
|
4
|
+
import * as P from '../paths.js';
|
|
5
|
+
/**
|
|
6
|
+
* Public URLs (platform OPL-3753): a port inside a computer served at
|
|
7
|
+
* `https://<label>.<base_domain>` (e.g. `mandala.dev`), on 443 with no port in
|
|
8
|
+
* the address, for a model to show a person the app it just started, or to
|
|
9
|
+
* test that app the way a browser would.
|
|
10
|
+
*
|
|
11
|
+
* Per computer, like the SSH setting: each tool takes a `computer_id` and
|
|
12
|
+
* falls back to the one selected with use_computer.
|
|
13
|
+
*
|
|
14
|
+
* What a model most needs to be told, and is told in the sentence before the
|
|
15
|
+
* JSON rather than left to the schema: a `public` URL is reachable by anyone
|
|
16
|
+
* on the internet who has the link, and the app must listen on 0.0.0.0, not
|
|
17
|
+
* 127.0.0.1, or the URL answers nothing.
|
|
18
|
+
*/
|
|
19
|
+
const idArg = {
|
|
20
|
+
computer_id: z
|
|
21
|
+
.string()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Which computer. Defaults to the one selected with use_computer.'),
|
|
24
|
+
};
|
|
25
|
+
const urlIdArg = {
|
|
26
|
+
url_id: z.string().describe('The public URL’s id — `pu-` and sixteen hex characters.'),
|
|
27
|
+
};
|
|
28
|
+
const portArg = (on) => z
|
|
29
|
+
.number()
|
|
30
|
+
.int()
|
|
31
|
+
.min(1)
|
|
32
|
+
.max(65535)
|
|
33
|
+
.describe(`${on === 'create' ? 'The port inside the computer to serve' : 'A new port for the URL to serve'}, 1 to 65535 except 22, which is the computer’s own SSH. The app must listen on 0.0.0.0:<port>, not 127.0.0.1.`);
|
|
34
|
+
const accessArg = (on) => z
|
|
35
|
+
.enum(['public', 'private'])
|
|
36
|
+
.describe(on === 'create'
|
|
37
|
+
? '`public` (the default): ANYONE WITH THE LINK can open it. `private`: only a request carrying an API key of this account as `Authorization: Bearer` can, and the key never reaches the app.'
|
|
38
|
+
: '`public`: anyone with the link can open it. `private`: only a request carrying an API key of this account as `Authorization: Bearer` can.');
|
|
39
|
+
const isRecord = (v) => v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
40
|
+
const shapeOf = (v) => v === undefined ? 'no body at all' : v === null ? 'null' : Array.isArray(v) ? 'a list' : typeof v;
|
|
41
|
+
/**
|
|
42
|
+
* A public URL the platform answered, or undefined if it is not one this
|
|
43
|
+
* server can describe. Strict, because every sentence below is a claim about
|
|
44
|
+
* the internet: "anyone with the link can open https://…" over a body with no
|
|
45
|
+
* `url` or no `access` would be assembled from fallbacks and stated as fact.
|
|
46
|
+
*/
|
|
47
|
+
function publicUrlOf(v) {
|
|
48
|
+
if (!isRecord(v))
|
|
49
|
+
return undefined;
|
|
50
|
+
const { id, url, label, port, access, disabled } = v;
|
|
51
|
+
if (typeof id !== 'string' || !id)
|
|
52
|
+
return undefined;
|
|
53
|
+
if (typeof label !== 'string' || !label)
|
|
54
|
+
return undefined;
|
|
55
|
+
if (!linkFor(url, label))
|
|
56
|
+
return undefined;
|
|
57
|
+
if (typeof port !== 'number' || !Number.isSafeInteger(port) || port < 1 || port > 65535)
|
|
58
|
+
return undefined;
|
|
59
|
+
if (access !== 'public' && access !== 'private')
|
|
60
|
+
return undefined;
|
|
61
|
+
// Absent from nothing the platform has ever sent, but a URL with no word on
|
|
62
|
+
// whether it is turned off is not one to call answering.
|
|
63
|
+
if (typeof disabled !== 'boolean')
|
|
64
|
+
return undefined;
|
|
65
|
+
return { id, url, label, port, access, disabled };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Whether `url` is the link the platform promises for `label`: https, on 443
|
|
69
|
+
* (no port), no credentials, and a host that is the label under a domain. A
|
|
70
|
+
* prefix check let `https://` through, and a create answering it was reported
|
|
71
|
+
* as a link anyone could open (Codex, round 2 on #212).
|
|
72
|
+
*/
|
|
73
|
+
function linkFor(url, label) {
|
|
74
|
+
if (typeof url !== 'string')
|
|
75
|
+
return false;
|
|
76
|
+
let parsed;
|
|
77
|
+
try {
|
|
78
|
+
parsed = new URL(url);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return (parsed.protocol === 'https:' &&
|
|
84
|
+
!parsed.username &&
|
|
85
|
+
!parsed.password &&
|
|
86
|
+
!parsed.port &&
|
|
87
|
+
parsed.hostname.startsWith(`${label}.`) &&
|
|
88
|
+
parsed.hostname.length > label.length + 1);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Who can open it, in the words a model acts on. A URL the platform has turned
|
|
92
|
+
* off opens for nobody, whatever its access says, so that comes first: a
|
|
93
|
+
* create or an update answering `disabled: true` is not a URL anyone can open
|
|
94
|
+
* (Codex, round 1 on #212).
|
|
95
|
+
*/
|
|
96
|
+
const reach = (u) => u.disabled
|
|
97
|
+
? `TURNED OFF BY THE PLATFORM: it answers 404 to everyone until the platform turns it back on (its access is set to ${u.access})`
|
|
98
|
+
: u.access === 'public'
|
|
99
|
+
? 'PUBLIC: anyone with the link can open it'
|
|
100
|
+
: 'private: only requests with an API key of this account as `Authorization: Bearer` open it, and the key never reaches the app';
|
|
101
|
+
/**
|
|
102
|
+
* One URL in a line, for a listing. `past` is a URL beyond the computer's
|
|
103
|
+
* limit as the plan stands now: the oldest `limit` answer and the rest answer
|
|
104
|
+
* 404, counted over every URL of the computer in the listing's order, oldest
|
|
105
|
+
* first — so a row's place in the listing is what decides it.
|
|
106
|
+
*/
|
|
107
|
+
const line = (u, past) => `${u.url} → port ${u.port}, ${u.access}${u.disabled ? ' — TURNED OFF BY THE PLATFORM: it answers 404 until the platform turns it back on' : ''}${past === undefined ? '' : ` — PAST THIS COMPUTER\u2019S LIMIT OF ${past}: it answers 404 until the plan allows it again; only the oldest ${past} answer`} (${u.id})`;
|
|
108
|
+
/**
|
|
109
|
+
* What a browser sees, said once in the create: the platform shows a one-time
|
|
110
|
+
* notice page before a URL whose account is new. Who gets it is decided by the
|
|
111
|
+
* request's headers, not by whether a program sent it: a page navigation by
|
|
112
|
+
* fetch metadata, or, without fetch metadata, `Accept: text/html` from a
|
|
113
|
+
* `Mozilla/` user agent. So a program sending a browser's headers sees it too,
|
|
114
|
+
* and the guest's own browser cannot add the skip header, so there the way
|
|
115
|
+
* past it is the page's own Continue.
|
|
116
|
+
*/
|
|
117
|
+
const BROWSERS = 'A browser opening a URL whose account is new may first see a one-time notice page from Mandala Computer, once per URL per browser. It is shown to any request that looks like a browser opening a page — a navigation by its fetch metadata, or, without fetch metadata, `Accept: text/html` from a `Mozilla/` user agent — so a program that sends browser headers gets it too, and one that does not gets the app. A client that sets its own headers skips it by sending `mandala-skip-warning: 1`. open_url cannot send headers: in the computer\u2019s own browser, click Continue on the page to go on to the app.';
|
|
118
|
+
/**
|
|
119
|
+
* A change whose answer could not be read: a create, an update or a delete
|
|
120
|
+
* that failed for any reason other than an HTTP answer from the platform — an
|
|
121
|
+
* empty, `null` or non-JSON 2xx, a connection cut after the request went, a
|
|
122
|
+
* cancellation. The platform may have done it, so the caller is sent to the
|
|
123
|
+
* listing rather than told it failed: a create retried blind makes a second
|
|
124
|
+
* URL open to anyone, and the first goes on answering, untracked (Codex, round
|
|
125
|
+
* 3 on #212). An HTTP refusal is not this, and keeps its own advice.
|
|
126
|
+
*/
|
|
127
|
+
async function changed(attempt, unknownOutcome) {
|
|
128
|
+
try {
|
|
129
|
+
return { value: await attempt() };
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
if (err instanceof APIError)
|
|
133
|
+
throw err;
|
|
134
|
+
return { refusal: unknownOutcome(err instanceof Error ? err.message : String(err)) };
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export const registerPublicUrls = (server, session) => {
|
|
138
|
+
server.registerTool('list_public_urls', {
|
|
139
|
+
title: 'List a computer’s public URLs',
|
|
140
|
+
description: 'The public URLs of one computer, oldest first: each is `https://<label>.<base_domain>` serving a port inside the computer, public (anyone with the link) or private (an API key of this account). Also says whether they can answer here at all — `enabled` is false, with a reason, where public URLs are off or the account’s plan includes none, and the URLs are listed either way so you can delete them — and how many this computer may have. If the plan drops below the number a computer has, the oldest within the limit keep answering and the rest answer 404.',
|
|
141
|
+
inputSchema: z.object(idArg).strict(),
|
|
142
|
+
annotations: { readOnlyHint: true },
|
|
143
|
+
}, ({ computer_id }, extra) => guarded(async () => {
|
|
144
|
+
const id = session.resolve(computer_id);
|
|
145
|
+
const body = await session.api.with(extra.signal).json('GET', P.publicUrls(id));
|
|
146
|
+
if (!isRecord(body) ||
|
|
147
|
+
typeof body.enabled !== 'boolean' ||
|
|
148
|
+
!Array.isArray(body.public_urls) ||
|
|
149
|
+
typeof body.base_domain !== 'string' ||
|
|
150
|
+
typeof body.limit !== 'number' ||
|
|
151
|
+
!Number.isSafeInteger(body.limit) ||
|
|
152
|
+
body.limit < 0) {
|
|
153
|
+
return refused(`GET the public URLs of ${id} answered with ${shapeOf(body)}, not a listing. This is not a computer with no public URLs — do not create one on the strength of it.`, body);
|
|
154
|
+
}
|
|
155
|
+
const limit = body.limit;
|
|
156
|
+
// Strict, like every other decoder here (OPL-5975): one row that is
|
|
157
|
+
// not a public URL fails the listing rather than being dropped. A
|
|
158
|
+
// dropped row is a URL that may be answering, left out of the one
|
|
159
|
+
// answer a caller reads to find out what is exposed — and it would
|
|
160
|
+
// shift every later row's place, which is what decides which of them
|
|
161
|
+
// are past the limit.
|
|
162
|
+
const rows = body.public_urls.map(publicUrlOf);
|
|
163
|
+
const malformed = rows.filter((u) => u === undefined).length;
|
|
164
|
+
if (malformed) {
|
|
165
|
+
return refused(`GET the public URLs of ${id} answered with ${malformed} entr${malformed === 1 ? 'y' : 'ies'} that ${malformed === 1 ? 'is' : 'are'} not a public URL, so this listing cannot be read. It is not evidence about what ${id} exposes: any of its URLs may be answering. Do not create or delete one on the strength of it; try list_public_urls again.`, body);
|
|
166
|
+
}
|
|
167
|
+
const list = rows;
|
|
168
|
+
const off = body.enabled
|
|
169
|
+
? ''
|
|
170
|
+
: `PUBLIC URLS DO NOT ANSWER HERE: ${typeof body.reason === 'string' && body.reason ? body.reason : 'no reason given'}. `;
|
|
171
|
+
if (!list.length) {
|
|
172
|
+
return said(`${off}No public URLs on ${id}. ${body.enabled ? `create_public_url makes one; this computer may have ${limit}.` : ''}`.trimEnd(), body);
|
|
173
|
+
}
|
|
174
|
+
// Past the limit only matters while URLs can answer at all: with
|
|
175
|
+
// `enabled` false every one of them answers 404, and the line above
|
|
176
|
+
// already says so.
|
|
177
|
+
const past = body.enabled ? list.length - Math.min(list.length, limit) : 0;
|
|
178
|
+
return said(`${off}${list.length} public URL${list.length === 1 ? '' : 's'} on ${id} (this computer may have ${limit}), oldest first:${past ? ` ${past} of them ${past === 1 ? 'is' : 'are'} past that limit and answer${past === 1 ? 's' : ''} 404 until the plan allows ${past === 1 ? 'it' : 'them'} again — delete URLs you no longer need, oldest you do not want first, to bring the rest within it.` : ''}\n${list
|
|
179
|
+
.map((u, i) => line(u, body.enabled && i >= limit ? limit : undefined))
|
|
180
|
+
.join('\n')}`, body);
|
|
181
|
+
}));
|
|
182
|
+
server.registerTool('create_public_url', {
|
|
183
|
+
title: 'Serve a port on a public URL',
|
|
184
|
+
description: 'Serve a port inside the computer at `https://<label>.<base_domain>` (e.g. `https://brave-otter-3f2a.mandala.dev`), on 443 with no port in the address. PUBLIC BY DEFAULT: anyone on the internet with the link can open it — pass access: "private" to require an API key of this account instead. The app must listen on 0.0.0.0:<port>, not 127.0.0.1. Without a label one is picked. A label is 3 to 40 letters, digits and hyphens, and the platform refuses names that read as its own or another company’s (www, login, brand names and their look-alikes) with a 400 that says why. Other refusals: 402 when the plan includes no public URLs; 403 PUBLIC_URLS_BLOCKED when the platform has turned public URLs off for this computer or account (not a role, and not something to retry — tell the user); 404 PUBLIC_URLS_DISABLED when public URLs are not enabled here at all (not a missing computer); 409 LABEL_TAKEN when the label is taken — a label is never given to a second account, so one another account has ever held, or one the platform has blocked, reads as taken — and 409 PUBLIC_URL_LIMIT when the computer has as many as its plan allows (Solo 2, Studio 5, Swarm 10); neither 409 clears by waiting. 429 after too many in a day, with Retry-After. Responses are marked noindex, cookies the app sets stay on its own host name, and a Mandala API key sent to a public URL never reaches the app. Not idempotent: a retry after a lost answer makes a second URL — list_public_urls first.',
|
|
185
|
+
inputSchema: z
|
|
186
|
+
.object({
|
|
187
|
+
...idArg,
|
|
188
|
+
port: portArg('create'),
|
|
189
|
+
label: z
|
|
190
|
+
.string()
|
|
191
|
+
.optional()
|
|
192
|
+
.describe('The name before the domain, lowercased. Leave it out to have one like `brave-otter-3f2a` picked.'),
|
|
193
|
+
access: accessArg('create').optional(),
|
|
194
|
+
})
|
|
195
|
+
// Strict, above all here: a misspelled `access: "private"` stripped
|
|
196
|
+
// as an unknown key would create a URL anyone can open (Codex, round
|
|
197
|
+
// 1 on #212). Every tool in this file refuses an argument it does not
|
|
198
|
+
// know, rather than acting without it.
|
|
199
|
+
.strict(),
|
|
200
|
+
}, ({ computer_id, port, label, access }, extra) => guarded(async () => {
|
|
201
|
+
const id = session.resolve(computer_id);
|
|
202
|
+
const sent = P.publicUrlBody({ port, label, access });
|
|
203
|
+
const path = P.publicUrls(id);
|
|
204
|
+
const got = await changed(() => session.api.with(extra.signal).send('POST', path, { body: sent }), (why) => refused(`The create on ${id} could not be read back (${why}). THE URL MAY HAVE BEEN CREATED, and if it was, it is ${sent.access === 'private' ? 'private' : 'open to anyone with the link'} — call list_public_urls for ${id} before creating another.`));
|
|
205
|
+
if ('refusal' in got)
|
|
206
|
+
return got.refusal;
|
|
207
|
+
const body = got.value;
|
|
208
|
+
const u = publicUrlOf(body);
|
|
209
|
+
if (!u) {
|
|
210
|
+
return refused(`The create on ${id} answered with ${shapeOf(body)}, not a public URL. THE URL MAY HAVE BEEN CREATED, and if it was, it is ${sent.access === 'private' ? 'private' : 'open to anyone with the link'} — call list_public_urls for ${id} rather than creating a second one.`, body);
|
|
211
|
+
}
|
|
212
|
+
return said(`Created ${u.url}, serving port ${u.port} inside ${id}. ${reach(u)}. The app must listen on 0.0.0.0:${u.port}, not 127.0.0.1. ${BROWSERS}`, u);
|
|
213
|
+
}));
|
|
214
|
+
server.registerTool('update_public_url', {
|
|
215
|
+
title: 'Change a public URL’s port or access',
|
|
216
|
+
description: 'Point a public URL at another port, switch it between public and private, or both. The label is the URL and does not change — delete it and create another for a new name. Fields you leave out are kept; name at least one.',
|
|
217
|
+
inputSchema: z
|
|
218
|
+
.object({
|
|
219
|
+
...idArg,
|
|
220
|
+
...urlIdArg,
|
|
221
|
+
port: portArg('update').optional(),
|
|
222
|
+
access: accessArg('update').optional(),
|
|
223
|
+
})
|
|
224
|
+
.strict(),
|
|
225
|
+
annotations: { idempotentHint: true },
|
|
226
|
+
}, ({ computer_id, url_id, port, access }, extra) => guarded(async () => {
|
|
227
|
+
const sent = P.publicUrlBody({ port, access });
|
|
228
|
+
if (!Object.keys(sent).length) {
|
|
229
|
+
return refused('Nothing to change: name a port, an access, or both. The platform refuses an empty update, so nothing was sent.');
|
|
230
|
+
}
|
|
231
|
+
const id = session.resolve(computer_id);
|
|
232
|
+
const path = P.publicUrl(id, url_id);
|
|
233
|
+
const got = await changed(() => session.api.with(extra.signal).send('PATCH', path, { body: sent }), (why) => refused(`The update to ${url_id} could not be read back (${why}). THE CHANGE MAY HAVE LANDED — read it back with list_public_urls rather than assuming either way, since who can open the URL may have changed.`));
|
|
234
|
+
if ('refusal' in got)
|
|
235
|
+
return got.refusal;
|
|
236
|
+
const body = got.value;
|
|
237
|
+
const u = publicUrlOf(body);
|
|
238
|
+
if (!u) {
|
|
239
|
+
return refused(`The update to ${url_id} answered with ${shapeOf(body)}, not a public URL. THE CHANGE MAY HAVE LANDED — read it back with list_public_urls rather than assuming either way, since who can open the URL may have changed.`, body);
|
|
240
|
+
}
|
|
241
|
+
return said(`Updated ${u.url}: port ${u.port}. ${reach(u)}.`, u);
|
|
242
|
+
}));
|
|
243
|
+
server.registerTool('delete_public_url', {
|
|
244
|
+
title: 'Remove a public URL',
|
|
245
|
+
description: 'The URL stops answering at once. Its label stays with this account: no other account can ever take it, and this account may use it again (create_public_url with that label) unless the platform has blocked it. The app inside the computer keeps running. A URL made again is a new id.',
|
|
246
|
+
inputSchema: z
|
|
247
|
+
.object({
|
|
248
|
+
...idArg,
|
|
249
|
+
...urlIdArg,
|
|
250
|
+
confirm: z.literal(true).describe('Must be true. The URL stops answering at once.'),
|
|
251
|
+
})
|
|
252
|
+
.strict(),
|
|
253
|
+
annotations: { destructiveHint: true, idempotentHint: true },
|
|
254
|
+
}, ({ computer_id, url_id }, extra) => guarded(async () => {
|
|
255
|
+
const id = session.resolve(computer_id);
|
|
256
|
+
const path = P.publicUrl(id, url_id);
|
|
257
|
+
let res;
|
|
258
|
+
try {
|
|
259
|
+
res = await session.api.with(extra.signal).send('DELETE', path);
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
if (!(err instanceof APIError)) {
|
|
263
|
+
const why = err instanceof Error ? err.message : String(err);
|
|
264
|
+
return refused(`The delete of ${url_id} could not be read back (${why}). IT MAY OR MAY NOT HAVE BEEN DELETED — call list_public_urls for ${id} to see whether it is still there before telling anyone it no longer answers.`);
|
|
265
|
+
}
|
|
266
|
+
// A 404 is the state this call asked for, and the tool is annotated
|
|
267
|
+
// idempotent, so the retry after a lost 2xx is one a client may make.
|
|
268
|
+
// Said as a success but not as "Deleted": the same 404 answers an id
|
|
269
|
+
// that was never on this computer, and "deleted" over a mistyped id
|
|
270
|
+
// leaves a real URL answering. delete_webhook answers the same way.
|
|
271
|
+
if (!(err instanceof NotFoundError))
|
|
272
|
+
throw err;
|
|
273
|
+
// Not "the id is wrong" alone: the platform answers the same 404 for
|
|
274
|
+
// a computer this key cannot see — another workspace's, or one that
|
|
275
|
+
// is gone — before it looks for the URL at all.
|
|
276
|
+
return said(`Nothing was deleted: the platform found no public URL ${url_id} on ${id} that this key can reach. Either it was already removed — if this is a retry, the first call is the one that did it — or the URL id is wrong, or ${id} is not a computer this key can see (another workspace's, or gone). In the last two cases NO URL has been touched and the one you meant may still be answering. list_public_urls for ${id} says which.`);
|
|
277
|
+
}
|
|
278
|
+
// The platform's ack, checked before saying the exposure ended: a 2xx
|
|
279
|
+
// that is not `{ ok: true }` is not evidence the URL stopped answering
|
|
280
|
+
// (Codex, round 1 on #212).
|
|
281
|
+
if (!isRecord(res) || res.ok !== true) {
|
|
282
|
+
return refused(`The delete of ${url_id} answered with ${shapeOf(res)}, not the platform's acknowledgment. IT MAY OR MAY NOT HAVE BEEN DELETED — call list_public_urls for ${id} to see whether it is still there before telling anyone it no longer answers.`, res);
|
|
283
|
+
}
|
|
284
|
+
return said(`Deleted ${url_id} from ${id}. It no longer answers. Its label stays with this account: no other account can take it, and you may use it again unless the platform has blocked it.`, res);
|
|
285
|
+
}));
|
|
286
|
+
};
|
|
287
|
+
//# sourceMappingURL=publicurls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publicurls.js","sourceRoot":"","sources":["../../src/tools/publicurls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoN5C,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoN5C,eAAO,MAAM,iBAAiB,EAAE,SA62B/B,CAAC"}
|
package/dist/tools/snapshots.js
CHANGED
|
@@ -556,6 +556,7 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
556
556
|
minute: z.number().int().min(0).max(59).default(0),
|
|
557
557
|
tz: z.string().default('UTC').describe('An IANA zone, e.g. "America/New_York".'),
|
|
558
558
|
})
|
|
559
|
+
.strict()
|
|
559
560
|
.optional()
|
|
560
561
|
.describe('Omit to read the current schedule. Include to replace it.'),
|
|
561
562
|
clear: z.boolean().default(false).describe('Remove the schedule entirely.'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/ssh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/tools/ssh.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA2I5C,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/tools/ssh.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA2I5C,eAAO,MAAM,WAAW,EAAE,SA2LzB,CAAC"}
|
package/dist/tools/ssh.js
CHANGED
|
@@ -121,9 +121,11 @@ export const registerSSH = (server, session) => {
|
|
|
121
121
|
if (!Array.isArray(body)) {
|
|
122
122
|
return refused(`GET /ssh-keys answered with ${shapeOf(body)}, not a list of keys. This does not mean you have none.`, body);
|
|
123
123
|
}
|
|
124
|
-
|
|
124
|
+
// Strict (OPL-5975): a row that is not an object, or has no id, fails
|
|
125
|
+
// the listing, as the SDKs decode it — never a key line read as `?`.
|
|
126
|
+
const rows = body.filter((k) => isRecord(k) && !!text(k.id));
|
|
125
127
|
if (rows.length !== body.length) {
|
|
126
|
-
return refused(`GET /ssh-keys answered with ${body.length - rows.length} malformed entr${body.length - rows.length === 1 ? 'y' : 'ies'}; the list cannot be trusted.`, body);
|
|
128
|
+
return refused(`GET /ssh-keys answered with ${body.length - rows.length} malformed entr${body.length - rows.length === 1 ? 'y' : 'ies'} (not an object, or without an id); the list cannot be trusted.`, body);
|
|
127
129
|
}
|
|
128
130
|
if (!rows.length)
|
|
129
131
|
return said('No SSH keys are registered to you. add_ssh_key adds one.', body);
|
package/dist/tools/ssh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/tools/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAGjC;;;;;;;;;;;;;;GAcG;AAEH,MAAM,KAAK,GAAG;IACZ,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;CAC/E,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAChF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CAC5D,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,OAAO,GAAG,CAAC,CAAU,EAAU,EAAE,CACrC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEpG,MAAM,IAAI,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE9F;;;;GAIG;AACH,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE;IAC3C,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,mBAAmB,CAAC;IACvD,IAAI,KAAK,KAAK,cAAc;QAAE,OAAO,uBAAuB,CAAC;IAC7D,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,wCAAwC,CAAC;IACjF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,OAAO,GAAG,CAAC,CAA0B,EAAU,EAAE,CACrD,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AAE/I;;;;GAIG;AACH,MAAM,SAAS,GACb,2XAA2X,CAAC;AAmB9X,SAAS,SAAS,CAAC,IAAa;IAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAClE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,SAAS;QAC9F,OAAO,SAAS,CAAC;IACnB,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,yBAAyB;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IAC/B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAChC,IACE,MAAM,KAAK,SAAS;QACpB,CAAC,OAAO,MAAM,KAAK,QAAQ;YACzB,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7B,MAAM,GAAG,CAAC;YACV,MAAM,GAAG,SAAS,CAAC;QAErB,OAAO,SAAS,CAAC;IACnB,OAAO;QACL,QAAQ;QACR,OAAO;QACP,SAAS;QACT,OAAO;QACP,SAAS;QACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QACxD,KAAK;KACN,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,SAAS,WAAW,CAAC,CAAU;IAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IACrD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,QAAQ,gFAAgF,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7H,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,QAAQ,sJAAsJ,CAAC;IAC1L,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO;QACxB,CAAC,CAAC,+GAA+G;QACjH,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IAChE,MAAM,IAAI,GACR,CAAC,CAAC,SAAS,KAAK,CAAC;QACf,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS;YAC1D,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,qBAAqB,CAAC,CAAC,SAAS,gNAAgN;YACvQ,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2CAA2C,CAAC;IACrG,MAAM,OAAO,GACX,CAAC,CAAC,SAAS,KAAK,IAAI;QAClB,CAAC,CAAC,sEAAsE;QACxE,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,QAAQ,KAAK,IAAI,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,ujBAAujB;QACzjB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,OAAO,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAU,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CACZ,+BAA+B,OAAO,CAAC,IAAI,CAAC,yDAAyD,EACrG,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/tools/ssh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA0Q5C,eAAO,MAAM,gBAAgB,EAAE,SAqQ9B,CAAC"}
|
package/dist/tools/webhooks.js
CHANGED
|
@@ -87,17 +87,28 @@ const shapeOf = (v) => v === undefined ? 'no body at all' : v === null ? 'null'
|
|
|
87
87
|
* telling them apart. A body that is not an array at all — an error envelope, a
|
|
88
88
|
* future paginated wrapper, a gateway answering 200 with nothing — coerced to
|
|
89
89
|
* `[]` becomes an affirmative claim about the account made from a body this
|
|
90
|
-
* server could not read; and a listing
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
90
|
+
* server could not read; and a listing with a ROW that is not one — not an
|
|
91
|
+
* object, or missing a field every row has — is a listing that cannot be
|
|
92
|
+
* read. These rows used to be dropped with a warning; now one fails the
|
|
93
|
+
* listing (OPL-5975), as the SDKs decode it: a dropped row is a subscription
|
|
94
|
+
* that may be delivering, left out of the answer a caller reads to find out.
|
|
94
95
|
*/
|
|
95
|
-
const rowsOf = (body) => Array.isArray(body)
|
|
96
|
-
? {
|
|
96
|
+
const rowsOf = (body, valid) => Array.isArray(body)
|
|
97
|
+
? {
|
|
98
|
+
rows: body.filter(isRecord),
|
|
99
|
+
malformed: body.filter((item) => !isRecord(item) || !valid(item)).length,
|
|
100
|
+
}
|
|
97
101
|
: undefined;
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
102
|
+
const nonblank = (v) => typeof v === 'string' && v.trim() !== '';
|
|
103
|
+
/** The fields every subscription row has, each of the type it must be. */
|
|
104
|
+
const webhookRow = (w) => nonblank(w.id) && typeof w.url === 'string' && typeof w.enabled === 'boolean';
|
|
105
|
+
/** The fields every delivery row has, each of the type it must be. */
|
|
106
|
+
const deliveryRow = (d) => nonblank(d.id) &&
|
|
107
|
+
typeof d.state === 'string' &&
|
|
108
|
+
typeof d.attempts === 'number' &&
|
|
109
|
+
Number.isSafeInteger(d.attempts) &&
|
|
110
|
+
d.attempts >= 0;
|
|
111
|
+
const malformedRows = (noun, n) => `${n} ${noun} entr${n === 1 ? 'y is' : 'ies are'} malformed (not an object, or missing a field every entry has), so this listing cannot be read`;
|
|
101
112
|
/**
|
|
102
113
|
* The single record a one-subscription call answers with, or nothing.
|
|
103
114
|
*
|
|
@@ -206,20 +217,19 @@ export const registerWebhooks = (server, session) => {
|
|
|
206
217
|
annotations: { readOnlyHint: true },
|
|
207
218
|
}, (_args, extra) => guarded(async () => {
|
|
208
219
|
const body = await session.api.with(extra.signal).json('GET', P.WEBHOOKS);
|
|
209
|
-
const checked = rowsOf(body);
|
|
220
|
+
const checked = rowsOf(body, webhookRow);
|
|
210
221
|
if (!checked) {
|
|
211
222
|
return refused(`GET /webhooks answered with ${shapeOf(body)}, not a list of subscriptions. This is not an empty account — do not create a webhook on the strength of it.`, body);
|
|
212
223
|
}
|
|
224
|
+
if (checked.malformed) {
|
|
225
|
+
return refused(`GET /webhooks answered, but ${malformedRows('webhook', checked.malformed)}. It is not evidence about which subscriptions exist — do not create or delete one on the strength of it; try list_webhooks again.`, body);
|
|
226
|
+
}
|
|
213
227
|
const list = checked.rows;
|
|
214
|
-
const warning = malformedWarning('webhook', checked.malformed);
|
|
215
228
|
if (!list.length) {
|
|
216
|
-
|
|
217
|
-
return refused(`${warning}No valid webhook subscriptions remained. This is not an empty account — do not create a webhook on the strength of a malformed listing.`, body);
|
|
218
|
-
}
|
|
219
|
-
return said(`${warning}No webhook subscriptions on this account. create_webhook makes one.`, body);
|
|
229
|
+
return said('No webhook subscriptions on this account. create_webhook makes one.', body);
|
|
220
230
|
}
|
|
221
|
-
const lines = list.map((w) => `${w.id
|
|
222
|
-
return said(`${
|
|
231
|
+
const lines = list.map((w) => `${w.id} → ${w.url}: ${health(w)}`);
|
|
232
|
+
return said(`${list.length} webhook subscription${list.length === 1 ? '' : 's'}, oldest first:\n${lines.join('\n')}`, body);
|
|
223
233
|
}));
|
|
224
234
|
server.registerTool('create_webhook', {
|
|
225
235
|
title: 'Subscribe an endpoint to this account’s events',
|
|
@@ -321,16 +331,15 @@ export const registerWebhooks = (server, session) => {
|
|
|
321
331
|
const body = await session.api
|
|
322
332
|
.with(extra.signal)
|
|
323
333
|
.json('GET', P.webhookAction(webhook_id, 'deliveries'));
|
|
324
|
-
const checked = rowsOf(body);
|
|
334
|
+
const checked = rowsOf(body, deliveryRow);
|
|
325
335
|
if (!checked) {
|
|
326
336
|
return refused(`GET the deliveries of ${webhook_id} answered with ${shapeOf(body)}, not a list of deliveries. This is not an empty history — do not conclude anything about what has been delivered from it.`, body);
|
|
327
337
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
if (!list.length && checked.malformed) {
|
|
331
|
-
return refused(`${warning}No valid deliveries remained for ${webhook_id}. This is not an empty history — do not conclude anything about what has been delivered from it.`, body);
|
|
338
|
+
if (checked.malformed) {
|
|
339
|
+
return refused(`GET the deliveries of ${webhook_id} answered, but ${malformedRows('delivery', checked.malformed)}. Do not conclude anything about what has been delivered from it.`, body);
|
|
332
340
|
}
|
|
333
|
-
|
|
341
|
+
const list = checked.rows;
|
|
342
|
+
return said(deliveriesLine(webhook_id, list), body);
|
|
334
343
|
}));
|
|
335
344
|
server.registerTool('delete_webhook', {
|
|
336
345
|
title: 'Delete a webhook subscription',
|