gaunt-sloth 2.0.0-beta.8 → 2.0.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/.gsloth.review-discovery.md +19 -0
- package/cli.js +49 -0
- package/dist/cli.js +37 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/adkEvalRunner.d.ts +7 -6
- package/dist/commands/adkEvalRunner.js +3 -3
- package/dist/commands/adkEvalRunner.js.map +1 -1
- package/dist/commands/agUiEvalRunner.d.ts +4 -4
- package/dist/commands/agUiEvalRunner.js +8 -7
- package/dist/commands/agUiEvalRunner.js.map +1 -1
- package/dist/commands/askCommand.js +9 -1
- package/dist/commands/askCommand.js.map +1 -1
- package/dist/commands/batchCommand.d.ts +2 -2
- package/dist/commands/batchCommand.js +10 -5
- package/dist/commands/batchCommand.js.map +1 -1
- package/dist/commands/commandIntrospection.d.ts +1 -1
- package/dist/commands/commandIntrospection.js +6 -3
- package/dist/commands/commandIntrospection.js.map +1 -1
- package/dist/commands/configCommand.d.ts +1 -1
- package/dist/commands/configCommand.js +1 -1
- package/dist/commands/configSetup.d.ts +1 -1
- package/dist/commands/discoveryConfigSchemaAgreement.d.ts +45 -0
- package/dist/commands/discoveryConfigSchemaAgreement.js +2 -0
- package/dist/commands/discoveryConfigSchemaAgreement.js.map +1 -0
- package/dist/commands/evalCommand.d.ts +27 -1
- package/dist/commands/evalCommand.js +155 -13
- package/dist/commands/evalCommand.js.map +1 -1
- package/dist/commands/execCommand.d.ts +1 -1
- package/dist/commands/execCommand.js +9 -2
- package/dist/commands/execCommand.js.map +1 -1
- package/dist/commands/firstRunDialog.d.ts +3 -3
- package/dist/commands/firstRunDialog.js +2 -2
- package/dist/commands/getCommand.js +10 -1
- package/dist/commands/getCommand.js.map +1 -1
- package/dist/commands/historyCommand.d.ts +1 -1
- package/dist/commands/historyCommand.js +16 -4
- package/dist/commands/historyCommand.js.map +1 -1
- package/dist/commands/prCommand.js +45 -16
- package/dist/commands/prCommand.js.map +1 -1
- package/dist/commands/prDiscovery.d.ts +24 -25
- package/dist/commands/prDiscovery.js +55 -132
- package/dist/commands/prDiscovery.js.map +1 -1
- package/dist/commands/requirementsDiscovery.d.ts +82 -0
- package/dist/commands/requirementsDiscovery.js +127 -0
- package/dist/commands/requirementsDiscovery.js.map +1 -0
- package/dist/commands/reviewCommand.js +75 -8
- package/dist/commands/reviewCommand.js.map +1 -1
- package/dist/commands/reviewDiscovery.d.ts +96 -0
- package/dist/commands/reviewDiscovery.js +180 -0
- package/dist/commands/reviewDiscovery.js.map +1 -0
- package/dist/tui/approvalBridges.d.ts +86 -0
- package/dist/tui/approvalBridges.js +147 -0
- package/dist/tui/approvalBridges.js.map +1 -0
- package/dist/tui/components/App.js +272 -27
- package/dist/tui/components/App.js.map +1 -1
- package/dist/tui/components/DebugPanel.d.ts +6 -3
- package/dist/tui/components/DebugPanel.js +32 -10
- package/dist/tui/components/DebugPanel.js.map +1 -1
- package/dist/tui/components/FetchProgress.d.ts +1 -1
- package/dist/tui/components/LaunchBanner.d.ts +4 -3
- package/dist/tui/components/LaunchBanner.js +8 -6
- package/dist/tui/components/LaunchBanner.js.map +1 -1
- package/dist/tui/components/LiveTurn.d.ts +15 -9
- package/dist/tui/components/LiveTurn.js +15 -14
- package/dist/tui/components/LiveTurn.js.map +1 -1
- package/dist/tui/components/PromptInput.d.ts +2 -2
- package/dist/tui/components/PromptInput.js +11 -6
- package/dist/tui/components/PromptInput.js.map +1 -1
- package/dist/tui/components/ResumePicker.d.ts +69 -0
- package/dist/tui/components/ResumePicker.js +93 -0
- package/dist/tui/components/ResumePicker.js.map +1 -0
- package/dist/tui/components/SelectList.d.ts +1 -1
- package/dist/tui/components/SelectList.js +1 -1
- package/dist/tui/components/SlashCommandMenu.d.ts +1 -1
- package/dist/tui/components/SlashCommandMenu.js +1 -1
- package/dist/tui/components/StatusBar.d.ts +27 -1
- package/dist/tui/components/StatusBar.js +13 -2
- package/dist/tui/components/StatusBar.js.map +1 -1
- package/dist/tui/debugRender.d.ts +26 -3
- package/dist/tui/debugRender.js +232 -2
- package/dist/tui/debugRender.js.map +1 -1
- package/dist/tui/fixtureAgent.d.ts +2 -2
- package/dist/tui/fixtureAgent.js +2 -2
- package/dist/tui/keyBindings.js +7 -1
- package/dist/tui/keyBindings.js.map +1 -1
- package/dist/tui/keyGuards.d.ts +1 -1
- package/dist/tui/keyGuards.js +1 -1
- package/dist/tui/ruleWidth.d.ts +1 -1
- package/dist/tui/ruleWidth.js +1 -1
- package/dist/tui/selectCancelled.d.ts +1 -1
- package/dist/tui/selectCancelled.js +1 -1
- package/dist/tui/transcriptWindow.js +7 -1
- package/dist/tui/transcriptWindow.js.map +1 -1
- package/dist/tui/tuiSessionModule.js +89 -190
- package/dist/tui/tuiSessionModule.js.map +1 -1
- package/dist/tui/types.d.ts +77 -18
- package/dist/tui/useMouse.d.ts +1 -1
- package/dist/tui/useMouse.js +1 -1
- package/dist/tui/useSlothAnimation.d.ts +1 -1
- package/dist/tui/viewModel.d.ts +64 -12
- package/dist/tui/viewModel.js +43 -11
- package/dist/tui/viewModel.js.map +1 -1
- package/dist/utils/configErrorGuard.d.ts +11 -3
- package/dist/utils/configErrorGuard.js +11 -3
- package/dist/utils/configErrorGuard.js.map +1 -1
- package/package.json +18 -18
package/dist/tui/debugRender.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { mapChatMessagesToStoredMessages } from '@langchain/core/messages';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import { APPROVAL_RUNG_LABELS, isRatedRung } from '@gaunt-sloth/core/config.js';
|
|
4
|
+
import { neutralizeUntrustedText } from '@gaunt-sloth/core/core/shell/framing.js';
|
|
5
|
+
import { redactForToolDisplay } from '@gaunt-sloth/core/core/toolDisplay.js';
|
|
3
6
|
import { MCP_TOOL_NAME_PREFIX } from '@gaunt-sloth/core/constants.js';
|
|
4
7
|
/**
|
|
5
8
|
* Pure renderers turning the agent's debug captures into the JSON strings the `/debug`
|
|
@@ -111,7 +114,7 @@ const MCP_TAB_DESCRIPTION = 'MCP server overview. For each connected MCP server:
|
|
|
111
114
|
/**
|
|
112
115
|
* TUI-C20: gather the session-stable inputs the MCP debug tab needs — the configured MCP server
|
|
113
116
|
* list and each server's captured discovery instructions. Instructions come from EXT-32's
|
|
114
|
-
*
|
|
117
|
+
* `AgentResolvers.getMcpServerInstructions` accessor (captured once during tool resolution and
|
|
115
118
|
* reused here, NOT re-queried), so the tab shows exactly the same instruction text the system prompt
|
|
116
119
|
* was composed with. React-free + defensive (missing config / accessor → empty) so it is unit
|
|
117
120
|
* testable and can never blank or crash the panel. The per-server tool grouping is left to
|
|
@@ -130,7 +133,7 @@ export function collectMcpOverview(config, resolvers) {
|
|
|
130
133
|
* contributed tools by their server-prefixed name (`mcp__<server>__<tool>`) with a one-line
|
|
131
134
|
* description. Tool SCHEMAS are deliberately NOT rendered here — the intro points at the Tools tab
|
|
132
135
|
* for those. `servers` is the full configured server list; `extras.tools` is the live per-turn tool
|
|
133
|
-
* catalogue, regrouped by the shared {@link MCP_TOOL_NAME_PREFIX} prefix so the grouping can't drift
|
|
136
|
+
* catalogue, regrouped by the shared {@link @gaunt-sloth/core!constants.MCP_TOOL_NAME_PREFIX | MCP_TOOL_NAME_PREFIX} prefix so the grouping can't drift
|
|
134
137
|
* from how the resolver named them. No servers → a neutral empty state (never a throw).
|
|
135
138
|
*/
|
|
136
139
|
export function renderMcpDetails(extras, servers, instructions, failures = []) {
|
|
@@ -182,6 +185,233 @@ export function renderMcpDetails(extras, servers, instructions, failures = []) {
|
|
|
182
185
|
}
|
|
183
186
|
return withDescription(MCP_TAB_DESCRIPTION, sections.join('\n'));
|
|
184
187
|
}
|
|
188
|
+
const AUTO_TAB_DESCRIPTION = 'Auto-mode: what the approvals gate did with each gated tool call, and — the point of this tab — ' +
|
|
189
|
+
'WHICH STAGE decided it. "Escalated" on its own does not distinguish a rater verdict from a ' +
|
|
190
|
+
'deterministic floor match from a deny-list hit, and those need different answers. Most recent ' +
|
|
191
|
+
'call first. The rater config in force is at the top; the full rater prompt and its raw answer ' +
|
|
192
|
+
'are not drawn here — they are in the /debug-dump archive.';
|
|
193
|
+
/**
|
|
194
|
+
* **Which stage decided**, in the words a reader of this tab needs.
|
|
195
|
+
*
|
|
196
|
+
* A total `Record` on purpose, for two reasons. A stage added to
|
|
197
|
+
* {@link @gaunt-sloth/core!core/shell/approvalCapture.ApprovalDecidingStage | ApprovalDecidingStage} is a compile error until someone writes its sentence,
|
|
198
|
+
* which is the same guarantee `MECHANISM_NOTES` and `APPROVAL_RUNG_LABELS` buy. And it puts the
|
|
199
|
+
* distinction this whole tab exists for in ONE table, so a test can pin each stage to its own
|
|
200
|
+
* wording rather than to an enum value that reads the same for every branch.
|
|
201
|
+
*/
|
|
202
|
+
const STAGE_LABELS = {
|
|
203
|
+
'not-gated': 'the rung in force does not gate this tool',
|
|
204
|
+
'deny-list': 'a declared deny entry (or an earlier "always reject")',
|
|
205
|
+
bypass: 'nothing — the gate is off for this session',
|
|
206
|
+
'hardline-floor': 'the deterministic hardline floor, before any rating',
|
|
207
|
+
'escalate-entry': 'a declared escalate entry — straight to a person, no rating',
|
|
208
|
+
'allow-list': 'a declared allow entry, with no rating',
|
|
209
|
+
'allow-tripwire': 'a declared allow entry that kept the rater on as a tripwire',
|
|
210
|
+
rater: 'the auto-rater',
|
|
211
|
+
'tool-open-world-floor': 'the open-world floor on a non-shell tool call',
|
|
212
|
+
'unrated-rung': 'the rung itself — it consults no model, so a person decides',
|
|
213
|
+
};
|
|
214
|
+
/** What became of the call, in the words the notices use. */
|
|
215
|
+
const ACTION_LABELS = {
|
|
216
|
+
approve: 'approved — the tool ran',
|
|
217
|
+
reject: 'rejected',
|
|
218
|
+
escalate: 'escalated to a person',
|
|
219
|
+
halt: 'halted the run',
|
|
220
|
+
error: 'the decision itself errored',
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* How an escalation ended once it reached (or failed to reach) a person.
|
|
224
|
+
*
|
|
225
|
+
* [[EXT-110]] — the non-answers read differently on purpose. `no-human` is a question that was
|
|
226
|
+
* never put to anybody, because the surface wired no way to ask; `teardown` is one that was put to
|
|
227
|
+
* a surface and went away unanswered, whoever or whatever ended it; and [[EXT-193]]'s
|
|
228
|
+
* `unrecognised` is one that came back answered in a dialect this build cannot read. All of them
|
|
229
|
+
* mean the command did not run, and
|
|
230
|
+
* a reader chasing an incident needs to know which happened — above all, that none of them is the
|
|
231
|
+
* refusal `reject` alone reports.
|
|
232
|
+
*/
|
|
233
|
+
const HUMAN_ANSWER_LABELS = {
|
|
234
|
+
approve: 'yes, and they approved',
|
|
235
|
+
reject: 'yes, and they refused',
|
|
236
|
+
'no-human': 'no — nobody was at the keyboard',
|
|
237
|
+
teardown: 'asked, but the session ended before anyone answered',
|
|
238
|
+
unrecognised: 'asked, but the answer came back in a form this build could not read',
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* Render the "Auto-mode" tab ([[TUI-C27]]): the approvals gate's own record of every gated tool
|
|
242
|
+
* call this session, plus the rater config in force.
|
|
243
|
+
*
|
|
244
|
+
* **Newest first, which deliberately differs from `approvals.json` in the `/debug-dump` archive.**
|
|
245
|
+
* The archive is read in a text editor with the whole file in reach, so chronological order is the
|
|
246
|
+
* natural one there. This tab is an eight-row viewport, and the call a person opened it about is
|
|
247
|
+
* almost always the last one — putting the oldest of fifty records under the description would make
|
|
248
|
+
* the common case a scroll to the bottom.
|
|
249
|
+
*
|
|
250
|
+
* **The rater's prompt and raw answer are deliberately not drawn.** They are the archive's job (the
|
|
251
|
+
* capture holds them and `/debug-dump` writes them), each is kilobytes, and they are the most
|
|
252
|
+
* sensitive thing the record carries. The description says where they live so nobody reads their
|
|
253
|
+
* absence as them not being recorded.
|
|
254
|
+
*
|
|
255
|
+
* **Every free-text leaf goes through the SAME on-screen policy the tool panels use** —
|
|
256
|
+
* {@link @gaunt-sloth/core!core/toolDisplay.redactForToolDisplay | redactForToolDisplay} then {@link @gaunt-sloth/core!core/shell/framing.neutralizeUntrustedText | neutralizeUntrustedText}, in that order
|
|
257
|
+
* (see this module's `safeText`) — because these records carry the user's own commands. Applied per LEAF and
|
|
258
|
+
* never to the assembled block: the neutraliser escapes newlines, so neutralising the whole thing
|
|
259
|
+
* would collapse the tab into one unreadable line.
|
|
260
|
+
*/
|
|
261
|
+
export function renderApprovalDetails(captures, approvals) {
|
|
262
|
+
const sections = [];
|
|
263
|
+
sections.push('=== RATER CONFIG ===');
|
|
264
|
+
if (approvals) {
|
|
265
|
+
sections.push(`rung in force: ${APPROVAL_RUNG_LABELS[approvals.rung]} ` +
|
|
266
|
+
`(${isRatedRung(approvals.rung) ? 'consults the rater' : 'consults no model'})`);
|
|
267
|
+
sections.push(`rater profile: ${safeText(approvals.rater ?? '(the session model)')}`);
|
|
268
|
+
sections.push(`alignment checker profile: ${safeText(approvals.alignmentChecker ?? '(the session model)')}`);
|
|
269
|
+
sections.push(`rater timeout: ${approvals.raterTimeoutMs === undefined ? '(the default)' : `${approvals.raterTimeoutMs} ms`}`);
|
|
270
|
+
sections.push(`declared entries: ${approvals.allow.length} allow · ${approvals.deny.length} deny · ` +
|
|
271
|
+
`${approvals.escalate.length} escalate`);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
sections.push('(this session has no approvals surface)');
|
|
275
|
+
}
|
|
276
|
+
sections.push('');
|
|
277
|
+
sections.push(`=== GATED CALLS (${captures.length}) — most recent first ===`);
|
|
278
|
+
if (captures.length === 0) {
|
|
279
|
+
sections.push('(no tool call has been through the gate yet)');
|
|
280
|
+
return withDescription(AUTO_TAB_DESCRIPTION, sections.join('\n'));
|
|
281
|
+
}
|
|
282
|
+
const newestFirst = [...captures].reverse();
|
|
283
|
+
newestFirst.forEach((record, i) => {
|
|
284
|
+
sections.push('');
|
|
285
|
+
for (const line of approvalRecordLines(record, i + 1, newestFirst.length))
|
|
286
|
+
sections.push(line);
|
|
287
|
+
});
|
|
288
|
+
return withDescription(AUTO_TAB_DESCRIPTION, sections.join('\n'));
|
|
289
|
+
}
|
|
290
|
+
/** One gated call, from arrival to outcome. */
|
|
291
|
+
function approvalRecordLines(record, position, total) {
|
|
292
|
+
const lines = [];
|
|
293
|
+
lines.push(`── ${position} of ${total} · ${safeText(record.at)} · ${safeText(record.tool)} ──`);
|
|
294
|
+
if (record.command !== undefined)
|
|
295
|
+
lines.push(` command: ${safeText(record.command)}`);
|
|
296
|
+
lines.push(` rung in force: ${APPROVAL_RUNG_LABELS[record.rung]}`);
|
|
297
|
+
// The headline. `stage` is absent only when the decision threw before reaching one, and that is
|
|
298
|
+
// said outright rather than left as a blank a reader would read as the recorder having failed.
|
|
299
|
+
lines.push(` decided by: ${record.stage ? STAGE_LABELS[record.stage] : '(the decision ended before any stage decided)'}`);
|
|
300
|
+
lines.push(` outcome: ${record.action ? ACTION_LABELS[record.action] : '(no outcome recorded)'}`);
|
|
301
|
+
if (record.scope)
|
|
302
|
+
lines.push(` granted for: ${record.scope}`);
|
|
303
|
+
if (record.humanAnswer) {
|
|
304
|
+
lines.push(` a person was asked: ${HUMAN_ANSWER_LABELS[record.humanAnswer]}`);
|
|
305
|
+
}
|
|
306
|
+
if (record.hardline) {
|
|
307
|
+
lines.push(` hardline floor: ${safeText(record.hardline.description)}`);
|
|
308
|
+
// Naming the matched pattern is the §8.1 resolution this node took, and the same one the
|
|
309
|
+
// archive took: §8.1 governs rung descriptions and promotional copy, not a diagnostic view a
|
|
310
|
+
// user opens about their own session, where "a floor matched" is not actionable.
|
|
311
|
+
lines.push(` matched pattern: ${safeText(record.hardline.pattern)}`);
|
|
312
|
+
}
|
|
313
|
+
if (record.ruleMatch) {
|
|
314
|
+
lines.push(` list entry: ${record.ruleMatch.action} — ${safeText(record.ruleMatch.entry)}`);
|
|
315
|
+
if (record.ruleMatch.rate !== undefined) {
|
|
316
|
+
lines.push(` rater kept on as a tripwire: ${yesNo(record.ruleMatch.rate)}`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
if (record.preflight) {
|
|
320
|
+
lines.push(` preflight: ${record.preflight.kind} — ${safeText(record.preflight.reason)}`);
|
|
321
|
+
// Two different questions, and reporting either one alone misattributes the decision: whether
|
|
322
|
+
// the rating sat below the floor, and whether the decision's readers applied the floor at all.
|
|
323
|
+
lines.push(` rewrote the rating: ${yesNo(record.preflight.rewroteRating)}`);
|
|
324
|
+
lines.push(` applied to the decision: ${yesNo(record.preflight.floorApplied)}`);
|
|
325
|
+
if (record.preflight.carvedHosts?.length) {
|
|
326
|
+
lines.push(` hosts the user named: ${record.preflight.carvedHosts.map(safeText).join(', ')}`);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
if (record.parserUnresolved) {
|
|
330
|
+
// This is what remains of "was the call an abstain": not an outcome of its own, but the gate
|
|
331
|
+
// parser's shape report on a command it could not statically resolve, carried into the rating
|
|
332
|
+
// as neutral context. A rated call with this block and a rated call without it are two
|
|
333
|
+
// different stories about the same stage.
|
|
334
|
+
lines.push(` command not statically resolvable: ${record.parserUnresolved.mechanism}`);
|
|
335
|
+
for (const note of record.parserUnresolved.notes)
|
|
336
|
+
lines.push(` note: ${safeText(note)}`);
|
|
337
|
+
}
|
|
338
|
+
lines.push(...ratingLines(record));
|
|
339
|
+
lines.push(...alignmentLines(record));
|
|
340
|
+
lines.push(` negotiation budget: ${record.budget.consecutiveRejections}/${record.budget.maxConsecutive} ` +
|
|
341
|
+
`consecutive rejections · ${record.budget.rejectionsSinceHuman}/${record.budget.maxBeforeHuman} ` +
|
|
342
|
+
'since a person was involved');
|
|
343
|
+
if (record.error)
|
|
344
|
+
lines.push(` error: ${safeText(record.error)}`);
|
|
345
|
+
return lines;
|
|
346
|
+
}
|
|
347
|
+
/** The rating call, when one was made. Its absence is itself reported — it names the stage. */
|
|
348
|
+
function ratingLines(record) {
|
|
349
|
+
const rating = record.rating;
|
|
350
|
+
if (!rating)
|
|
351
|
+
return [' rating: none — no model was consulted for this call'];
|
|
352
|
+
const lines = [];
|
|
353
|
+
lines.push(rating.verdict
|
|
354
|
+
? ` rating: ${rating.verdict.outcome} — ${safeText(rating.verdict.reason)}`
|
|
355
|
+
: ' rating: sent, but no answer was recorded');
|
|
356
|
+
lines.push(` rater model: ${safeText(rating.model ?? '(not recorded)')}` +
|
|
357
|
+
` · profile: ${safeText(rating.profile ?? '(the session model)')}` +
|
|
358
|
+
` · ${rating.durationMs === undefined ? 'still in flight' : `${rating.durationMs} ms`}` +
|
|
359
|
+
` (budget ${rating.timeoutMs} ms)`);
|
|
360
|
+
lines.push(` a rejection would go back to the agent: ${yesNo(rating.negotiable)}`);
|
|
361
|
+
if (rating.failClosed) {
|
|
362
|
+
// The distinction a bug report cannot make without this line: the gate decided, not the model.
|
|
363
|
+
lines.push(` fail-closed: ${rating.failClosed} — the gate decided this, not the rater`);
|
|
364
|
+
}
|
|
365
|
+
if (rating.providerError) {
|
|
366
|
+
const parts = [];
|
|
367
|
+
if (rating.providerError.status !== undefined)
|
|
368
|
+
parts.push(`HTTP ${rating.providerError.status}`);
|
|
369
|
+
if (rating.providerError.message)
|
|
370
|
+
parts.push(safeText(rating.providerError.message));
|
|
371
|
+
if (rating.providerError.withheld)
|
|
372
|
+
parts.push('(provider message withheld)');
|
|
373
|
+
lines.push(` provider error: ${parts.length ? parts.join(' — ') : '(no detail)'}`);
|
|
374
|
+
}
|
|
375
|
+
return lines;
|
|
376
|
+
}
|
|
377
|
+
/** The alignment check, when the classifier declined and a checker was consulted. */
|
|
378
|
+
function alignmentLines(record) {
|
|
379
|
+
const alignment = record.alignment;
|
|
380
|
+
if (!alignment)
|
|
381
|
+
return [];
|
|
382
|
+
const lines = [];
|
|
383
|
+
lines.push(alignment.decision
|
|
384
|
+
? ` alignment check: ${alignment.decision.kind} — ${safeText(alignment.decision.reason)}`
|
|
385
|
+
: ' alignment check: sent, but no decision was recorded');
|
|
386
|
+
if (alignment.decision?.suggestedCommand) {
|
|
387
|
+
lines.push(` suggested instead: ${safeText(alignment.decision.suggestedCommand)}`);
|
|
388
|
+
}
|
|
389
|
+
lines.push(` checker profile: ${safeText(alignment.profile ?? '(the session model)')}` +
|
|
390
|
+
` · ${alignment.durationMs === undefined ? 'still in flight' : `${alignment.durationMs} ms`}` +
|
|
391
|
+
` (budget ${alignment.timeoutMs} ms)`);
|
|
392
|
+
if (alignment.failClosed) {
|
|
393
|
+
lines.push(` fail-closed: ${alignment.failClosed} — the gate decided this, not the checker`);
|
|
394
|
+
}
|
|
395
|
+
return lines;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* One free-text leaf, ready for the screen.
|
|
399
|
+
*
|
|
400
|
+
* **Redact first, neutralise second — never the reverse**, the same order and the same reasoning as
|
|
401
|
+
* the tool panels (`parseChecklistArgs`, `toolDisplay.formatParamValue`): a literal secret carrying
|
|
402
|
+
* a control character stops matching the moment that character is rewritten to a printable escape,
|
|
403
|
+
* so neutralising first can leave a secret on screen that redacting first would have caught.
|
|
404
|
+
*
|
|
405
|
+
* The secret SET is `toolDisplay`'s, not one harvested here — a second harvest outside core has no
|
|
406
|
+
* registered config to read the inline `apiKey` literals from, and would be a visibly-redacted
|
|
407
|
+
* surface with a weaker guarantee than the panel beside it.
|
|
408
|
+
*/
|
|
409
|
+
function safeText(value) {
|
|
410
|
+
return neutralizeUntrustedText(redactForToolDisplay(value));
|
|
411
|
+
}
|
|
412
|
+
function yesNo(value) {
|
|
413
|
+
return value ? 'yes' : 'no';
|
|
414
|
+
}
|
|
185
415
|
/** Format one tool definition: name, description, then its JSON-schema params. */
|
|
186
416
|
function renderToolDef(tool) {
|
|
187
417
|
const lines = [`• ${tool.name}`];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugRender.js","sourceRoot":"","sources":["../../src/tui/debugRender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,eAAe,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,MAAM,uBAAuB,GAC3B,6FAA6F;IAC7F,6DAA6D,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAiB;IAC9C,IAAI,CAAC;QACH,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,WAAmB,EAAE,IAAY;IACxD,OAAO,GAAG,WAAW,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,sBAAsB,GAC1B,2FAA2F;IAC3F,2FAA2F;IAC3F,kCAAkC,CAAC;AAErC,MAAM,qBAAqB,GACzB,0FAA0F;IAC1F,qDAAqD,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAsC;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,mCAAmC,CAAC;IACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAEhG,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAEzF,OAAO,eAAe,CAAC,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,mCAAmC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,oCAAoC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,qCAAqC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,eAAe,CAAC,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,mBAAmB,GACvB,kGAAkG;IAClG,iGAAiG;IACjG,yFAAyF,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAiD,EACjD,SAC2F;IAM3F,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,SAAS,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,SAAS,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC;IAC/D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAsC,EACtC,OAAiB,EACjB,YAAoC,EACpC,QAAQ,GAA2B,EAAE;IAErC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;IAEzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,KAAK,CAAC,CAAC;QAEjC,6FAA6F;QAC7F,+FAA+F;QAC/F,6FAA6F;QAC7F,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,0BAA0B,aAAa,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,qFAAqF;QACrF,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/B,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QAED,iFAAiF;QACjF,MAAM,MAAM,GAAG,GAAG,oBAAoB,KAAK,MAAM,IAAI,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,kFAAkF;AAClF,SAAS,aAAa,CAAC,IAAkB;IACvC,MAAM,KAAK,GAAa,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,mFAAmF;YACnF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,MAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,sFAAsF;QACtF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,MAAM,IAAK,KAAiC;YAC3C,OAAQ,KAAiC,CAAC,SAAS,KAAK,UAAU,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QAClB,OAAQ,KAAgC,CAAC,QAAQ,KAAK,UAAU,CACjE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"debugRender.js","sourceRoot":"","sources":["../../src/tui/debugRender.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { TuiAgent } from '#src/tui/types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Test-only deterministic agent. Replays recorded {@link AgentStreamEvent}s from a JSON
|
|
3
|
+
* Test-only deterministic agent. Replays recorded {@link @gaunt-sloth/core!core/types.AgentStreamEvent | AgentStreamEvent}s from a JSON
|
|
4
4
|
* fixture instead of calling a model, so the PTY e2e (Stage D) drives the *real* TUI — the
|
|
5
5
|
* `<App>` component, the `foldEvents` reducer, and Ink's renderer — with hermetic, key-free,
|
|
6
|
-
* fully reproducible output. Selected by {@link
|
|
6
|
+
* fully reproducible output. Selected by {@link gaunt-sloth!tui/tuiSessionModule | tuiSessionModule}'s
|
|
7
7
|
* `createTuiSession` only when `GTH_TUI_E2E_FIXTURE` points at a fixture file; the production
|
|
8
8
|
* path never loads this module.
|
|
9
9
|
*
|
package/dist/tui/fixtureAgent.js
CHANGED
|
@@ -45,10 +45,10 @@ function messagesOfTurn(userInput, events) {
|
|
|
45
45
|
return messages;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* Test-only deterministic agent. Replays recorded {@link AgentStreamEvent}s from a JSON
|
|
48
|
+
* Test-only deterministic agent. Replays recorded {@link @gaunt-sloth/core!core/types.AgentStreamEvent | AgentStreamEvent}s from a JSON
|
|
49
49
|
* fixture instead of calling a model, so the PTY e2e (Stage D) drives the *real* TUI — the
|
|
50
50
|
* `<App>` component, the `foldEvents` reducer, and Ink's renderer — with hermetic, key-free,
|
|
51
|
-
* fully reproducible output. Selected by {@link
|
|
51
|
+
* fully reproducible output. Selected by {@link gaunt-sloth!tui/tuiSessionModule | tuiSessionModule}'s
|
|
52
52
|
* `createTuiSession` only when `GTH_TUI_E2E_FIXTURE` points at a fixture file; the production
|
|
53
53
|
* path never loads this module.
|
|
54
54
|
*
|
package/dist/tui/keyBindings.js
CHANGED
|
@@ -163,7 +163,13 @@ export const TUI_KEY_BINDINGS = [
|
|
|
163
163
|
description: 'in the focused panel: search it, confirm, then next / previous match',
|
|
164
164
|
},
|
|
165
165
|
{ keys: 'm', description: 'in the focused panel: maximise it, and back' },
|
|
166
|
-
{
|
|
166
|
+
{
|
|
167
|
+
// The restore clause is the binding, not a nicety: leaving a MAXIMISED panel has to give
|
|
168
|
+
// the rows back in the same press, or the prompt it returns control to has nowhere to draw
|
|
169
|
+
// (TUI-C107).
|
|
170
|
+
keys: 'Esc',
|
|
171
|
+
description: 'leave the focused panel, restoring it if maximised (first Esc clears an active search)',
|
|
172
|
+
},
|
|
167
173
|
],
|
|
168
174
|
},
|
|
169
175
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyBindings.js","sourceRoot":"","sources":["../../src/tui/keyBindings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"keyBindings.js","sourceRoot":"","sources":["../../src/tui/keyBindings.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/keyGuards.d.ts
CHANGED
|
@@ -117,7 +117,7 @@ export declare function isTypedText(input: string, key: ChordModifiers): boolean
|
|
|
117
117
|
* in every terminal measured and parses cleanly as `{name: 'g', ctrl: true}`, so it needs no
|
|
118
118
|
* raw-byte handler and nothing else on this surface claims it. `Ctrl+/` is the more memorable name
|
|
119
119
|
* and works on Linux, but it emits nothing at all on macOS — so it can only ever be a second door,
|
|
120
|
-
* and it arrives as the bare byte with no modifier flag (see
|
|
120
|
+
* and it arrives as the bare byte with no modifier flag (see `CTRL_SLASH`).
|
|
121
121
|
*
|
|
122
122
|
* Two near neighbours are deliberately NOT here. `Alt+/` on macOS emits `0xc3 0xb7`, which is the
|
|
123
123
|
* printable `÷` — ordinary Option composition, indistinguishable from the user typing that
|
package/dist/tui/keyGuards.js
CHANGED
|
@@ -125,7 +125,7 @@ export function isTypedText(input, key) {
|
|
|
125
125
|
* in every terminal measured and parses cleanly as `{name: 'g', ctrl: true}`, so it needs no
|
|
126
126
|
* raw-byte handler and nothing else on this surface claims it. `Ctrl+/` is the more memorable name
|
|
127
127
|
* and works on Linux, but it emits nothing at all on macOS — so it can only ever be a second door,
|
|
128
|
-
* and it arrives as the bare byte with no modifier flag (see
|
|
128
|
+
* and it arrives as the bare byte with no modifier flag (see `CTRL_SLASH`).
|
|
129
129
|
*
|
|
130
130
|
* Two near neighbours are deliberately NOT here. `Alt+/` on macOS emits `0xc3 0xb7`, which is the
|
|
131
131
|
* printable `÷` — ordinary Option composition, indistinguishable from the user typing that
|
package/dist/tui/ruleWidth.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* Given the live `stdout.columns` (which Ink/Node leaves `undefined` when not attached to a
|
|
12
12
|
* TTY), return the number of `─` glyphs to draw: the full column count, falling back to
|
|
13
|
-
*
|
|
13
|
+
* `DEFAULT_COLUMNS` when unknown, and clamped to `MIN_WIDTH` so it can never
|
|
14
14
|
* collapse to 0/negative.
|
|
15
15
|
*/
|
|
16
16
|
export declare function ruleWidth(columns: number | undefined): number;
|
package/dist/tui/ruleWidth.js
CHANGED
|
@@ -14,7 +14,7 @@ const MIN_WIDTH = 1;
|
|
|
14
14
|
/**
|
|
15
15
|
* Given the live `stdout.columns` (which Ink/Node leaves `undefined` when not attached to a
|
|
16
16
|
* TTY), return the number of `─` glyphs to draw: the full column count, falling back to
|
|
17
|
-
*
|
|
17
|
+
* `DEFAULT_COLUMNS` when unknown, and clamped to `MIN_WIDTH` so it can never
|
|
18
18
|
* collapse to 0/negative.
|
|
19
19
|
*/
|
|
20
20
|
export function ruleWidth(columns) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CFG-20 — the abort signal shared by the {@link SelectFn} seam.
|
|
2
|
+
* CFG-20 — the abort signal shared by the {@link gaunt-sloth!commands/firstRunDialog.SelectFn | SelectFn} seam.
|
|
3
3
|
*
|
|
4
4
|
* The Ink `runInkSelect` host rejects its promise with this error when the user aborts a
|
|
5
5
|
* selection (Ctrl+C at any time, or Esc with an empty filter), and `runFirstRunDialog`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CFG-20 — the abort signal shared by the {@link SelectFn} seam.
|
|
2
|
+
* CFG-20 — the abort signal shared by the {@link gaunt-sloth!commands/firstRunDialog.SelectFn | SelectFn} seam.
|
|
3
3
|
*
|
|
4
4
|
* The Ink `runInkSelect` host rejects its promise with this error when the user aborts a
|
|
5
5
|
* selection (Ctrl+C at any time, or Esc with an empty filter), and `runFirstRunDialog`
|
|
@@ -30,7 +30,7 @@ import { approvalRequestRows } from '@gaunt-sloth/core/core/approvals/approvalRe
|
|
|
30
30
|
import { displayWidth } from '@gaunt-sloth/core/utils/displayWidth.js';
|
|
31
31
|
import { overflowCompactionNotice } from '@gaunt-sloth/agent/modules/slashCommands.js';
|
|
32
32
|
import { renderMarkdown } from '#src/tui/markdown.js';
|
|
33
|
-
import { approvalOutcomeLine, displaySegments, } from '#src/tui/viewModel.js';
|
|
33
|
+
import { approvalOutcomeLine, displaySegments, TURN_ENDED_IN_ERROR_MARK, } from '#src/tui/viewModel.js';
|
|
34
34
|
/**
|
|
35
35
|
* Items mounted above the ones the budget accounted for.
|
|
36
36
|
*
|
|
@@ -167,6 +167,12 @@ function turnRows(turn, toolsExpanded, columns) {
|
|
|
167
167
|
}
|
|
168
168
|
rows += toolCallRows(segment.tool, toolsExpanded, columns);
|
|
169
169
|
}
|
|
170
|
+
// [[EXT-92]] scope (e) — the ended-in-error line `LiveTurn` draws at the foot of the turn,
|
|
171
|
+
// counted from the SAME constant it paints, and with no blank row because it is drawn without
|
|
172
|
+
// one. A turn that stopped with nothing to say is otherwise a zero-row item that now paints one,
|
|
173
|
+
// which is exactly the direction this estimator must not be wrong in.
|
|
174
|
+
if (turn.endedInError)
|
|
175
|
+
rows += siblingRows(TURN_ENDED_IN_ERROR_MARK, columns);
|
|
170
176
|
return rows;
|
|
171
177
|
}
|
|
172
178
|
/** A lower bound on the rows one committed transcript item occupies. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcriptWindow.js","sourceRoot":"","sources":["../../src/tui/transcriptWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,eAAe,
|
|
1
|
+
{"version":3,"file":"transcriptWindow.js","sourceRoot":"","sources":["../../src/tui/transcriptWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,wBAAwB,GAGzB,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAE/C,+FAA+F;AAC/F,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,gGAAgG;AAChG;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAoB;IAC5C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,OAAO,IAAI;SACR,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,mGAAmG;AACnG,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,mGAAmG;AACnG,SAAS,YAAY,CAAC,EAAqB,EAAE,QAAiB,EAAE,OAAe;IAC7E,iGAAiG;IACjG,kFAAkF;IAClF,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,OAAO,EAAE,EAAE,CAAC,OAAO;KACpB,CAAC;IACF,+FAA+F;IAC/F,gFAAgF;IAChF,IAAI,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,gGAAgG;IAChG,iGAAiG;IACjG,iGAAiG;IACjG,iGAAiG;IACjG,+CAA+C;IAC/C,+FAA+F;IAC/F,gGAAgG;IAChG,+FAA+F;IAC/F,6FAA6F;IAC7F,iGAAiG;IACjG,6EAA6E;IAC7E,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,IAAI,QAAQ,CAAC,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACxE,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,IAAI,SAAS,EAAE,IAAI;QAAE,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/D,+FAA+F;IAC/F,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,WAAW,IAAI,EAAE;QAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1F,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3F,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kGAAkG;AAClG,SAAS,kBAAkB,CAAC,SAAiB,EAAE,QAAiB,EAAE,OAAe;IAC/E,wFAAwF;IACxF,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,QAAQ,CAAC,IAAmB,EAAE,aAAsB,EAAE,OAAe;IAC5E,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,4FAA4F;IAC5F,6FAA6F;IAC7F,gGAAgG;IAChG,4EAA4E;IAC5E,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,2FAA2F;YAC3F,4EAA4E;YAC5E,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,6FAA6F;YAC7F,6FAA6F;YAC7F,4DAA4D;YAC5D,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,0FAA0F;YAC1F,qFAAqF;YACrF,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;gBAAE,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QACD,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,2FAA2F;IAC3F,8FAA8F;IAC9F,iGAAiG;IACjG,sEAAsE;IACtE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,IAAI,WAAW,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAC9B,IAAoB,EACpB,OAUC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,2FAA2F;IAC3F,+FAA+F;IAC/F,iBAAiB;IACjB,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,qFAAqF;YACrF,IAAI,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,UAAU;YACb,wFAAwF;YACxF,mEAAmE;YACnE,IAAI,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,CAAC;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,QAAQ;YACX,wFAAwF;YACxF,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM;QACR,KAAK,aAAa,EAAE,CAAC;YACnB,4FAA4F;YAC5F,yFAAyF;YACzF,uEAAuE;YACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;gBAAE,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM;QACR,CAAC;QACD,KAAK,MAAM;YACT,2FAA2F;YAC3F,2FAA2F;YAC3F,2EAA2E;YAC3E,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC5D,IAAI,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,MAAM;QACR,KAAK,UAAU;YACb,4FAA4F;YAC5F,2FAA2F;YAC3F,8FAA8F;YAC9F,2FAA2F;YAC3F,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,MAAM;QACR,KAAK,WAAW;YACd,8EAA8E;YAC9E,IAAI,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM;QACR,SAAS,CAAC;YACR,wFAAwF;YACxF,6FAA6F;YAC7F,2FAA2F;YAC3F,0FAA0F;YAC1F,yFAAyF;YACzF,6CAA6C;YAC7C,MAAM,SAAS,GAAU,IAAI,CAAC;YAC9B,KAAK,SAAS,CAAC;YACf,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAuB,EACvB,UAAkB,EAClB,OAAe,EACf,aAAsB,EACtB,WAAW,GAAW,KAAK,CAAC,MAAM,GAAG,CAAC;IAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO;YACP,aAAa;YACb,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,cAAc;YAC9D,YAAY,EAAE,KAAK,KAAK,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,6BAA6B,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAuB,EACvB,UAAkB,EAClB,OAAe,EACf,aAAsB,EACtB,WAAmB;IAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QAC/C,GAAG,IAAI,CAAC,CAAC;QACT,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACnC,OAAO;YACP,aAAa;YACb,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,cAAc;YAC1D,YAAY,EAAE,GAAG,KAAK,CAAC;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAAC,CAAC;AACzE,CAAC"}
|