mandala-computer-mcp 0.6.0 → 0.8.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 +268 -27
- package/dist/api.d.ts +26 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +23 -0
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +57 -1
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +114 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +253 -3
- package/dist/errors.js.map +1 -1
- package/dist/format.d.ts +73 -2
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +81 -3
- package/dist/format.js.map +1 -1
- package/dist/http.d.ts +32 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +440 -57
- package/dist/http.js.map +1 -1
- package/dist/paths.d.ts +75 -7
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +88 -12
- package/dist/paths.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- package/dist/tool-filters.d.ts +4 -4
- package/dist/tool-filters.d.ts.map +1 -1
- package/dist/tool-filters.js +13 -1
- package/dist/tool-filters.js.map +1 -1
- package/dist/tools/account.d.ts +14 -0
- package/dist/tools/account.d.ts.map +1 -1
- package/dist/tools/account.js +118 -0
- package/dist/tools/account.js.map +1 -1
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/agent.js +19 -25
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/chat.d.ts.map +1 -1
- package/dist/tools/chat.js +46 -4
- package/dist/tools/chat.js.map +1 -1
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +297 -51
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/guest.d.ts.map +1 -1
- package/dist/tools/guest.js +27 -4
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/input.d.ts +9 -0
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +247 -16
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/operations.d.ts +49 -0
- package/dist/tools/operations.d.ts.map +1 -0
- package/dist/tools/operations.js +255 -0
- package/dist/tools/operations.js.map +1 -0
- package/dist/tools/secrets.d.ts +10 -1
- package/dist/tools/secrets.d.ts.map +1 -1
- package/dist/tools/secrets.js +63 -18
- package/dist/tools/secrets.js.map +1 -1
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +54 -18
- package/dist/tools/snapshots.js.map +1 -1
- package/dist/tools/ssh.d.ts.map +1 -1
- package/dist/tools/ssh.js +19 -2
- package/dist/tools/ssh.js.map +1 -1
- package/dist/tools/templates.js +2 -2
- package/dist/tools/templates.js.map +1 -1
- package/dist/tools/webhooks.js +1 -1
- package/dist/tools/webhooks.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { IDEMPOTENCY_KEY_PATTERN } from '../api.js';
|
|
3
|
+
import { CancelledError, idempotencyAdvice, isTransientForPoll, keyedOutcomeUnknown, platformAnsweredFailure, resendAfterSpentKey, resendUnseenByRead, } from '../errors.js';
|
|
4
|
+
import { failed, guarded, operationIdOf, refused, said, unavailableAdvice } from '../format.js';
|
|
5
|
+
import * as P from '../paths.js';
|
|
6
|
+
import { heartbeat, POLL_MS, pollDelay, sleep } from '../poll.js';
|
|
7
|
+
import { label, metadata, metadataCall } from './directory.js';
|
|
8
|
+
import { readAnnotations } from './results.js';
|
|
9
|
+
/**
|
|
10
|
+
* One lifecycle operation (platform OPL-5055), projected to its public fields.
|
|
11
|
+
*
|
|
12
|
+
* `kind` and `state` are open strings: the platform adds kinds, and one this
|
|
13
|
+
* server does not know is a kind, not a malformed answer. Strict on the error's
|
|
14
|
+
* shape, because a `failed` operation relayed without its reason is a failure
|
|
15
|
+
* with nothing to say about why.
|
|
16
|
+
*/
|
|
17
|
+
const operation = z.object({
|
|
18
|
+
id: label,
|
|
19
|
+
kind: label,
|
|
20
|
+
computer_id: z.string().nullable(),
|
|
21
|
+
state: label,
|
|
22
|
+
error: z.object({ code: z.string(), message: z.string() }).nullable(),
|
|
23
|
+
// The key the call that started it was sent with (OPL-5127): null for one
|
|
24
|
+
// sent without, and absent from a platform that predates the field.
|
|
25
|
+
idempotency_key: z.string().nullable().optional(),
|
|
26
|
+
created_at: z.string(),
|
|
27
|
+
updated_at: z.string(),
|
|
28
|
+
finished_at: z.string().nullable(),
|
|
29
|
+
});
|
|
30
|
+
const page = z.object({
|
|
31
|
+
operations: z.array(operation),
|
|
32
|
+
next_cursor: z.string().min(1).nullable(),
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* The `idempotency_key` a lifecycle tool takes (platform OPL-5127), checked
|
|
36
|
+
* against the platform's rule here so a key it would refuse never leaves.
|
|
37
|
+
*/
|
|
38
|
+
const keyArg = z
|
|
39
|
+
.string()
|
|
40
|
+
.regex(IDEMPOTENCY_KEY_PATTERN, 'idempotency_key must be 1 to 255 characters, each printable ASCII other than a space')
|
|
41
|
+
.optional();
|
|
42
|
+
const KEY_FIRST = "Optional. Omit it on a first attempt: a fresh key is sent for you, and an answer that is lost names it. Pass the key such an answer named to send the SAME call again without it being done twice — the platform answers with the first call's result, or says it is still running. After a 5xx that names no operation_id, send the same call again with the same key: nothing may have been done, and the platform either carries it out (the key was released) or answers idempotency_outcome_unknown. After idempotency_outcome_unknown, or a 5xx that names an operation_id, the key is spent (resending with it answers idempotency_outcome_unknown)";
|
|
43
|
+
const KEY_LAST = ' Keys last 24 hours; the same key with different arguments is refused.';
|
|
44
|
+
/**
|
|
45
|
+
* The key on a step a read of the computer shows: start, stop, suspend,
|
|
46
|
+
* delete, move, update_computer (not restart: see
|
|
47
|
+
* {@link restartIdempotencyKeyArg}). See {@link resendAfterSpentKey}.
|
|
48
|
+
*/
|
|
49
|
+
export const idempotencyKeyArg = keyArg.describe(`${KEY_FIRST}: read get_computer (and get_operation when the error named an operation_id: succeeded means it happened, running means wait on it, pending alone is no reason to wait), and if the step did not take effect, send the call again with a new key, or none.${KEY_LAST}`);
|
|
50
|
+
/**
|
|
51
|
+
* The key on restart_computer, whose step no read of the computer shows: it
|
|
52
|
+
* reads running before and after a reset. So the route never conditions a
|
|
53
|
+
* resend on get_computer; see {@link resendAfterSpentKey}.
|
|
54
|
+
*/
|
|
55
|
+
export const restartIdempotencyKeyArg = keyArg.describe(`${KEY_FIRST}. A restart cannot be seen in get_computer (it reads running before and after one), so do not read the computer to decide: read get_operation with the operation_id the error named, or list_operations with the key. Succeeded means the restart happened; running means wait on it. Anything else leaves it possibly done, so ask the user before sending it again with a new key, or none — a second restart resets the guest again.${KEY_LAST}`);
|
|
56
|
+
/**
|
|
57
|
+
* The key on a call that makes a new computer or overwrites a disk: create,
|
|
58
|
+
* clone, clone_snapshot, restore_snapshot. A resend after a spent key waits for
|
|
59
|
+
* the operation to be final. See {@link resendAfterSpentKey}.
|
|
60
|
+
*/
|
|
61
|
+
export const buildIdempotencyKeyArg = keyArg.describe(`${KEY_FIRST}, and the call may still be under way: read its operation first (get_operation with the operation_id the error named, or list_operations with the key), wait while it is pending or running and do not resend meanwhile, and send the call with a new key (or none) only once the operation is final as failed or not found AND get_computer shows the step did not happen.${KEY_LAST}`);
|
|
62
|
+
/** The status line's advice beside the unsent-refusal resend paragraph. */
|
|
63
|
+
const UNSENT_REFUSAL_ADVICE = 'the platform could not carry this out right now; see below for how to resend it';
|
|
64
|
+
/**
|
|
65
|
+
* The answer to a lifecycle tool call that failed, with what its key means.
|
|
66
|
+
*
|
|
67
|
+
* The platform's own `idempotency_*` refusals get their sentence instead of the
|
|
68
|
+
* generic `reason` advice. A failure whose outcome is unknown ENDS with the
|
|
69
|
+
* retry that cannot do the step twice, and which one depends on who answered:
|
|
70
|
+
*
|
|
71
|
+
* - The answer never arrived, the keyed call is still running, or a proxy in
|
|
72
|
+
* front of the platform answered: the same tool, with the same key.
|
|
73
|
+
* - The platform itself answered a `5xx` naming no `operation_id`: a refusal
|
|
74
|
+
* given before the call was sent anywhere names none, and releases the key
|
|
75
|
+
* (platform OPL-5310), so the same key is the resend. It is also safe when
|
|
76
|
+
* the key was not released after all: that is answered
|
|
77
|
+
* `idempotency_outcome_unknown`, whose own advice is the read below.
|
|
78
|
+
* - The platform itself answered a `5xx` naming an `operation_id`: it has
|
|
79
|
+
* settled that key as lost (OPL-5304), so the same key can only be answered
|
|
80
|
+
* `idempotency_outcome_unknown`. The next step is a read, then a resend
|
|
81
|
+
* with a new key or none if the step did not happen. Which read depends on
|
|
82
|
+
* the tool (see {@link resendAfterSpentKey}): a create, clone or restore
|
|
83
|
+
* waits for its operation to be final, since a read of the computer made
|
|
84
|
+
* at once cannot see one still landing; a restart, which no read of the
|
|
85
|
+
* computer shows, is read off its operation and otherwise left to the user;
|
|
86
|
+
* every other step is read off the computer, since its operation stays
|
|
87
|
+
* `pending` for an hour regardless.
|
|
88
|
+
*/
|
|
89
|
+
export function keyedFailure(err, tool, what, key) {
|
|
90
|
+
const advice = idempotencyAdvice(err, tool);
|
|
91
|
+
const unsentRefusal = !keyedOutcomeUnknown(err) &&
|
|
92
|
+
platformAnsweredFailure(err) &&
|
|
93
|
+
!operationIdOf(err.body);
|
|
94
|
+
// The unsent-refusal paragraph below says how to resend, so the status line
|
|
95
|
+
// must not also carry a 503's read-the-state-first sentence: two routes in
|
|
96
|
+
// one answer, and the read-first one names no key, which is the resend that
|
|
97
|
+
// could do it twice (OPL-5437). Only that sentence is replaced; any other
|
|
98
|
+
// 5xx keeps the platform's own word.
|
|
99
|
+
const result = unsentRefusal && unavailableAdvice(err) !== undefined
|
|
100
|
+
? failed(err, advice === undefined, UNSENT_REFUSAL_ADVICE)
|
|
101
|
+
: failed(err, advice === undefined);
|
|
102
|
+
const [first, ...rest] = result.content;
|
|
103
|
+
if (first?.type !== 'text')
|
|
104
|
+
return result;
|
|
105
|
+
let text = first.text;
|
|
106
|
+
if (advice)
|
|
107
|
+
text += `\n\nAbout its idempotency_key: ${advice}.`;
|
|
108
|
+
if (keyedOutcomeUnknown(err)) {
|
|
109
|
+
text += `\n\nTo retry without risking a second ${what}, call ${tool} again with idempotency_key "${key}".`;
|
|
110
|
+
}
|
|
111
|
+
else if (unsentRefusal) {
|
|
112
|
+
text +=
|
|
113
|
+
`\n\nThe platform answered this itself and named no operation, so nothing may have been done: an answer like this is usually a refusal given before the call was sent anywhere, which releases idempotency_key "${key}". ` +
|
|
114
|
+
`Call ${tool} again with the SAME idempotency_key "${key}" (after a short wait on a busy or unavailable answer): if the key was released the platform carries the call out, and if not it answers idempotency_outcome_unknown and says what to read before anything else. ` +
|
|
115
|
+
`Do not switch to a new key or none for this resend — that is the one that could make a second ${what}.`;
|
|
116
|
+
}
|
|
117
|
+
else if (platformAnsweredFailure(err)) {
|
|
118
|
+
const op = operationIdOf(err.body);
|
|
119
|
+
text +=
|
|
120
|
+
`\n\nThe platform answered this itself, so whether it took effect is unknown — its host may still be carrying out the ${what} — and it has settled idempotency_key "${key}": resending with that key will answer idempotency_outcome_unknown, not do it. ` +
|
|
121
|
+
`${resendAfterSpentKey(tool, op, key, `call ${tool} again`)}.` +
|
|
122
|
+
(resendUnseenByRead(tool) ? '' : ` That way there is no second ${what}.`);
|
|
123
|
+
}
|
|
124
|
+
return { ...result, content: [{ ...first, text }, ...rest] };
|
|
125
|
+
}
|
|
126
|
+
const operationIdArg = z
|
|
127
|
+
.string()
|
|
128
|
+
.min(1)
|
|
129
|
+
.describe('The operation_id a lifecycle tool answered: a create, a clone, a start, stop, suspend or restart, a resize, a snapshot restore, or a move.');
|
|
130
|
+
/** The sentence every answer about an operation starts with. */
|
|
131
|
+
const line = (op) => `${op.id}: ${op.kind}${op.computer_id ? ` of ${op.computer_id}` : ''} — ${op.state}` +
|
|
132
|
+
(op.error ? ` (${op.error.code}: ${op.error.message})` : '') +
|
|
133
|
+
(op.idempotency_key ? ` [idempotency_key ${JSON.stringify(op.idempotency_key)}]` : '');
|
|
134
|
+
/**
|
|
135
|
+
* Said beside every `succeeded`, because it is the misreading that costs the
|
|
136
|
+
* most: a model that reads a succeeded start as a desktop that answers drives
|
|
137
|
+
* a guest that is still booting.
|
|
138
|
+
*/
|
|
139
|
+
const NOT_BOOTED = 'succeeded means the platform finished its step, not that the desktop has booted: wait_for_computer is still the wait for a desktop that answers.';
|
|
140
|
+
export const registerOperations = (server, session) => {
|
|
141
|
+
server.registerTool('get_operation', {
|
|
142
|
+
title: 'Read a lifecycle operation',
|
|
143
|
+
description: `One lifecycle operation: what an accepted create, clone, start, stop, suspend, restart, snapshot restore, resize, move or delete started, and where it got to. A call made with an idempotency_key is recorded pending before it is carried out, so it can be found even when its answer was lost; one the platform never heard end is failed with error.code lost. state is pending or running while live, and succeeded or failed once final; a failed one carries error.code (start_failed, build_failed, computer_gone, move_failed, resize_not_applied, lost, and more may be added) and a sentence. Most are already succeeded when the call that started them answered; a clone is running until its disk is copied, and a move until it lands. ${NOT_BOOTED} An id this key cannot see, or one that has expired, is not found.`,
|
|
144
|
+
inputSchema: { operation_id: operationIdArg },
|
|
145
|
+
annotations: readAnnotations,
|
|
146
|
+
}, ({ operation_id }, extra) => metadataCall(async () => {
|
|
147
|
+
const op = metadata(operation, await session.api.json('GET', P.operation(operation_id), { signal: extra.signal }));
|
|
148
|
+
return said(line(op), op);
|
|
149
|
+
}));
|
|
150
|
+
server.registerTool('list_operations', {
|
|
151
|
+
title: 'List lifecycle operations',
|
|
152
|
+
description: "The lifecycle operations this account's API calls started, newest first, a page at a time: kind, computer_id, state, error and timestamps. computer_id keeps one computer's (for a clone, the new computer's) — omitted, it is the whole account's, not the selected computer's. Pass next_cursor back as cursor for the next page; it is null on the last. Calls made from the dashboard record none.",
|
|
153
|
+
inputSchema: {
|
|
154
|
+
computer_id: z
|
|
155
|
+
.string()
|
|
156
|
+
.min(1)
|
|
157
|
+
.optional()
|
|
158
|
+
.describe("Only this computer's operations. Not defaulted to the selected computer."),
|
|
159
|
+
limit: z.number().int().min(1).max(100).optional().describe('Page size; default 20.'),
|
|
160
|
+
cursor: z.string().min(1).optional().describe('The next_cursor of the page before.'),
|
|
161
|
+
idempotency_key: z
|
|
162
|
+
.string()
|
|
163
|
+
.regex(IDEMPOTENCY_KEY_PATTERN, 'idempotency_key must be 1 to 255 characters, each printable ASCII other than a space')
|
|
164
|
+
.optional()
|
|
165
|
+
.describe("Only the operation the lifecycle call sent with this idempotency_key recorded — found even when that call's answer was lost — within the key's 24 hours."),
|
|
166
|
+
},
|
|
167
|
+
annotations: readAnnotations,
|
|
168
|
+
}, ({ computer_id, limit, cursor, idempotency_key }, extra) => metadataCall(async () => {
|
|
169
|
+
const data = metadata(page, await session.api.json('GET', P.OPERATIONS, {
|
|
170
|
+
query: { computer_id, limit, cursor, idempotency_key },
|
|
171
|
+
signal: extra.signal,
|
|
172
|
+
}));
|
|
173
|
+
if (!data.operations.length)
|
|
174
|
+
return said('No operations.', data);
|
|
175
|
+
return said(data.operations.map(line).join('\n') +
|
|
176
|
+
(data.next_cursor
|
|
177
|
+
? `\n\nMore: pass cursor=${data.next_cursor} for the next page.`
|
|
178
|
+
: ''), data);
|
|
179
|
+
}));
|
|
180
|
+
server.registerTool('wait_for_operation', {
|
|
181
|
+
title: 'Wait for a lifecycle operation to finish',
|
|
182
|
+
description: `Poll a lifecycle operation until it is final. Answers once it has succeeded; a failed one is an error carrying error.code and the platform's sentence (resize_not_applied is a move that landed at the old size: the computer has moved, and update_computer finishes the resize). ${NOT_BOOTED} Most operations are already final when their call answers, so this is for a clone (running until its disk is copied) or a move. Reports progress while it waits, so a client that sends a progressToken and sets resetTimeoutOnProgress can hold the request open; get_operation reads it if the wait runs out.`,
|
|
183
|
+
inputSchema: {
|
|
184
|
+
operation_id: operationIdArg,
|
|
185
|
+
timeout_s: z
|
|
186
|
+
.number()
|
|
187
|
+
.int()
|
|
188
|
+
.min(1)
|
|
189
|
+
.max(900)
|
|
190
|
+
.default(300)
|
|
191
|
+
.describe('How long to wait before handing back and letting you poll.'),
|
|
192
|
+
},
|
|
193
|
+
annotations: readAnnotations,
|
|
194
|
+
}, ({ operation_id, timeout_s }, extra) => guarded(async () => {
|
|
195
|
+
const path = P.operation(operation_id);
|
|
196
|
+
const untilDeadline = AbortSignal.timeout(timeout_s * 1000);
|
|
197
|
+
const signal = extra.signal
|
|
198
|
+
? AbortSignal.any([extra.signal, untilDeadline])
|
|
199
|
+
: untilDeadline;
|
|
200
|
+
const api = session.api.with(signal);
|
|
201
|
+
const beat = heartbeat(extra, server.server);
|
|
202
|
+
let last;
|
|
203
|
+
let blocked;
|
|
204
|
+
try {
|
|
205
|
+
while (!untilDeadline.aborted) {
|
|
206
|
+
if (extra.signal?.aborted) {
|
|
207
|
+
return refused(`Cancelled while waiting for ${operation_id}. The operation is not stopped by that; get_operation says where it got to.`, last);
|
|
208
|
+
}
|
|
209
|
+
let raw;
|
|
210
|
+
try {
|
|
211
|
+
raw = await api.json('GET', path);
|
|
212
|
+
}
|
|
213
|
+
catch (err) {
|
|
214
|
+
if (extra.signal?.aborted)
|
|
215
|
+
continue;
|
|
216
|
+
if (err instanceof CancelledError) {
|
|
217
|
+
if (untilDeadline.aborted)
|
|
218
|
+
break;
|
|
219
|
+
blocked = err.message;
|
|
220
|
+
await sleep(POLL_MS, signal);
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
if (!isTransientForPoll(err))
|
|
224
|
+
throw err;
|
|
225
|
+
blocked = err instanceof Error ? err.message : String(err);
|
|
226
|
+
await beat(`${operation_id} — the platform could not be asked: ${blocked}`);
|
|
227
|
+
await sleep(pollDelay(err), signal);
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
const op = metadata(operation, raw);
|
|
231
|
+
last = op;
|
|
232
|
+
blocked = undefined;
|
|
233
|
+
if (op.state === 'succeeded')
|
|
234
|
+
return said(`${line(op)}.\n\n${NOT_BOOTED}`, op);
|
|
235
|
+
if (op.state === 'failed')
|
|
236
|
+
return refused(`${line(op)}.`, op);
|
|
237
|
+
// A state this server does not know, on an operation the platform
|
|
238
|
+
// says has FINISHED, is a final state added after it was written.
|
|
239
|
+
// Polling it would run to the deadline and then call it live.
|
|
240
|
+
if (op.finished_at !== null && op.state !== 'pending' && op.state !== 'running') {
|
|
241
|
+
return refused(`${line(op)}. It has finished in a state this server does not know; read it with get_operation.`, op);
|
|
242
|
+
}
|
|
243
|
+
await beat(line(op));
|
|
244
|
+
await sleep(POLL_MS, signal);
|
|
245
|
+
}
|
|
246
|
+
return refused(blocked
|
|
247
|
+
? `Gave up after ${timeout_s}s; the platform could not be asked — the last attempt said: ${blocked}. The operation is not stopped by that; get_operation says where it got to.`
|
|
248
|
+
: `Still ${last?.state ?? 'live'} after ${timeout_s}s. The operation is not stopped by that; wait again, or read it with get_operation.`, last);
|
|
249
|
+
}
|
|
250
|
+
finally {
|
|
251
|
+
await beat.stop();
|
|
252
|
+
}
|
|
253
|
+
}));
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/tools/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAEL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrE,0EAA0E;IAC1E,oEAAoE;IACpE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,GAAG,CAAC;KACb,MAAM,EAAE;KACR,KAAK,CACJ,uBAAuB,EACvB,sFAAsF,CACvF;KACA,QAAQ,EAAE,CAAC;AAEd,MAAM,SAAS,GACb,4nBAA4nB,CAAC;AAC/nB,MAAM,QAAQ,GAAG,wEAAwE,CAAC;AAE1F;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAC9C,GAAG,SAAS,6PAA6P,QAAQ,EAAE,CACpR,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CACrD,GAAG,SAAS,0aAA0a,QAAQ,EAAE,CACjc,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,QAAQ,CACnD,GAAG,SAAS,8WAA8W,QAAQ,EAAE,CACrY,CAAC;AAEF,2EAA2E;AAC3E,MAAM,qBAAqB,GACzB,iFAAiF,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAY,EACZ,IAAY,EACZ,IAAY,EACZ,GAAW;IAEX,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GACjB,CAAC,mBAAmB,CAAC,GAAG,CAAC;QACzB,uBAAuB,CAAC,GAAG,CAAC;QAC5B,CAAC,aAAa,CAAE,GAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,qCAAqC;IACrC,MAAM,MAAM,GACV,aAAa,IAAI,iBAAiB,CAAC,GAAe,CAAC,KAAK,SAAS;QAC/D,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,EAAE,qBAAqB,CAAC;QAC1D,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACxC,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,IAAI,MAAM;QAAE,IAAI,IAAI,kCAAkC,MAAM,GAAG,CAAC;IAChE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,IAAI,yCAAyC,IAAI,UAAU,IAAI,gCAAgC,GAAG,IAAI,CAAC;IAC7G,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,IAAI;YACF,kNAAkN,GAAG,KAAK;gBAC1N,QAAQ,IAAI,yCAAyC,GAAG,mNAAmN;gBAC3Q,iGAAiG,IAAI,GAAG,CAAC;IAC7G,CAAC;SAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,aAAa,CAAE,GAAgB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI;YACF,wHAAwH,IAAI,0CAA0C,GAAG,iFAAiF;gBAC1P,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC,GAAG;gBAC9D,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,4IAA4I,CAC7I,CAAC;AAEJ,gEAAgE;AAChE,MAAM,IAAI,GAAG,CAAC,EAAa,EAAU,EAAE,CACrC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE;IACpF,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzF;;;;GAIG;AACH,MAAM,UAAU,GACd,kJAAkJ,CAAC;AAErJ,MAAM,CAAC,MAAM,kBAAkB,GAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC/D,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,0tBAA0tB,UAAU,oEAAoE;QACrzB,WAAW,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE;QAC7C,WAAW,EAAE,eAAe;KAC7B,EACD,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAC1B,YAAY,CAAC,KAAK,IAAI,EAAE;QACtB,MAAM,EAAE,GAAG,QAAQ,CACjB,SAAS,EACT,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CACnF,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,wYAAwY;QAC1Y,WAAW,EAAE;YACX,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,0EAA0E,CAAC;YACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACrF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACpF,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,KAAK,CACJ,uBAAuB,EACvB,sFAAsF,CACvF;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,0JAA0J,CAC3J;SACJ;QACD,WAAW,EAAE,eAAe;KAC7B,EACD,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,CACzD,YAAY,CAAC,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG,QAAQ,CACnB,IAAI,EACJ,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE;YAC1C,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE;YACtD,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,IAAI,CACT,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,CAAC,IAAI,CAAC,WAAW;gBACf,CAAC,CAAC,yBAAyB,IAAI,CAAC,WAAW,qBAAqB;gBAChE,CAAC,CAAC,EAAE,CAAC,EACT,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,0CAA0C;QACjD,WAAW,EAAE,sRAAsR,UAAU,kTAAkT;QAC/lB,WAAW,EAAE;YACX,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,OAAO,CAAC,GAAG,CAAC;iBACZ,QAAQ,CAAC,4DAA4D,CAAC;SAC1E;QACD,WAAW,EAAE,eAAe;KAC7B,EACD,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,CACrC,OAAO,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;YACzB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAChD,CAAC,CAAC,aAAa,CAAC;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,IAA2B,CAAC;QAChC,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC1B,OAAO,OAAO,CACZ,+BAA+B,YAAY,6EAA6E,EACxH,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO;wBAAE,SAAS;oBACpC,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;wBAClC,IAAI,aAAa,CAAC,OAAO;4BAAE,MAAM;wBACjC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;wBACtB,MAAM,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBAC7B,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;wBAAE,MAAM,GAAG,CAAC;oBACxC,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM,IAAI,CAAC,GAAG,YAAY,uCAAuC,OAAO,EAAE,CAAC,CAAC;oBAC5E,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBACpC,SAAS;gBACX,CAAC;gBACD,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACpC,IAAI,GAAG,EAAE,CAAC;gBACV,OAAO,GAAG,SAAS,CAAC;gBACpB,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW;oBAAE,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/E,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ;oBAAE,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC9D,kEAAkE;gBAClE,kEAAkE;gBAClE,8DAA8D;gBAC9D,IAAI,EAAE,CAAC,WAAW,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAChF,OAAO,OAAO,CACZ,GAAG,IAAI,CAAC,EAAE,CAAC,qFAAqF,EAChG,EAAE,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,OAAO,CACZ,OAAO;gBACL,CAAC,CAAC,iBAAiB,SAAS,+DAA+D,OAAO,6EAA6E;gBAC/K,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,IAAI,MAAM,UAAU,SAAS,qFAAqF,EAC1I,IAAI,CACL,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CACL,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/tools/secrets.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import { type Secret } from '../secret-store.js';
|
|
3
4
|
import type { Registrar } from './types.js';
|
|
4
5
|
/**
|
|
5
6
|
* Secrets: the account's store of named values, and which of them each
|
|
@@ -8,7 +9,7 @@ import type { Registrar } from './types.js';
|
|
|
8
9
|
* The BINDINGS (get/set_computer_secrets) carry only ids, revision ids, env
|
|
9
10
|
* names and file names — no value crosses those routes in either direction.
|
|
10
11
|
*
|
|
11
|
-
* The STORE (list/get/create/replace/delete_secret) is where a value goes in,
|
|
12
|
+
* The STORE (list/get/create/set/replace/delete_secret) is where a value goes in,
|
|
12
13
|
* and only in: the platform never answers one, the decoded answers here carry
|
|
13
14
|
* none, and a tool that took a value never repeats it — not in a success, not
|
|
14
15
|
* in a refusal. See {@link withoutValue}.
|
|
@@ -62,6 +63,14 @@ export declare function secretBindingsSchema(revision: boolean): z.ZodEffects<z.
|
|
|
62
63
|
export declare const SECRET_VALUE_MAX_BYTES = 4096;
|
|
63
64
|
/** The published ceiling on a name, in characters. */
|
|
64
65
|
export declare const SECRET_NAME_MAX_CHARS = 60;
|
|
66
|
+
/** How many times set_secret reads the scope again after a conflict. */
|
|
67
|
+
export declare const SECRET_SET_RETRIES = 3;
|
|
68
|
+
/**
|
|
69
|
+
* The secret called `name` in a listing of one scope, or `undefined`: trimmed
|
|
70
|
+
* as the platform trims names, and ignoring ASCII case and nothing else, which
|
|
71
|
+
* is how it keeps them unique — `openai_api_key` is taken when `OPENAI_API_KEY` is.
|
|
72
|
+
*/
|
|
73
|
+
export declare function namedSecret(secrets: readonly Secret[], name: string): Secret | undefined;
|
|
65
74
|
/**
|
|
66
75
|
* A tool result with every occurrence of a value taken out.
|
|
67
76
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/tools/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/tools/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAIL,KAAK,MAAM,EAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sDAAsD;AACtD,eAAO,MAAM,SAAS,oCAAoC,CAAC;AAE3D,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAiBlC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;KA0DrD;AAwFD,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAiDxC,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxF;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAclF;AAsED,eAAO,MAAM,eAAe,EAAE,SAqR7B,CAAC"}
|
package/dist/tools/secrets.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { APIError, MandalaError, NotFoundError, statusAdvice } from '../errors.js';
|
|
2
|
+
import { APIError, ConflictError, MandalaError, NotFoundError, statusAdvice } from '../errors.js';
|
|
3
3
|
import { guarded, refused, said, unavailableAdvice } from '../format.js';
|
|
4
4
|
import * as P from '../paths.js';
|
|
5
5
|
import { DOCUMENTED_REASONS, isRequestId, overlaps, } from '../secret-store.js';
|
|
@@ -10,7 +10,7 @@ import { DOCUMENTED_REASONS, isRequestId, overlaps, } from '../secret-store.js';
|
|
|
10
10
|
* The BINDINGS (get/set_computer_secrets) carry only ids, revision ids, env
|
|
11
11
|
* names and file names — no value crosses those routes in either direction.
|
|
12
12
|
*
|
|
13
|
-
* The STORE (list/get/create/replace/delete_secret) is where a value goes in,
|
|
13
|
+
* The STORE (list/get/create/set/replace/delete_secret) is where a value goes in,
|
|
14
14
|
* and only in: the platform never answers one, the decoded answers here carry
|
|
15
15
|
* none, and a tool that took a value never repeats it — not in a success, not
|
|
16
16
|
* in a refusal. See {@link withoutValue}.
|
|
@@ -154,13 +154,11 @@ const TIMING = 'The new bindings reach the guest at its NEXT START OR RESTART: a
|
|
|
154
154
|
/**
|
|
155
155
|
* What reaches a running computer without a restart: a replaced VALUE.
|
|
156
156
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
* (OPL-5028)
|
|
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.
|
|
157
|
+
* Every exec, plain (as root) or with `desktop: true`, runs with the bound
|
|
158
|
+
* environment variables as they are at that moment on an image that supports
|
|
159
|
+
* it (platform OPL-5028, shipped).
|
|
162
160
|
*/
|
|
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
|
|
161
|
+
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 within seconds, and every exec — plain or with desktop: true — runs with the bound variables as they are at that moment, so the next exec sees the new value; programs already running — the desktop session among them — keep the value they started with until a restart (older images wait for the restart). A file newly bound or renamed waits for the restart either way.";
|
|
164
162
|
/** A secret in a line: what a model recognises it by, and the revision a change needs. Never a value. */
|
|
165
163
|
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
164
|
const STORE_LEGEND = 'name id revision scope last delivery; values are never shown';
|
|
@@ -190,6 +188,29 @@ const workspaceArg = z
|
|
|
190
188
|
.refine(isId, 'workspace_id must not be empty or have spaces around it')
|
|
191
189
|
.optional()
|
|
192
190
|
.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.');
|
|
191
|
+
/** A secret's name as a tool argument, checked for what the platform would refuse. */
|
|
192
|
+
const nameArg = z
|
|
193
|
+
.string()
|
|
194
|
+
.min(1, 'name must not be empty')
|
|
195
|
+
.refine((v) => [...v].length <= SECRET_NAME_MAX_CHARS, {
|
|
196
|
+
message: `name must be at most ${SECRET_NAME_MAX_CHARS} characters`,
|
|
197
|
+
})
|
|
198
|
+
.refine((v) => !/\p{Cc}/u.test(v), {
|
|
199
|
+
message: 'name must not contain control characters',
|
|
200
|
+
})
|
|
201
|
+
.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.`);
|
|
202
|
+
/** How many times set_secret reads the scope again after a conflict. */
|
|
203
|
+
export const SECRET_SET_RETRIES = 3;
|
|
204
|
+
/**
|
|
205
|
+
* The secret called `name` in a listing of one scope, or `undefined`: trimmed
|
|
206
|
+
* as the platform trims names, and ignoring ASCII case and nothing else, which
|
|
207
|
+
* is how it keeps them unique — `openai_api_key` is taken when `OPENAI_API_KEY` is.
|
|
208
|
+
*/
|
|
209
|
+
export function namedSecret(secrets, name) {
|
|
210
|
+
const fold = (text) => text.trim().replace(/[A-Z]/g, (c) => c.toLowerCase());
|
|
211
|
+
const wanted = fold(name);
|
|
212
|
+
return secrets.find((s) => fold(s.name) === wanted);
|
|
213
|
+
}
|
|
193
214
|
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
215
|
/**
|
|
195
216
|
* A tool result with every occurrence of a value taken out.
|
|
@@ -381,16 +402,7 @@ export const registerSecrets = (server, session) => {
|
|
|
381
402
|
title: 'Store a new secret',
|
|
382
403
|
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
404
|
inputSchema: {
|
|
384
|
-
name:
|
|
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.`),
|
|
405
|
+
name: nameArg,
|
|
394
406
|
value: valueArg('The value'),
|
|
395
407
|
workspace_id: workspaceArg.describe('The workspace it belongs to. Leave it out for an account-wide secret.'),
|
|
396
408
|
},
|
|
@@ -401,6 +413,39 @@ export const registerSecrets = (server, session) => {
|
|
|
401
413
|
.secrets.create({ name, value, workspaceId: workspace_id });
|
|
402
414
|
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
415
|
}));
|
|
416
|
+
server.registerTool('set_secret', {
|
|
417
|
+
title: 'Store or replace a secret by name',
|
|
418
|
+
description: `Make a name hold a value: create the secret if the scope has no secret by that name, or replace its value if it has — the one to reach for when either will do. It reads the scope first and replaces against the revision it read; names match ignoring ASCII case, as the platform keeps them unique. If the secret is created or replaced by someone else between the read and the write, it reads again and tries again, up to ${SECRET_SET_RETRIES} times. The value is NEVER shown back. Owners only. A new name counts against the account's limits on secrets held and created (list_secrets reports both). ${LIVE_VALUES} NOT safe to repeat blind when the answer is lost: list_secrets says whether the change landed.`,
|
|
419
|
+
inputSchema: {
|
|
420
|
+
name: nameArg,
|
|
421
|
+
value: valueArg('The value'),
|
|
422
|
+
workspace_id: workspaceArg.describe('The scope to look in, and to create in. Leave it out for the account-wide secrets.'),
|
|
423
|
+
},
|
|
424
|
+
annotations: { destructiveHint: true, idempotentHint: false },
|
|
425
|
+
}, ({ name, value, workspace_id }, extra) => storeGuarded(`Setting ${name.trim()}`, true, value, async () => {
|
|
426
|
+
const store = session.api.with(extra.signal).secrets;
|
|
427
|
+
for (let attempt = 0;; attempt++) {
|
|
428
|
+
const found = namedSecret((await store.list({ workspaceId: workspace_id })).secrets, name);
|
|
429
|
+
try {
|
|
430
|
+
const secret = found
|
|
431
|
+
? await store.replace(found.id, {
|
|
432
|
+
value,
|
|
433
|
+
revisionId: found.revision_id,
|
|
434
|
+
workspaceId: workspace_id,
|
|
435
|
+
})
|
|
436
|
+
: await store.create({ name: name.trim(), value, workspaceId: workspace_id });
|
|
437
|
+
const scope = secret.workspace_id === null ? 'account-wide' : `in workspace ${secret.workspace_id}`;
|
|
438
|
+
return said(found
|
|
439
|
+
? `Replaced the value of ${secret.name} (${secret.id}), ${scope}; 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.`
|
|
440
|
+
: `Stored ${secret.name} as ${secret.id}, revision ${secret.revision_id}, ${scope}. The value is not shown and cannot be read back. Bind it to a computer with set_computer_secrets.`, { ...secret, created: !found });
|
|
441
|
+
}
|
|
442
|
+
catch (err) {
|
|
443
|
+
// A revision that moved, or a name somebody else just took: read again.
|
|
444
|
+
if (!(err instanceof ConflictError) || attempt >= SECRET_SET_RETRIES)
|
|
445
|
+
throw err;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
}));
|
|
404
449
|
server.registerTool('replace_secret', {
|
|
405
450
|
title: "Replace a secret's value",
|
|
406
451
|
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.`,
|
|
@@ -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":"
|
|
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,SA42B/B,CAAC"}
|