@gaunt-sloth/agent 2.0.0-alpha.24 → 2.0.0-alpha.26
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 +1 -1
- package/dist/core/GthDeepAgent.d.ts +3 -3
- package/dist/core/GthDeepAgent.js +33 -33
- package/dist/core/GthDeepAgent.js.map +1 -1
- package/dist/modules/a2a/A2AClientWrapper.d.ts +14 -5
- package/dist/modules/a2a/A2AClientWrapper.js +85 -70
- package/dist/modules/a2a/A2AClientWrapper.js.map +1 -1
- package/dist/modules/interactiveSessionModule.js +104 -24
- package/dist/modules/interactiveSessionModule.js.map +1 -1
- package/dist/modules/slashCommands.d.ts +158 -19
- package/dist/modules/slashCommands.js +343 -53
- package/dist/modules/slashCommands.js.map +1 -1
- package/dist/tools/GthDevToolkit.d.ts +1 -1
- package/dist/tools/GthDevToolkit.js +3 -4
- package/dist/tools/GthDevToolkit.js.map +1 -1
- package/dist/tools/shell/env.js +1 -1
- package/dist/tools/shell/hardline.d.ts +33 -2
- package/dist/tools/shell/hardline.js +525 -40
- package/dist/tools/shell/hardline.js.map +1 -1
- package/package.json +8 -8
|
@@ -13,19 +13,42 @@
|
|
|
13
13
|
* The registry is a plain array so later layers (e.g. extension-registered commands, EXT-5)
|
|
14
14
|
* can append more entries via {@link createCommandRegistry} without this module changing.
|
|
15
15
|
*/
|
|
16
|
+
import { APPROVAL_RUNG_DESCRIPTIONS, APPROVAL_RUNG_LABELS, APPROVAL_RUNGS, isRatedRung, TOOL_ANNOTATION_HINTS, } from '@gaunt-sloth/core/config.js';
|
|
17
|
+
import { describeApprovalEntry } from '@gaunt-sloth/core/core/approvals/matcher.js';
|
|
18
|
+
import { MOUSE_SELECTION_HINT } from '@gaunt-sloth/core/config/mouse.js';
|
|
16
19
|
/**
|
|
17
20
|
* Build the compact, read-only `/config` summary (GS2-1): a handful of the most orienting
|
|
18
21
|
* resolved-config fields, one per line, with a pointer to `gth config print` for the full view.
|
|
19
22
|
* Pure and secret-free — it only reads non-sensitive scalar fields (never API keys / the live
|
|
20
23
|
* llm instance). Used by the App to fill {@link SlashCommandContext.configSummary}.
|
|
24
|
+
*
|
|
25
|
+
* CFG-25 — `filesystem` is a precedence-picked per-command field (GS2-60), so the panel prints the
|
|
26
|
+
* EFFECTIVE value for the running `command`, read from `config.commands[command].filesystem` —
|
|
27
|
+
* where the GS2-60 resolution already baked the correct 4-layer precedence — falling back to the
|
|
28
|
+
* top-level value, exactly the read `getEffectiveConfig` performs (no precedence re-derived here).
|
|
29
|
+
* When the effective and top-level values differ, both are shown
|
|
30
|
+
* (`Filesystem: all (code; top-level: none)`) so the top-level default can never understate what
|
|
31
|
+
* the session can actually do. Of the other precedence-picked fields
|
|
32
|
+
* (`builtInTools`/`allowedTools`/`binaryFormats`), none are printed by this panel, so none can
|
|
33
|
+
* misreport the same way.
|
|
21
34
|
*/
|
|
22
|
-
export function formatConfigSummary(config) {
|
|
35
|
+
export function formatConfigSummary(config, command) {
|
|
23
36
|
const fmt = (v) => typeof v === 'string' ? v : Array.isArray(v) ? JSON.stringify(v) : String(v);
|
|
24
37
|
const lines = [];
|
|
25
38
|
lines.push(`Model: ${config.modelDisplayName || 'unknown'}`);
|
|
26
39
|
lines.push(`Agent backend: ${config.agent?.backend ?? 'lean'}`);
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
const commandFilesystem = command
|
|
41
|
+
? config.commands?.[command]?.filesystem
|
|
42
|
+
: undefined;
|
|
43
|
+
const effectiveFilesystem = commandFilesystem !== undefined ? commandFilesystem : config.filesystem;
|
|
44
|
+
if (effectiveFilesystem !== undefined) {
|
|
45
|
+
const differs = commandFilesystem !== undefined &&
|
|
46
|
+
config.filesystem !== undefined &&
|
|
47
|
+
fmt(commandFilesystem) !== fmt(config.filesystem);
|
|
48
|
+
lines.push(differs
|
|
49
|
+
? `Filesystem: ${fmt(commandFilesystem)} (${command}; top-level: ${fmt(config.filesystem)})`
|
|
50
|
+
: `Filesystem: ${fmt(effectiveFilesystem)}`);
|
|
51
|
+
}
|
|
29
52
|
if (config.streamOutput !== undefined)
|
|
30
53
|
lines.push(`Stream output: ${config.streamOutput}`);
|
|
31
54
|
if (config.useColour !== undefined)
|
|
@@ -203,46 +226,284 @@ export function debugToggleNotice(visible) {
|
|
|
203
226
|
};
|
|
204
227
|
}
|
|
205
228
|
/**
|
|
206
|
-
*
|
|
207
|
-
* Shared so
|
|
208
|
-
*
|
|
229
|
+
* CFG-27 — the notice for a landed approvals RUNG, given the RESULTING (post-apply) posture.
|
|
230
|
+
* Shared so every surface reports exactly the state that was applied, and so the copy can never
|
|
231
|
+
* drift from what the gate actually does.
|
|
232
|
+
*
|
|
233
|
+
* The body of each notice is §10's description, **verbatim** — the one place the ladder is
|
|
234
|
+
* explained to the user, so it must not be paraphrased per surface. §10 rule 4 also fixes the
|
|
235
|
+
* label: the display spelling with spaces, never the kebab-case identifier.
|
|
236
|
+
*
|
|
237
|
+
* `bypass` is the only warn-toned one: it is the single rung with no gate at all. Note what is
|
|
238
|
+
* NOT here — the hardline floor. §8.1 forbids advertising it: descriptions name only protections
|
|
239
|
+
* the user can inspect and extend, which is the deny list.
|
|
209
240
|
*/
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
:
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
'
|
|
241
|
+
/**
|
|
242
|
+
* TUI-C37 — feedback for `/mouse`, describing the state the session has LANDED on.
|
|
243
|
+
*
|
|
244
|
+
* The selection hint is repeated on every "on" notice rather than shown once at launch, because the
|
|
245
|
+
* moment a user reaches for `/mouse` is exactly the moment they are trying to copy something and
|
|
246
|
+
* finding that dragging no longer selects. Telling them there and then is the difference between a
|
|
247
|
+
* fixed problem and a filed bug.
|
|
248
|
+
*/
|
|
249
|
+
export function mouseToggleNotice(enabled) {
|
|
250
|
+
return {
|
|
251
|
+
title: enabled ? 'Mouse on' : 'Mouse off',
|
|
252
|
+
lines: enabled
|
|
253
|
+
? [
|
|
254
|
+
'Clickable parts of the interface respond to the mouse, and the wheel scrolls a focused panel.',
|
|
255
|
+
MOUSE_SELECTION_HINT,
|
|
256
|
+
'Turn it off for this session with /mouse off, or always with useMouse false in your config.',
|
|
257
|
+
]
|
|
258
|
+
: [
|
|
259
|
+
'Mouse reporting is off; text selection and copying work exactly as your terminal normally does.',
|
|
260
|
+
'Turn it back on with /mouse on.',
|
|
226
261
|
],
|
|
227
|
-
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/** TUI-C37 — `/mouse` on a surface with no mouse layer (the plain readline session, the fixture). */
|
|
265
|
+
export function mouseUnavailableNotice() {
|
|
266
|
+
return {
|
|
267
|
+
title: 'Mouse unavailable',
|
|
268
|
+
lines: [
|
|
269
|
+
'This session has no mouse layer, so there is nothing to turn on or off.',
|
|
270
|
+
'Mouse input needs an interactive terminal running the TUI.',
|
|
271
|
+
],
|
|
272
|
+
tone: 'warn',
|
|
273
|
+
};
|
|
228
274
|
}
|
|
229
275
|
/**
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
276
|
+
* TUI-C37 — parse `/mouse [on|off]`. No argument means "toggle", which is what a bare command name
|
|
277
|
+
* usually means; `null` marks an argument that is neither, so the caller can say so rather than
|
|
278
|
+
* guess. `resolve` needs the current state only for the toggle case.
|
|
233
279
|
*/
|
|
234
|
-
export function
|
|
280
|
+
export function parseMouseArg(args, current) {
|
|
235
281
|
if (args.length === 0)
|
|
236
|
-
return
|
|
282
|
+
return !current;
|
|
237
283
|
const arg = args[0].toLowerCase();
|
|
238
|
-
if (arg === '
|
|
239
|
-
return
|
|
240
|
-
if (arg === '
|
|
241
|
-
return
|
|
242
|
-
if (arg === 'off' || arg === 'disable' || arg === 'false')
|
|
243
|
-
return 'off';
|
|
284
|
+
if (arg === 'on')
|
|
285
|
+
return true;
|
|
286
|
+
if (arg === 'off')
|
|
287
|
+
return false;
|
|
244
288
|
return null;
|
|
245
289
|
}
|
|
290
|
+
export function approvalsRungNotice(approvals) {
|
|
291
|
+
const lines = [APPROVAL_RUNG_DESCRIPTIONS[approvals.rung]];
|
|
292
|
+
if (isRatedRung(approvals.rung) && approvals.rater) {
|
|
293
|
+
lines.push(`The auto-rater runs under the "${approvals.rater}" identity profile.`);
|
|
294
|
+
}
|
|
295
|
+
lines.push('Session-scoped only (not saved); run /approvals to see or change it.');
|
|
296
|
+
return {
|
|
297
|
+
title: `Approvals: ${APPROVAL_RUNG_LABELS[approvals.rung]}`,
|
|
298
|
+
lines,
|
|
299
|
+
tone: approvals.rung === 'bypass' ? 'warn' : 'info',
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* CFG-27 — the `/approvals` DISPLAY: the rung and its description, the rater profile at the two
|
|
304
|
+
* rated rungs, and the allow/deny list sizes. Pure: the surface reads the live posture from the
|
|
305
|
+
* runner and hands it in.
|
|
306
|
+
*
|
|
307
|
+
* `always: undefined` means the persisted store has not been loaded, and is rendered `—` rather
|
|
308
|
+
* than a misleading `0` — a display must not create the store in order to count it.
|
|
309
|
+
*/
|
|
310
|
+
export function approvalsStatusNotice(approvals, allowlist, deny = [], grants = [], trust) {
|
|
311
|
+
const rater = isRatedRung(approvals.rung)
|
|
312
|
+
? (approvals.rater ?? 'main model')
|
|
313
|
+
: 'not used at this rung';
|
|
314
|
+
return {
|
|
315
|
+
title: `Approvals: ${APPROVAL_RUNG_LABELS[approvals.rung]}`,
|
|
316
|
+
lines: [
|
|
317
|
+
APPROVAL_RUNG_DESCRIPTIONS[approvals.rung],
|
|
318
|
+
`Auto-rater: ${rater}`,
|
|
319
|
+
`Allowed: ${allowlist.session} this session · ${allowlist.always ?? '—'} remembered · Denied: ${deny.length}`,
|
|
320
|
+
...describeGrants(grants),
|
|
321
|
+
...(trust ? [describeMcpTrust(trust)] : []),
|
|
322
|
+
`Switch with /approvals ${APPROVAL_RUNGS.join(' | /approvals ')}.`,
|
|
323
|
+
TRUST_USAGE_LINE,
|
|
324
|
+
],
|
|
325
|
+
tone: approvals.rung === 'bypass' ? 'warn' : 'info',
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
/** How many grants `/approvals` lists before it summarizes the rest. */
|
|
329
|
+
const GRANT_DISPLAY_LIMIT = 10;
|
|
330
|
+
/**
|
|
331
|
+
* §3/§4.7.4 — the granted lines of the `/approvals` display: **what** was granted, **when**, and
|
|
332
|
+
* **under which effective annotations**.
|
|
333
|
+
*
|
|
334
|
+
* The annotations are the half that only a tool grant has, and the half §4.7.4 exists for: a grant
|
|
335
|
+
* is an approval of a tool *as annotated*, so a user asked to believe that has to be able to see
|
|
336
|
+
* what they believed. Each entry is rendered by `describeApprovalEntry` — the same one-liner the
|
|
337
|
+
* escalation menu names the grant with and the withdrawal notice names it with.
|
|
338
|
+
*
|
|
339
|
+
* **The heading claims no scope**, because the list spans both: `getGrants` reports the persisted
|
|
340
|
+
* store's `always` grants alongside this session's, and an `always` grant was made in whatever
|
|
341
|
+
* session the user made it in — often not this one. Each line carries its own scope and the instant
|
|
342
|
+
* it was granted, which is where that question is answered.
|
|
343
|
+
*/
|
|
344
|
+
function describeGrants(grants) {
|
|
345
|
+
if (grants.length === 0)
|
|
346
|
+
return [];
|
|
347
|
+
const shown = grants.slice(0, GRANT_DISPLAY_LIMIT).map((grant) => {
|
|
348
|
+
const annotations = grant.annotations
|
|
349
|
+
? `, approved as ${TOOL_ANNOTATION_HINTS.map((hint) => `${hint}=${grant.annotations?.[hint]}`).join(' ')}`
|
|
350
|
+
: '';
|
|
351
|
+
return ` ${describeApprovalEntry(grant.entry)} — ${grant.scope}, granted ${grant.grantedAt}${annotations}`;
|
|
352
|
+
});
|
|
353
|
+
const rest = grants.length - shown.length;
|
|
354
|
+
return [`Granted approvals:`, ...shown, ...(rest > 0 ? [` …and ${rest} more.`] : [])];
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* §4.7.1 — the one line saying which of each server's annotation hints this session believes.
|
|
358
|
+
*
|
|
359
|
+
* A server is listed even when it believes nothing, because "believes nothing" is the default and
|
|
360
|
+
* the user needs to be able to tell it apart from "this server is not here at all" — the two look
|
|
361
|
+
* identical when only trusted servers are listed, and the second is what a typo produces.
|
|
362
|
+
*/
|
|
363
|
+
function describeMcpTrust(trust) {
|
|
364
|
+
const parts = [
|
|
365
|
+
`defaults — ${trust.defaults.length > 0 ? trust.defaults.join(' ') : 'nothing'}`,
|
|
366
|
+
...trust.servers.map((entry) => `${entry.server} — ${entry.trusted.length > 0 ? entry.trusted.join(' ') : 'nothing'}`),
|
|
367
|
+
];
|
|
368
|
+
return `MCP annotations believed: ${parts.join(' · ')}`;
|
|
369
|
+
}
|
|
370
|
+
/** The `/approvals trust` half of the usage copy, shown wherever the rung half is. */
|
|
371
|
+
const TRUST_USAGE_LINE = 'Believe an MCP server’s annotation hints with /approvals trust <server> <hint…>, ' +
|
|
372
|
+
'and stop believing them with /approvals untrust <server> <hint…>.';
|
|
373
|
+
/**
|
|
374
|
+
* CFG-27/EXT-70 — parse the `/approvals` argument: no arg SHOWS the current posture; any of the
|
|
375
|
+
* five kebab-case rung names switches to it; `trust` / `untrust` move which of a server's
|
|
376
|
+
* annotation hints are believed (§4.7.1). Returns `null` for an unrecognized first argument so the
|
|
377
|
+
* command renders a usage hint instead of guessing.
|
|
378
|
+
*
|
|
379
|
+
* The retired `auto` / `ask` spellings are NOT accepted as aliases — this is still alpha, and a
|
|
380
|
+
* silent alias would leave the user believing in a vocabulary the gate no longer has.
|
|
381
|
+
*
|
|
382
|
+
* **Only the subcommand token is lower-cased.** A server key is the user's own `mcpServers` key
|
|
383
|
+
* (§4.7.5) and is case-sensitive, so folding it would name a different server — one that believes
|
|
384
|
+
* nothing, silently, while the notice reported success. A hint is matched case-insensitively
|
|
385
|
+
* against the fixed vocabulary and echoed back in its **canonical** spelling, so `readonlyhint`
|
|
386
|
+
* resolves rather than vanishing, and what lands in the policy is the name the derivation reads.
|
|
387
|
+
*/
|
|
388
|
+
export function parseApprovalsArg(args) {
|
|
389
|
+
if (args.length === 0)
|
|
390
|
+
return { show: true };
|
|
391
|
+
const verb = args[0].toLowerCase();
|
|
392
|
+
const rung = APPROVAL_RUNGS.find((r) => r === verb);
|
|
393
|
+
if (rung)
|
|
394
|
+
return { rung };
|
|
395
|
+
if (verb !== 'trust' && verb !== 'untrust')
|
|
396
|
+
return null;
|
|
397
|
+
const believe = verb === 'trust';
|
|
398
|
+
const server = args[1];
|
|
399
|
+
if (!server)
|
|
400
|
+
return { usage: { kind: 'trust-missing-server', believe } };
|
|
401
|
+
const tokens = args.slice(2);
|
|
402
|
+
if (tokens.length === 0)
|
|
403
|
+
return { usage: { kind: 'trust-missing-hints', believe, server } };
|
|
404
|
+
const hints = [];
|
|
405
|
+
for (const token of tokens) {
|
|
406
|
+
const hint = TOOL_ANNOTATION_HINTS.find((h) => h.toLowerCase() === token.toLowerCase());
|
|
407
|
+
if (!hint)
|
|
408
|
+
return { usage: { kind: 'unknown-hint', believe, token } };
|
|
409
|
+
if (!hints.includes(hint))
|
|
410
|
+
hints.push(hint);
|
|
411
|
+
}
|
|
412
|
+
return { trust: { server, hints, believe } };
|
|
413
|
+
}
|
|
414
|
+
/** The verb a notice names an invocation by, so copy never has to branch twice on the same flag. */
|
|
415
|
+
const trustVerb = (believe) => (believe ? 'trust' : 'untrust');
|
|
416
|
+
/**
|
|
417
|
+
* EXT-70 §4.7.1 — usage copy for a `/approvals trust` invocation that named no server, no hint, or
|
|
418
|
+
* a hint that is not one of the four. Each says what is missing and shows the vocabulary, because
|
|
419
|
+
* the hint names are camelCase MCP identifiers nobody guesses.
|
|
420
|
+
*/
|
|
421
|
+
export function approvalsTrustUsageNotice(problem) {
|
|
422
|
+
const usage = `Usage: /approvals ${trustVerb(problem.believe)} <server> <hint…> — hints are ${TOOL_ANNOTATION_HINTS.join(', ')}.`;
|
|
423
|
+
const perHint = 'Trust is per hint and per server: you may believe a server’s readOnlyHint while disbelieving ' +
|
|
424
|
+
'its openWorldHint.';
|
|
425
|
+
if (problem.kind === 'trust-missing-server') {
|
|
426
|
+
return {
|
|
427
|
+
title: `Which server should this ${trustVerb(problem.believe)}?`,
|
|
428
|
+
lines: [
|
|
429
|
+
'Name the server by the key you gave it under mcpServers in your config — that is the only ' +
|
|
430
|
+
'identity a server has here.',
|
|
431
|
+
usage,
|
|
432
|
+
perHint,
|
|
433
|
+
],
|
|
434
|
+
tone: 'warn',
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
if (problem.kind === 'trust-missing-hints') {
|
|
438
|
+
return {
|
|
439
|
+
title: `Which hints should this ${trustVerb(problem.believe)} for ${problem.server}?`,
|
|
440
|
+
lines: [`Name at least one hint. Nothing was changed for ${problem.server}.`, usage, perHint],
|
|
441
|
+
tone: 'warn',
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
return {
|
|
445
|
+
title: `Not an annotation hint: ${problem.token}`,
|
|
446
|
+
lines: [`Nothing was changed.`, usage, perHint],
|
|
447
|
+
tone: 'warn',
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* EXT-70 §4.7.1/§4.7.4 — the notice for a landed `/approvals trust` or `/approvals untrust`, built
|
|
452
|
+
* from what the runner RETURNS rather than from what was asked for, so the copy can only describe
|
|
453
|
+
* the trust actually in force.
|
|
454
|
+
*
|
|
455
|
+
* **The withdrawal half states the consequence where the withdrawal happens.** Ceasing to believe a
|
|
456
|
+
* hint pushes it back to the MCP fail-closed default, and for `readOnlyHint`, `openWorldHint` and
|
|
457
|
+
* `destructiveHint` that is a *weakening* — so §4.7.4 will withdraw that server's saved approvals at
|
|
458
|
+
* the next call, with its own notice. That is the correct direction and is not suppressed; what
|
|
459
|
+
* would be wrong is for the user to meet it as a surprise three turns later. `idempotentHint` is the
|
|
460
|
+
* one hint no weakening move names, so withdrawing it invalidates nothing and the line is absent —
|
|
461
|
+
* which is why the line is driven by the runner's `weakening` list rather than by "was anything
|
|
462
|
+
* withdrawn".
|
|
463
|
+
*/
|
|
464
|
+
export function approvalsTrustNotice(change) {
|
|
465
|
+
const believed = change.trusted.length > 0
|
|
466
|
+
? `Believed from ${change.server}: ${change.trusted.join(', ')}.`
|
|
467
|
+
: `Nothing is believed from ${change.server}; every hint takes its fail-closed default.`;
|
|
468
|
+
const lines = [];
|
|
469
|
+
if (change.added.length > 0) {
|
|
470
|
+
lines.push(`Now believing from ${change.server}: ${change.added.join(', ')}.`);
|
|
471
|
+
}
|
|
472
|
+
if (change.removed.length > 0) {
|
|
473
|
+
lines.push(`No longer believing from ${change.server}: ${change.removed.join(', ')}.`);
|
|
474
|
+
}
|
|
475
|
+
if (change.added.length === 0 && change.removed.length === 0) {
|
|
476
|
+
lines.push(`Nothing changed — ${change.server} was already believed on exactly those hints.`);
|
|
477
|
+
}
|
|
478
|
+
lines.push(believed);
|
|
479
|
+
if (change.weakening.length > 0) {
|
|
480
|
+
const withdrawn = change.weakening.join(', ');
|
|
481
|
+
// Precise where it can be, a rule where it cannot. Naming the grants is only honest for the
|
|
482
|
+
// ones this session can actually see weakened right now; for everything else the rule is
|
|
483
|
+
// stated, because promising a specific withdrawal that then does not happen teaches the user
|
|
484
|
+
// to disbelieve the notice.
|
|
485
|
+
lines.push(change.invalidates.length > 0
|
|
486
|
+
? `Because ${withdrawn} is no longer believed, ${change.server}'s tools describe themselves ` +
|
|
487
|
+
'as more dangerous than when you approved them. These saved approvals will be ' +
|
|
488
|
+
`withdrawn the next time that tool is called, and you will be asked again: ` +
|
|
489
|
+
`${change.invalidates.join('; ')}.`
|
|
490
|
+
: `Withdrawing ${withdrawn} can make ${change.server}'s tools describe themselves as more ` +
|
|
491
|
+
`dangerous than when you approved them, so any saved approval for ${change.server} ` +
|
|
492
|
+
'made while it was believed is withdrawn the next time that tool is called, and you ' +
|
|
493
|
+
'are asked again.');
|
|
494
|
+
}
|
|
495
|
+
if (!change.configured) {
|
|
496
|
+
lines.push(`Note: no server is configured under the key "${change.server}". A server is identified by ` +
|
|
497
|
+
'your own mcpServers key, so check the spelling — policy written for a key nothing uses ' +
|
|
498
|
+
'has no effect.');
|
|
499
|
+
}
|
|
500
|
+
lines.push('A believed hint never grants a server more than the same hint grants a built-in tool.', 'Session-scoped only (not saved); run /approvals to see it.');
|
|
501
|
+
return {
|
|
502
|
+
title: `MCP annotations believed: ${change.server}`,
|
|
503
|
+
lines,
|
|
504
|
+
tone: change.weakening.length > 0 ? 'warn' : 'info',
|
|
505
|
+
};
|
|
506
|
+
}
|
|
246
507
|
/**
|
|
247
508
|
* TUI-C18 — resolve a `/reasoning` invocation against the committed turns' reasoning (in transcript
|
|
248
509
|
* order, index 0 = turn 1). Pure, so the whole selection + friendly-notice logic is unit-testable
|
|
@@ -341,7 +602,7 @@ export function resolveDebugDumpRedact(resolvedConfig, args) {
|
|
|
341
602
|
* opted OUT (raw archive) it is the loud, impossible-to-miss UNSANITIZED warning. Colour follows
|
|
342
603
|
* DL-8 / the tone rule in maintenance/ux-guidelines.md: the safe, redacted default is normal
|
|
343
604
|
* feedback (no `tone` ⇒ info), while the raw opt-out is caution and so `tone: 'warn'` (yellow) —
|
|
344
|
-
* mirroring how `
|
|
605
|
+
* mirroring how `approvalsModeNotice` reserves yellow for the dangerous (gate-off) state. Redaction is
|
|
345
606
|
* best-effort pattern-based, so even the softened note still says review-before-sharing.
|
|
346
607
|
*/
|
|
347
608
|
export function debugDumpNotice(archiveDir, redacted) {
|
|
@@ -406,36 +667,65 @@ export function createCommandRegistry() {
|
|
|
406
667
|
run: (ctx) => ({ toggleTools: true, notice: toolsToggleNotice(!ctx.toolsExpanded) }),
|
|
407
668
|
},
|
|
408
669
|
{
|
|
409
|
-
name: '
|
|
410
|
-
|
|
411
|
-
//
|
|
412
|
-
|
|
413
|
-
|
|
670
|
+
name: 'mouse',
|
|
671
|
+
// The `/help` line carries the selection hint too, not just the `/mouse` feedback: someone
|
|
672
|
+
// scanning `/help` because dragging stopped selecting needs the answer where they are looking.
|
|
673
|
+
description: 'Turn terminal mouse reporting on or off (/mouse on|off; no arg toggles). ' +
|
|
674
|
+
'While on, hold Shift (Option in some macOS terminals) to select text',
|
|
675
|
+
availableDuringRun: true,
|
|
676
|
+
// Available mid-turn deliberately: the reason to reach for this is usually wanting to copy
|
|
677
|
+
// something off the screen, and that urge does not wait for the run to finish.
|
|
678
|
+
run: (ctx, args) => {
|
|
679
|
+
if (ctx.mouseEnabled === undefined)
|
|
680
|
+
return { notice: mouseUnavailableNotice() };
|
|
681
|
+
const target = parseMouseArg(args, ctx.mouseEnabled);
|
|
682
|
+
if (target === null) {
|
|
683
|
+
return {
|
|
684
|
+
notice: {
|
|
685
|
+
title: `Unknown option: ${args[0]}`,
|
|
686
|
+
lines: ['Usage: /mouse [on|off] — with no argument it toggles.'],
|
|
687
|
+
tone: 'warn',
|
|
688
|
+
},
|
|
689
|
+
};
|
|
690
|
+
}
|
|
691
|
+
return { setMouse: target, notice: mouseToggleNotice(target) };
|
|
692
|
+
},
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
name: 'approvals',
|
|
696
|
+
description: 'Show or switch the approvals rung ' +
|
|
697
|
+
'(/approvals read-only|write|auto-safe|full-auto|bypass; no arg shows it), ' +
|
|
698
|
+
'or believe an MCP server’s annotation hints (/approvals trust|untrust <server> <hint…>)',
|
|
699
|
+
// Available mid-turn so the user can change how the run's REMAINING tool calls are handled
|
|
700
|
+
// (EXT-12's reason, generalized to the rung). The surface owns the runner posture, so it
|
|
701
|
+
// applies the change and commits the notice for the landed state.
|
|
702
|
+
//
|
|
703
|
+
// CFG-27 retired `/auto-approve` and `/bypass-approve` with the three-mode vocabulary they
|
|
704
|
+
// named. Neither maps onto the ladder honestly — "auto-approve off" had to mean one of two
|
|
705
|
+
// different rungs — and `/approvals <rung>` says exactly what it will do.
|
|
414
706
|
availableDuringRun: true,
|
|
415
707
|
run: (_ctx, args) => {
|
|
416
|
-
const action =
|
|
708
|
+
const action = parseApprovalsArg(args);
|
|
417
709
|
if (action === null) {
|
|
418
710
|
return {
|
|
419
711
|
notice: {
|
|
420
712
|
title: `Unknown option: ${args[0]}`,
|
|
421
713
|
lines: [
|
|
422
|
-
|
|
423
|
-
|
|
714
|
+
`Usage: /approvals [${APPROVAL_RUNGS.join('|')}] — with no argument it shows the current rung.`,
|
|
715
|
+
...APPROVAL_RUNGS.map((rung) => `${rung} — ${APPROVAL_RUNG_DESCRIPTIONS[rung].split('. ')[0]}.`),
|
|
716
|
+
TRUST_USAGE_LINE,
|
|
424
717
|
],
|
|
425
718
|
tone: 'warn',
|
|
426
719
|
},
|
|
427
720
|
};
|
|
428
721
|
}
|
|
429
|
-
|
|
722
|
+
// A malformed `trust`/`untrust` is explained rather than applied: nothing is changed, so
|
|
723
|
+
// the surface has nothing to do and the command answers on its own.
|
|
724
|
+
if ('usage' in action)
|
|
725
|
+
return { notice: approvalsTrustUsageNotice(action.usage) };
|
|
726
|
+
return { approvals: action };
|
|
430
727
|
},
|
|
431
728
|
},
|
|
432
|
-
{
|
|
433
|
-
name: 'yolo',
|
|
434
|
-
description: 'Alias for /auto-approve (toggles session-wide shell auto-approval)',
|
|
435
|
-
availableDuringRun: true,
|
|
436
|
-
// Back-compat alias: a bare toggle, routed through the same auto-approve apply path. EXT-12.
|
|
437
|
-
run: () => ({ autoApprove: 'toggle' }),
|
|
438
|
-
},
|
|
439
729
|
{
|
|
440
730
|
name: 'exit',
|
|
441
731
|
description: 'Quit the session',
|
|
@@ -564,7 +854,7 @@ export function formatHelp(registry) {
|
|
|
564
854
|
*
|
|
565
855
|
* EXT-12 — when `options.duringRun` is set (a turn is streaming), commands that are not marked
|
|
566
856
|
* {@link SlashCommand.availableDuringRun} are refused with a friendly notice rather than run,
|
|
567
|
-
* so mid-turn input can only reach the safe, non-mutating commands (`/
|
|
857
|
+
* so mid-turn input can only reach the safe, non-mutating commands (`/approvals`, `/verbose`,
|
|
568
858
|
* `/debug`, …). `/help` is always allowed.
|
|
569
859
|
*/
|
|
570
860
|
export function dispatchSlashCommand(parsed, registry, ctx, options = {}) {
|
|
@@ -587,7 +877,7 @@ export function dispatchSlashCommand(parsed, registry, ctx, options = {}) {
|
|
|
587
877
|
title: `/${command.name} is not available while the agent is working`,
|
|
588
878
|
lines: [
|
|
589
879
|
'Wait for the current turn to finish, then run it again.',
|
|
590
|
-
'Commands like /
|
|
880
|
+
'Commands like /approvals, /verbose and /debug do work mid-turn.',
|
|
591
881
|
],
|
|
592
882
|
tone: 'warn',
|
|
593
883
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/modules/slashCommands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/modules/slashCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ export default class GthDevToolkit extends BaseToolkit {
|
|
|
54
54
|
* 2. output capped with a head/tail window + temp-file spillover,
|
|
55
55
|
* 3. provider/LLM credentials scrubbed from the child env,
|
|
56
56
|
* 4. an unbypassable hardline blocklist (refuses catastrophic commands BEFORE
|
|
57
|
-
* spawn — fires even when confirmation is bypassed by
|
|
57
|
+
* spawn — fires even when confirmation is bypassed by approvals.mode: bypass).
|
|
58
58
|
*
|
|
59
59
|
* Resolves with a model-facing string on a CLEAN exit (`code === 0`). EXT-20: a non-zero exit
|
|
60
60
|
* and a timeout-kill instead REJECT with a {@link ShellCommandFailedError} that carries the FULL
|
|
@@ -189,7 +189,7 @@ export default class GthDevToolkit extends BaseToolkit {
|
|
|
189
189
|
* 2. output capped with a head/tail window + temp-file spillover,
|
|
190
190
|
* 3. provider/LLM credentials scrubbed from the child env,
|
|
191
191
|
* 4. an unbypassable hardline blocklist (refuses catastrophic commands BEFORE
|
|
192
|
-
* spawn — fires even when confirmation is bypassed by
|
|
192
|
+
* spawn — fires even when confirmation is bypassed by approvals.mode: bypass).
|
|
193
193
|
*
|
|
194
194
|
* Resolves with a model-facing string on a CLEAN exit (`code === 0`). EXT-20: a non-zero exit
|
|
195
195
|
* and a timeout-kill instead REJECT with a {@link ShellCommandFailedError} that carries the FULL
|
|
@@ -212,13 +212,12 @@ export default class GthDevToolkit extends BaseToolkit {
|
|
|
212
212
|
kind: 'notice',
|
|
213
213
|
text: `🔧 Executing ${toolName}: ${command}`,
|
|
214
214
|
});
|
|
215
|
-
// (4) Hardline blocklist — checked here so it fires regardless of
|
|
215
|
+
// (4) Hardline blocklist — checked here so it fires regardless of the approval mode,
|
|
216
216
|
// allow-lists, or any confirmation path. Refuse WITHOUT executing.
|
|
217
217
|
const hardline = checkHardline(command);
|
|
218
218
|
if (hardline) {
|
|
219
219
|
const refusal = `Refusing to execute '${command}': blocked by hardline safety policy ` +
|
|
220
|
-
`(${hardline.description}). This is
|
|
221
|
-
`and is blocked even when command confirmation is disabled.`;
|
|
220
|
+
`(${hardline.description}). This is blocked even when command confirmation is disabled.`;
|
|
222
221
|
// TUI-C31 (a): route through the tool-output channel so the refusal lands in the managed
|
|
223
222
|
// frame under the TUI (headless still gets displayWarning via the default sink, verbatim).
|
|
224
223
|
emitToolOutput({ toolCallId, toolName, kind: 'warning', text: `\n⛔ ${refusal}` });
|