gaunt-sloth 2.0.0-beta.2 → 2.0.0-beta.4
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/dist/commands/askCommand.js +1 -1
- package/dist/commands/askCommand.js.map +1 -1
- package/dist/commands/batchCommand.js +2 -2
- package/dist/commands/batchCommand.js.map +1 -1
- package/dist/commands/commandIntrospection.d.ts +1 -1
- package/dist/commands/commandIntrospection.js +1 -1
- package/dist/commands/execCommand.js +1 -1
- package/dist/commands/execCommand.js.map +1 -1
- package/dist/commands/prDiscovery.js +35 -0
- package/dist/commands/prDiscovery.js.map +1 -1
- package/dist/modules/startSession.js +2 -1
- package/dist/modules/startSession.js.map +1 -1
- package/dist/tui/components/App.js +161 -44
- package/dist/tui/components/App.js.map +1 -1
- package/dist/tui/components/ApprovalPrompt.d.ts +8 -2
- package/dist/tui/components/ApprovalPrompt.js +8 -2
- package/dist/tui/components/ApprovalPrompt.js.map +1 -1
- package/dist/tui/components/ApprovalRequestPanel.d.ts +14 -2
- package/dist/tui/components/ApprovalRequestPanel.js +5 -2
- package/dist/tui/components/ApprovalRequestPanel.js.map +1 -1
- package/dist/tui/components/DebugPanel.js +4 -1
- package/dist/tui/components/DebugPanel.js.map +1 -1
- package/dist/tui/components/LiveTurn.d.ts +14 -1
- package/dist/tui/components/LiveTurn.js +41 -16
- package/dist/tui/components/LiveTurn.js.map +1 -1
- package/dist/tui/components/TranscriptViewport.js +12 -2
- package/dist/tui/components/TranscriptViewport.js.map +1 -1
- package/dist/tui/debugRender.d.ts +1 -1
- package/dist/tui/debugRender.js +1 -1
- package/dist/tui/transcriptWindow.js +39 -9
- package/dist/tui/transcriptWindow.js.map +1 -1
- package/dist/tui/tuiSessionModule.d.ts +1 -1
- package/dist/tui/tuiSessionModule.js +23 -10
- package/dist/tui/tuiSessionModule.js.map +1 -1
- package/dist/tui/types.d.ts +17 -1
- package/dist/tui/viewModel.d.ts +99 -2
- package/dist/tui/viewModel.js +68 -5
- package/dist/tui/viewModel.js.map +1 -1
- package/package.json +7 -7
|
@@ -77,7 +77,7 @@ export function askCommand(program, commandLineConfigOverrides) {
|
|
|
77
77
|
let ok = false;
|
|
78
78
|
try {
|
|
79
79
|
({ ok } = await runSingleShot('ASK', getAskSystemPrompt(config), content.join('\n'), config, createResolvers(), 'ask',
|
|
80
|
-
// ask
|
|
80
|
+
// ask asks for the lean backend, the only one shipped; config.agent.backend names no other.
|
|
81
81
|
resolveAgentFactory(config, 'lean')));
|
|
82
82
|
}
|
|
83
83
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askCommand.js","sourceRoot":"","sources":["../../src/commands/askCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"askCommand.js","sourceRoot":"","sources":["../../src/commands/askCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,8 +79,8 @@ export async function buildProductionRunCell(baseConfig, preamble, commandLineCo
|
|
|
79
79
|
const resolvers = createResolvers();
|
|
80
80
|
try {
|
|
81
81
|
const { ok, answer, tokensInput, tokensOutput, tools, toolResults } = await runSingleShot(`${options.sourcePrefix}-${cell.id}`, preamble, content, cellConfig, resolvers, options.command,
|
|
82
|
-
// batch/eval
|
|
83
|
-
// config.agent.backend
|
|
82
|
+
// batch/eval ask for the lean backend, same as exec/ask — the only one shipped;
|
|
83
|
+
// config.agent.backend names no other.
|
|
84
84
|
resolveAgentFactory(cellConfig, 'lean'), { displayCommand: options.displayCommand });
|
|
85
85
|
return { ok, answer, tokensInput, tokensOutput, tools, toolResults };
|
|
86
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchCommand.js","sourceRoot":"","sources":["../../src/commands/batchCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAgB9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,wBAAwB,CAC/B,UAAqB,EACrB,0BAAsD;IAEtD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE7D,OAAO,CAAC,KAAyB,EAAsB,EAAE;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAqB,EACrB,QAAgB,EAChB,0BAAsD,EACtD,OAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;IAClF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAC5E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,gDAAgD,CAAC,CAAC;IAE/F,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IAEhG,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAc;YAC5B,GAAG,WAAW;YACd,4BAA4B,EAAE,KAAK;YACnC,iBAAiB,EAAE,KAAK;SACzB,CAAC;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE7F,0FAA0F;QAC1F,6FAA6F;QAC7F,0FAA0F;QAC1F,8FAA8F;QAC9F,0CAA0C;QAC1C,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CACvF,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,EACpC,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,CAAC,OAAO;YACf,
|
|
1
|
+
{"version":3,"file":"batchCommand.js","sourceRoot":"","sources":["../../src/commands/batchCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare function getExecSystemPrompt(config: GthConfig): string;
|
|
|
8
8
|
/**
|
|
9
9
|
* The system prompt a `review` / `pr` run sends.
|
|
10
10
|
*
|
|
11
|
-
* Composed from the same segments, in the same order, that the agent
|
|
11
|
+
* Composed from the same segments, in the same order, that the agent composes for these
|
|
12
12
|
* commands — backstory + guidelines + the review instructions (the `review`/`pr` mode prompt) +
|
|
13
13
|
* system prompt. `commandIntrospectionReviewPrompt.spec.ts` pins the two against each other, so a
|
|
14
14
|
* change to what a review run is given cannot leave `gth get system-prompt review` reporting the
|
|
@@ -15,7 +15,7 @@ export function getExecSystemPrompt(config) {
|
|
|
15
15
|
/**
|
|
16
16
|
* The system prompt a `review` / `pr` run sends.
|
|
17
17
|
*
|
|
18
|
-
* Composed from the same segments, in the same order, that the agent
|
|
18
|
+
* Composed from the same segments, in the same order, that the agent composes for these
|
|
19
19
|
* commands — backstory + guidelines + the review instructions (the `review`/`pr` mode prompt) +
|
|
20
20
|
* system prompt. `commandIntrospectionReviewPrompt.spec.ts` pins the two against each other, so a
|
|
21
21
|
* change to what a review run is given cannot leave `gth get system-prompt review` reporting the
|
|
@@ -114,7 +114,7 @@ export function execCommand(program, commandLineConfigOverrides) {
|
|
|
114
114
|
let ok = false;
|
|
115
115
|
try {
|
|
116
116
|
({ ok } = await runSingleShot('EXEC', getExecSystemPrompt(execConfig), content.join('\n'), execConfig, createResolvers(), 'exec',
|
|
117
|
-
// exec
|
|
117
|
+
// exec asks for the lean backend, the only one shipped; config.agent.backend names no other.
|
|
118
118
|
resolveAgentFactory(execConfig, 'lean')));
|
|
119
119
|
}
|
|
120
120
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execCommand.js","sourceRoot":"","sources":["../../src/commands/execCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"execCommand.js","sourceRoot":"","sources":["../../src/commands/execCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { GthAgentRunner } from '@gaunt-sloth/core/core/GthAgentRunner.js';
|
|
2
2
|
import { defaultStatusCallback, displayInfo, displayWarning, } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
3
3
|
import { buildSystemMessages, readPromptFile } from '@gaunt-sloth/core/utils/llmUtils.js';
|
|
4
|
+
import { displayTermination } from '@gaunt-sloth/core/core/terminationNotice.js';
|
|
4
5
|
import { debugLog } from '@gaunt-sloth/core/utils/debugUtils.js';
|
|
5
6
|
import { HumanMessage } from '@langchain/core/messages';
|
|
6
7
|
import { MemorySaver } from '@langchain/langgraph';
|
|
@@ -144,6 +145,40 @@ export async function runPrDiscovery(config) {
|
|
|
144
145
|
}
|
|
145
146
|
finally {
|
|
146
147
|
await runner.cleanup();
|
|
148
|
+
// [[EXT-159]] — say why the DISCOVERY run ended, because on the ending that matters nobody
|
|
149
|
+
// else will.
|
|
150
|
+
//
|
|
151
|
+
// Several endings return from `processMessages` normally rather than throwing — the interrupt
|
|
152
|
+
// drain giving up, the tool-error budget and the tool-loop guard ending the graph with
|
|
153
|
+
// `jumpTo: 'end'`, an Esc or abort closing the stream, a tool exception returned as the turn's
|
|
154
|
+
// answer, and a refusal or truncation classified from the provider's own metadata. Each leaves
|
|
155
|
+
// `state.diff` unset, and `prCommand` then prints "Change requirements discovery did not
|
|
156
|
+
// produce a diff" and RETURNS — so `review`'s own notice, the surface this run's ending used to
|
|
157
|
+
// be attributed to, is never reached. One sentence that fits a dozen unrelated causes, printed
|
|
158
|
+
// while the discriminating fact sat unread on this runner: the exact shape this node exists to
|
|
159
|
+
// remove.
|
|
160
|
+
//
|
|
161
|
+
// In the `finally`, so the endings that DO throw are announced too. Note the ORDER that buys:
|
|
162
|
+
// the `finally` unwinds ahead of `prCommand`'s catch, so the notice prints FIRST and the
|
|
163
|
+
// provider's prose (or the approvals negotiation transcript) follows it — a heading, then the
|
|
164
|
+
// detail, rather than `reviewModule`'s error-then-notice.
|
|
165
|
+
//
|
|
166
|
+
// A successful discovery costs nothing: it classifies `completed`, which
|
|
167
|
+
// `shouldAnnounceTermination` suppresses, so the review that follows is not preceded by a
|
|
168
|
+
// notice about the sub-run that fed it. The one case that does print twice is a discovery that
|
|
169
|
+
// ended abnormally AFTER the agent had already set a diff — `prCommand` then continues to the
|
|
170
|
+
// review, and the user sees this notice and later the review's own. That is two runs with two
|
|
171
|
+
// different endings, each stating its own, which is the intended reading rather than a
|
|
172
|
+
// duplicate.
|
|
173
|
+
//
|
|
174
|
+
// Read after `cleanup()` for the reason `reviewModule` reads it there: the agent is gone by
|
|
175
|
+
// here and the runner snapshots its innermost classification at cleanup.
|
|
176
|
+
try {
|
|
177
|
+
displayTermination(runner.getTerminationReason());
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
/* fail-soft: explaining a run must never be what ends it */
|
|
181
|
+
}
|
|
147
182
|
}
|
|
148
183
|
// The discovery agent streams its final text without a trailing newline, so emit a
|
|
149
184
|
// blank line to separate it from the review agent's output that follows.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prDiscovery.js","sourceRoot":"","sources":["../../src/commands/prDiscovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prDiscovery.js","sourceRoot":"","sources":["../../src/commands/prDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,8 @@ export async function startSession(sessionConfig, commandLineConfigOverrides, me
|
|
|
82
82
|
// The general rule the list was approximating: **falling back can only help a failure the
|
|
83
83
|
// readline path would not also have.** Everything `createTuiSession` does before it starts
|
|
84
84
|
// taking over the terminal — load config, open the conversation, start session logging, build
|
|
85
|
-
// the runner, `runner.init` (which
|
|
85
|
+
// the runner, `runner.init` (which validates config and warns about what it cannot honour, such
|
|
86
|
+
// as a declared `subagents` list) — the readline
|
|
86
87
|
// path does identically, so restarting under readline re-runs the same work and fails the same
|
|
87
88
|
// way, having first printed a false diagnosis. Only two things here are the TUI's alone:
|
|
88
89
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startSession.js","sourceRoot":"","sources":["../../src/modules/startSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,GAEzB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,aAA4B,EAC5B,0BAAsD,EACtD,OAAgB;IAEhB,oFAAoF;IACpF,6EAA6E;IAC7E,oFAAoF;IACpF,kFAAkF;IAClF,EAAE;IACF,uFAAuF;IACvF,wFAAwF;IACxF,2CAA2C;IAC3C,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;QACrF,WAAW,CAAC,oDAAoD,CAAC,CAAC;QAClE,sFAAsF;QACtF,sCAAsC;QACtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAC9E,2FAA2F;QAC3F,2FAA2F;QAC3F,8DAA8D;QAC9D,2FAA2F;QAC3F,0FAA0F;QAC1F,iBAAiB;QACjB,MAAM,iBAAiB,CACrB,EAAE,EACF,KAAK,EACL,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACxD,0BAA0B,CAAC,eAAe,CAC3C,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;YACtD,wEAAwE;YACxE,cAAc,CAAC,kEAAkE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QACD,8FAA8F;QAC9F,+FAA+F;QAC/F,gGAAgG;QAChG,gGAAgG;QAChG,2FAA2F;QAC3F,+FAA+F;QAC/F,2EAA2E;QAC3E,cAAc,CAAC,yCAAyC,CAAC,CAAC;QAC1D,gGAAgG;IAClG,CAAC;IAED,gGAAgG;IAChG,+FAA+F;IAC/F,gGAAgG;IAChG,yFAAyF;IACzF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAE1E,sFAAsF;IACtF,uFAAuF;IACvF,MAAM,qBAAqB,GAAG,YAAY,CAAC;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;QACzB,SAAS,EAAE,0BAA0B,CAAC,GAAG,KAAK,KAAK;QACnD,OAAO,EAAE,0BAA0B,CAAC,GAAG,KAAK,IAAI;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE;QACZ,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;QAC1B,YAAY,EAAE,IAAI;QAClB,aAAa;KACd,CAAC,CAAC;IAEH,IAAI,qBAAqB,IAAI,CAAC,MAAM,cAAc,EAAE,CAAC,EAAE,CAAC;QACtD,uFAAuF;QACvF,wFAAwF;QACxF,EAAE;QACF,gGAAgG;QAChG,yFAAyF;QACzF,gGAAgG;QAChG,gEAAgE;QAChE,EAAE;QACF,0FAA0F;QAC1F,2FAA2F;QAC3F,8FAA8F;QAC9F,
|
|
1
|
+
{"version":3,"file":"startSession.js","sourceRoot":"","sources":["../../src/modules/startSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import { Box, Text, useApp, useInput } from 'ink';
|
|
4
|
-
import { foldEvents, foldSubagentEvents, initialSubagentTree, initialTurnViewModel, turnReasoning, turnText, } from '#src/tui/viewModel.js';
|
|
4
|
+
import { foldEvents, foldSubagentEvents, initialSubagentTree, initialTurnViewModel, recordApprovalDecision, turnReasoning, turnText, } from '#src/tui/viewModel.js';
|
|
5
5
|
import { buildRejectionMessage } from '@gaunt-sloth/core/core/shell/rejection.js';
|
|
6
6
|
import { ApprovalStopError } from '@gaunt-sloth/core/core/shell/approvalStop.js';
|
|
7
|
+
import { shouldAnnounceTermination } from '@gaunt-sloth/core/core/terminationNotice.js';
|
|
7
8
|
import { attackBannerCopy, grantsRunAnyway, } from '@gaunt-sloth/core/core/shell/escalationSeverity.js';
|
|
8
9
|
import { TranscriptViewport } from '#src/tui/components/TranscriptViewport.js';
|
|
9
10
|
import { ApprovalPrompt } from '#src/tui/components/ApprovalPrompt.js';
|
|
11
|
+
import { ApprovalRequestPanel } from '#src/tui/components/ApprovalRequestPanel.js';
|
|
10
12
|
import { AttackBanner } from '#src/tui/components/AttackBanner.js';
|
|
11
13
|
import { LiveTurn, ChecklistPanel } from '#src/tui/components/LiveTurn.js';
|
|
12
14
|
import { NegotiationPanel } from '#src/tui/components/NegotiationPanel.js';
|
|
@@ -77,7 +79,8 @@ export function App(props) {
|
|
|
77
79
|
const [live, setLive] = useState(null);
|
|
78
80
|
const [running, setRunning] = useState(false);
|
|
79
81
|
const [turnCount, setTurnCount] = useState(0);
|
|
80
|
-
// Subagent tree
|
|
82
|
+
// Subagent tree, folded from `task` tool calls on the live event stream. No backend dispatches
|
|
83
|
+
// subagents in this release, so nothing fills it today; kept for GS2-25's lean primitive.
|
|
81
84
|
const [subagents, setSubagents] = useState(initialSubagentTree);
|
|
82
85
|
// Docked debug panel state (toggled by /debug).
|
|
83
86
|
const [debugVisible, setDebugVisible] = useState(false);
|
|
@@ -127,9 +130,20 @@ export function App(props) {
|
|
|
127
130
|
// The head is the approval on screen AND the one that owns the keyboard. Deriving both from this
|
|
128
131
|
// single expression is what keeps those two facts from drifting apart.
|
|
129
132
|
const pendingApproval = approvalQueue[0] ?? null;
|
|
130
|
-
// [[
|
|
131
|
-
//
|
|
132
|
-
|
|
133
|
+
// [[TUI-C99]] — the live turn's view model, held BESIDE the state that renders it.
|
|
134
|
+
//
|
|
135
|
+
// The fold loop keeps the turn in a local while it iterates, so anything written to `live` from
|
|
136
|
+
// outside the loop is overwritten by the next event. An approval is answered from a keystroke,
|
|
137
|
+
// which is exactly outside it — so the loop folds from this ref instead, and the keystroke writes
|
|
138
|
+
// here as well. One value, two writers, no window in which one of them is stale.
|
|
139
|
+
const liveVmRef = useRef(null);
|
|
140
|
+
// [[TUI-C99]] — decision notices raised while a turn is in flight, waiting for it to commit.
|
|
141
|
+
//
|
|
142
|
+
// `runTurn` pushes the finished turn in its `finally`, so a notice pushed the moment a key is
|
|
143
|
+
// pressed lands in the transcript BEFORE the turn it was part of and reads as though the decision
|
|
144
|
+
// preceded the work. Held here until the turn's own item is in, they read in the order they
|
|
145
|
+
// happened. Nothing is lost if a turn ends badly: the flush is in the same `finally`.
|
|
146
|
+
const deferredNotices = useRef([]);
|
|
133
147
|
// [[TUI-C68]] §6.1 — attack halts, queued exactly as approvals are, and for the same reason: the
|
|
134
148
|
// head is what is on screen AND what owns the keyboard, from one expression.
|
|
135
149
|
const [attackQueue, setAttackQueue] = useState([]);
|
|
@@ -266,6 +280,38 @@ export function App(props) {
|
|
|
266
280
|
// Distributive omit so each union member keeps its own fields (a plain
|
|
267
281
|
// Omit<TranscriptItem,'id'> collapses to the shared `kind` key only).
|
|
268
282
|
const push = (item) => setTranscript((t) => [...t, { ...item, id: nextId() }]);
|
|
283
|
+
/**
|
|
284
|
+
* [[TUI-C99]] — commit a decision notice where it belongs relative to the turn it was part of.
|
|
285
|
+
*
|
|
286
|
+
* While a turn is in flight that is *after* the turn's own item, which does not exist yet, so the
|
|
287
|
+
* notice waits in {@link deferredNotices}; `runTurn`'s `finally` flushes the queue immediately
|
|
288
|
+
* after pushing the turn. Outside a turn — a sticky answer whose write landed after the turn
|
|
289
|
+
* ended — there is nothing to wait for and it goes straight in, which is already after it.
|
|
290
|
+
*
|
|
291
|
+
* The two branches cannot interleave: both the enqueue and the flush are synchronous, and the
|
|
292
|
+
* flush runs in the same block that clears `runningRef`.
|
|
293
|
+
*/
|
|
294
|
+
const pushDecisionNotice = (item) => {
|
|
295
|
+
if (runningRef.current)
|
|
296
|
+
deferredNotices.current.push(item);
|
|
297
|
+
else
|
|
298
|
+
push(item);
|
|
299
|
+
};
|
|
300
|
+
/** Commit every deferred decision notice, oldest first, and empty the queue. */
|
|
301
|
+
const flushDecisionNotices = () => {
|
|
302
|
+
const queued = deferredNotices.current;
|
|
303
|
+
deferredNotices.current = [];
|
|
304
|
+
for (const item of queued)
|
|
305
|
+
push(item);
|
|
306
|
+
};
|
|
307
|
+
/**
|
|
308
|
+
* [[TUI-C99]] — set the live turn through the ref that {@link liveVmRef} documents, so the fold
|
|
309
|
+
* loop and the approval keystroke are writing to one value rather than two.
|
|
310
|
+
*/
|
|
311
|
+
const setLiveTurn = (next) => {
|
|
312
|
+
liveVmRef.current = next;
|
|
313
|
+
setLive(next);
|
|
314
|
+
};
|
|
269
315
|
const runTurn = useCallback(async (userInput) => {
|
|
270
316
|
// A new exchange supersedes the post-/clear banner; drop it so it doesn't sit above
|
|
271
317
|
// the fresh conversation.
|
|
@@ -279,14 +325,15 @@ export function App(props) {
|
|
|
279
325
|
abortRef.current = ac;
|
|
280
326
|
runningRef.current = true;
|
|
281
327
|
setRunning(true);
|
|
282
|
-
|
|
283
|
-
setLive(vm);
|
|
328
|
+
setLiveTurn(initialTurnViewModel());
|
|
284
329
|
// Fresh args-buffer map per turn so partial `task` JSON from a prior turn never bleeds in.
|
|
285
330
|
subagentBuffersRef.current = new Map();
|
|
286
331
|
try {
|
|
287
332
|
for await (const event of agent.runTurn(userInput, ac.signal)) {
|
|
288
|
-
|
|
289
|
-
|
|
333
|
+
// [[TUI-C99]] — folded from the REF, not from a local: an approval answered mid-turn
|
|
334
|
+
// writes the outcome onto its tool call from a keystroke, and a local carried across the
|
|
335
|
+
// loop would overwrite it on the very next event the resumed run produces.
|
|
336
|
+
setLiveTurn(foldEvents(liveVmRef.current ?? initialTurnViewModel(), event));
|
|
290
337
|
// Fold subagent (`task`) tool calls into the tree for the debug panel.
|
|
291
338
|
setSubagents((tree) => foldSubagentEvents(tree, event, subagentBuffersRef.current));
|
|
292
339
|
}
|
|
@@ -310,15 +357,43 @@ export function App(props) {
|
|
|
310
357
|
}
|
|
311
358
|
}
|
|
312
359
|
finally {
|
|
360
|
+
const vm = liveVmRef.current ?? initialTurnViewModel();
|
|
313
361
|
push({ kind: 'assistant', turn: vm });
|
|
314
|
-
|
|
362
|
+
// [[EXT-159]] — and, immediately under the answer, why the turn ended when that is not
|
|
363
|
+
// simply "the model finished".
|
|
364
|
+
//
|
|
365
|
+
// **This is the surface the whole node is about.** Most people never make a debug dump, the
|
|
366
|
+
// ones who hit a silent stop have usually quit before anyone can ask for one, and reading a
|
|
367
|
+
// dump is a skill that fails; so a run that stops has to say so here, in the transcript,
|
|
368
|
+
// while the person is still looking at it. In the `finally` because the endings that need
|
|
369
|
+
// it most reach neither the loop's normal exit nor the catch: a cancelled turn returns
|
|
370
|
+
// cleanly with nothing on screen, which is exactly the shape that gets blamed on the
|
|
371
|
+
// provider for months.
|
|
372
|
+
//
|
|
373
|
+
// The REASON is committed, not a rendered line — the words are derived in the component, so
|
|
374
|
+
// the transcript holds the classification itself.
|
|
375
|
+
try {
|
|
376
|
+
const reason = agent.getTerminationReason?.() ?? null;
|
|
377
|
+
if (reason && shouldAnnounceTermination(reason))
|
|
378
|
+
push({ kind: 'termination', reason });
|
|
379
|
+
}
|
|
380
|
+
catch {
|
|
381
|
+
/* fail-soft: explaining a turn must never be what breaks the session */
|
|
382
|
+
}
|
|
383
|
+
// [[TUI-C99]] — the decisions taken during the turn, committed straight after it so the
|
|
384
|
+
// record reads in the order it happened. Before `runningRef` is cleared is fine and after
|
|
385
|
+
// would be too: both are in this synchronous block, and nothing between them enqueues.
|
|
386
|
+
flushDecisionNotices();
|
|
387
|
+
setLiveTurn(null);
|
|
315
388
|
setRunning(false);
|
|
316
389
|
runningRef.current = false;
|
|
317
390
|
abortRef.current = null;
|
|
318
391
|
turnCountRef.current += 1;
|
|
319
392
|
setTurnCount(turnCountRef.current);
|
|
320
393
|
// The turn's prose, re-joined exactly as the deltas built it: segments changed where the
|
|
321
|
-
// text is drawn, never what the assistant said, so history keeps the same string.
|
|
394
|
+
// text is drawn, never what the assistant said, so history keeps the same string. An
|
|
395
|
+
// approval outcome hangs off a TOOL call, and `turnText` reads `text` segments alone, so
|
|
396
|
+
// nothing this node added can reach the model's history.
|
|
322
397
|
props.onTurnComplete?.(userInput, turnText(vm));
|
|
323
398
|
}
|
|
324
399
|
},
|
|
@@ -529,12 +604,52 @@ export function App(props) {
|
|
|
529
604
|
const head = pendingApproval;
|
|
530
605
|
if (!head)
|
|
531
606
|
return;
|
|
607
|
+
/**
|
|
608
|
+
* [[TUI-C99]] — put the one-line outcome on the row of the call it is about, and say whether
|
|
609
|
+
* that worked.
|
|
610
|
+
*
|
|
611
|
+
* It can fail, and the failure is not hypothetical: `PendingToolInterrupt.id` is recovered
|
|
612
|
+
* defensively from the suspended graph's own messages and is documented as absent-able, so a
|
|
613
|
+
* decision may have no call to attach to. The answer is that the caller keeps the notice in
|
|
614
|
+
* that case, and what that buys is precise: **the RECORD survives, and the on-screen
|
|
615
|
+
* attribution waits for the turn.** The kept notice goes through `pushDecisionNotice` like
|
|
616
|
+
* every other one, so mid-turn it is held until `runTurn`'s `finally` commits the turn it
|
|
617
|
+
* belonged to. Between the keystroke and that moment the call's own row says what became of the
|
|
618
|
+
* call — a refusal renders as `✗ … [error]` carrying the message the model was given — and
|
|
619
|
+
* nothing on screen says a person is who decided it.
|
|
620
|
+
*
|
|
621
|
+
* That gap is the cost of committing behind the turn rather than ahead of it, and it is the
|
|
622
|
+
* trade this node made deliberately: a notice pushed on the keystroke lands above the whole
|
|
623
|
+
* turn it was part of, which is the inversion the node exists to remove. Read it as a known
|
|
624
|
+
* consequence, not as an oversight to quietly fix by pushing early.
|
|
625
|
+
*/
|
|
626
|
+
const showOutcomeOnRow = (decision) => {
|
|
627
|
+
const vm = liveVmRef.current;
|
|
628
|
+
if (!vm)
|
|
629
|
+
return false;
|
|
630
|
+
const next = recordApprovalDecision(vm, head.pending.id, {
|
|
631
|
+
decision,
|
|
632
|
+
request: head.pending,
|
|
633
|
+
});
|
|
634
|
+
if (next === vm)
|
|
635
|
+
return false;
|
|
636
|
+
setLiveTurn(next);
|
|
637
|
+
return true;
|
|
638
|
+
};
|
|
532
639
|
// [[EXT-150]] — **dequeue on the keystroke, ahead of any wait.** The dialog leaving the screen
|
|
533
640
|
// is what makes the answer feel taken, and the next queued approval must surface at once. A
|
|
534
641
|
// dequeue moved below the wait would hold the interface for as long as a write takes, and hold
|
|
535
642
|
// it forever if the outcome never came — trading a false sentence for a wedged prompt.
|
|
536
643
|
setApprovalQueue((q) => q.slice(1));
|
|
537
|
-
|
|
644
|
+
const rejecting = decision === 'reject' || decision === 'reject-always';
|
|
645
|
+
const onRow = showOutcomeOnRow(rejecting ? 'rejected' : 'approved');
|
|
646
|
+
// [[TUI-C99]] — the fallback [[EXT-137]]'s audit record falls back TO. An interrupt with no
|
|
647
|
+
// usable `id` has no row to carry an outcome line, and therefore nothing that Ctrl+T could
|
|
648
|
+
// open; without this the request a human answered would leave no trace of what it said. It is
|
|
649
|
+
// committed behind the turn rather than ahead of it, so it does not reintroduce the inversion.
|
|
650
|
+
if (!onRow)
|
|
651
|
+
pushDecisionNotice({ kind: 'approval', pending: head.pending });
|
|
652
|
+
if (rejecting) {
|
|
538
653
|
// [[TUI-C26]] §6 — *always reject* is a rejection that is also REMEMBERED: the runner records
|
|
539
654
|
// a deny entry for this call, and the matcher consults it before anything else, so the next
|
|
540
655
|
// identical call never reaches a person. `once` is the ordinary refusal and the fallthrough
|
|
@@ -560,12 +675,22 @@ export function App(props) {
|
|
|
560
675
|
if (!sticky) {
|
|
561
676
|
// The ordinary refusal records nothing at all, so there is no outcome to wait for and
|
|
562
677
|
// nothing here that core could fail to keep.
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
678
|
+
//
|
|
679
|
+
// [[TUI-C99]] — **and it is the one notice the outcome line replaces.** It said only that
|
|
680
|
+
// the command did not run and that the agent was told, and the call's own row already says
|
|
681
|
+
// both: [[TUI-C100]] renders a refused call as `✗ … [error]` with the refusal text beneath
|
|
682
|
+
// it, and the outcome line beside it now names who decided. A second block saying that a
|
|
683
|
+
// screen away from the command it is about is what this node removes. It survives only
|
|
684
|
+
// where the outcome could not be attributed to a row, because then nothing else records
|
|
685
|
+
// that the human answered at all.
|
|
686
|
+
if (!onRow) {
|
|
687
|
+
pushDecisionNotice({
|
|
688
|
+
kind: 'notice',
|
|
689
|
+
title: 'Command rejected',
|
|
690
|
+
lines: ['The shell command was not run; the agent was told you declined.'],
|
|
691
|
+
tone: 'warn',
|
|
692
|
+
});
|
|
693
|
+
}
|
|
569
694
|
return;
|
|
570
695
|
}
|
|
571
696
|
// [[EXT-150]] — the refusal IS in force either way (core holds it in memory whatever the file
|
|
@@ -574,7 +699,13 @@ export function App(props) {
|
|
|
574
699
|
// for a claim.
|
|
575
700
|
void outcome.then((landed) => {
|
|
576
701
|
const savedToProject = landed?.lifetime === 'always';
|
|
577
|
-
|
|
702
|
+
// [[TUI-C99]] — this one SURVIVES, and it is the notice the per-notice test exists for: it
|
|
703
|
+
// reports a persistent policy change — whether the refusal reached the project file or
|
|
704
|
+
// holds for the session — and names `/approvals undeny` as the control that lifts it.
|
|
705
|
+
// Nothing about that is derivable from the tool row, so a one-line outcome cannot stand in
|
|
706
|
+
// for it. Committed with the turn rather than the moment it lands, so it reads after the
|
|
707
|
+
// work it followed.
|
|
708
|
+
pushDecisionNotice({
|
|
578
709
|
kind: 'notice',
|
|
579
710
|
// Exactly what it does, and no more — which [[EXT-107]] makes a project file, so it also
|
|
580
711
|
// says how to undo it. A saved refusal the user cannot find is the one failure mode
|
|
@@ -626,8 +757,15 @@ export function App(props) {
|
|
|
626
757
|
return 'Approved — this exact command will not ask again this session.';
|
|
627
758
|
return 'Approved this single invocation only.';
|
|
628
759
|
};
|
|
760
|
+
// [[TUI-C99]] — **every approve notice survives, including `once`, and CFG-28 is why.** The
|
|
761
|
+
// title names the scope that TOOK EFFECT rather than the key that was pressed: §4.2 forbids a
|
|
762
|
+
// sticky grant on a `catastrophic` verdict, so `(once)` is also what [s] and [a] render there.
|
|
763
|
+
// A user who asked to be stopped being asked and was quietly given a single-shot grant learns
|
|
764
|
+
// it here and nowhere else — the tool row cannot say it, and the outcome line deliberately
|
|
765
|
+
// carries no scope at all ([[EXT-150]]: a scope is not known at the keystroke). Only their
|
|
766
|
+
// POSITION changes: they wait for the turn they were part of.
|
|
629
767
|
if (scope !== 'always') {
|
|
630
|
-
|
|
768
|
+
pushDecisionNotice({
|
|
631
769
|
kind: 'notice',
|
|
632
770
|
title: `Command approved (${scope})`,
|
|
633
771
|
lines: [describe(scope)],
|
|
@@ -637,7 +775,7 @@ export function App(props) {
|
|
|
637
775
|
}
|
|
638
776
|
void outcome.then((landed) => {
|
|
639
777
|
const savedToProject = landed?.lifetime === 'always';
|
|
640
|
-
|
|
778
|
+
pushDecisionNotice({
|
|
641
779
|
kind: 'notice',
|
|
642
780
|
// The title carries a lifetime too, so it is written from the landed one for the same
|
|
643
781
|
// reason the body is — a heading saying `always` over a body saying *this session only*
|
|
@@ -1216,7 +1354,7 @@ export function App(props) {
|
|
|
1216
1354
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1217
1355
|
}, []);
|
|
1218
1356
|
// Capture debug payloads (full history sent to the model + the raw resolved response) from
|
|
1219
|
-
// the
|
|
1357
|
+
// the agent's wrapModelCall middleware, for the `/debug` panel. Routed into local state
|
|
1220
1358
|
// — never to stdout — and split into lines for the panel's bounded viewport.
|
|
1221
1359
|
useEffect(() => {
|
|
1222
1360
|
if (!props.subscribeDebug)
|
|
@@ -1243,27 +1381,6 @@ export function App(props) {
|
|
|
1243
1381
|
});
|
|
1244
1382
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1245
1383
|
}, []);
|
|
1246
|
-
// [[EXT-137]] — commit the request's scrollable half into the transcript, once, at the moment it
|
|
1247
|
-
// becomes the one being ASKED.
|
|
1248
|
-
//
|
|
1249
|
-
// On the head rather than on arrival, and the difference shows only when a second call queues
|
|
1250
|
-
// behind the first: printing both blocks up front would leave the dock's "the call is shown
|
|
1251
|
-
// above" pointing at whichever of them the reader happened to look at, which is the one thing
|
|
1252
|
-
// this split must not get wrong. It stays in the transcript afterwards, followed by the decision
|
|
1253
|
-
// notice `resolveApproval` commits, so the pair reads as a record of what was asked and answered.
|
|
1254
|
-
//
|
|
1255
|
-
// The set is what makes it once-only. A re-render with the same head — a keystroke, a status
|
|
1256
|
-
// update, a terminal resize — must not append the block again, and identity of the queue RECORD
|
|
1257
|
-
// is the right key: two identical calls in a row are two records and are two questions.
|
|
1258
|
-
useEffect(() => {
|
|
1259
|
-
if (!pendingApproval)
|
|
1260
|
-
return;
|
|
1261
|
-
if (announcedApprovals.current.has(pendingApproval))
|
|
1262
|
-
return;
|
|
1263
|
-
announcedApprovals.current.add(pendingApproval);
|
|
1264
|
-
push({ kind: 'approval', pending: pendingApproval.pending });
|
|
1265
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1266
|
-
}, [pendingApproval]);
|
|
1267
1384
|
// [[TUI-C68]] §6.1 — attack halts bridged from the runner. Each one mounts the <AttackBanner>,
|
|
1268
1385
|
// which owns the keyboard until it is answered. Absent on the fixture path, where the runner
|
|
1269
1386
|
// halts on its own — an unsubscribed surface keeps the halt, which is what makes forgetting to
|
|
@@ -1295,7 +1412,7 @@ export function App(props) {
|
|
|
1295
1412
|
const showIntro = !initialMessage && transcript.length === 0 && !live;
|
|
1296
1413
|
// Extract active checklist items from live turn or transcript so it stays pinned at the bottom.
|
|
1297
1414
|
const activeChecklist = useMemo(() => extractActiveChecklist(live, transcript), [live, transcript]);
|
|
1298
|
-
return (_jsx(TerminalSizeProvider, { size: terminalSize, children: _jsx(MouseProvider, { subscribe: props.subscribeMouse, enabled: mouseEnabled, children: _jsxs(Box, { flexDirection: "column", height: terminalRows, children: [_jsxs(TranscriptViewport, { items: transcript, budgetRows: terminalRows, columns: terminalColumns, toolsExpanded: toolsExpanded, scroll: transcriptScroll, regionRows: transcriptRegionRows, geometry: transcriptGeometry, children: [clearedBanner ? _jsx(ClearBanner, {}) : null, showIntro && props.showLaunchBanner ? (_jsx(LaunchBanner, { model: modelDisplayName, provider: props.modelProviderType })) : null, showIntro ? _jsx(Text, { dimColor: true, children: readyMessage.trim() }) : null, live && transcript.length > 0 ? _jsx(BlankRow, {}) : null, live ? _jsx(LiveTurn, { turn: live, toolsExpanded: toolsExpanded, streaming: true }) : null] }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [debugVisible ? (_jsx(DebugPanel, { subagents: subagents, historyLines: debugHistory, systemLines: debugSystem, toolsLines: debugTools, mcpLines: debugMcp, responseLines: debugResponse, activeTab: debugTab, scrollOffset: debugScroll, focused: debugFocused, viewportHeight: debugViewport, maximized: debugMaximized, searchQuery: debugSearchQuery, searchActive: debugSearchInput, matchCount: debugMatches.length, currentMatchIndex: debugSearchCurrent, currentMatchLine: currentMatchLine })) : null, activeChecklist ? _jsx(ChecklistPanel, { items: activeChecklist }) : null, _jsx(NegotiationPanel, { rounds: negotiationRounds }), pendingAttack ? _jsx(AttackBanner, { halt: pendingAttack.halt, typed: attackTyped }) : null, pendingApproval && !pendingAttack ? (_jsx(ApprovalPrompt, { pending: pendingApproval.pending })) : null, approvalsPicker && !pendingApproval && !pendingAttack ? (_jsx(ApprovalsPicker, { choices: approvalsPicker, onSelect: (rung) => {
|
|
1415
|
+
return (_jsx(TerminalSizeProvider, { size: terminalSize, children: _jsx(MouseProvider, { subscribe: props.subscribeMouse, enabled: mouseEnabled, children: _jsxs(Box, { flexDirection: "column", height: terminalRows, children: [_jsxs(TranscriptViewport, { items: transcript, budgetRows: terminalRows, columns: terminalColumns, toolsExpanded: toolsExpanded, scroll: transcriptScroll, regionRows: transcriptRegionRows, geometry: transcriptGeometry, children: [clearedBanner ? _jsx(ClearBanner, {}) : null, showIntro && props.showLaunchBanner ? (_jsx(LaunchBanner, { model: modelDisplayName, provider: props.modelProviderType })) : null, showIntro ? _jsx(Text, { dimColor: true, children: readyMessage.trim() }) : null, live && transcript.length > 0 ? _jsx(BlankRow, {}) : null, live ? (_jsx(LiveTurn, { turn: live, toolsExpanded: toolsExpanded, streaming: true, columns: terminalColumns })) : null, pendingApproval ? (_jsxs(_Fragment, { children: [live || transcript.length > 0 ? _jsx(BlankRow, {}) : null, _jsx(ApprovalRequestPanel, { pending: pendingApproval.pending, columns: terminalColumns })] })) : null] }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [debugVisible ? (_jsx(DebugPanel, { subagents: subagents, historyLines: debugHistory, systemLines: debugSystem, toolsLines: debugTools, mcpLines: debugMcp, responseLines: debugResponse, activeTab: debugTab, scrollOffset: debugScroll, focused: debugFocused, viewportHeight: debugViewport, maximized: debugMaximized, searchQuery: debugSearchQuery, searchActive: debugSearchInput, matchCount: debugMatches.length, currentMatchIndex: debugSearchCurrent, currentMatchLine: currentMatchLine })) : null, activeChecklist ? _jsx(ChecklistPanel, { items: activeChecklist }) : null, _jsx(NegotiationPanel, { rounds: negotiationRounds }), pendingAttack ? _jsx(AttackBanner, { halt: pendingAttack.halt, typed: attackTyped }) : null, pendingApproval && !pendingAttack ? (_jsx(ApprovalPrompt, { pending: pendingApproval.pending })) : null, approvalsPicker && !pendingApproval && !pendingAttack ? (_jsx(ApprovalsPicker, { choices: approvalsPicker, onSelect: (rung) => {
|
|
1299
1416
|
setApprovalsPicker(null);
|
|
1300
1417
|
applyApprovalRung(rung);
|
|
1301
1418
|
}, onCancel: () => setApprovalsPicker(null) })) : null, _jsx(BlankRow, {}), _jsx(Rule, {}), _jsx(NoticeBar, { advisories: props.advisories }), _jsx(McpFailureBar, { failures: props.mcpFailures }), _jsx(StatusBar, { running: running, mode: mode, modelDisplayName: modelDisplayName, turnCount: turnCount, debugHint: debugVisible && !debugFocused, approvals: approvals
|