agent-nuvira 3.1.1 → 3.2.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/dist/agents/agents/reasoner.d.ts +8 -0
- package/dist/agents/agents/reasoner.d.ts.map +1 -1
- package/dist/agents/agents/reasoner.js +53 -2
- package/dist/agents/agents/reasoner.js.map +1 -1
- package/dist/agents/agents/writer.d.ts +24 -0
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +194 -0
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/composite-plan.d.ts +143 -0
- package/dist/agents/composite-plan.d.ts.map +1 -0
- package/dist/agents/composite-plan.js +399 -0
- package/dist/agents/composite-plan.js.map +1 -0
- package/dist/agents/long-form-plan.d.ts +156 -0
- package/dist/agents/long-form-plan.d.ts.map +1 -0
- package/dist/agents/long-form-plan.js +274 -0
- package/dist/agents/long-form-plan.js.map +1 -0
- package/dist/agents/orchestrator.d.ts +107 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +501 -35
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/prompt-assembly.d.ts +8 -0
- package/dist/agents/prompt-assembly.d.ts.map +1 -1
- package/dist/agents/prompt-assembly.js +17 -0
- package/dist/agents/prompt-assembly.js.map +1 -1
- package/dist/cli/chat.d.ts +27 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +133 -8
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/execute.d.ts +12 -0
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +105 -2
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/models.d.ts.map +1 -1
- package/dist/cli/models.js +10 -0
- package/dist/cli/models.js.map +1 -1
- package/dist/cli/nlu.d.ts +8 -0
- package/dist/cli/nlu.d.ts.map +1 -1
- package/dist/cli/nlu.js +57 -0
- package/dist/cli/nlu.js.map +1 -1
- package/dist/cli/trace.d.ts.map +1 -1
- package/dist/cli/trace.js +27 -0
- package/dist/cli/trace.js.map +1 -1
- package/dist/gateway/gateway-log.d.ts +1 -1
- package/dist/gateway/gateway-log.d.ts.map +1 -1
- package/dist/gateway/gateway-log.js.map +1 -1
- package/dist/gateway/registry.d.ts +116 -1
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +575 -52
- package/dist/gateway/registry.js.map +1 -1
- package/dist/inference/model-entitlement.d.ts +46 -0
- package/dist/inference/model-entitlement.d.ts.map +1 -0
- package/dist/inference/model-entitlement.js +98 -0
- package/dist/inference/model-entitlement.js.map +1 -0
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +70 -1
- package/dist/inference/tool-call-utils.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +334 -0
- package/dist/learning/autonomy-policy.d.ts.map +1 -0
- package/dist/learning/autonomy-policy.js +500 -0
- package/dist/learning/autonomy-policy.js.map +1 -0
- package/dist/learning/credential-fingerprint.d.ts +58 -0
- package/dist/learning/credential-fingerprint.d.ts.map +1 -0
- package/dist/learning/credential-fingerprint.js +126 -0
- package/dist/learning/credential-fingerprint.js.map +1 -0
- package/dist/learning/deferred-task.d.ts +159 -0
- package/dist/learning/deferred-task.d.ts.map +1 -0
- package/dist/learning/deferred-task.js +451 -0
- package/dist/learning/deferred-task.js.map +1 -0
- package/dist/learning/deliverable-class.d.ts +130 -0
- package/dist/learning/deliverable-class.d.ts.map +1 -0
- package/dist/learning/deliverable-class.js +432 -0
- package/dist/learning/deliverable-class.js.map +1 -0
- package/dist/learning/long-form.d.ts +252 -0
- package/dist/learning/long-form.d.ts.map +1 -0
- package/dist/learning/long-form.js +510 -0
- package/dist/learning/long-form.js.map +1 -0
- package/dist/learning/model-first-router.d.ts +17 -0
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +35 -0
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-registry.d.ts +96 -4
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +128 -6
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-warmup.d.ts +97 -2
- package/dist/learning/model-warmup.d.ts.map +1 -1
- package/dist/learning/model-warmup.js +165 -60
- package/dist/learning/model-warmup.js.map +1 -1
- package/dist/learning/prompt-layers.d.ts +61 -0
- package/dist/learning/prompt-layers.d.ts.map +1 -0
- package/dist/learning/prompt-layers.js +140 -0
- package/dist/learning/prompt-layers.js.map +1 -0
- package/dist/learning/provider-limits.d.ts +66 -0
- package/dist/learning/provider-limits.d.ts.map +1 -0
- package/dist/learning/provider-limits.js +184 -0
- package/dist/learning/provider-limits.js.map +1 -0
- package/dist/learning/reasoning-trace.d.ts +36 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +36 -2
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts +36 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +118 -8
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/unattended-job.d.ts +293 -0
- package/dist/learning/unattended-job.d.ts.map +1 -0
- package/dist/learning/unattended-job.js +544 -0
- package/dist/learning/unattended-job.js.map +1 -0
- package/dist/learning/unattended-progress.d.ts +95 -0
- package/dist/learning/unattended-progress.d.ts.map +1 -0
- package/dist/learning/unattended-progress.js +147 -0
- package/dist/learning/unattended-progress.js.map +1 -0
- package/dist/learning/working-state.d.ts +109 -0
- package/dist/learning/working-state.d.ts.map +1 -0
- package/dist/learning/working-state.js +244 -0
- package/dist/learning/working-state.js.map +1 -0
- package/dist/nlu/conversation-gate.d.ts +46 -0
- package/dist/nlu/conversation-gate.d.ts.map +1 -1
- package/dist/nlu/conversation-gate.js +73 -6
- package/dist/nlu/conversation-gate.js.map +1 -1
- package/dist/nlu/intent-confirm.d.ts +82 -0
- package/dist/nlu/intent-confirm.d.ts.map +1 -0
- package/dist/nlu/intent-confirm.js +146 -0
- package/dist/nlu/intent-confirm.js.map +1 -0
- package/dist/nlu/learnings.d.ts +101 -0
- package/dist/nlu/learnings.d.ts.map +1 -0
- package/dist/nlu/learnings.js +283 -0
- package/dist/nlu/learnings.js.map +1 -0
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +95 -19
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/edit-verification.d.ts +125 -0
- package/dist/tools/edit-verification.d.ts.map +1 -0
- package/dist/tools/edit-verification.js +237 -0
- package/dist/tools/edit-verification.js.map +1 -0
- package/dist/tools/git-tool.d.ts.map +1 -1
- package/dist/tools/git-tool.js +37 -4
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/tools/registry.d.ts +30 -2
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +40 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-cli.d.ts.map +1 -1
- package/dist/tools/run-cli.js +40 -13
- package/dist/tools/run-cli.js.map +1 -1
- package/dist/tools/run-terminal.d.ts +6 -1
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +158 -18
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +35 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +157 -3
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +35 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +97 -18
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/chat-retry.d.ts +143 -0
- package/dist/web-dashboard/chat-retry.d.ts.map +1 -0
- package/dist/web-dashboard/chat-retry.js +227 -0
- package/dist/web-dashboard/chat-retry.js.map +1 -0
- package/dist/web-dashboard/server.d.ts +17 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +200 -9
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +81 -4
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/{index-CQW0qv1r.js → index-kCUkORm7.js} +27 -27
- package/src/web-dashboard/public/assets/index-kCUkORm7.js.map +1 -0
- package/src/web-dashboard/public/index.html +1 -1
- package/src/web-dashboard/public/assets/index-CQW0qv1r.js.map +0 -1
package/dist/tools/tool-loop.js
CHANGED
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
* blocks after its response text (contract in TOOL_CONTRACT_JSON).
|
|
17
17
|
*/
|
|
18
18
|
import { getTool, toolJsonSchemas } from './registry.js';
|
|
19
|
+
import { detectPermissionSeeking, requestAuthorizesWrites, stripTrailingPermissionSeek, } from '../learning/autonomy-policy.js';
|
|
19
20
|
import { normalizeFollowups } from './followup-utils.js';
|
|
21
|
+
import { assessEditActivity, detectUnverifiedEditClaim, isVerificationTool, VERIFICATION_NUDGE, AUTHORIZED_WORK_NUDGE, } from './edit-verification.js';
|
|
20
22
|
import { effectiveToolJsonSchemas, coreToolJsonSchemas, isToolEnabled, toolsetForTool } from './toolsets.js';
|
|
21
23
|
import { appendToolArtifact } from './artifact-append.js';
|
|
22
24
|
import { logger } from '../utils/logger.js';
|
|
@@ -288,6 +290,11 @@ async function runToolLoopInner(opts, progress) {
|
|
|
288
290
|
let continuations = 0;
|
|
289
291
|
// Bounded dangling-promise nudges spent this turn (see INTENT_PROMISE_RE).
|
|
290
292
|
let intentNudges = 0;
|
|
293
|
+
// G1 — bounded verification nudges spent this turn (see requireVerification).
|
|
294
|
+
let verificationNudges = 0;
|
|
295
|
+
// G13 — bounded "the request already authorized this" nudges (see
|
|
296
|
+
// detectPermissionSeeking).
|
|
297
|
+
let permissionNudges = 0;
|
|
291
298
|
// The EFFECTIVE bound: starts at maxSteps and is extended (never beyond the
|
|
292
299
|
// continuation budget) so a turn that still has work can finish.
|
|
293
300
|
let stepLimit = maxSteps;
|
|
@@ -308,9 +315,25 @@ async function runToolLoopInner(opts, progress) {
|
|
|
308
315
|
followups.push(...next);
|
|
309
316
|
},
|
|
310
317
|
};
|
|
318
|
+
// ── G13: does the CURRENT request authorize file writes? ────────────────
|
|
319
|
+
// Derived once, from the last user message, and handed to every tool. The
|
|
320
|
+
// confirm-before-write gate needs this to tell "is this write the user's
|
|
321
|
+
// stated intent?" apart from "is this a surprise?" — without it the gate can
|
|
322
|
+
// only ask, so an unattended run whose ask is literally "write a 12 page
|
|
323
|
+
// story" stops to ask "Do you want me to create the files?". Callers that
|
|
324
|
+
// pass no messages (direct tool tests) get `undefined`, which preserves the
|
|
325
|
+
// gate exactly as it was.
|
|
326
|
+
const requestText = lastUserText(opts.messages);
|
|
327
|
+
const authorization = requestAuthorizesWrites(requestText);
|
|
311
328
|
const ctx = {
|
|
312
329
|
...context,
|
|
313
330
|
followups: context.followups || sink,
|
|
331
|
+
writesAuthorized: authorization,
|
|
332
|
+
// The RAW text too, not only the file-shaped verdict: each gated tool needs
|
|
333
|
+
// the evidence its own question requires (does the request name this file?
|
|
334
|
+
// ask for a commit? resolve to this CLI command?), and a single boolean
|
|
335
|
+
// computed for a different question cannot answer any of them.
|
|
336
|
+
authorizationRequest: requestText,
|
|
314
337
|
};
|
|
315
338
|
// Resolve the tool set — stable JSON schemas for every native step
|
|
316
339
|
// (derived from the registry's zod schemas, single source of truth).
|
|
@@ -469,14 +492,28 @@ async function runToolLoopInner(opts, progress) {
|
|
|
469
492
|
await sleep(Math.max(0, delayMs));
|
|
470
493
|
continue;
|
|
471
494
|
}
|
|
495
|
+
// `generationFailed` answers ONE question: was an ANSWER delivered? It
|
|
496
|
+
// used to answer "did anything happen yet", which is `madeProgress`, and
|
|
497
|
+
// the two are not the same: a turn that ran `code_search` and then died
|
|
498
|
+
// has made progress but produced no answer, so `content` below is the
|
|
499
|
+
// failure line — and returning it with `generationFailed: false` shipped
|
|
500
|
+
// that line as a SUCCESS. Caught live on the dashboard surface: the bubble
|
|
501
|
+
// read "The model wrote its own working notes instead of an answer…" while
|
|
502
|
+
// the flag was false, so no retry was offered and nothing was queued, the
|
|
503
|
+
// gateway would have reported the turn as fine, and the line was eligible
|
|
504
|
+
// for the answer cache. `madeProgress` keeps its own meaning where it
|
|
505
|
+
// belongs — deciding whether a no-model turn may be re-run through the
|
|
506
|
+
// rules' pipeline fallback (E3c) — and a turn with NO answer at all is a
|
|
507
|
+
// failure either way, because there is nothing to deliver.
|
|
508
|
+
const delivered = lastContent.trim();
|
|
472
509
|
return {
|
|
473
|
-
content:
|
|
510
|
+
content: delivered || toUserFacingGenerationError(err),
|
|
474
511
|
followups,
|
|
475
512
|
toolCalls: toolCallsRun,
|
|
476
513
|
steps,
|
|
477
514
|
bounded: false,
|
|
478
515
|
continuations,
|
|
479
|
-
generationFailed: !madeProgress,
|
|
516
|
+
generationFailed: delivered === '' || !madeProgress,
|
|
480
517
|
};
|
|
481
518
|
}
|
|
482
519
|
// ── Recover tool calls the model wrote as TEXT ─────────────────────────
|
|
@@ -553,11 +590,63 @@ async function runToolLoopInner(opts, progress) {
|
|
|
553
590
|
});
|
|
554
591
|
continue;
|
|
555
592
|
}
|
|
593
|
+
// ── G13 — AUTHORIZED-WORK nudge (bounded, once) ──────────────────────
|
|
594
|
+
// The model closed the turn asking PERMISSION for work the user's own
|
|
595
|
+
// request already authorized ("Do you want me to create the full project
|
|
596
|
+
// structure…?"). Over a chat surface that question IS the answer: the
|
|
597
|
+
// turn ends, the user has to reply, and nothing gets built — the manual
|
|
598
|
+
// cadence again. The autonomy policy decides it instead: the ask was the
|
|
599
|
+
// authorization, so tell the model to proceed with its default and report
|
|
600
|
+
// the decision. Deliberately a conjunction of two independent facts
|
|
601
|
+
// (permission-seeking AND an authorized request) so a genuine question
|
|
602
|
+
// about unrequested work — or a question naming an irreversible action —
|
|
603
|
+
// is left exactly where it is for the user to answer.
|
|
604
|
+
if (permissionNudges < 1 &&
|
|
605
|
+
authorization.authorized &&
|
|
606
|
+
schemas.length > 0 &&
|
|
607
|
+
detectPermissionSeeking(response.content.length >= lastContent.length ? response.content : lastContent)) {
|
|
608
|
+
permissionNudges += 1;
|
|
609
|
+
stepLimit += 1;
|
|
610
|
+
deps.onEvent?.(' 🤖 Turn ended asking permission for work the request already authorized — telling the model to proceed.');
|
|
611
|
+
// The question must not become the delivered answer. When nothing was
|
|
612
|
+
// done this turn the whole step is the question, so drop it. When real
|
|
613
|
+
// work WAS done, keep the work and cut only the trailing question —
|
|
614
|
+
// otherwise a longer "…Do you want me to…?" outranks a short, real
|
|
615
|
+
// follow-up answer under the longest-substantive rule below.
|
|
616
|
+
if (progress.successfulToolCalls.length === 0) {
|
|
617
|
+
lastContent = '';
|
|
618
|
+
}
|
|
619
|
+
else {
|
|
620
|
+
lastContent = stripTrailingPermissionSeek(response.content.length >= lastContent.length ? response.content : lastContent);
|
|
621
|
+
}
|
|
622
|
+
thread.push({ role: 'assistant', content: response.content });
|
|
623
|
+
thread.push({ role: 'user', content: AUTHORIZED_WORK_NUDGE });
|
|
624
|
+
continue;
|
|
625
|
+
}
|
|
556
626
|
// S1 (both exits): the MOST SUBSTANTIVE content seen wins here too —
|
|
557
627
|
// a short closing step ("Sent it to her! ✅") with no tool calls must
|
|
558
628
|
// not clobber the deliverable (poem/essay) the model composed in an
|
|
559
629
|
// earlier step alongside a real tool call. Same rule as the
|
|
560
630
|
// suggest_followups exit below.
|
|
631
|
+
//
|
|
632
|
+
// G1 — VERIFICATION GATE: before the turn can end, if it MUTATED the
|
|
633
|
+
// workspace and ran nothing that observed the result, spend ONE bounded
|
|
634
|
+
// nudge asking for the check. The gate is deliberately a nudge, not a
|
|
635
|
+
// hard block: a task with no runnable check (a prose answer, a config
|
|
636
|
+
// edit outside the workspace) must still be deliverable — the residual
|
|
637
|
+
// `unverifiedEdit` flag carries the honesty for that case.
|
|
638
|
+
if (verificationNudges < 1 &&
|
|
639
|
+
opts.requireVerification !== false &&
|
|
640
|
+
schemas.length > 0 &&
|
|
641
|
+
assessEditActivity(progress.successfulToolCalls, progress.verificationEvidence, progress.mutatedPaths)
|
|
642
|
+
.needsVerification) {
|
|
643
|
+
verificationNudges += 1;
|
|
644
|
+
stepLimit += 1;
|
|
645
|
+
deps.onEvent?.(' 🔎 Files were changed but nothing verified them — asking the model to run a check.');
|
|
646
|
+
thread.push({ role: 'assistant', content: response.content });
|
|
647
|
+
thread.push({ role: 'user', content: VERIFICATION_NUDGE });
|
|
648
|
+
continue;
|
|
649
|
+
}
|
|
561
650
|
return {
|
|
562
651
|
content: response.content.length >= lastContent.length ? response.content : lastContent,
|
|
563
652
|
followups,
|
|
@@ -734,6 +823,20 @@ async function runToolLoopInner(opts, progress) {
|
|
|
734
823
|
if (call.name === 'gateway_send' && deliveryResultSucceeded(rawResult)) {
|
|
735
824
|
progress.deliveryConfirmed = true;
|
|
736
825
|
}
|
|
826
|
+
// Session 4 — capture the EVIDENCE the gate needs to judge whether a
|
|
827
|
+
// verification actually exercised the changed artifact: the mutated
|
|
828
|
+
// paths, and each successful verification call's args + result.
|
|
829
|
+
if (ranOk) {
|
|
830
|
+
if (call.name === 'edit_file' || call.name === 'write_file') {
|
|
831
|
+
const a = call.arguments;
|
|
832
|
+
const p = a?.path ?? a?.file_path ?? a?.file;
|
|
833
|
+
if (typeof p === 'string' && p)
|
|
834
|
+
progress.mutatedPaths.push(p);
|
|
835
|
+
}
|
|
836
|
+
else if (isVerificationTool(call.name)) {
|
|
837
|
+
progress.verificationEvidence.push({ tool: call.name, args: call.arguments, result: rawResult });
|
|
838
|
+
}
|
|
839
|
+
}
|
|
737
840
|
let resultText = executed[i];
|
|
738
841
|
// P3c — on error/denial, append the deterministic fallback hint for
|
|
739
842
|
// this tool (advisory — the model still decides; never on success).
|
|
@@ -808,6 +911,22 @@ async function runToolLoopInner(opts, progress) {
|
|
|
808
911
|
const hasRealAnswer = lastContent.trim() !== '' && !isBareAcknowledgment(lastContent);
|
|
809
912
|
const thisStepIsReal = response.content.trim() !== '' && !isBareAcknowledgment(response.content);
|
|
810
913
|
if (endedAfterConcluding && (thisStepIsReal || hasRealAnswer)) {
|
|
914
|
+
// G1 — VERIFICATION GATE (concluding path). Most edit turns end here (the
|
|
915
|
+
// model calls suggest_followups after editing), so the gate must fire on
|
|
916
|
+
// this exit too or it would be inert in practice. Bounded exactly once,
|
|
917
|
+
// same as the no-tools exit above.
|
|
918
|
+
if (verificationNudges < 1 &&
|
|
919
|
+
opts.requireVerification !== false &&
|
|
920
|
+
schemas.length > 0 &&
|
|
921
|
+
assessEditActivity(progress.successfulToolCalls, progress.verificationEvidence, progress.mutatedPaths)
|
|
922
|
+
.needsVerification) {
|
|
923
|
+
verificationNudges += 1;
|
|
924
|
+
stepLimit += 1;
|
|
925
|
+
deps.onEvent?.(' 🔎 Files were changed but nothing verified them — asking the model to run a check.');
|
|
926
|
+
thread.push({ role: 'assistant', content: response.content });
|
|
927
|
+
thread.push({ role: 'user', content: VERIFICATION_NUDGE });
|
|
928
|
+
continue;
|
|
929
|
+
}
|
|
811
930
|
const content = response.content.length >= lastContent.length ? response.content : lastContent;
|
|
812
931
|
return {
|
|
813
932
|
content,
|
|
@@ -963,7 +1082,12 @@ export function detectUnfulfilledIntentPromise(content) {
|
|
|
963
1082
|
* distinguish "generated a reply" from "actually performed the action".
|
|
964
1083
|
*/
|
|
965
1084
|
export async function runToolLoop(opts) {
|
|
966
|
-
const progress = {
|
|
1085
|
+
const progress = {
|
|
1086
|
+
successfulToolCalls: [],
|
|
1087
|
+
deliveryConfirmed: false,
|
|
1088
|
+
mutatedPaths: [],
|
|
1089
|
+
verificationEvidence: [],
|
|
1090
|
+
};
|
|
967
1091
|
const result = await runToolLoopInner(opts, progress);
|
|
968
1092
|
if (!result.cancelled && !result.generationFailed) {
|
|
969
1093
|
result.successfulToolCalls = [...progress.successfulToolCalls];
|
|
@@ -981,9 +1105,39 @@ export async function runToolLoop(opts) {
|
|
|
981
1105
|
if (result.successfulToolCalls.length === 0 && detectUnfulfilledIntentPromise(result.content)) {
|
|
982
1106
|
result.unfulfilledPromise = true;
|
|
983
1107
|
}
|
|
1108
|
+
// G1 + G2 — EDIT honesty. Classify what the turn actually did: a workspace
|
|
1109
|
+
// mutation with no observing run is an UNVERIFIED edit, and any completed
|
|
1110
|
+
// code-change assertion in the answer is then an unverified claim. This
|
|
1111
|
+
// runs whether or not the nudge was enabled, so the flag is never a
|
|
1112
|
+
// function of configuration.
|
|
1113
|
+
const activity = assessEditActivity(result.successfulToolCalls, progress.verificationEvidence, progress.mutatedPaths);
|
|
1114
|
+
if (activity.needsVerification) {
|
|
1115
|
+
result.unverifiedEdit = true;
|
|
1116
|
+
}
|
|
1117
|
+
if (detectUnverifiedEditClaim(result.content, activity.mutations, activity.verifications)) {
|
|
1118
|
+
result.unverifiedEditClaim = true;
|
|
1119
|
+
}
|
|
984
1120
|
}
|
|
985
1121
|
return result;
|
|
986
1122
|
}
|
|
1123
|
+
/**
|
|
1124
|
+
* The text of the LAST user message in the thread — what the user is actually
|
|
1125
|
+
* asking for right now, as opposed to the history above it. Used to derive
|
|
1126
|
+
* write authorization for the turn (see `writesAuthorized`).
|
|
1127
|
+
*
|
|
1128
|
+
* The most recent user message wins because a continuation ("continue", "yes")
|
|
1129
|
+
* carries its own authorization, and an earlier, longer ask that has already
|
|
1130
|
+
* been partially served must not keep re-authorizing new work.
|
|
1131
|
+
*/
|
|
1132
|
+
function lastUserText(messages) {
|
|
1133
|
+
for (let i = messages.length - 1; i >= 0; i -= 1) {
|
|
1134
|
+
const message = messages[i];
|
|
1135
|
+
if (message.role !== 'user')
|
|
1136
|
+
continue;
|
|
1137
|
+
return typeof message.content === 'string' ? message.content : '';
|
|
1138
|
+
}
|
|
1139
|
+
return '';
|
|
1140
|
+
}
|
|
987
1141
|
/** Compact argument preview for the event line. */
|
|
988
1142
|
function summarizeArgs(args) {
|
|
989
1143
|
const first = Object.entries(args).slice(0, 1)[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/tools/tool-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/tools/tool-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,12 @@ export interface ChatEngine {
|
|
|
39
39
|
projectContext?: string;
|
|
40
40
|
/** P4 — attached project dir; the engine recalls its sessions + facts. */
|
|
41
41
|
projectPath?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Session 3 — channel/format POLICY merged into the STABLE (system)
|
|
44
|
+
* layer instead of being re-injected into every user turn. The gateway
|
|
45
|
+
* passes its messaging-app rules here.
|
|
46
|
+
*/
|
|
47
|
+
systemPolicy?: string;
|
|
42
48
|
/**
|
|
43
49
|
* P5 — the message is a picked FOLLOWUP (it matches the followups this
|
|
44
50
|
* session was last offered): the engine marks it as a continuation of the
|
|
@@ -370,11 +376,39 @@ export declare class ChatConsole {
|
|
|
370
376
|
private persist;
|
|
371
377
|
/** True while a message is being answered in this session. */
|
|
372
378
|
isBusy(sessionId: string): boolean;
|
|
379
|
+
/**
|
|
380
|
+
* Append one exchange to a session WITHOUT running a turn.
|
|
381
|
+
*
|
|
382
|
+
* The deferred retry loop needs this: an ask can be re-run minutes or hours
|
|
383
|
+
* later, and both the result and the user's "yes" must land in the SAME
|
|
384
|
+
* thread they belong to — otherwise a reload shows a conversation that is
|
|
385
|
+
* missing an answer the agent promised.
|
|
386
|
+
*
|
|
387
|
+
* `user` is null when the ask is already in the history (a retry re-runs a
|
|
388
|
+
* message that was recorded the first time, and duplicating it would show the
|
|
389
|
+
* same request twice in the thread).
|
|
390
|
+
*/
|
|
391
|
+
appendTurns(sessionId: string, user: string | null, assistant: string): void;
|
|
392
|
+
/**
|
|
393
|
+
* Rewrite the session's last assistant turn, or append one when the turn
|
|
394
|
+
* stored none.
|
|
395
|
+
*
|
|
396
|
+
* WHY: a failed turn's bubble is composed by the ROUTE (it appends the model
|
|
397
|
+
* breadth report and the "reply *yes*" offer to whatever the engine returned),
|
|
398
|
+
* so the text the reader sees is not the text the console stored. Without
|
|
399
|
+
* this, a reload showed a failure with no explanation — or no bubble at all —
|
|
400
|
+
* for a retry that IS queued and running. The gateway does the same thing with
|
|
401
|
+
* its `record()`; this is the dashboard's half.
|
|
402
|
+
*/
|
|
403
|
+
amendLastAssistantTurn(sessionId: string, content: string): void;
|
|
373
404
|
/**
|
|
374
405
|
* Run one turn for a session. Threads the stored history as context; the
|
|
375
406
|
* reply (and followup chips) come back as data. One in-flight turn per
|
|
376
407
|
* session; the ask_user tool is declined (returns no selection) so the turn
|
|
377
408
|
* never blocks on a TTY prompt inside the server.
|
|
409
|
+
*
|
|
410
|
+
* `recordTurn: false` runs the turn WITHOUT writing the session (see the
|
|
411
|
+
* deferred-retry broker) — the caller owns the thread in that case.
|
|
378
412
|
*/
|
|
379
413
|
answer(sessionId: string, message: string, opts?: {
|
|
380
414
|
provider?: string;
|
|
@@ -382,6 +416,7 @@ export declare class ChatConsole {
|
|
|
382
416
|
projectContext?: string;
|
|
383
417
|
projectPath?: string;
|
|
384
418
|
attachments?: ChatAttachment[];
|
|
419
|
+
recordTurn?: boolean;
|
|
385
420
|
}): Promise<ChatAnswerResult>;
|
|
386
421
|
/**
|
|
387
422
|
* Phase 4 — invoke the turn-completion hook (the DAG store's endLoopTurn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-console.d.ts","sourceRoot":"","sources":["../../src/web-dashboard/chat-console.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat-console.d.ts","sourceRoot":"","sources":["../../src/web-dashboard/chat-console.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,11 +176,81 @@ export class ChatConsole {
|
|
|
176
176
|
isBusy(sessionId) {
|
|
177
177
|
return this.busy.has(sessionId);
|
|
178
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Append one exchange to a session WITHOUT running a turn.
|
|
181
|
+
*
|
|
182
|
+
* The deferred retry loop needs this: an ask can be re-run minutes or hours
|
|
183
|
+
* later, and both the result and the user's "yes" must land in the SAME
|
|
184
|
+
* thread they belong to — otherwise a reload shows a conversation that is
|
|
185
|
+
* missing an answer the agent promised.
|
|
186
|
+
*
|
|
187
|
+
* `user` is null when the ask is already in the history (a retry re-runs a
|
|
188
|
+
* message that was recorded the first time, and duplicating it would show the
|
|
189
|
+
* same request twice in the thread).
|
|
190
|
+
*/
|
|
191
|
+
appendTurns(sessionId, user, assistant) {
|
|
192
|
+
try {
|
|
193
|
+
const existing = this.sessions.get(sessionId);
|
|
194
|
+
const now = Date.now();
|
|
195
|
+
const turns = [...(existing?.turns ?? [])];
|
|
196
|
+
if (user && user.trim())
|
|
197
|
+
turns.push({ role: 'user', content: user });
|
|
198
|
+
if (assistant && assistant.trim())
|
|
199
|
+
turns.push({ role: 'assistant', content: assistant });
|
|
200
|
+
const maxTurns = this.opts.maxTurns ?? DEFAULT_MAX_TURNS;
|
|
201
|
+
const kept = turns.length > maxTurns ? turns.slice(turns.length - maxTurns) : turns;
|
|
202
|
+
const firstUser = kept.find((t) => t.role === 'user')?.content ?? existing?.title ?? '';
|
|
203
|
+
this.sessions.set(sessionId, {
|
|
204
|
+
turns: kept,
|
|
205
|
+
title: existing?.title || firstUser.slice(0, 80),
|
|
206
|
+
createdAt: existing?.createdAt ?? now,
|
|
207
|
+
updatedAt: now,
|
|
208
|
+
...(existing?.projectPath ? { projectPath: existing.projectPath } : {}),
|
|
209
|
+
...(existing?.followups && existing.followups.length > 0 ? { followups: existing.followups } : {}),
|
|
210
|
+
});
|
|
211
|
+
this.persist();
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
/* best-effort — history is a convenience, never a blocker */
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Rewrite the session's last assistant turn, or append one when the turn
|
|
219
|
+
* stored none.
|
|
220
|
+
*
|
|
221
|
+
* WHY: a failed turn's bubble is composed by the ROUTE (it appends the model
|
|
222
|
+
* breadth report and the "reply *yes*" offer to whatever the engine returned),
|
|
223
|
+
* so the text the reader sees is not the text the console stored. Without
|
|
224
|
+
* this, a reload showed a failure with no explanation — or no bubble at all —
|
|
225
|
+
* for a retry that IS queued and running. The gateway does the same thing with
|
|
226
|
+
* its `record()`; this is the dashboard's half.
|
|
227
|
+
*/
|
|
228
|
+
amendLastAssistantTurn(sessionId, content) {
|
|
229
|
+
try {
|
|
230
|
+
const existing = this.sessions.get(sessionId);
|
|
231
|
+
if (!existing)
|
|
232
|
+
return;
|
|
233
|
+
const turns = [...existing.turns];
|
|
234
|
+
const last = turns[turns.length - 1];
|
|
235
|
+
if (last && last.role === 'assistant')
|
|
236
|
+
turns[turns.length - 1] = { role: 'assistant', content };
|
|
237
|
+
else if (content.trim())
|
|
238
|
+
turns.push({ role: 'assistant', content });
|
|
239
|
+
this.sessions.set(sessionId, { ...existing, turns, updatedAt: Date.now() });
|
|
240
|
+
this.persist();
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
/* best-effort — history is a convenience, never a blocker */
|
|
244
|
+
}
|
|
245
|
+
}
|
|
179
246
|
/**
|
|
180
247
|
* Run one turn for a session. Threads the stored history as context; the
|
|
181
248
|
* reply (and followup chips) come back as data. One in-flight turn per
|
|
182
249
|
* session; the ask_user tool is declined (returns no selection) so the turn
|
|
183
250
|
* never blocks on a TTY prompt inside the server.
|
|
251
|
+
*
|
|
252
|
+
* `recordTurn: false` runs the turn WITHOUT writing the session (see the
|
|
253
|
+
* deferred-retry broker) — the caller owns the thread in that case.
|
|
184
254
|
*/
|
|
185
255
|
async answer(sessionId, message, opts = {}) {
|
|
186
256
|
const clean = (message || '').trim();
|
|
@@ -200,19 +270,26 @@ export class ChatConsole {
|
|
|
200
270
|
}
|
|
201
271
|
const existing = this.sessions.get(sessionId);
|
|
202
272
|
const history = existing?.turns ?? [];
|
|
273
|
+
// A DEFERRED RETRY runs with history writing off (`recordTurn: false`): the
|
|
274
|
+
// ask was already recorded by the attempt that failed, and the retry broker
|
|
275
|
+
// writes the outcome itself (with the header that explains the unprompted
|
|
276
|
+
// bubble). Writing here too would duplicate the ask or the answer.
|
|
277
|
+
const recordTurn = opts.recordTurn !== false;
|
|
203
278
|
// P5 — does this message match a followup the session was last offered?
|
|
204
279
|
// (Chips send the raw prompt, so the server is the only place that can
|
|
205
280
|
// know a message is a followup rather than a fresh request.)
|
|
206
281
|
const continuation = isSuggestedFollowup(clean, existing?.followups);
|
|
207
282
|
const now = Date.now();
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
283
|
+
if (recordTurn) {
|
|
284
|
+
this.sessions.set(sessionId, {
|
|
285
|
+
turns: history,
|
|
286
|
+
title: existing?.title ?? '',
|
|
287
|
+
createdAt: existing?.createdAt ?? now,
|
|
288
|
+
updatedAt: existing?.updatedAt ?? now,
|
|
289
|
+
...(opts.projectPath ? { projectPath: opts.projectPath } : (existing?.projectPath ? { projectPath: existing.projectPath } : {})),
|
|
290
|
+
...(existing?.followups && existing.followups.length > 0 ? { followups: existing.followups } : {}),
|
|
291
|
+
});
|
|
292
|
+
}
|
|
216
293
|
this.busy.add(sessionId);
|
|
217
294
|
// P4 — one AbortController per turn: abort(sessionId) fires it, the
|
|
218
295
|
// engine stops at the next loop boundary (and aborts the in-flight
|
|
@@ -363,16 +440,18 @@ export class ChatConsole {
|
|
|
363
440
|
// P5 — remember the followups this answer offered so the NEXT message can
|
|
364
441
|
// be recognised as a continuation (and so the chips survive a reload).
|
|
365
442
|
const nextFollowups = normalizeFollowups(answer.followups);
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
443
|
+
if (recordTurn) {
|
|
444
|
+
this.sessions.set(sessionId, {
|
|
445
|
+
turns: kept,
|
|
446
|
+
title: existing?.title || firstUser.slice(0, 80),
|
|
447
|
+
createdAt: existing?.createdAt ?? now,
|
|
448
|
+
updatedAt: Date.now(),
|
|
449
|
+
// P4b — persist the project path so it can be restored on resume.
|
|
450
|
+
...(opts.projectPath ? { projectPath: opts.projectPath } : (existing?.projectPath ? { projectPath: existing.projectPath } : {})),
|
|
451
|
+
...(nextFollowups.length > 0 ? { followups: nextFollowups } : {}),
|
|
452
|
+
});
|
|
453
|
+
this.persist();
|
|
454
|
+
}
|
|
376
455
|
this.emit(sessionId, { kind: 'status', status: 'done' });
|
|
377
456
|
this.notifyTurnCompleted({
|
|
378
457
|
sessionId,
|