mandala-computer-mcp 0.7.0 → 0.9.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 +232 -29
- package/dist/api.d.ts +6 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +13 -3
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +76 -1
- package/dist/cli.js.map +1 -1
- package/dist/credentials.d.ts +55 -0
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +104 -2
- package/dist/credentials.js.map +1 -1
- package/dist/errors.d.ts +57 -16
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +112 -42
- package/dist/errors.js.map +1 -1
- package/dist/format.d.ts +17 -2
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +27 -4
- package/dist/format.js.map +1 -1
- package/dist/http.d.ts +58 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +713 -57
- package/dist/http.js.map +1 -1
- package/dist/paths.d.ts +18 -11
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +31 -14
- package/dist/paths.js.map +1 -1
- package/dist/secret-store.d.ts +2 -1
- package/dist/secret-store.d.ts.map +1 -1
- package/dist/secret-store.js +6 -1
- package/dist/secret-store.js.map +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +24 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +6 -0
- package/dist/session.js.map +1 -1
- package/dist/stdio.d.ts.map +1 -1
- package/dist/stdio.js +9 -1
- package/dist/stdio.js.map +1 -1
- package/dist/tool-filters.d.ts +1 -1
- package/dist/tool-filters.d.ts.map +1 -1
- package/dist/tool-filters.js +3 -0
- package/dist/tool-filters.js.map +1 -1
- package/dist/tools/account.d.ts.map +1 -1
- package/dist/tools/account.js +80 -6
- package/dist/tools/account.js.map +1 -1
- package/dist/tools/agent.js +12 -23
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/chat.d.ts.map +1 -1
- package/dist/tools/chat.js +56 -7
- package/dist/tools/chat.js.map +1 -1
- package/dist/tools/computers.d.ts.map +1 -1
- package/dist/tools/computers.js +93 -8
- package/dist/tools/computers.js.map +1 -1
- package/dist/tools/guest.d.ts.map +1 -1
- package/dist/tools/guest.js +28 -3
- package/dist/tools/guest.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +98 -48
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/operations.d.ts +7 -2
- package/dist/tools/operations.d.ts.map +1 -1
- package/dist/tools/operations.js +29 -6
- package/dist/tools/operations.js.map +1 -1
- package/dist/tools/secrets.d.ts.map +1 -1
- package/dist/tools/secrets.js +80 -25
- package/dist/tools/secrets.js.map +1 -1
- package/dist/tools/snapshots.d.ts.map +1 -1
- package/dist/tools/snapshots.js +21 -8
- package/dist/tools/snapshots.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/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
package/dist/tools/operations.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { IDEMPOTENCY_KEY_PATTERN } from '../api.js';
|
|
3
3
|
import { CancelledError, idempotencyAdvice, isTransientForPoll, keyedOutcomeUnknown, platformAnsweredFailure, resendAfterSpentKey, resendUnseenByRead, } from '../errors.js';
|
|
4
|
-
import { failed, guarded, operationIdOf, refused, said } from '../format.js';
|
|
4
|
+
import { failed, guarded, operationIdOf, refused, said, unavailableAdvice } from '../format.js';
|
|
5
5
|
import * as P from '../paths.js';
|
|
6
6
|
import { heartbeat, POLL_MS, pollDelay, sleep } from '../poll.js';
|
|
7
7
|
import { label, metadata, metadataCall } from './directory.js';
|
|
@@ -39,7 +39,7 @@ const keyArg = z
|
|
|
39
39
|
.string()
|
|
40
40
|
.regex(IDEMPOTENCY_KEY_PATTERN, 'idempotency_key must be 1 to 255 characters, each printable ASCII other than a space')
|
|
41
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 the
|
|
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
43
|
const KEY_LAST = ' Keys last 24 hours; the same key with different arguments is refused.';
|
|
44
44
|
/**
|
|
45
45
|
* The key on a step a read of the computer shows: start, stop, suspend,
|
|
@@ -58,7 +58,9 @@ export const restartIdempotencyKeyArg = keyArg.describe(`${KEY_FIRST}. A restart
|
|
|
58
58
|
* clone, clone_snapshot, restore_snapshot. A resend after a spent key waits for
|
|
59
59
|
* the operation to be final. See {@link resendAfterSpentKey}.
|
|
60
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}`);
|
|
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';
|
|
62
64
|
/**
|
|
63
65
|
* The answer to a lifecycle tool call that failed, with what its key means.
|
|
64
66
|
*
|
|
@@ -68,8 +70,13 @@ export const buildIdempotencyKeyArg = keyArg.describe(`${KEY_FIRST} and the call
|
|
|
68
70
|
*
|
|
69
71
|
* - The answer never arrived, the keyed call is still running, or a proxy in
|
|
70
72
|
* front of the platform answered: the same tool, with the same key.
|
|
71
|
-
* - The platform itself answered a `5xx
|
|
72
|
-
*
|
|
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
|
|
73
80
|
* `idempotency_outcome_unknown`. The next step is a read, then a resend
|
|
74
81
|
* with a new key or none if the step did not happen. Which read depends on
|
|
75
82
|
* the tool (see {@link resendAfterSpentKey}): a create, clone or restore
|
|
@@ -81,7 +88,17 @@ export const buildIdempotencyKeyArg = keyArg.describe(`${KEY_FIRST} and the call
|
|
|
81
88
|
*/
|
|
82
89
|
export function keyedFailure(err, tool, what, key) {
|
|
83
90
|
const advice = idempotencyAdvice(err, tool);
|
|
84
|
-
const
|
|
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);
|
|
85
102
|
const [first, ...rest] = result.content;
|
|
86
103
|
if (first?.type !== 'text')
|
|
87
104
|
return result;
|
|
@@ -91,6 +108,12 @@ export function keyedFailure(err, tool, what, key) {
|
|
|
91
108
|
if (keyedOutcomeUnknown(err)) {
|
|
92
109
|
text += `\n\nTo retry without risking a second ${what}, call ${tool} again with idempotency_key "${key}".`;
|
|
93
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
|
+
}
|
|
94
117
|
else if (platformAnsweredFailure(err)) {
|
|
95
118
|
const op = operationIdOf(err.body);
|
|
96
119
|
text +=
|
|
@@ -1 +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,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/tools/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAWxB,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;AAwExC,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;AA2ED,eAAO,MAAM,eAAe,EAAE,SAqT7B,CAAC"}
|
package/dist/tools/secrets.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { APIError, ConflictError, MandalaError, NotFoundError, statusAdvice } from '../errors.js';
|
|
2
|
+
import { APIError, ConflictError, MandalaError, NotFoundError, reasonAdvice, 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';
|
|
@@ -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,9 +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
|
+
/**
|
|
192
|
+
* What a left-out workspace_id means, said in the tool's schema: the local
|
|
193
|
+
* server started from a saved profile falls back to that profile's default
|
|
194
|
+
* workspace from `mandala workspaces use`. Every other session (an explicit
|
|
195
|
+
* or environment key, and every hosted one) keeps the words it always had.
|
|
196
|
+
*/
|
|
197
|
+
function scopeDefault(session) {
|
|
198
|
+
const d = session.defaultWorkspace;
|
|
199
|
+
if (d === undefined)
|
|
200
|
+
return '';
|
|
201
|
+
const here = session.defaultWorkspaceUnreadable
|
|
202
|
+
? 'unknown, because ~/.mandala/defaults.json cannot be read: list_secrets and get_secret use account-wide, and create_secret, set_secret, replace_secret and delete_secret refuse a call without workspace_id'
|
|
203
|
+
: d
|
|
204
|
+
? `workspace ${d.name} (${d.id})`
|
|
205
|
+
: 'account-wide';
|
|
206
|
+
return ` Default when left out: the saved profile's workspace from \`mandala workspaces use\`, else account-wide — here ${here}.`;
|
|
207
|
+
}
|
|
193
208
|
/** A secret's name as a tool argument, checked for what the platform would refuse. */
|
|
194
209
|
const nameArg = z
|
|
195
210
|
.string()
|
|
211
|
+
// Trimmed BEFORE the length check, as the platform trims it: a padded name
|
|
212
|
+
// that is 60 characters once trimmed is one the platform takes (OPL-5522).
|
|
213
|
+
.trim()
|
|
196
214
|
.min(1, 'name must not be empty')
|
|
197
215
|
.refine((v) => [...v].length <= SECRET_NAME_MAX_CHARS, {
|
|
198
216
|
message: `name must be at most ${SECRET_NAME_MAX_CHARS} characters`,
|
|
@@ -253,6 +271,11 @@ function storeAdvice(err, change) {
|
|
|
253
271
|
case 404:
|
|
254
272
|
return 'no such secret in this scope. A secret in a workspace is found only with its workspace_id; list_secrets says which exist';
|
|
255
273
|
case 409:
|
|
274
|
+
// The platform's word, where it says which of the two conflicts this was;
|
|
275
|
+
// this server's own sentence for it, never the platform's.
|
|
276
|
+
if (err.reason === 'name_taken' || err.reason === 'stale_revision') {
|
|
277
|
+
return `${reasonAdvice(err.reason)}. Nothing changed`;
|
|
278
|
+
}
|
|
256
279
|
return change
|
|
257
280
|
? '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'
|
|
258
281
|
: 'refused as a conflict';
|
|
@@ -302,6 +325,21 @@ async function storeGuarded(what, change, value, fn) {
|
|
|
302
325
|
return value === undefined ? result : withoutValue(result, value);
|
|
303
326
|
}
|
|
304
327
|
export const registerSecrets = (server, session) => {
|
|
328
|
+
// A left-out workspace_id: the saved profile's default, where there is one.
|
|
329
|
+
const scoped = (workspace_id) => workspace_id ?? session.defaultWorkspace?.id ?? undefined;
|
|
330
|
+
// A tool that writes, called without workspace_id while defaults.json cannot
|
|
331
|
+
// be read: the profile's default is unknown, and account-wide is the widest
|
|
332
|
+
// scope, where any computer on the account may be bound to what is stored.
|
|
333
|
+
// Refused before any request; the reading tools go on account-wide.
|
|
334
|
+
const unknownDefault = (workspace_id) => workspace_id === undefined && session.defaultWorkspaceUnreadable !== undefined
|
|
335
|
+
? refused(`Nothing was sent: ~/.mandala/defaults.json cannot be read (${session.defaultWorkspaceUnreadable}), so the saved profile's default workspace is unknown and this would otherwise act account-wide. Pass workspace_id explicitly, or fix or delete the file and restart this server.`)
|
|
336
|
+
: undefined;
|
|
337
|
+
const byDefault = (workspace_id) => workspace_id === undefined && session.defaultWorkspace
|
|
338
|
+
? " (the saved profile's default from mandala workspaces use)"
|
|
339
|
+
: '';
|
|
340
|
+
const scopeArg = (text) => workspaceArg.describe((text ??
|
|
341
|
+
'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.') +
|
|
342
|
+
scopeDefault(session));
|
|
305
343
|
server.registerTool('get_computer_secrets', {
|
|
306
344
|
title: "Read a computer's secret bindings",
|
|
307
345
|
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}`,
|
|
@@ -368,16 +406,19 @@ export const registerSecrets = (server, session) => {
|
|
|
368
406
|
// because cleaning up what a task created is part of the task.
|
|
369
407
|
server.registerTool('list_secrets', {
|
|
370
408
|
title: "List the account's secrets",
|
|
371
|
-
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."
|
|
409
|
+
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." +
|
|
410
|
+
scopeDefault(session),
|
|
372
411
|
inputSchema: {
|
|
373
|
-
workspace_id:
|
|
412
|
+
workspace_id: scopeArg('The workspace to list. Leave it out for the account-wide secrets.'),
|
|
374
413
|
},
|
|
375
414
|
annotations: { readOnlyHint: true },
|
|
376
415
|
}, ({ workspace_id }, extra) => storeGuarded('Listing the secrets', false, undefined, async () => {
|
|
416
|
+
const workspace = scoped(workspace_id);
|
|
377
417
|
const list = await session.api
|
|
378
418
|
.with(extra.signal)
|
|
379
|
-
.secrets.list({ workspaceId:
|
|
380
|
-
const scope =
|
|
419
|
+
.secrets.list({ workspaceId: workspace });
|
|
420
|
+
const scope = (workspace === undefined ? 'account-wide' : `in workspace ${workspace}`) +
|
|
421
|
+
byDefault(workspace_id);
|
|
381
422
|
const delivery = list.delivery
|
|
382
423
|
? 'Binding secrets to computers is on.'
|
|
383
424
|
: 'Binding secrets to computers is OFF on this platform: secrets can be stored, but set_computer_secrets and a create carrying secrets are refused.';
|
|
@@ -392,27 +433,30 @@ export const registerSecrets = (server, session) => {
|
|
|
392
433
|
server.registerTool('get_secret', {
|
|
393
434
|
title: 'Read one secret',
|
|
394
435
|
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.",
|
|
395
|
-
inputSchema: { secret_id: secretIdArg, workspace_id:
|
|
436
|
+
inputSchema: { secret_id: secretIdArg, workspace_id: scopeArg() },
|
|
396
437
|
annotations: { readOnlyHint: true },
|
|
397
438
|
}, ({ secret_id, workspace_id }, extra) => storeGuarded(`Reading ${secret_id}`, false, undefined, async () => {
|
|
398
439
|
const secret = await session.api
|
|
399
440
|
.with(extra.signal)
|
|
400
|
-
.secrets.get(secret_id, { workspaceId: workspace_id });
|
|
441
|
+
.secrets.get(secret_id, { workspaceId: scoped(workspace_id) });
|
|
401
442
|
return said(`${secretLine(secret)} (values are never shown)`, secret);
|
|
402
443
|
}));
|
|
403
444
|
server.registerTool('create_secret', {
|
|
404
445
|
title: 'Store a new secret',
|
|
405
|
-
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
|
|
446
|
+
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.${scopeDefault(session)}`,
|
|
406
447
|
inputSchema: {
|
|
407
448
|
name: nameArg,
|
|
408
449
|
value: valueArg('The value'),
|
|
409
|
-
workspace_id:
|
|
450
|
+
workspace_id: scopeArg('The workspace it belongs to. Leave it out for an account-wide secret.'),
|
|
410
451
|
},
|
|
411
452
|
annotations: { destructiveHint: false, idempotentHint: false },
|
|
412
453
|
}, ({ name, value, workspace_id }, extra) => storeGuarded('Storing the secret', true, value, async () => {
|
|
454
|
+
const unknown = unknownDefault(workspace_id);
|
|
455
|
+
if (unknown)
|
|
456
|
+
return unknown;
|
|
413
457
|
const secret = await session.api
|
|
414
458
|
.with(extra.signal)
|
|
415
|
-
.secrets.create({ name, value, workspaceId: workspace_id });
|
|
459
|
+
.secrets.create({ name, value, workspaceId: scoped(workspace_id) });
|
|
416
460
|
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);
|
|
417
461
|
}));
|
|
418
462
|
server.registerTool('set_secret', {
|
|
@@ -421,21 +465,25 @@ export const registerSecrets = (server, session) => {
|
|
|
421
465
|
inputSchema: {
|
|
422
466
|
name: nameArg,
|
|
423
467
|
value: valueArg('The value'),
|
|
424
|
-
workspace_id:
|
|
468
|
+
workspace_id: scopeArg('The scope to look in, and to create in. Leave it out for the account-wide secrets.'),
|
|
425
469
|
},
|
|
426
470
|
annotations: { destructiveHint: true, idempotentHint: false },
|
|
427
471
|
}, ({ name, value, workspace_id }, extra) => storeGuarded(`Setting ${name.trim()}`, true, value, async () => {
|
|
472
|
+
const unknown = unknownDefault(workspace_id);
|
|
473
|
+
if (unknown)
|
|
474
|
+
return unknown;
|
|
428
475
|
const store = session.api.with(extra.signal).secrets;
|
|
476
|
+
const workspace = scoped(workspace_id);
|
|
429
477
|
for (let attempt = 0;; attempt++) {
|
|
430
|
-
const found = namedSecret((await store.list({ workspaceId:
|
|
478
|
+
const found = namedSecret((await store.list({ workspaceId: workspace })).secrets, name);
|
|
431
479
|
try {
|
|
432
480
|
const secret = found
|
|
433
481
|
? await store.replace(found.id, {
|
|
434
482
|
value,
|
|
435
483
|
revisionId: found.revision_id,
|
|
436
|
-
workspaceId:
|
|
484
|
+
workspaceId: workspace,
|
|
437
485
|
})
|
|
438
|
-
: await store.create({ name: name.trim(), value, workspaceId:
|
|
486
|
+
: await store.create({ name: name.trim(), value, workspaceId: workspace });
|
|
439
487
|
const scope = secret.workspace_id === null ? 'account-wide' : `in workspace ${secret.workspace_id}`;
|
|
440
488
|
return said(found
|
|
441
489
|
? `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.`
|
|
@@ -455,14 +503,17 @@ export const registerSecrets = (server, session) => {
|
|
|
455
503
|
secret_id: secretIdArg,
|
|
456
504
|
value: valueArg('The new value'),
|
|
457
505
|
revision_id: revisionArg('A stale one is refused and nothing changes.'),
|
|
458
|
-
workspace_id:
|
|
506
|
+
workspace_id: scopeArg(),
|
|
459
507
|
},
|
|
460
508
|
annotations: { destructiveHint: true, idempotentHint: false },
|
|
461
509
|
}, ({ secret_id, value, revision_id, workspace_id }, extra) => storeGuarded(`Replacing the value of ${secret_id}`, true, value, async () => {
|
|
510
|
+
const unknown = unknownDefault(workspace_id);
|
|
511
|
+
if (unknown)
|
|
512
|
+
return unknown;
|
|
462
513
|
const secret = await session.api.with(extra.signal).secrets.replace(secret_id, {
|
|
463
514
|
value,
|
|
464
515
|
revisionId: revision_id,
|
|
465
|
-
workspaceId: workspace_id,
|
|
516
|
+
workspaceId: scoped(workspace_id),
|
|
466
517
|
});
|
|
467
518
|
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);
|
|
468
519
|
}));
|
|
@@ -472,22 +523,26 @@ export const registerSecrets = (server, session) => {
|
|
|
472
523
|
inputSchema: {
|
|
473
524
|
secret_id: secretIdArg,
|
|
474
525
|
revision_id: revisionArg('Required; a stale one is refused and nothing is deleted.'),
|
|
475
|
-
workspace_id:
|
|
526
|
+
workspace_id: scopeArg(),
|
|
476
527
|
confirm: z
|
|
477
528
|
.literal(true)
|
|
478
529
|
.describe('Must be true. A computer still bound to this secret cannot start again until that binding is removed.'),
|
|
479
530
|
},
|
|
480
531
|
annotations: { destructiveHint: true, idempotentHint: true },
|
|
481
532
|
}, ({ secret_id, revision_id, workspace_id }, extra) => storeGuarded(`Deleting ${secret_id}`, true, undefined, async () => {
|
|
533
|
+
const unknown = unknownDefault(workspace_id);
|
|
534
|
+
if (unknown)
|
|
535
|
+
return unknown;
|
|
536
|
+
const workspace = scoped(workspace_id);
|
|
482
537
|
try {
|
|
483
538
|
await session.api
|
|
484
539
|
.with(extra.signal)
|
|
485
|
-
.secrets.delete(secret_id, { revisionId: revision_id, workspaceId:
|
|
540
|
+
.secrets.delete(secret_id, { revisionId: revision_id, workspaceId: workspace });
|
|
486
541
|
}
|
|
487
542
|
catch (err) {
|
|
488
543
|
if (!(err instanceof NotFoundError))
|
|
489
544
|
throw err;
|
|
490
|
-
return refused(`Nothing was deleted: no secret ${secret_id} was found${
|
|
545
|
+
return refused(`Nothing was deleted: no secret ${secret_id} was found${workspace === undefined ? ' among the account-wide secrets' : ` in workspace ${workspace}${byDefault(workspace_id)}`}. Either it was already deleted, or it is in a scope this did not name — list_secrets says which.`);
|
|
491
546
|
}
|
|
492
547
|
return said(`Deleted ${secret_id}. Any computer still bound to it cannot start again until set_computer_secrets removes that binding.`);
|
|
493
548
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/tools/secrets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,QAAQ,GAGT,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,iCAAiC,CAAC;AAE3D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,UAAU,GAAG,+BAA+B,CAAC;AACnD,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,MAAM,QAAQ,GACZ,mFAAmF,CAAC;AACtF,MAAM,SAAS,GACb,mFAAmF,CAAC;AAEtF,0EAA0E;AAC1E,MAAM,IAAI,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE9F,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAChC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,6CAA6C,CAAC,CAAC;AAIhF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,0EAA0E;IAC1E,8EAA8E;IAC9E,uDAAuD;IACvD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC;QAC3B,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QAC1F,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,KAAK,CAAC,UAAU,EAAE,eAAe,QAAQ,EAAE,CAAC;aAC5C,QAAQ,EAAE;aACV,QAAQ,CACP,mEAAmE,QAAQ,gCAAgC,CAC5G;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,KAAK,CAAC,WAAW,EAAE,gBAAgB,SAAS,EAAE,CAAC;aAC/C,QAAQ,EAAE;aACV,QAAQ,CACP,0BAA0B,SAAS,mEAAmE,SAAS,oDAAoD,CACpK;QACH,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;qBACjC,QAAQ,EAAE;qBACV,QAAQ,CACP,gNAAgN,CACjN;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,OAAO,CAAC;SACL,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,mBAAmB,EAAE,WAAW,mBAAmB,uBAAuB,CAAC;SAC/E,WAAW,CAAC,CAAC,IAAkB,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,EAAE,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;gBACrD,EAAE,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gBAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,iBAAiB,CAAC,CAAC;YAC7E,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACrB,8DAA8D;YAC9D,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBACzE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC;YAClC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,gBAAgB,mBAAmB,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,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,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;AAWpG,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7D,sEAAsE;QACtE,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC;QACpD,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1E,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,CAAU,EAAU,EAAE,CACzC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAE7E,MAAM,MAAM,GAAG,0DAA0D,CAAC;AAE1E,mFAAmF;AACnF,SAAS,OAAO,CAAC,CAAW;IAC1B,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,MAAM,GACV,0KAA0K,CAAC;AAE7K;;;;;;;;GAQG;AACH,MAAM,WAAW,GACf,+pBAA+pB,CAAC;AAElqB,yGAAyG;AACzG,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CACvC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;AAEpN,MAAM,YAAY,GAAG,kEAAkE,CAAC;AAExF,mEAAmE;AACnE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAEpE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAChC,CAAC;KACE,MAAM,EAAE;KACR,MAAM,CACL,CAAC,CAAC,EAAE,EAAE;IACJ,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC;AAC/C,CAAC,EACD,EAAE,OAAO,EAAE,sBAAsB,sBAAsB,iBAAiB,EAAE,CAC3E;KACA,QAAQ,CACP,GAAG,IAAI,mBAAmB,sBAAsB,0JAA0J,CAC3M,CAAC;AAEN,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAChD,qEAAqE,CACtE,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,EAAE;KACR,MAAM,CAAC,IAAI,EAAE,yDAAyD,CAAC;KACvE,QAAQ,EAAE;KACV,QAAQ,CACP,4IAA4I,CAC7I,CAAC;AAEJ,sFAAsF;AACtF,MAAM,OAAO,GAAG,CAAC;KACd,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;KAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,qBAAqB,EAAE;IACrD,OAAO,EAAE,wBAAwB,qBAAqB,aAAa;CACpE,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IACjC,OAAO,EAAE,0CAA0C;CACpD,CAAC;KACD,QAAQ,CACP,yDAAyD,qBAAqB,gIAAgI,CAC/M,CAAC;AAEJ,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAA0B,EAAE,IAAY;IAClE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAC9B,sHAAsH,GAAG,EAAE,CAC5H,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAsB,EAAE,KAAa;IAChE,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IAChC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5F,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC;gBACE,GAAG,CAAC;gBACJ,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;aACrF;YACH,CAAC,CAAC,CAAC,CACN;KACF,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAS,WAAW,CAAC,GAAa,EAAE,MAAe;IACjD,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,GAAG;YACN,OAAO,wPAAwP,CAAC;QAClQ,KAAK,GAAG;YACN,OAAO,0HAA0H,CAAC;QACpI,KAAK,GAAG;YACN,OAAO,MAAM;gBACX,CAAC,CAAC,+OAA+O;gBACjP,CAAC,CAAC,uBAAuB,CAAC;QAC9B,KAAK,GAAG;YACN,OAAO,oBAAoB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,0BAA0B,CAAC;QAC7I;YACE,OAAO,MAAM;gBACX,CAAC,CAAC,gKAAgK;gBAClK,CAAC,CAAC,iEAAiE,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,YAAY,CACzB,IAAY,EACZ,MAAe,EACf,KAAyB,EACzB,EAAiC;IAEjC,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,oEAAoE;YACpE,yEAAyE;YACzE,oCAAoC;YACpC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACvE,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAChF,CAAC,CAAC,aAAa,GAAG,CAAC,MAAM,GAAG;gBAC5B,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,EAAE,GACN,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,GAAG,OAAO,CACd,GAAG,IAAI,sBAAsB,GAAG,CAAC,MAAM,GAAG,MAAM,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,qHAAqH,EAAE,EAAE,CACxM,CAAC;QACJ,CAAC;aAAM,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;YACvC,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,4DAA4D,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC5D,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,6LAA6L,SAAS,mUAAmU,WAAW,EAAE;QACniB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,CACzB,OAAO,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG;aAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAClB,IAAI,CAAU,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,OAAO,CACZ,kBAAkB,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,4EAA4E,EACvI,IAAI,CACL,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,CACT,GAAG,EAAE,oCAAoC,QAAQ,CAAC,OAAO,qCAAqC,EAC9F,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,OAAO,IAAI,CACT,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,EAClH,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,sCAAsC;QAC7C,WAAW,EAAE,0RAA0R,SAAS,sBAAsB,mBAAmB,aAAa,gBAAgB,6gBAA6gB,MAAM,IAAI,WAAW,yxBAAyxB;QACjrD,WAAW,EAAE;YACX,GAAG,KAAK;YACR,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC1C,iFAAiF,CAClF;YACD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CACP,qIAAqI,CACtI;SACJ;QACD,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;KACvC,EACD,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAC3C,OAAO,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG;aAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAClB,IAAI,CAAU,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE;YACrD,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;SACjE,CAAC,CAAC;QACL,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,OAAO,CACZ,kBAAkB,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,+HAA+H,EAC1L,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC;YACZ,CAAC,CAAC,GAAG,EAAE,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxH,CAAC,CAAC,GAAG,EAAE,wCAAwC,QAAQ,CAAC,OAAO,IAAI,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,IAAI,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC,CACL,CAAC;IACF,yEAAyE;IACzE,EAAE;IACF,mCAAmC;IACnC,EAAE;IACF,0EAA0E;IAC1E,iEAAiE;IACjE,4EAA4E;IAC5E,wEAAwE;IACxE,8EAA8E;IAC9E,qDAAqD;IACrD,2EAA2E;IAC3E,+EAA+E;IAC/E,iEAAiE;IAEjE,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,4lBAA4lB;QAC9lB,WAAW,EAAE;YACX,YAAY,EAAE,YAAY,CAAC,QAAQ,CACjC,mEAAmE,CACpE;SACF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAC1B,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAI,GAAe,MAAM,OAAO,CAAC,GAAG;aACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAClB,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,YAAY,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;YAC5B,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,kJAAkJ,CAAC;QACvJ,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,uBAAuB,MAAM,CAAC,cAAc,6BAA6B,MAAM,CAAC,eAAe,mBAAmB,MAAM,CAAC,kBAAkB,yEAAyE,MAAM,CAAC,mBAAmB,iDAAiD,CAAC;QAClT,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC;YACZ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5G,CAAC,CAAC,cAAc,KAAK,6BAA6B,CAAC;QACrD,OAAO,IAAI,CAAC,GAAG,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,0SAA0S;QAC5S,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE;QACnE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CACrC,YAAY,CAAC,WAAW,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG;aAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAClB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,8bAA8b,qBAAqB,sZAAsZ;QACt3B,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC;YAC5B,YAAY,EAAE,YAAY,CAAC,QAAQ,CACjC,uEAAuE,CACxE;SACF;QACD,WAAW,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE;KAC/D,EACD,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CACvC,YAAY,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG;aAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAClB,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CACT,UAAU,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,YAAY,EAAE,oGAAoG,EACnQ,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,saAAsa,kBAAkB,+JAA+J,WAAW,iGAAiG;QAChtB,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC;YAC5B,YAAY,EAAE,YAAY,CAAC,QAAQ,CACjC,oFAAoF,CACrF;SACF;QACD,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;KAC9D,EACD,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CACvC,YAAY,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QACrD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,EACzD,IAAI,CACL,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK;oBAClB,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE;wBAC5B,KAAK;wBACL,UAAU,EAAE,KAAK,CAAC,WAAW;wBAC7B,WAAW,EAAE,YAAY;qBAC1B,CAAC;oBACJ,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;gBAChF,MAAM,KAAK,GACT,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxF,OAAO,IAAI,CACT,KAAK;oBACH,CAAC,CAAC,yBAAyB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,MAAM,KAAK,2BAA2B,MAAM,CAAC,WAAW,iJAAiJ;oBAC7P,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,WAAW,KAAK,KAAK,oGAAoG,EACvL,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAC/B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,wEAAwE;gBACxE,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC,IAAI,OAAO,IAAI,kBAAkB;oBAAE,MAAM,GAAG,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,0SAA0S,WAAW,iTAAiT;QACnnB,WAAW,EAAE;YACX,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC;YAChC,WAAW,EAAE,WAAW,CAAC,6CAA6C,CAAC;YACvE,YAAY,EAAE,YAAY;SAC3B;QACD,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;KAC9D,EACD,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CACzD,YAAY,CAAC,0BAA0B,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;YAC7E,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,YAAY;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CACT,yBAAyB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,4BAA4B,MAAM,CAAC,WAAW,iJAAiJ,EACjP,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,2sBAA2sB;QAC7sB,WAAW,EAAE;YACX,SAAS,EAAE,WAAW;YACtB,WAAW,EAAE,WAAW,CAAC,0DAA0D,CAAC;YACpF,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,CAAC;iBACP,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,uGAAuG,CACxG;SACJ;QACD,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;KAC7D,EACD,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAClD,YAAY,CAAC,YAAY,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG;iBACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;iBAClB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC/C,OAAO,OAAO,CACZ,kCAAkC,SAAS,aAAa,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,iBAAiB,YAAY,EAAE,mGAAmG,CAC5P,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CACT,WAAW,SAAS,sGAAsG,CAC3H,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC,CAAC"}
|
|
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":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
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"}
|
package/dist/tools/snapshots.js
CHANGED
|
@@ -5,6 +5,12 @@ import { describe, guarded, incompleteWarning, json, operationClause, refused, s
|
|
|
5
5
|
import * as P from '../paths.js';
|
|
6
6
|
import { heartbeat, POLL_MS, pollDelay, sleep } from '../poll.js';
|
|
7
7
|
import { buildIdempotencyKeyArg, keyedFailure } from './operations.js';
|
|
8
|
+
/**
|
|
9
|
+
* What a clone built from a disk does next: the platform leaves it building
|
|
10
|
+
* and then STOPPED, never booted (OPL-5437).
|
|
11
|
+
*/
|
|
12
|
+
const DISK_BUILD_NEXT = 'ends its build STOPPED: once the build finishes (wait_for_operation on its operation), read get_computer and start it with start_computer.';
|
|
13
|
+
const DISK_BUILD = `A clone built from a disk comes back building and ${DISK_BUILD_NEXT}`;
|
|
8
14
|
const idArg = {
|
|
9
15
|
computer_id: z
|
|
10
16
|
.string()
|
|
@@ -293,7 +299,7 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
293
299
|
memory: z
|
|
294
300
|
.boolean()
|
|
295
301
|
.default(false)
|
|
296
|
-
.describe('Include the running session. A memory snapshot is a saved machine, so it only loads back into the shape it came off: resize the computer afterwards and the restore is refused, because the vCPU count and the memory size are part of the state rather than decoration around it. Clone it with memory: false instead in that case, which
|
|
302
|
+
.describe('Include the running session. A memory snapshot is a saved machine, so it only loads back into the shape it came off: resize the computer afterwards and the restore is refused, because the vCPU count and the memory size are part of the state rather than decoration around it. Clone it with memory: false instead in that case, which builds a new computer from the disk alone; it ends its build stopped, to be started with start_computer.'),
|
|
297
303
|
wait: z
|
|
298
304
|
.boolean()
|
|
299
305
|
.default(true)
|
|
@@ -611,14 +617,14 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
611
617
|
return;
|
|
612
618
|
server.registerTool('clone_snapshot', {
|
|
613
619
|
title: 'Fork a snapshot into a new computer',
|
|
614
|
-
description: 'Build a new computer from a snapshot, leaving the original untouched. This is the fork half of snapshot-and-fork, and the only thing that works on an orphaned snapshot. A MEMORY snapshot is resumed: the copy comes up running the captured session, and is given its own MAC, address, hostname, machine ID, SSH host keys and desktop password before its network comes up, so it runs beside its source; if that fails it is left stopped, and starting it cold-boots its disk. Pass memory: false to build it from the disk alone instead,
|
|
620
|
+
description: 'Build a new computer from a snapshot, leaving the original untouched. This is the fork half of snapshot-and-fork, and the only thing that works on an orphaned snapshot. A MEMORY snapshot is resumed: the copy comes up running the captured session, and is given its own MAC, address, hostname, machine ID, SSH host keys and desktop password before its network comes up, so it runs beside its source; if that fails it is left stopped, and starting it cold-boots its disk. Pass memory: false to build it from the disk alone instead. A clone built from a DISK — a disk snapshot, memory: false, or a memory snapshot the platform did not resume — comes back building and ends its build STOPPED: start it with start_computer once the build finishes (wait_for_operation on its operation). A memory snapshot of a computer that held SECRETS is resumed only with inherit_secrets: true, and then the copy HOLDS THE SAME CREDENTIALS as the computer it came from; without it the clone is built from the disk and this tool says so.',
|
|
615
621
|
inputSchema: {
|
|
616
622
|
snapshot_id: z.string(),
|
|
617
623
|
name: z.string().optional().describe('A name for the new computer.'),
|
|
618
624
|
memory: z
|
|
619
625
|
.boolean()
|
|
620
626
|
.optional()
|
|
621
|
-
.describe('Memory snapshots only. false builds the new computer from the disk alone and
|
|
627
|
+
.describe('Memory snapshots only. false builds the new computer from the disk alone, and it ends its build stopped, to be started with start_computer; omitted or true resumes the captured session.'),
|
|
622
628
|
inherit_secrets: z
|
|
623
629
|
.boolean()
|
|
624
630
|
.optional()
|
|
@@ -660,14 +666,14 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
660
666
|
session.bind(c.id, c.resolution);
|
|
661
667
|
// The platform built it from the disk when the session could not come
|
|
662
668
|
// across (platform OPL-4964). Said first and in words, because a model
|
|
663
|
-
// that asked for a live fork and got a
|
|
669
|
+
// that asked for a live fork and got a disk build would otherwise go on
|
|
664
670
|
// as if the session — its open windows, its running programs — were
|
|
665
|
-
// there.
|
|
671
|
+
// there. A disk build ends STOPPED, not booted (OPL-5437).
|
|
666
672
|
//
|
|
667
673
|
// Read off the ANSWER as well as the computer: the platform sends the
|
|
668
674
|
// two fields beside the computer's own, flat, and unwrapComputer keeps
|
|
669
675
|
// only start_error from an envelope — so a future envelope carrying
|
|
670
|
-
// them would otherwise report a live fork for a
|
|
676
|
+
// them would otherwise report a live fork for a disk build.
|
|
671
677
|
const outer = (answer && typeof answer === 'object' ? answer : {});
|
|
672
678
|
const raw = { ...c, ...outer };
|
|
673
679
|
if (raw.memory_dropped === true) {
|
|
@@ -682,9 +688,16 @@ export const registerSnapshots = (server, session, opts) => {
|
|
|
682
688
|
? // An open set: a word this version does not know is shown as sent.
|
|
683
689
|
`the platform did not resume it (reason given: "${raw.memory_dropped_reason.trim().slice(0, 200)}")`
|
|
684
690
|
: 'the platform did not resume it';
|
|
685
|
-
return said(`Built ${describe(c)} from ${snapshot_id}'s DISK
|
|
691
|
+
return said(`Built ${describe(c)} from ${snapshot_id}'s DISK — its saved session was NOT resumed, because ${why}. ${DISK_BUILD} No secrets are bound to it${select && c.id ? '. It is selected' : ''}.`, withoutCredentials(c));
|
|
686
692
|
}
|
|
687
|
-
|
|
693
|
+
// 'Built' either way: nothing in the answer says a memory fork resumed
|
|
694
|
+
// (it comes back building like any other clone), and a plain disk
|
|
695
|
+
// snapshot's clone, which this tool cannot tell from a memory one
|
|
696
|
+
// without another read, ends its build stopped (OPL-5437).
|
|
697
|
+
return said(`Built ${snapshot_id} into ${describe(c)}${memory === false ? ' from its disk' : ''}${select && c.id ? ', and selected it' : ''}${operationClause(c)}. ` +
|
|
698
|
+
(memory === false
|
|
699
|
+
? DISK_BUILD
|
|
700
|
+
: `If ${snapshot_id} is a memory snapshot the copy resumes its captured session when the build finishes; if it is a disk snapshot, the copy ${DISK_BUILD_NEXT}`), withoutCredentials(c));
|
|
688
701
|
}));
|
|
689
702
|
server.registerTool('delete_snapshot', {
|
|
690
703
|
title: 'Delete a snapshot',
|