@gaunt-sloth/core 2.0.0-alpha.35 → 2.0.0-alpha.37
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/config/configDiscovery.d.ts +79 -0
- package/dist/config/configDiscovery.js +80 -0
- package/dist/config/configDiscovery.js.map +1 -0
- package/dist/config/loader.d.ts +6 -5
- package/dist/config/loader.js +229 -92
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +3 -2
- package/dist/config/schema.js +57 -9
- package/dist/config/schema.js.map +1 -1
- package/dist/config/shell-policy.d.ts +58 -26
- package/dist/config/shell-policy.js +60 -27
- package/dist/config/shell-policy.js.map +1 -1
- package/dist/config/tool-descriptions.d.ts +6 -6
- package/dist/config/tool-descriptions.js +7 -7
- package/dist/config/tool-descriptions.js.map +1 -1
- package/dist/config/types.d.ts +34 -31
- package/dist/config/types.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/core/GthAbstractAgent.d.ts +11 -13
- package/dist/core/GthAbstractAgent.js +9 -11
- package/dist/core/GthAbstractAgent.js.map +1 -1
- package/dist/core/GthAgentRunner.d.ts +17 -33
- package/dist/core/GthAgentRunner.js +31 -41
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/GthLangChainAgent.js +25 -34
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/core/approvals/toolAnnotationSources.d.ts +4 -4
- package/dist/core/approvals/toolAnnotationSources.js +8 -8
- package/dist/core/debugCapture.d.ts +2 -3
- package/dist/core/debugCapture.js +1 -2
- package/dist/core/debugCapture.js.map +1 -1
- package/dist/core/gthLeanAgentFactory.d.ts +4 -4
- package/dist/core/gthLeanAgentFactory.js +4 -4
- package/dist/core/launchBanner.d.ts +10 -0
- package/dist/core/launchBanner.js +6 -1
- package/dist/core/launchBanner.js.map +1 -1
- package/dist/core/reasoningBlocks.d.ts +7 -2
- package/dist/core/reasoningBlocks.js +7 -2
- package/dist/core/reasoningBlocks.js.map +1 -1
- package/dist/core/shell/ShellCommandFailedError.d.ts +3 -4
- package/dist/core/shell/ShellCommandFailedError.js +3 -4
- package/dist/core/shell/ShellCommandFailedError.js.map +1 -1
- package/dist/core/shell/approvalStop.d.ts +68 -29
- package/dist/core/shell/approvalStop.js +178 -28
- package/dist/core/shell/approvalStop.js.map +1 -1
- package/dist/core/shell/hardline.d.ts +22 -0
- package/dist/core/shell/hardline.js +81 -0
- package/dist/core/shell/hardline.js.map +1 -1
- package/dist/core/shell/negotiation.d.ts +81 -2
- package/dist/core/shell/negotiation.js +144 -11
- package/dist/core/shell/negotiation.js.map +1 -1
- package/dist/core/shell/rater.d.ts +7 -69
- package/dist/core/shell/rater.js +5 -24
- package/dist/core/shell/rater.js.map +1 -1
- package/dist/core/shell/raterVocabulary.d.ts +119 -0
- package/dist/core/shell/raterVocabulary.js +114 -0
- package/dist/core/shell/raterVocabulary.js.map +1 -0
- package/dist/core/types.d.ts +17 -3
- package/dist/providers/anthropic.js +12 -0
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/configurationPassthrough.d.ts +107 -0
- package/dist/providers/configurationPassthrough.js +148 -0
- package/dist/providers/configurationPassthrough.js.map +1 -0
- package/dist/providers/geminiThinking.d.ts +8 -0
- package/dist/providers/geminiThinking.js +33 -13
- package/dist/providers/geminiThinking.js.map +1 -1
- package/dist/providers/google-genai.js +11 -0
- package/dist/providers/google-genai.js.map +1 -1
- package/dist/providers/groq.js +12 -0
- package/dist/providers/groq.js.map +1 -1
- package/dist/providers/ollama.js +12 -0
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openrouter.d.ts +23 -0
- package/dist/providers/openrouter.js +71 -4
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/vertexai.js +12 -0
- package/dist/providers/vertexai.js.map +1 -1
- package/dist/providers/xai.js +20 -0
- package/dist/providers/xai.js.map +1 -1
- package/dist/runtime/conversation.d.ts +2 -2
- package/dist/runtime/conversation.js +19 -4
- package/dist/runtime/conversation.js.map +1 -1
- package/dist/runtime/singleShot.d.ts +2 -3
- package/dist/runtime/singleShot.js +22 -7
- package/dist/runtime/singleShot.js.map +1 -1
- package/dist/utils/systemPromptNotes.d.ts +17 -20
- package/dist/utils/systemPromptNotes.js +22 -24
- package/dist/utils/systemPromptNotes.js.map +1 -1
- package/dist/utils/untrustedText.d.ts +24 -4
- package/dist/utils/untrustedText.js +25 -4
- package/dist/utils/untrustedText.js.map +1 -1
- package/package.json +4 -4
- package/schema/gsloth-config.schema.json +0 -1
|
@@ -137,13 +137,22 @@ export declare class ShellNegotiationState {
|
|
|
137
137
|
* **The round is appended BEFORE either bound is tested**, so the rating that escalates is itself
|
|
138
138
|
* on the transcript the human sees. §5.6's escalation example turns on this: what matters on the
|
|
139
139
|
* screen is that the agent proposed the same command three times, and the third proposal is the
|
|
140
|
-
* one being escalated.
|
|
140
|
+
* one being escalated. {@link renderNegotiationRows} marks that last round as the pending request
|
|
141
|
+
* rather than as a prior one, which is the half of this the reader needs and cannot derive.
|
|
141
142
|
*/
|
|
142
143
|
recordRejection(round: RaterNegotiationRound): NegotiationVerdict;
|
|
143
144
|
/**
|
|
144
145
|
* §5.3 — a tool call the gate let through. Resets the consecutive counter **and clears the
|
|
145
146
|
* transcript with it**; the reachability bound is deliberately untouched.
|
|
146
147
|
*
|
|
148
|
+
* **What it must NOT truncate is the human's record of how hard the agent pushed.** The counter's
|
|
149
|
+
* reset is §5.3's and is sound; the reader at an escalation is asking a different question, and
|
|
150
|
+
* the answer to theirs is {@link NegotiationCounters.rejectionsSinceHuman}, which this leaves
|
|
151
|
+
* standing. {@link renderNegotiationRows} reports that count rather than the surviving rounds, so
|
|
152
|
+
* an argument this erased is still declared even though its rounds are gone; every erased round
|
|
153
|
+
* itself survives whole in [[TUI-C27]]'s archive, which captures per RATING CALL and so is not
|
|
154
|
+
* truncated by anything here.
|
|
155
|
+
*
|
|
147
156
|
* **"Approved" is what the gate can observe, and it is not quite §5.3's "successful".** The
|
|
148
157
|
* decision site sees whether a call was allowed to run, never whether it then exited zero — and
|
|
149
158
|
* the honest alternatives were worse: a tool-result stream carries the *rejected* call's own
|
|
@@ -190,6 +199,10 @@ export declare class ShellNegotiationState {
|
|
|
190
199
|
* was rejected"* and *"the call was the third consecutive rejection, so the next one goes to a
|
|
191
200
|
* person"* are different facts, and a bug report carrying only the first invites the wrong
|
|
192
201
|
* conclusion about why a session started interrupting.
|
|
202
|
+
*
|
|
203
|
+
* **`rejectionsSinceHuman` is also what the escalation prompt COUNTS**, and that is the one place
|
|
204
|
+
* it faces a person rather than a debugging archive. It is read at the escalation site before
|
|
205
|
+
* {@link humanReached} spends it; reading it after would report zero.
|
|
193
206
|
*/
|
|
194
207
|
counters(): NegotiationCounters;
|
|
195
208
|
/** Drop everything, including the user messages — the TUI's `/clear` rotates the thread. */
|
|
@@ -211,6 +224,31 @@ export interface NegotiationRow {
|
|
|
211
224
|
voice: NegotiationVoice;
|
|
212
225
|
text: string;
|
|
213
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Terminal rows one element of a round — the command, the justification, the rater's answer — may
|
|
229
|
+
* occupy on a screen before the rest of it is elided.
|
|
230
|
+
*
|
|
231
|
+
* **MEASURED, and it is the height bound this block needs rather than a cap on rounds.** At 80
|
|
232
|
+
* columns three rounds of paragraph-length argument cost 37 rows, of which one round was 12; the
|
|
233
|
+
* whole prompt was 64 rows against a 20-row budget, so the human saw the command and the verdict
|
|
234
|
+
* and neither the later rounds nor the menu line. A cap on the NUMBER of rounds would have changed
|
|
235
|
+
* none of that — §5.3 already bounds the transcript at
|
|
236
|
+
* {@link MAX_CONSECUTIVE_REJECTIONS} — because the cost is per row, not per round. Bounding each
|
|
237
|
+
* element keeps every round structurally on the screen, which is what §5.6 calls the most important
|
|
238
|
+
* thing on it, and pays for it out of the tail of a paragraph the reader was never going to need in
|
|
239
|
+
* full: the archive keeps every round whole ([[TUI-C27]]'s capture is per rating call).
|
|
240
|
+
*
|
|
241
|
+
* Two rather than one so a wrapped command keeps the continuation that shows how it differs from
|
|
242
|
+
* the round above it — the comparison the block exists to make.
|
|
243
|
+
*/
|
|
244
|
+
export declare const NEGOTIATION_MAX_ROWS_PER_ELEMENT = 2;
|
|
245
|
+
/**
|
|
246
|
+
* Rounds a screen shows, newest last. A backstop rather than today's binding constraint: §5.3
|
|
247
|
+
* escalates at {@link MAX_CONSECUTIVE_REJECTIONS}, so a transcript reaching a human is never longer
|
|
248
|
+
* than this — and an unscrollable prompt must not acquire an unbounded section the moment that
|
|
249
|
+
* number is raised. What is dropped is said out loud in the heading, which carries the true count.
|
|
250
|
+
*/
|
|
251
|
+
export declare const NEGOTIATION_MAX_ROUNDS_SHOWN = 3;
|
|
214
252
|
/**
|
|
215
253
|
* §6/§5.4 — render a negotiation for the human being asked to rule on it, one terminal row per
|
|
216
254
|
* element, each tagged with the voice speaking it.
|
|
@@ -233,9 +271,46 @@ export interface NegotiationRow {
|
|
|
233
271
|
* A wrapped row keeps the voice of the row it continues. A continuation painted as chrome would put
|
|
234
272
|
* the rater's words in the agent's colour at exactly the width where a long argument is hardest to
|
|
235
273
|
* read, which is the confusion §5.4 exists to remove.
|
|
274
|
+
*
|
|
275
|
+
* ## The three things this block must not get wrong about its own exchange
|
|
276
|
+
*
|
|
277
|
+
* Every label here sits over data that is already correct, so a label that lies does so silently —
|
|
278
|
+
* and each of these lied toward approving, at the moment a human was deciding whether to overrule
|
|
279
|
+
* a refusal.
|
|
280
|
+
*
|
|
281
|
+
* - **`attempts` is the count, and it is not `rounds.length`.** §5.3 clears the transcript on an
|
|
282
|
+
* approved call, so the rounds handed over are the attempts since the last *approval*, while the
|
|
283
|
+
* fact the reader is weighing is how hard the agent pushed since the last *human* — the caller's
|
|
284
|
+
* `rejectionsSinceHuman`. A measured escalation attempted the same command five times and
|
|
285
|
+
* rendered three. Omit it and this falls back to `rounds.length`, which is the honest reading of
|
|
286
|
+
* a caller that has no better number rather than a claim that none were erased.
|
|
287
|
+
* - **The last round IS the pending rating, not a prior one.** {@link
|
|
288
|
+
* ShellNegotiationState.recordRejection} appends before either bound is tested, deliberately, so
|
|
289
|
+
* that the rating being escalated is on the transcript the human sees. The old heading called
|
|
290
|
+
* them all prior rounds, which both under-reported the argument and put the pending command on
|
|
291
|
+
* the screen twice with nothing saying they were the same call.
|
|
292
|
+
* - **The first round was rated on the command alone.** A cleared transcript IS the round-1 case
|
|
293
|
+
* (see {@link ShellNegotiationState.contextFor}), so §5.1 withheld the justification and the user
|
|
294
|
+
* messages from that rating — while {@link ShellNegotiationState.recordRejection} stores the
|
|
295
|
+
* justification the agent supplied whatever the round. Printed unmarked, the round reads as a
|
|
296
|
+
* rater brushing past a direct answer to its own objection, which is the opposite of what
|
|
297
|
+
* happened and makes the rater look stubborn exactly where the reader is deciding whether to
|
|
298
|
+
* overrule it. The withholding is correct and is not what this marks. The same marker answers
|
|
299
|
+
* *"were the user's own words in view when this was rated?"* — a justification claiming the user
|
|
300
|
+
* asked for a command is exactly what a round-1 rating cannot check, and the user's messages are
|
|
301
|
+
* several rows on a surface with none to spare.
|
|
302
|
+
*
|
|
303
|
+
* **The prompt this feeds does not scroll and nothing else on it can give up rows**, so the height
|
|
304
|
+
* bound is {@link NEGOTIATION_MAX_ROWS_PER_ELEMENT} and every fact above is carried by a row that
|
|
305
|
+
* already exists.
|
|
236
306
|
*/
|
|
237
307
|
export declare function renderNegotiationRows(rounds: readonly RaterNegotiationRound[], options?: {
|
|
238
308
|
width?: number;
|
|
309
|
+
/**
|
|
310
|
+
* Rejected attempts since a human was last involved — `rejectionsSinceHuman` from {@link
|
|
311
|
+
* ShellNegotiationState.counters}, read BEFORE the escalation spends it.
|
|
312
|
+
*/
|
|
313
|
+
attempts?: number;
|
|
239
314
|
}): NegotiationRow[];
|
|
240
315
|
/**
|
|
241
316
|
* The same transcript as one string, for a consumer with no screen to lay it out on: §6.2's
|
|
@@ -245,5 +320,9 @@ export declare function renderNegotiationRows(rounds: readonly RaterNegotiationR
|
|
|
245
320
|
* Defined as {@link renderNegotiationRows} joined, so the string and the rows can never come to
|
|
246
321
|
* describe one exchange two ways — the whole reason there is one renderer and two surfaces.
|
|
247
322
|
* `null` when there is nothing to show.
|
|
323
|
+
*
|
|
324
|
+
* `attempts` carries the same fact it carries on a screen. It is the one thing a caller must pass
|
|
325
|
+
* for this message to be true, because the count it defaults to is the one an approved call
|
|
326
|
+
* truncated.
|
|
248
327
|
*/
|
|
249
|
-
export declare function renderNegotiationTranscript(rounds: readonly RaterNegotiationRound[]): string | null;
|
|
328
|
+
export declare function renderNegotiationTranscript(rounds: readonly RaterNegotiationRound[], attempts?: number): string | null;
|
|
@@ -153,7 +153,8 @@ export class ShellNegotiationState {
|
|
|
153
153
|
* **The round is appended BEFORE either bound is tested**, so the rating that escalates is itself
|
|
154
154
|
* on the transcript the human sees. §5.6's escalation example turns on this: what matters on the
|
|
155
155
|
* screen is that the agent proposed the same command three times, and the third proposal is the
|
|
156
|
-
* one being escalated.
|
|
156
|
+
* one being escalated. {@link renderNegotiationRows} marks that last round as the pending request
|
|
157
|
+
* rather than as a prior one, which is the half of this the reader needs and cannot derive.
|
|
157
158
|
*/
|
|
158
159
|
recordRejection(round) {
|
|
159
160
|
this.rounds.push(round);
|
|
@@ -169,6 +170,14 @@ export class ShellNegotiationState {
|
|
|
169
170
|
* §5.3 — a tool call the gate let through. Resets the consecutive counter **and clears the
|
|
170
171
|
* transcript with it**; the reachability bound is deliberately untouched.
|
|
171
172
|
*
|
|
173
|
+
* **What it must NOT truncate is the human's record of how hard the agent pushed.** The counter's
|
|
174
|
+
* reset is §5.3's and is sound; the reader at an escalation is asking a different question, and
|
|
175
|
+
* the answer to theirs is {@link NegotiationCounters.rejectionsSinceHuman}, which this leaves
|
|
176
|
+
* standing. {@link renderNegotiationRows} reports that count rather than the surviving rounds, so
|
|
177
|
+
* an argument this erased is still declared even though its rounds are gone; every erased round
|
|
178
|
+
* itself survives whole in [[TUI-C27]]'s archive, which captures per RATING CALL and so is not
|
|
179
|
+
* truncated by anything here.
|
|
180
|
+
*
|
|
172
181
|
* **"Approved" is what the gate can observe, and it is not quite §5.3's "successful".** The
|
|
173
182
|
* decision site sees whether a call was allowed to run, never whether it then exited zero — and
|
|
174
183
|
* the honest alternatives were worse: a tool-result stream carries the *rejected* call's own
|
|
@@ -236,6 +245,10 @@ export class ShellNegotiationState {
|
|
|
236
245
|
* was rejected"* and *"the call was the third consecutive rejection, so the next one goes to a
|
|
237
246
|
* person"* are different facts, and a bug report carrying only the first invites the wrong
|
|
238
247
|
* conclusion about why a session started interrupting.
|
|
248
|
+
*
|
|
249
|
+
* **`rejectionsSinceHuman` is also what the escalation prompt COUNTS**, and that is the one place
|
|
250
|
+
* it faces a person rather than a debugging archive. It is read at the escalation site before
|
|
251
|
+
* {@link humanReached} spends it; reading it after would report zero.
|
|
239
252
|
*/
|
|
240
253
|
counters() {
|
|
241
254
|
return {
|
|
@@ -262,6 +275,31 @@ export class ShellNegotiationState {
|
|
|
262
275
|
* rest: a continuation cannot be read as a turn that was never taken, whatever it contains.
|
|
263
276
|
*/
|
|
264
277
|
const CONTINUATION_PREFIX = ' ┊ ';
|
|
278
|
+
/**
|
|
279
|
+
* Terminal rows one element of a round — the command, the justification, the rater's answer — may
|
|
280
|
+
* occupy on a screen before the rest of it is elided.
|
|
281
|
+
*
|
|
282
|
+
* **MEASURED, and it is the height bound this block needs rather than a cap on rounds.** At 80
|
|
283
|
+
* columns three rounds of paragraph-length argument cost 37 rows, of which one round was 12; the
|
|
284
|
+
* whole prompt was 64 rows against a 20-row budget, so the human saw the command and the verdict
|
|
285
|
+
* and neither the later rounds nor the menu line. A cap on the NUMBER of rounds would have changed
|
|
286
|
+
* none of that — §5.3 already bounds the transcript at
|
|
287
|
+
* {@link MAX_CONSECUTIVE_REJECTIONS} — because the cost is per row, not per round. Bounding each
|
|
288
|
+
* element keeps every round structurally on the screen, which is what §5.6 calls the most important
|
|
289
|
+
* thing on it, and pays for it out of the tail of a paragraph the reader was never going to need in
|
|
290
|
+
* full: the archive keeps every round whole ([[TUI-C27]]'s capture is per rating call).
|
|
291
|
+
*
|
|
292
|
+
* Two rather than one so a wrapped command keeps the continuation that shows how it differs from
|
|
293
|
+
* the round above it — the comparison the block exists to make.
|
|
294
|
+
*/
|
|
295
|
+
export const NEGOTIATION_MAX_ROWS_PER_ELEMENT = 2;
|
|
296
|
+
/**
|
|
297
|
+
* Rounds a screen shows, newest last. A backstop rather than today's binding constraint: §5.3
|
|
298
|
+
* escalates at {@link MAX_CONSECUTIVE_REJECTIONS}, so a transcript reaching a human is never longer
|
|
299
|
+
* than this — and an unscrollable prompt must not acquire an unbounded section the moment that
|
|
300
|
+
* number is raised. What is dropped is said out loud in the heading, which carries the true count.
|
|
301
|
+
*/
|
|
302
|
+
export const NEGOTIATION_MAX_ROUNDS_SHOWN = 3;
|
|
265
303
|
/**
|
|
266
304
|
* §6/§5.4 — render a negotiation for the human being asked to rule on it, one terminal row per
|
|
267
305
|
* element, each tagged with the voice speaking it.
|
|
@@ -284,37 +322,128 @@ const CONTINUATION_PREFIX = ' ┊ ';
|
|
|
284
322
|
* A wrapped row keeps the voice of the row it continues. A continuation painted as chrome would put
|
|
285
323
|
* the rater's words in the agent's colour at exactly the width where a long argument is hardest to
|
|
286
324
|
* read, which is the confusion §5.4 exists to remove.
|
|
325
|
+
*
|
|
326
|
+
* ## The three things this block must not get wrong about its own exchange
|
|
327
|
+
*
|
|
328
|
+
* Every label here sits over data that is already correct, so a label that lies does so silently —
|
|
329
|
+
* and each of these lied toward approving, at the moment a human was deciding whether to overrule
|
|
330
|
+
* a refusal.
|
|
331
|
+
*
|
|
332
|
+
* - **`attempts` is the count, and it is not `rounds.length`.** §5.3 clears the transcript on an
|
|
333
|
+
* approved call, so the rounds handed over are the attempts since the last *approval*, while the
|
|
334
|
+
* fact the reader is weighing is how hard the agent pushed since the last *human* — the caller's
|
|
335
|
+
* `rejectionsSinceHuman`. A measured escalation attempted the same command five times and
|
|
336
|
+
* rendered three. Omit it and this falls back to `rounds.length`, which is the honest reading of
|
|
337
|
+
* a caller that has no better number rather than a claim that none were erased.
|
|
338
|
+
* - **The last round IS the pending rating, not a prior one.** {@link
|
|
339
|
+
* ShellNegotiationState.recordRejection} appends before either bound is tested, deliberately, so
|
|
340
|
+
* that the rating being escalated is on the transcript the human sees. The old heading called
|
|
341
|
+
* them all prior rounds, which both under-reported the argument and put the pending command on
|
|
342
|
+
* the screen twice with nothing saying they were the same call.
|
|
343
|
+
* - **The first round was rated on the command alone.** A cleared transcript IS the round-1 case
|
|
344
|
+
* (see {@link ShellNegotiationState.contextFor}), so §5.1 withheld the justification and the user
|
|
345
|
+
* messages from that rating — while {@link ShellNegotiationState.recordRejection} stores the
|
|
346
|
+
* justification the agent supplied whatever the round. Printed unmarked, the round reads as a
|
|
347
|
+
* rater brushing past a direct answer to its own objection, which is the opposite of what
|
|
348
|
+
* happened and makes the rater look stubborn exactly where the reader is deciding whether to
|
|
349
|
+
* overrule it. The withholding is correct and is not what this marks. The same marker answers
|
|
350
|
+
* *"were the user's own words in view when this was rated?"* — a justification claiming the user
|
|
351
|
+
* asked for a command is exactly what a round-1 rating cannot check, and the user's messages are
|
|
352
|
+
* several rows on a surface with none to spare.
|
|
353
|
+
*
|
|
354
|
+
* **The prompt this feeds does not scroll and nothing else on it can give up rows**, so the height
|
|
355
|
+
* bound is {@link NEGOTIATION_MAX_ROWS_PER_ELEMENT} and every fact above is carried by a row that
|
|
356
|
+
* already exists.
|
|
287
357
|
*/
|
|
288
358
|
export function renderNegotiationRows(rounds, options) {
|
|
289
359
|
if (rounds.length === 0)
|
|
290
360
|
return [];
|
|
361
|
+
const width = options?.width;
|
|
362
|
+
// A screen shows the newest rounds; a consumer with no screen (§6.2's exception message) shows
|
|
363
|
+
// them all, for the same reason it is handed no width.
|
|
364
|
+
const shown = width === undefined ? rounds : rounds.slice(-NEGOTIATION_MAX_ROUNDS_SHOWN);
|
|
365
|
+
// Never fewer attempts than rounds on the screen: a caller that passes a stale or smaller number
|
|
366
|
+
// must not be able to make this block claim less argument than it is about to print.
|
|
367
|
+
const attempts = Math.max(options?.attempts ?? rounds.length, rounds.length);
|
|
368
|
+
// The shown rounds are the most recent ones, so they are attempts `attempts - shown + 1` … N.
|
|
369
|
+
// Numbering them by their true attempt number is what stops the heading's count and the rounds
|
|
370
|
+
// beneath it describing two different exchanges.
|
|
371
|
+
const firstNumber = attempts - shown.length + 1;
|
|
372
|
+
// How many of the transcript's own rounds this screen had to drop, so a marker keyed on a
|
|
373
|
+
// POSITION IN THE TRANSCRIPT (round one, the pending round) stays keyed on it after the slice.
|
|
374
|
+
const dropped = rounds.length - shown.length;
|
|
291
375
|
const rows = [
|
|
292
376
|
{
|
|
293
377
|
voice: 'chrome',
|
|
294
|
-
text:
|
|
378
|
+
text: attempts > shown.length
|
|
379
|
+
? `The agent argued with the auto-rater ${attempts} times; the last ${shown.length} of them:`
|
|
380
|
+
: `The agent argued with the auto-rater ${attempts} ${attempts === 1 ? 'time' : 'times'}:`,
|
|
295
381
|
},
|
|
296
382
|
];
|
|
297
|
-
|
|
298
|
-
|
|
383
|
+
shown.forEach((round, index) => {
|
|
384
|
+
// **Each marker rides the row whose reading it corrects, and no other.** Put on the `Round`
|
|
385
|
+
// row they would be paid for in the one thing that row is for — the command, and how it
|
|
386
|
+
// compares with the round above it — which at a narrow width is most of what fits on it.
|
|
387
|
+
const pending = dropped + index === rounds.length - 1 ? ' (this request)' : '';
|
|
388
|
+
// A cleared transcript IS the round-1 case, so the transcript's FIRST round is the one §5.1
|
|
389
|
+
// rated on the command alone. Derived from the position rather than carried on the round
|
|
390
|
+
// because it is a property of the transcript, not of the rating — but that makes it a fact a
|
|
391
|
+
// reset could quietly invalidate, so it is pinned against a real run rather than by reading.
|
|
392
|
+
const roundOne = dropped + index === 0;
|
|
393
|
+
rows.push({
|
|
394
|
+
voice: 'agent',
|
|
395
|
+
text: ` Round ${firstNumber + index}${pending}: ${oneLine(round.command)}`,
|
|
396
|
+
});
|
|
299
397
|
const justification = round.justification?.trim();
|
|
300
398
|
if (justification) {
|
|
301
|
-
rows.push({
|
|
399
|
+
rows.push({
|
|
400
|
+
voice: 'agent',
|
|
401
|
+
text: ` agent justified${roundOne ? ' (not shown to the rater)' : ''}: ${oneLine(justification)}`,
|
|
402
|
+
});
|
|
302
403
|
}
|
|
303
404
|
const reason = round.reason.trim();
|
|
304
405
|
rows.push({
|
|
305
406
|
voice: 'rater',
|
|
306
|
-
text: ` rater answered: ${round.outcome}${reason ? ` — ${oneLine(reason)}` : ''}`,
|
|
407
|
+
text: ` rater answered${roundOne ? ' (on the command alone)' : ''}: ${round.outcome}${reason ? ` — ${oneLine(reason)}` : ''}`,
|
|
307
408
|
});
|
|
308
409
|
});
|
|
309
|
-
const width = options?.width;
|
|
310
410
|
if (width === undefined)
|
|
311
411
|
return rows;
|
|
312
412
|
return rows.flatMap((row) => wrapRow(row, width));
|
|
313
413
|
}
|
|
314
|
-
/**
|
|
414
|
+
/**
|
|
415
|
+
* One logical row as the terminal rows it needs, continuations marked and voice preserved — and
|
|
416
|
+
* never more than {@link NEGOTIATION_MAX_ROWS_PER_ELEMENT} of them.
|
|
417
|
+
*
|
|
418
|
+
* The elision is stated on the last row it keeps rather than on one of its own: a row spent saying
|
|
419
|
+
* a row was dropped saves nothing on a surface whose whole problem is rows.
|
|
420
|
+
*/
|
|
315
421
|
function wrapRow(row, width) {
|
|
316
422
|
const budget = Math.max(MIN_CONTENT_WIDTH, width - maxDisplayWidth(CONTINUATION_PREFIX));
|
|
317
|
-
const
|
|
423
|
+
const lines = wrapToWidth(row.text, budget);
|
|
424
|
+
// **The heading WRAPS but is never clamped, and the distinction is the same one
|
|
425
|
+
// `approvalStop`'s rows make**: the row bound exists to stop agent-authored prose spending a
|
|
426
|
+
// screen that cannot scroll, and the heading is this renderer's own sentence — nothing can forge
|
|
427
|
+
// it, so it may wrap like ordinary prose, and clamping it buys nothing. It costs, though: the
|
|
428
|
+
// heading is where the attempt count lives, and at {@link MIN_FRAME_WIDTH} a clamp lands inside
|
|
429
|
+
// the number, deleting the single most decision-relevant fact on the block to save one row.
|
|
430
|
+
const kept = row.voice === 'chrome' ? [...lines] : lines.slice(0, NEGOTIATION_MAX_ROWS_PER_ELEMENT);
|
|
431
|
+
const hidden = lines.length - kept.length;
|
|
432
|
+
if (hidden > 0 && kept.length > 0) {
|
|
433
|
+
const marker = ` … +${hidden} ${hidden === 1 ? 'row' : 'rows'}`;
|
|
434
|
+
const last = kept.length - 1;
|
|
435
|
+
// **The marker is the fact; the tail of the sentence it truncates is not.** On a frame too
|
|
436
|
+
// narrow to hold both, the content gives way rather than the row overrunning — and the joined
|
|
437
|
+
// row is re-bound afterwards, because `wrapToWidth` can only bind text it was given, and it was
|
|
438
|
+
// never given these two pieces joined. A row measured as fitting that does not fit is a row the
|
|
439
|
+
// terminal wraps back to column 0, which is the one thing every row here is bound to prevent.
|
|
440
|
+
const room = budget - maxDisplayWidth(marker);
|
|
441
|
+
const head = room >= MIN_CONTENT_WIDTH ? (wrapToWidth(kept[last], room)[0] ?? '') : '';
|
|
442
|
+
const composed = `${head}${marker}`;
|
|
443
|
+
kept[last] =
|
|
444
|
+
maxDisplayWidth(composed) <= budget ? composed : (wrapToWidth(composed, budget)[0] ?? '');
|
|
445
|
+
}
|
|
446
|
+
const [head, ...rest] = kept;
|
|
318
447
|
return [
|
|
319
448
|
{ voice: row.voice, text: head },
|
|
320
449
|
...rest.map((text) => ({ voice: row.voice, text: `${CONTINUATION_PREFIX}${text}` })),
|
|
@@ -328,9 +457,13 @@ function wrapRow(row, width) {
|
|
|
328
457
|
* Defined as {@link renderNegotiationRows} joined, so the string and the rows can never come to
|
|
329
458
|
* describe one exchange two ways — the whole reason there is one renderer and two surfaces.
|
|
330
459
|
* `null` when there is nothing to show.
|
|
460
|
+
*
|
|
461
|
+
* `attempts` carries the same fact it carries on a screen. It is the one thing a caller must pass
|
|
462
|
+
* for this message to be true, because the count it defaults to is the one an approved call
|
|
463
|
+
* truncated.
|
|
331
464
|
*/
|
|
332
|
-
export function renderNegotiationTranscript(rounds) {
|
|
333
|
-
const rows = renderNegotiationRows(rounds);
|
|
465
|
+
export function renderNegotiationTranscript(rounds, attempts) {
|
|
466
|
+
const rows = renderNegotiationRows(rounds, attempts === undefined ? undefined : { attempts });
|
|
334
467
|
if (rows.length === 0)
|
|
335
468
|
return null;
|
|
336
469
|
return rows.map((row) => row.text).join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../../src/core/shell/negotiation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEjG,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAuB7C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,qBAAqB;IAChC,+EAA+E;IACvE,MAAM,GAA4B,EAAE,CAAC;IAC7C,6FAA6F;IACrF,WAAW,GAAG,CAAC,CAAC;IACxB,4EAA4E;IACpE,UAAU,GAAG,CAAC,CAAC;IACvB,qGAAqG;IAC7F,YAAY,GAAa,EAAE,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,UAAU,CAAC,aAAsB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1C,OAAO;YACL,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YACnD,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACpD,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../../src/core/shell/negotiation.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,34 +40,14 @@ import * as z from 'zod';
|
|
|
40
40
|
import type { ApprovalRung, GrantedToolSummary, GthConfig } from '#src/config.js';
|
|
41
41
|
import type { EffectiveToolAnnotations } from '#src/core/approvals/matcher.js';
|
|
42
42
|
import { type RaterCallCapture } from '#src/core/shell/approvalCapture.js';
|
|
43
|
+
import type { PreflightFloorKind, RaterAction, RaterOutcome } from '#src/core/shell/raterVocabulary.js';
|
|
43
44
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* - `safe` — no harmful effect.
|
|
51
|
-
* - `destructive` — **the catch-all**: harmful, but recoverable from inside the session, and not
|
|
52
|
-
* an attack — **and anything the rater cannot assess**. The rating prompt defines it *by
|
|
53
|
-
* exclusion* ("not safe, not catastrophic and not an attack") precisely so no command can fall
|
|
54
|
-
* outside the four.
|
|
55
|
-
* - `catastrophic` — *can this be undone from inside the session?* Irreversible without something
|
|
56
|
-
* OUTSIDE the session: rescue media, a backup, a re-provision, a restore from a third party.
|
|
57
|
-
* Escalates at both rated rungs; never negotiable and never sticky (§4.2).
|
|
58
|
-
* - `attack` — *is something hostile acting here?* The command's own **structure** evidences
|
|
59
|
-
* compromise (§4.1.1: credential targeting, privilege escalation / permission weakening,
|
|
60
|
-
* persistence, deception, obfuscation). It is the only outcome that HALTS the run.
|
|
61
|
-
*
|
|
62
|
-
* **`catastrophic` and `attack` are not ranked against each other** — they ask different
|
|
63
|
-
* questions, and the spec says so explicitly. A command can be both; `attack` wins the
|
|
64
|
-
* *consequence* (a manipulated session cannot be trusted to continue) but MUST NOT swallow the
|
|
65
|
-
* finding — see the §6.1 clause in {@link buildRaterSystemPrompt}. Nothing here may be written as
|
|
66
|
-
* a severity comparison between the two.
|
|
67
|
-
*/
|
|
68
|
-
export declare const RATER_OUTCOMES: readonly ['safe', 'destructive', 'catastrophic', 'attack'];
|
|
69
|
-
/** One outcome of {@link RATER_OUTCOMES}. */
|
|
70
|
-
export type RaterOutcome = (typeof RATER_OUTCOMES)[number];
|
|
45
|
+
* The gate's closed vocabularies are defined in {@link ./raterVocabulary.js} — a leaf module with no
|
|
46
|
+
* imports, so a checker can read the words without loading this file's model layer. They are
|
|
47
|
+
* re-exported here, where their meaning lives, so a caller needs only one import either way.
|
|
48
|
+
*/
|
|
49
|
+
export { PREFLIGHT_FLOOR_KINDS, RATER_ACTIONS, RATER_OUTCOMES, } from '#src/core/shell/raterVocabulary.js';
|
|
50
|
+
export type { PreflightFloorKind, RaterAction, RaterOutcome, } from '#src/core/shell/raterVocabulary.js';
|
|
71
51
|
/**
|
|
72
52
|
* Structured verdict the rater model must return: one outcome plus one short sentence. There is
|
|
73
53
|
* deliberately nothing else — no severity number, no booleans to recombine into a compound
|
|
@@ -699,46 +679,6 @@ export declare function rateShellCommand(command: string, config: GthConfig, opt
|
|
|
699
679
|
/** [[TUI-C27]] — `approvals.rater`, recorded on the capture so a dump names WHO rated. */
|
|
700
680
|
raterProfile?: string;
|
|
701
681
|
}): Promise<ShellSafetyVerdict>;
|
|
702
|
-
/**
|
|
703
|
-
* The action the approvals gate resolves to for a single gated call, BEFORE the human prompt.
|
|
704
|
-
*
|
|
705
|
-
* - `approve` — approve ONCE; do not touch the human or the allow-list.
|
|
706
|
-
* - `escalate` — fall through to the human approval callback, carrying the verdict when one
|
|
707
|
-
* exists. Where there is no human, §6.2 turns this into an immediate non-zero exit — that
|
|
708
|
-
* translation belongs to the runner, not here.
|
|
709
|
-
* - `halt` — **end the agent loop** (§4.2). Reserved for `attack`. It is not a rejection the
|
|
710
|
-
* model can respond to and offers it no moves; no rung except `bypass` can turn it into
|
|
711
|
-
* anything else.
|
|
712
|
-
* - `reject` — [[EXT-29]] (§5): hand the rater's explanation back to the **agent** as the refused
|
|
713
|
-
* call's tool result (§7), opening a round of the negotiation. Returned for `destructive` at
|
|
714
|
-
* `auto` and nowhere else.
|
|
715
|
-
*
|
|
716
|
-
* **`reject` says the outcome is negotiable, NOT that the negotiation may continue.** This mapping
|
|
717
|
-
* is keyed on the rung and knows nothing about how many rounds have been spent; §5.3's consecutive
|
|
718
|
-
* cap and the reachability bound live with the state they count, in the runner, which turns a
|
|
719
|
-
* `reject` into an escalation once either is spent. Putting the counters in here would make a pure
|
|
720
|
-
* rung-keyed table depend on session history, and would give the eval target
|
|
721
|
-
* (`@gaunt-sloth/batch`'s `raterTarget`) an action that varies with something it does not model.
|
|
722
|
-
*
|
|
723
|
-
* **[[EXT-81]] retired the fourth arm, `abstain`.** A command whose target the gate could not
|
|
724
|
-
* statically resolve used to skip the rating call entirely and return that action instead. Under
|
|
725
|
-
* §6.1's rule — *deterministic checks fire only where we are confident something is a threat; where
|
|
726
|
-
* we cannot tell, the model decides* — a parser reporting that it could not resolve a string is not
|
|
727
|
-
* a detection, so it no longer earns an action of its own. What it earns is a neutral note in the
|
|
728
|
-
* rating prompt ({@link buildParserPreflightNote}) and a real rating, which is also what restores
|
|
729
|
-
* the ceiling: `catastrophic` and `attack` were UNREACHABLE for that whole class while nobody rated
|
|
730
|
-
* it, so `pwd && rm -rf ~` could only ever be floored at `destructive`.
|
|
731
|
-
*
|
|
732
|
-
* There is deliberately **no `refuse` arm for `catastrophic`** (settled 2026-07-27c, §4.2). The
|
|
733
|
-
* deterministic members of that class — fork bomb, `mkfs`, `rm -rf /`, `dd` to a block device — are
|
|
734
|
-
* already refused unappealably by the §8 hardline floor under every rung including `bypass`, so a
|
|
735
|
-
* refusing `catastrophic` would add nothing for the commands that motivate the idea. What it would
|
|
736
|
-
* newly refuse is the remainder the floor cannot reach, every member of which has routine
|
|
737
|
-
* legitimate use (a staging database, an ephemeral `terraform destroy`, a preview namespace). An
|
|
738
|
-
* unmeasured classifier belongs behind a human who can correct it; a refusal has no correction
|
|
739
|
-
* path.
|
|
740
|
-
*/
|
|
741
|
-
export type RaterAction = 'approve' | 'escalate' | 'halt' | 'reject';
|
|
742
682
|
/** Inputs to the decision mapping: just the rung. Each rung fully determines behaviour (§1). */
|
|
743
683
|
export interface RaterDecisionOptions {
|
|
744
684
|
/** The rung in force for this session. */
|
|
@@ -822,8 +762,6 @@ export declare function applyDestructiveFloor(verdict: ShellSafetyVerdict | unde
|
|
|
822
762
|
* the same direction as the fail-closed default it would otherwise have returned.
|
|
823
763
|
*/
|
|
824
764
|
export declare function openWorldToolFloorReason(annotations: EffectiveToolAnnotations | undefined): string | null;
|
|
825
|
-
/** Which of the two deterministic preflights fired. See {@link preflightFloorFinding}. */
|
|
826
|
-
export type PreflightFloorKind = 'script-env-leak' | 'open-world';
|
|
827
765
|
/** A preflight finding: which arm fired, and the reason it floors the command with. */
|
|
828
766
|
export interface PreflightFloorFinding {
|
|
829
767
|
kind: PreflightFloorKind;
|
package/dist/core/shell/rater.js
CHANGED
|
@@ -45,34 +45,15 @@ import { buildParserPreflightNote } from '#src/core/shell/abstention.js';
|
|
|
45
45
|
import { describeRaterNegotiation, raterModelLabel, } from '#src/core/shell/approvalCapture.js';
|
|
46
46
|
import { normalizeCommand } from '#src/core/shell/normalize.js';
|
|
47
47
|
import { buildComposedOpenWorldNote, findOpenWorldHostLiterals, } from '#src/core/shell/openWorld.js';
|
|
48
|
+
import { RATER_OUTCOMES } from '#src/core/shell/raterVocabulary.js';
|
|
48
49
|
import { structuredOutputBoundary } from '#src/runtime/structuredOutput.js';
|
|
49
50
|
import { debugLog, debugLogError } from '#src/utils/debugUtils.js';
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* ordering knob and no threshold: each outcome's consequence is fixed by the rung
|
|
55
|
-
* ({@link mapVerdictToAction}).
|
|
56
|
-
*
|
|
57
|
-
* - `safe` — no harmful effect.
|
|
58
|
-
* - `destructive` — **the catch-all**: harmful, but recoverable from inside the session, and not
|
|
59
|
-
* an attack — **and anything the rater cannot assess**. The rating prompt defines it *by
|
|
60
|
-
* exclusion* ("not safe, not catastrophic and not an attack") precisely so no command can fall
|
|
61
|
-
* outside the four.
|
|
62
|
-
* - `catastrophic` — *can this be undone from inside the session?* Irreversible without something
|
|
63
|
-
* OUTSIDE the session: rescue media, a backup, a re-provision, a restore from a third party.
|
|
64
|
-
* Escalates at both rated rungs; never negotiable and never sticky (§4.2).
|
|
65
|
-
* - `attack` — *is something hostile acting here?* The command's own **structure** evidences
|
|
66
|
-
* compromise (§4.1.1: credential targeting, privilege escalation / permission weakening,
|
|
67
|
-
* persistence, deception, obfuscation). It is the only outcome that HALTS the run.
|
|
68
|
-
*
|
|
69
|
-
* **`catastrophic` and `attack` are not ranked against each other** — they ask different
|
|
70
|
-
* questions, and the spec says so explicitly. A command can be both; `attack` wins the
|
|
71
|
-
* *consequence* (a manipulated session cannot be trusted to continue) but MUST NOT swallow the
|
|
72
|
-
* finding — see the §6.1 clause in {@link buildRaterSystemPrompt}. Nothing here may be written as
|
|
73
|
-
* a severity comparison between the two.
|
|
52
|
+
* The gate's closed vocabularies are defined in {@link ./raterVocabulary.js} — a leaf module with no
|
|
53
|
+
* imports, so a checker can read the words without loading this file's model layer. They are
|
|
54
|
+
* re-exported here, where their meaning lives, so a caller needs only one import either way.
|
|
74
55
|
*/
|
|
75
|
-
export
|
|
56
|
+
export { PREFLIGHT_FLOOR_KINDS, RATER_ACTIONS, RATER_OUTCOMES, } from '#src/core/shell/raterVocabulary.js';
|
|
76
57
|
/**
|
|
77
58
|
* Structured verdict the rater model must return: one outcome plus one short sentence. There is
|
|
78
59
|
* deliberately nothing else — no severity number, no booleans to recombine into a compound
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rater.js","sourceRoot":"","sources":["../../../src/core/shell/rater.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rater.js","sourceRoot":"","sources":["../../../src/core/shell/rater.ts"],"names":[],"mappings":"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"}
|