mandala-computer-mcp 0.5.0 → 0.6.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.
Files changed (66) hide show
  1. package/README.md +119 -11
  2. package/dist/api.d.ts +47 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +248 -22
  5. package/dist/api.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +17 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/errors.d.ts +93 -2
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +166 -7
  12. package/dist/errors.js.map +1 -1
  13. package/dist/format.d.ts +25 -0
  14. package/dist/format.d.ts.map +1 -1
  15. package/dist/format.js +31 -2
  16. package/dist/format.js.map +1 -1
  17. package/dist/http.d.ts +42 -0
  18. package/dist/http.d.ts.map +1 -1
  19. package/dist/http.js +379 -3
  20. package/dist/http.js.map +1 -1
  21. package/dist/index.d.ts +4 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -3
  24. package/dist/index.js.map +1 -1
  25. package/dist/paths.d.ts +10 -2
  26. package/dist/paths.d.ts.map +1 -1
  27. package/dist/paths.js +15 -5
  28. package/dist/paths.js.map +1 -1
  29. package/dist/secret-errors.d.ts +59 -0
  30. package/dist/secret-errors.d.ts.map +1 -0
  31. package/dist/secret-errors.js +199 -0
  32. package/dist/secret-errors.js.map +1 -0
  33. package/dist/secret-store.d.ts +115 -0
  34. package/dist/secret-store.d.ts.map +1 -0
  35. package/dist/secret-store.js +105 -0
  36. package/dist/secret-store.js.map +1 -0
  37. package/dist/server.d.ts +1 -1
  38. package/dist/server.js +1 -1
  39. package/dist/session.d.ts +6 -1
  40. package/dist/session.d.ts.map +1 -1
  41. package/dist/session.js +1 -1
  42. package/dist/session.js.map +1 -1
  43. package/dist/tool-filters.d.ts +1 -1
  44. package/dist/tool-filters.d.ts.map +1 -1
  45. package/dist/tool-filters.js +9 -1
  46. package/dist/tool-filters.js.map +1 -1
  47. package/dist/tools/computers.d.ts.map +1 -1
  48. package/dist/tools/computers.js +11 -10
  49. package/dist/tools/computers.js.map +1 -1
  50. package/dist/tools/guest.d.ts.map +1 -1
  51. package/dist/tools/guest.js +134 -20
  52. package/dist/tools/guest.js.map +1 -1
  53. package/dist/tools/input.d.ts +2 -0
  54. package/dist/tools/input.d.ts.map +1 -1
  55. package/dist/tools/input.js +31 -5
  56. package/dist/tools/input.js.map +1 -1
  57. package/dist/tools/secrets.d.ts +33 -13
  58. package/dist/tools/secrets.d.ts.map +1 -1
  59. package/dist/tools/secrets.js +259 -15
  60. package/dist/tools/secrets.js.map +1 -1
  61. package/dist/tools/snapshots.d.ts.map +1 -1
  62. package/dist/tools/snapshots.js +9 -3
  63. package/dist/tools/snapshots.js.map +1 -1
  64. package/dist/tools/webhooks.js +1 -1
  65. package/dist/tools/webhooks.js.map +1 -1
  66. package/package.json +1 -1
@@ -1,22 +1,27 @@
1
1
  import { z } from 'zod';
2
- import { guarded, refused, said } from '../format.js';
2
+ import { APIError, MandalaError, NotFoundError, statusAdvice } from '../errors.js';
3
+ import { guarded, refused, said, unavailableAdvice } from '../format.js';
3
4
  import * as P from '../paths.js';
5
+ import { DOCUMENTED_REASONS, isRequestId, overlaps, } from '../secret-store.js';
4
6
  /**
5
- * A computer's secret bindings: which of the account's secrets it receives, at
6
- * which revision, and where — as an environment variable (`env`) or as a file
7
- * under FILES_DIR (`file`).
7
+ * Secrets: the account's store of named values, and which of them each
8
+ * computer is bound to.
8
9
  *
9
- * No value ever crosses these routes, in either direction — only secret ids,
10
- * revision ids, env names and file names — so nothing here can show one, and
11
- * nothing a model sends can set one. Secrets themselves are created and rotated
12
- * elsewhere.
10
+ * The BINDINGS (get/set_computer_secrets) carry only ids, revision ids, env
11
+ * names and file names — no value crosses those routes in either direction.
12
+ *
13
+ * The STORE (list/get/create/replace/delete_secret) is where a value goes in,
14
+ * and only in: the platform never answers one, the decoded answers here carry
15
+ * none, and a tool that took a value never repeats it — not in a success, not
16
+ * in a refusal. See {@link withoutValue}.
13
17
  *
14
18
  * A change of bindings takes effect at the computer's NEXT START OR RESTART. A
15
19
  * running computer keeps what it booted with until then, and a suspended one
16
20
  * resumes with its old values; the sentences below say so every time, because a
17
21
  * model that reads "saved" as "delivered" goes on to use a credential the guest
18
- * does not have yet. The one thing that reaches a running computer sooner is a
19
- * replaced VALUE of a secret bound as a file: that file is rewritten in place.
22
+ * does not have yet. What reaches a running computer sooner is a replaced VALUE:
23
+ * a file binding's file is rewritten in place, and on an image that supports it
24
+ * an env binding's new value reaches new shells and desktop-session commands.
20
25
  */
21
26
  /** Where a file binding is published in the guest. */
22
27
  export const FILES_DIR = '/run/mandala-secrets/user/files';
@@ -146,12 +151,137 @@ function listing(b) {
146
151
  return `\n${b.secrets.map(bindingLine).join('\n')}`;
147
152
  }
148
153
  const TIMING = 'The new bindings reach the guest at its NEXT START OR RESTART: a running computer keeps what it booted with until then, and a suspended one resumes with its old values.';
149
- /** What reaches a running computer without a restart: a replaced value, as a file. */
150
- const LIVE_FILES = "Every start and restart delivers each secret's latest value. Separately, when a secret's value is replaced, a running computer bound to it as a file has that file rewritten within seconds; a variable waits for the next start or restart.";
154
+ /**
155
+ * What reaches a running computer without a restart: a replaced VALUE.
156
+ *
157
+ * Worded to hold whichever way the platform answers a plain exec. Today a plain
158
+ * exec runs as root and is never given bound secrets; platform work under way
159
+ * (OPL-5028) gives it the bound environment too. `desktop: true` sees them
160
+ * either way, so that is the instruction, and the plain-exec case is stated as
161
+ * something not to rely on rather than as a fact that is about to change.
162
+ */
163
+ const LIVE_VALUES = "Every start and restart delivers each secret's latest value. Separately, when a secret's value is replaced on a running computer: a secret bound as a FILE has that file rewritten in place within seconds; one bound as an ENVIRONMENT VARIABLE, on an image that supports it, reaches new shells and exec commands run with desktop: true within seconds, while programs already running — the desktop session among them — keep the value they started with until a restart (older images wait for the restart). A command that needs a bound secret should run with desktop: true; do not rely on a plain exec seeing it. A file newly bound or renamed waits for the restart either way.";
164
+ /** A secret in a line: what a model recognises it by, and the revision a change needs. Never a value. */
165
+ const secretLine = (s) => `${s.name} ${s.id} revision ${s.revision_id} ${s.workspace_id === null ? 'account-wide' : `workspace ${s.workspace_id}`} ${s.last_used_at === null ? 'never delivered' : `last delivered ${s.last_used_at}`}`;
166
+ const STORE_LEGEND = 'name id revision scope last delivery; values are never shown';
167
+ /** The byte length of a value as the platform counts it: UTF-8. */
168
+ const utf8Bytes = (s) => new TextEncoder().encode(s).length;
169
+ /** The published ceiling on a value, in bytes of UTF-8. */
170
+ export const SECRET_VALUE_MAX_BYTES = 4096;
171
+ /** The published ceiling on a name, in characters. */
172
+ export const SECRET_NAME_MAX_CHARS = 60;
173
+ /**
174
+ * A secret value as a tool argument.
175
+ *
176
+ * Checked here for what the platform would refuse anyway, with messages that
177
+ * name the rule and never the value: a validation failure is shown to the model,
178
+ * and the whole point of this argument is that it is not shown to anyone.
179
+ */
180
+ const valueArg = (what) => z
181
+ .string()
182
+ .refine((v) => {
183
+ const n = utf8Bytes(v);
184
+ return n >= 1 && n <= SECRET_VALUE_MAX_BYTES;
185
+ }, { message: `value must be 1 to ${SECRET_VALUE_MAX_BYTES} bytes of UTF-8` })
186
+ .describe(`${what}, as text: 1 to ${SECRET_VALUE_MAX_BYTES} bytes of UTF-8. Sent to the platform once, encrypted there, and never shown again — not in this tool's answer, not by any other tool, not by any route.`);
187
+ const secretIdArg = idString('secret_id').describe('The secret — `csec-` and sixteen hex characters, from list_secrets.');
188
+ const workspaceArg = z
189
+ .string()
190
+ .refine(isId, 'workspace_id must not be empty or have spaces around it')
191
+ .optional()
192
+ .describe('The workspace the secret belongs to. Leave it out for an account-wide secret. A secret in a workspace is found only with its workspace_id.');
193
+ const revisionArg = (use) => idString('revision_id').describe(`The \`revision_id\` list_secrets or get_secret answered for this secret — \`csr-\` and twenty-four hex characters. ${use}`);
194
+ /**
195
+ * A tool result with every occurrence of a value taken out.
196
+ *
197
+ * The SECOND layer. The first is that no secret-store tool puts response text
198
+ * in its answer at all — see {@link storeGuarded} — and the Api keeps none for
199
+ * those routes. This catches what the first could still let through: a value
200
+ * that happens to equal a decoded field, or a message this server did not
201
+ * write. No length exemption: a one-character value is searched for too,
202
+ * which can mangle the sentence and is the price of never showing it. The
203
+ * JSON-escaped spelling is searched for as well, since data is shown as JSON.
204
+ */
205
+ export function withoutValue(result, value) {
206
+ if (value === '')
207
+ return result;
208
+ const spellings = [...new Set([value, JSON.stringify(value).slice(1, -1)])].filter(Boolean);
209
+ return {
210
+ ...result,
211
+ content: result.content.map((c) => c.type === 'text'
212
+ ? {
213
+ ...c,
214
+ text: spellings.reduce((t, v) => t.split(v).join('[secret value withheld]'), c.text),
215
+ }
216
+ : c),
217
+ };
218
+ }
219
+ /** This server's own sentence for a store refusal, by status. Never the platform's. */
220
+ function storeAdvice(err, change) {
221
+ const unavailable = unavailableAdvice(err);
222
+ if (unavailable)
223
+ return unavailable;
224
+ const status = statusAdvice(err.status, err.reason);
225
+ if (status)
226
+ return status;
227
+ switch (err.status) {
228
+ case 400:
229
+ return 'the request was refused as invalid: a name or value outside the documented limits, a malformed id or revision_id, or the store\u2019s limit on secrets held or created (list_secrets reports both). Sending it again unchanged is refused the same way';
230
+ case 404:
231
+ return 'no such secret in this scope. A secret in a workspace is found only with its workspace_id; list_secrets says which exist';
232
+ case 409:
233
+ return change
234
+ ? 'refused as a conflict and nothing changed: for a create, the name is taken in that scope; for a replace or delete, the revision_id is no longer the current one — get_secret for the current one, and send it again only if you still mean to'
235
+ : 'refused as a conflict';
236
+ case 429:
237
+ return `too many requests${err.retryAfterMs === undefined ? '' : `; wait ${Math.ceil(err.retryAfterMs / 1000)}s`} before sending it again`;
238
+ default:
239
+ return change
240
+ ? 'the platform did not complete this, and whether the change was made is not known. Read the secret back with list_secrets or get_secret before sending it again'
241
+ : 'the platform did not answer this; it can be asked again shortly';
242
+ }
243
+ }
244
+ /**
245
+ * Run a secret-store tool, answering a failure only in this server's words.
246
+ *
247
+ * `failed` shows the platform's own sentence, which is right almost everywhere
248
+ * and wrong here: a request that carried a value is the one whose refusal
249
+ * could quote it back. So a refusal is reported as the status, the reason word
250
+ * when it is a word, the request id, and a fixed sentence — and the result,
251
+ * success or failure, goes through {@link withoutValue} as well.
252
+ */
253
+ async function storeGuarded(what, change, value, fn) {
254
+ let result;
255
+ try {
256
+ result = await fn();
257
+ }
258
+ catch (err) {
259
+ if (err instanceof APIError) {
260
+ // Exactly a documented word, and exactly a platform-minted id — and
261
+ // neither if it shares four characters with the value sent. Nothing else
262
+ // from the refusal is interpolated.
263
+ const safe = (v) => value === undefined || !overlaps(v, value);
264
+ const reason = err.reason !== undefined && DOCUMENTED_REASONS.has(err.reason) && safe(err.reason)
265
+ ? `, reason "${err.reason}"`
266
+ : '';
267
+ const id = isRequestId(err.requestId) && safe(err.requestId) ? ` Request id ${err.requestId}.` : '';
268
+ result = refused(`${what} was refused (HTTP ${err.status}${reason}): ${storeAdvice(err, change)}. The platform\u2019s own message is not shown, because a refusal of a secret-store request could quote the value.${id}`);
269
+ }
270
+ else if (err instanceof MandalaError) {
271
+ // Written by this package, and for these routes never carrying response
272
+ // text: a transport failure, a cancellation, or a malformed answer.
273
+ result = refused(`${what} failed: ${err.message}`);
274
+ }
275
+ else {
276
+ result = refused(`${what} failed inside this server before an answer could be read.`);
277
+ }
278
+ }
279
+ return value === undefined ? result : withoutValue(result, value);
280
+ }
151
281
  export const registerSecrets = (server, session) => {
152
282
  server.registerTool('get_computer_secrets', {
153
283
  title: "Read a computer's secret bindings",
154
- description: `Which of the account's secrets a computer is bound to: for each, the secret id, the revision last delivered, and where the guest finds it — an environment variable name, or a file under ${FILES_DIR}. Values are NEVER shown — no value crosses this route. Also answers \`version\`, the number to send to set_computer_secrets so it changes only this list (0 for a computer never bound). Any role may read it. The list is what the computer receives at its next start or restart, which a running computer may not have yet. ${LIVE_FILES}`,
284
+ description: `Which of the account's secrets a computer is bound to: for each, the secret id, the revision last delivered, and where the guest finds it — an environment variable name, or a file under ${FILES_DIR}. Values are NEVER shown — no value crosses this route. Also answers \`version\`, the number to send to set_computer_secrets so it changes only this list (0 for a computer never bound). Any role may read it. The list is what the computer receives at its next start or restart, which a running computer may not have yet. ${LIVE_VALUES}`,
155
285
  inputSchema: idArg,
156
286
  annotations: { readOnlyHint: true },
157
287
  }, ({ computer_id }, extra) => guarded(async () => {
@@ -171,7 +301,7 @@ export const registerSecrets = (server, session) => {
171
301
  }));
172
302
  server.registerTool('set_computer_secrets', {
173
303
  title: "Replace a computer's secret bindings",
174
- description: `Replace the WHOLE list of secrets a computer is bound to — not a merge: any binding left out is removed, and \`secrets: []\` removes every binding. Each entry names a secret id and exactly one of \`env\` (the environment variable it is delivered under) or \`file\` (delivered as ${FILES_DIR}/<file>) — at most ${SECRET_BINDINGS_MAX} secrets, ${SECRET_FILES_MAX} of them as files, none twice and no variable or file name twice — and is recorded at that secret's latest revision unless it names \`revision_id\`, which must be the revision the computer holds now (any other revision is refused). A binding's revision is what the computer last received, never a pin: naming it only says this change keeps the value the running computer already has, so the change does not stop it being suspended. Only ids, revisions and names are sent and answered — values are NEVER shown or set here. ${TIMING} ${LIVE_FILES} Binding a computer that has NO secrets yet requires it to be STOPPED: that first binding is refused with 409 while the computer is running or suspended, because a computer started without secrets cannot receive them until it starts again, and a restart does not do that. Start it afterwards to deliver them. Send \`version\` from get_computer_secrets to change only the list you read: if it changed since, this is refused with 409 and nothing changes. Also 409 while a delivery to the computer is in progress. After a change that drops a secret or moves one to another revision, a running computer cannot be suspended or memory-snapshotted until it restarts. Owners and members only; Linux computers only, and binding one for the first time needs a template whose image can receive secrets.`,
304
+ description: `Replace the WHOLE list of secrets a computer is bound to — not a merge: any binding left out is removed, and \`secrets: []\` removes every binding. Each entry names a secret id and exactly one of \`env\` (the environment variable it is delivered under) or \`file\` (delivered as ${FILES_DIR}/<file>) — at most ${SECRET_BINDINGS_MAX} secrets, ${SECRET_FILES_MAX} of them as files, none twice and no variable or file name twice — and is recorded at that secret's latest revision unless it names \`revision_id\`, which must be the revision the computer holds now (any other revision is refused). A binding's revision is what the computer last received, never a pin: naming it only says this change keeps the value the running computer already has, so the change does not stop it being suspended. Only ids, revisions and names are sent and answered — values are NEVER shown or set here. ${TIMING} ${LIVE_VALUES} Binding a computer that has NO secrets yet requires it to be STOPPED: that first binding is refused with 409 while the computer is running or suspended, because a computer started without secrets cannot receive them until it starts again, and a restart does not do that. Start it afterwards to deliver them. Send \`version\` from get_computer_secrets to change only the list you read: if it changed since, this is refused with 409 and nothing changes. Also 409 while a delivery to the computer is in progress. After a change that drops a secret or moves one to another revision, a running computer cannot be suspended or memory-snapshotted until it restarts. Owners and members only; Linux computers only, and binding one for the first time needs a template whose image can receive secrets.`,
175
305
  inputSchema: {
176
306
  ...idArg,
177
307
  secrets: secretBindingsSchema(true).describe('The complete new list. Every binding not in it is removed; [] removes them all.'),
@@ -198,7 +328,121 @@ export const registerSecrets = (server, session) => {
198
328
  const what = n
199
329
  ? `${id} is now bound to ${n} secret${n === 1 ? '' : 's'} (version ${bindings.version}; ${LEGEND}):${listing(bindings)}`
200
330
  : `${id} is now bound to no secrets (version ${bindings.version}).`;
201
- return said(`${what}\n${TIMING} ${LIVE_FILES}`, body);
331
+ return said(`${what}\n${TIMING} ${LIVE_VALUES}`, body);
332
+ }));
333
+ // --- the store --------------------------------------------------------
334
+ //
335
+ // Which tools, and why (OPL-5026):
336
+ //
337
+ // - list_secrets and get_secret: yes. Names, ids and revisions are what a
338
+ // binding and every change need, and no value is ever in them.
339
+ // - create_secret and replace_secret: yes. An agent that sets a computer up
340
+ // for a task is the caller that has the credential to put in, and the
341
+ // alternative is asking a person to paste it into Settings. The value is an
342
+ // argument and goes one way: no answer repeats it.
343
+ // - delete_secret: yes, behind `confirm: true` and a description that says
344
+ // what it breaks — a computer still bound to a deleted secret cannot start —
345
+ // because cleaning up what a task created is part of the task.
346
+ server.registerTool('list_secrets', {
347
+ title: "List the account's secrets",
348
+ description: "The secrets stored on this account, in one scope: the account-wide ones by default, or one workspace's with workspace_id. For each: its name, its id (what set_computer_secrets binds), its current revision_id (what replace_secret and delete_secret need), its scope and when it was last delivered to a computer. Values are NEVER shown — no route returns one. Also says whether binding secrets to computers is switched on here, and the store's limits. Owners and members may read; a viewer is refused. An API key confined to a workspace lists that workspace's secrets, and naming another scope is refused.",
349
+ inputSchema: {
350
+ workspace_id: workspaceArg.describe('The workspace to list. Leave it out for the account-wide secrets.'),
351
+ },
352
+ annotations: { readOnlyHint: true },
353
+ }, ({ workspace_id }, extra) => storeGuarded('Listing the secrets', false, undefined, async () => {
354
+ const list = await session.api
355
+ .with(extra.signal)
356
+ .secrets.list({ workspaceId: workspace_id });
357
+ const scope = workspace_id === undefined ? 'account-wide' : `in workspace ${workspace_id}`;
358
+ const delivery = list.delivery
359
+ ? 'Binding secrets to computers is on.'
360
+ : 'Binding secrets to computers is OFF on this platform: secrets can be stored, but set_computer_secrets and a create carrying secrets are refused.';
361
+ const { limits } = list;
362
+ const limitLine = `Limits: names up to ${limits.name_max_chars} characters, values up to ${limits.value_max_bytes} bytes; at most ${limits.active_per_account} secrets held at once across the account (deleting frees a place) and ${limits.created_per_account} created over its lifetime (deleting does not).`;
363
+ const n = list.secrets.length;
364
+ const head = n
365
+ ? `${n} secret${n === 1 ? '' : 's'} ${scope} (${STORE_LEGEND}):\n${list.secrets.map(secretLine).join('\n')}`
366
+ : `No secrets ${scope}. create_secret stores one.`;
367
+ return said(`${head}\n${delivery} ${limitLine}`, list);
368
+ }));
369
+ server.registerTool('get_secret', {
370
+ title: 'Read one secret',
371
+ description: "One secret's name, scope, current revision_id and when it was last delivered — never its value. Read it for the current revision_id after replace_secret or delete_secret is refused because the revision moved. A secret in a workspace is found only with its workspace_id; otherwise it is not found.",
372
+ inputSchema: { secret_id: secretIdArg, workspace_id: workspaceArg },
373
+ annotations: { readOnlyHint: true },
374
+ }, ({ secret_id, workspace_id }, extra) => storeGuarded(`Reading ${secret_id}`, false, undefined, async () => {
375
+ const secret = await session.api
376
+ .with(extra.signal)
377
+ .secrets.get(secret_id, { workspaceId: workspace_id });
378
+ return said(`${secretLine(secret)} (values are never shown)`, secret);
379
+ }));
380
+ server.registerTool('create_secret', {
381
+ title: 'Store a new secret',
382
+ description: `Store a value under a name on this account, encrypted, for binding to computers with set_computer_secrets (or the secrets field of a create). The value is sent once and NEVER shown again: this answer, every other tool and every route give back only the name, id and revision. Do not put the value anywhere else — not in a command line, a file or a message — when a binding can deliver it. Owners only. A name is unique within its scope (up to ${SECRET_NAME_MAX_CHARS} characters, no control characters); a taken name is refused with 409. The account holds at most 100 secrets at once and may create at most 1000 over its lifetime — list_secrets reports both. Without workspace_id the secret is account-wide and any computer on the account may be bound to it. NOT safe to repeat blind: if the answer is lost, list_secrets before creating again, since the secret may exist.`,
383
+ inputSchema: {
384
+ name: z
385
+ .string()
386
+ .min(1, 'name must not be empty')
387
+ .refine((v) => [...v].length <= SECRET_NAME_MAX_CHARS, {
388
+ message: `name must be at most ${SECRET_NAME_MAX_CHARS} characters`,
389
+ })
390
+ .refine((v) => !/\p{Cc}/u.test(v), {
391
+ message: 'name must not contain control characters',
392
+ })
393
+ .describe(`What the secret is called, e.g. OPENAI_API_KEY. Up to ${SECRET_NAME_MAX_CHARS} characters, unique in its scope. This is a label, not where the value lands: set_computer_secrets names the variable or file.`),
394
+ value: valueArg('The value'),
395
+ workspace_id: workspaceArg.describe('The workspace it belongs to. Leave it out for an account-wide secret.'),
396
+ },
397
+ annotations: { destructiveHint: false, idempotentHint: false },
398
+ }, ({ name, value, workspace_id }, extra) => storeGuarded('Storing the secret', true, value, async () => {
399
+ const secret = await session.api
400
+ .with(extra.signal)
401
+ .secrets.create({ name, value, workspaceId: workspace_id });
402
+ return said(`Stored ${secret.name} as ${secret.id}, revision ${secret.revision_id}, ${secret.workspace_id === null ? 'account-wide' : `in workspace ${secret.workspace_id}`}. The value is not shown and cannot be read back. Bind it to a computer with set_computer_secrets.`, secret);
403
+ }));
404
+ server.registerTool('replace_secret', {
405
+ title: "Replace a secret's value",
406
+ description: `Replace a stored secret's value, and move its revision_id. Send the revision_id list_secrets or get_secret answered: if it has moved since, this is refused with 409 and nothing changed — read it again, and replace again only if you still mean to. The new value is NEVER shown back. Owners only. ${LIVE_VALUES} That live send is asynchronous and best effort: this answer does not wait for it or say whether it landed, and a running computer may still hold the old value until its next start or restart, which always delivers the latest. get_computer's secrets_pending says whether one is still missing the change.`,
407
+ inputSchema: {
408
+ secret_id: secretIdArg,
409
+ value: valueArg('The new value'),
410
+ revision_id: revisionArg('A stale one is refused and nothing changes.'),
411
+ workspace_id: workspaceArg,
412
+ },
413
+ annotations: { destructiveHint: true, idempotentHint: false },
414
+ }, ({ secret_id, value, revision_id, workspace_id }, extra) => storeGuarded(`Replacing the value of ${secret_id}`, true, value, async () => {
415
+ const secret = await session.api.with(extra.signal).secrets.replace(secret_id, {
416
+ value,
417
+ revisionId: revision_id,
418
+ workspaceId: workspace_id,
419
+ });
420
+ return said(`Replaced the value of ${secret.name} (${secret.id}); it is now at revision ${secret.revision_id}. The value is not shown. Computers bound to it get it at their next start or restart, and a running one is sent it now on a best-effort basis.`, secret);
421
+ }));
422
+ server.registerTool('delete_secret', {
423
+ title: 'Delete a secret',
424
+ description: "Permanently delete a stored secret. This cannot be undone, and it is NOT refused while computers are bound to it: such a computer keeps the value it already holds, but can never be given its secrets again — its next start is refused (409), a restart or a reboot inside it stops it, and a suspended one cannot resume. Remove the binding with set_computer_secrets first (or on the stopped computer afterwards) so it can start. Deleting does not recall a value already delivered. Needs the current revision_id (a stale one is refused and nothing is deleted) and confirm: true. Owners only. Deleting frees a place under the account's limit on secrets held at once, but not under its lifetime limit on secrets created.",
425
+ inputSchema: {
426
+ secret_id: secretIdArg,
427
+ revision_id: revisionArg('Required; a stale one is refused and nothing is deleted.'),
428
+ workspace_id: workspaceArg,
429
+ confirm: z
430
+ .literal(true)
431
+ .describe('Must be true. A computer still bound to this secret cannot start again until that binding is removed.'),
432
+ },
433
+ annotations: { destructiveHint: true, idempotentHint: true },
434
+ }, ({ secret_id, revision_id, workspace_id }, extra) => storeGuarded(`Deleting ${secret_id}`, true, undefined, async () => {
435
+ try {
436
+ await session.api
437
+ .with(extra.signal)
438
+ .secrets.delete(secret_id, { revisionId: revision_id, workspaceId: workspace_id });
439
+ }
440
+ catch (err) {
441
+ if (!(err instanceof NotFoundError))
442
+ throw err;
443
+ return refused(`Nothing was deleted: no secret ${secret_id} was found${workspace_id === undefined ? ' among the account-wide secrets' : ` in workspace ${workspace_id}`}. Either it was already deleted, or it is in a scope this did not name — list_secrets says which.`);
444
+ }
445
+ return said(`Deleted ${secret_id}. Any computer still bound to it cannot start again until set_computer_secrets removes that binding.`);
202
446
  }));
203
447
  };
204
448
  //# sourceMappingURL=secrets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/tools/secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/tools/secrets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4M5C,eAAO,MAAM,iBAAiB,EAAE,SA40B/B,CAAC"}
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/tools/snapshots.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4M5C,eAAO,MAAM,iBAAiB,EAAE,SAk1B/B,CAAC"}
@@ -159,7 +159,7 @@ export const registerSnapshots = (server, session, opts) => {
159
159
  : 'The fingerprint binds a purge to the snapshots you were shown, so one that arrived after you looked cannot be swept up in it. This server cannot purge them — it was started with the lifecycle tools withheld — so the count and the size are all this answers.';
160
160
  server.registerTool('list_snapshots', {
161
161
  title: 'List snapshots',
162
- description: 'Every snapshot on this account. `orphaned` means its computer is gone: such a snapshot can still be cloned into a new computer, but cannot be restored, because a restore puts the disk back on a source that no longer exists. Read `state` ON EVERY ROW before acting, rather than on the newest one — this is one answer per hypervisor concatenated in a fixed host order that has nothing to do with time, so a capture running on one host routinely appears after finished snapshots from another. A row reading `capturing` is not a snapshot yet: the copy is still being taken and restore, clone and delete all fail on it. It carries the id the finished snapshot will keep, so this is also the route to poll after create_snapshot: the row stops reading `capturing` in place rather than being replaced under another id, and a row that vanishes without ever leaving `capturing` is a capture that failed. `pending` is the point at which it can be acted on, and `durable` means it has reached backup storage as well.',
162
+ description: 'Every snapshot on this account. `orphaned` means its computer is gone: such a snapshot can still be cloned into a new computer, but cannot be restored, because a restore puts the disk back on a source that no longer exists. `restore_available: false` means the only usable copy is on a host its computer has since left: restore_snapshot will not work on it, though it can still be cloned. Read `state` ON EVERY ROW before acting, rather than on the newest one — this is one answer per hypervisor concatenated in a fixed host order that has nothing to do with time, so a capture running on one host routinely appears after finished snapshots from another. A row reading `capturing` is not a snapshot yet: the copy is still being taken and restore, clone and delete all fail on it. It carries the id the finished snapshot will keep, so this is also the route to poll after create_snapshot: the row stops reading `capturing` in place rather than being replaced under another id, and a row that vanishes without ever leaving `capturing` is a capture that failed. `pending` is the point at which it can be acted on, and `durable` means it has reached backup storage as well.',
163
163
  inputSchema: {
164
164
  computer_id: z
165
165
  .string()
@@ -510,7 +510,7 @@ export const registerSnapshots = (server, session, opts) => {
510
510
  }));
511
511
  server.registerTool('restore_snapshot', {
512
512
  title: 'Restore a snapshot',
513
- description: `Put a snapshot back onto the computer it came from, discarding everything on that disk since. Refused on an orphaned snapshot${opts.lifecycle ? ' — clone_snapshot is what works there' : ', and this server cannot fork one either: it was started with the lifecycle tools withheld'}. It leaves the computer RUNNING whatever state it was in: restoring a stopped one boots it, which is a start like any other and is charged. A disk snapshot comes back to a fresh boot, a memory one to the captured session, and either way a suspended session the computer was holding is discarded with the disk it was saved against.`,
513
+ description: `Put a snapshot back onto the computer it came from, discarding everything on that disk since. Check \`restore_available\` in list_snapshots first: where it is false, the snapshot's usable copy is on a host its computer has left, and a restore is refused${opts.lifecycle ? ' while clone_snapshot still works' : ''}. Refused on an orphaned snapshot${opts.lifecycle ? ' — clone_snapshot is what works there' : ', and this server cannot fork one either: it was started with the lifecycle tools withheld'}. It leaves the computer RUNNING whatever state it was in: restoring a stopped one boots it, which is a start like any other and is charged. A disk snapshot comes back to a fresh boot, a memory one to the captured session, and either way a suspended session the computer was holding is discarded with the disk it was saved against.`,
514
514
  inputSchema: {
515
515
  snapshot_id: z.string(),
516
516
  confirm: z
@@ -652,7 +652,13 @@ export const registerSnapshots = (server, session, opts) => {
652
652
  ? "it was taken before copies could be given its computer's secrets"
653
653
  : raw.memory_dropped_reason === 'secrets'
654
654
  ? 'its computer held secrets and inherit_secrets was not set'
655
- : 'the platform did not resume it';
655
+ : raw.memory_dropped_reason === 'capture unrecorded'
656
+ ? 'it was taken before the platform recorded which capture each snapshot is'
657
+ : typeof raw.memory_dropped_reason === 'string' &&
658
+ raw.memory_dropped_reason.trim() !== ''
659
+ ? // An open set: a word this version does not know is shown as sent.
660
+ `the platform did not resume it (reason given: "${raw.memory_dropped_reason.trim().slice(0, 200)}")`
661
+ : 'the platform did not resume it';
656
662
  return said(`Built ${describe(c)} from ${snapshot_id}'s DISK, booting fresh — its saved session was NOT resumed, because ${why}. No secrets are bound to it${select && c.id ? '. It is selected' : ''}.`, withoutCredentials(c));
657
663
  }
658
664
  return said(`${memory === false ? 'Built' : 'Forked'} ${snapshot_id} into ${describe(c)}${memory === false ? ' from its disk' : ''}${select && c.id ? ', and selected it' : ''}.`, withoutCredentials(c));
@@ -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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"}
@@ -305,7 +305,7 @@ export const registerWebhooks = (server, session) => {
305
305
  }));
306
306
  server.registerTool('list_webhook_deliveries', {
307
307
  title: 'List a webhook’s deliveries',
308
- description: 'The newest hundred deliveries to one subscription, newest first, each with its state (pending, in_flight, delivered, exhausted or dropped), its attempt count, and the HTTP status or one-line error of its newest attempt. This is where a delivery that ran out of attempts shows up — nothing is dropped silently. Finished deliveries are kept for seven days. Each carries the event’s cursor, which is what to pass as since to the socket to read on from that point.',
308
+ description: 'The newest hundred deliveries to one subscription, newest first, each with its state (pending, in_flight, delivered, exhausted or dropped), its attempt count, and the HTTP status or one-line error of its newest attempt. This is where a delivery that ran out of attempts shows up — nothing is dropped silently. Finished deliveries are kept until seven days after they were queued; pending ones until they finish. The one-line error is an open set — `timeout`, `dns`, `refused`, `reset`, `unreachable`, `tls`, `redirect`, `address refused`, `status NNN` and others — and a dropped delivery says why it was dropped. Each carries the event’s cursor, which is what to pass as since to the socket to read on from that point.',
309
309
  inputSchema: webhookIdArg,
310
310
  annotations: { readOnlyHint: true },
311
311
  }, ({ webhook_id }, extra) => guarded(async () => {