@pentoshi/clai 3.8.51 → 3.9.1
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/agent/compaction-summary.js +1 -1
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/context-manager.js +26 -3
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/plan-tool.js +134 -42
- package/dist/agent/plan-tool.js.map +1 -1
- package/dist/agent/responder-context.d.ts +10 -0
- package/dist/agent/responder-context.js +38 -2
- package/dist/agent/responder-context.js.map +1 -1
- package/dist/agent/runner.d.ts +3 -0
- package/dist/agent/runner.js +119 -15
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-policy.js +2 -0
- package/dist/agent/session-policy.js.map +1 -1
- package/dist/agent/task-evidence.js +9 -2
- package/dist/agent/task-evidence.js.map +1 -1
- package/dist/agent/task-plan.d.ts +4 -0
- package/dist/agent/task-plan.js +8 -0
- package/dist/agent/task-plan.js.map +1 -1
- package/dist/agent/task-sync.d.ts +0 -4
- package/dist/agent/task-sync.js +6 -11
- package/dist/agent/task-sync.js.map +1 -1
- package/dist/agent/tool-call-parser.js +10 -1
- package/dist/agent/tool-call-parser.js.map +1 -1
- package/dist/app/adapters/agent-event-adapter.d.ts +2 -1
- package/dist/app/adapters/agent-event-adapter.js +7 -3
- package/dist/app/adapters/agent-event-adapter.js.map +1 -1
- package/dist/app/adapters/current-jobs-adapter.js +2 -0
- package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
- package/dist/app/adapters/quiet-meta-tools.d.ts +4 -3
- package/dist/app/adapters/quiet-meta-tools.js +9 -5
- package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
- package/dist/app/controllers/job-controller.d.ts +1 -0
- package/dist/app/controllers/job-controller.js +3 -0
- package/dist/app/controllers/job-controller.js.map +1 -1
- package/dist/app/controllers/responder-settlement.d.ts +8 -0
- package/dist/app/controllers/responder-settlement.js +20 -0
- package/dist/app/controllers/responder-settlement.js.map +1 -0
- package/dist/app/controllers/session-controller.d.ts +2 -13
- package/dist/app/controllers/session-controller.js +39 -25
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-prompt-queue.d.ts +1 -1
- package/dist/app/controllers/session-prompt-queue.js +1 -2
- package/dist/app/controllers/session-prompt-queue.js.map +1 -1
- package/dist/app/controllers/session-responder.d.ts +1 -1
- package/dist/app/controllers/session-responder.js +30 -6
- package/dist/app/controllers/session-responder.js.map +1 -1
- package/dist/app/controllers/turn-controller.d.ts +3 -1
- package/dist/app/controllers/turn-controller.js +6 -2
- package/dist/app/controllers/turn-controller.js.map +1 -1
- package/dist/app/events/app-event.d.ts +3 -1
- package/dist/app/ports/jobs-port.d.ts +2 -0
- package/dist/llm/token-usage.js +6 -1
- package/dist/llm/token-usage.js.map +1 -1
- package/dist/prompts/embedded.js +1 -1
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +6 -4
- package/dist/tools/definitions.js +37 -1
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/jobs.d.ts +4 -0
- package/dist/tools/jobs.js +101 -48
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/registry.js +2 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tui-v2/bootstrap/composition-root.d.ts +2 -1
- package/dist/tui-v2/bootstrap/composition-root.js +6 -3
- package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.js +10 -2
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/components/picker/picker.js +20 -2
- package/dist/tui-v2/components/picker/picker.js.map +1 -1
- package/dist/tui-v2/components/status/status-line.js +2 -7
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.d.ts +16 -13
- package/dist/tui-v2/components/transcript/transcript-row.js +18 -9
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-view.js +7 -12
- package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
- package/dist/tui-v2/state/transcript-reducer.js +4 -2
- package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
- package/dist/tui-v2/state/transcript-store.d.ts +8 -1
- package/dist/tui-v2/state/transcript-store.js +44 -3
- package/dist/tui-v2/state/transcript-store.js.map +1 -1
- package/dist/tui-v2/state/transcript-struct.d.ts +0 -10
- package/dist/tui-v2/state/transcript-struct.js +4 -93
- package/dist/tui-v2/state/transcript-struct.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/dist/version.generated.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-tool.js","sourceRoot":"","sources":["../../src/agent/plan-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-tool.js","sourceRoot":"","sources":["../../src/agent/plan-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { BackgroundJob, ResponderNotification } from "../tools/jobs.js";
|
|
2
2
|
export declare const RESPONDER_CONTEXT_PREFIX = "RESPONDER / DURABLE JOB INBOX";
|
|
3
|
+
export declare const RESPONDER_RESULT_LEDGER_PREFIX = "RESPONDER RESULT LEDGER (authoritative consumed results)";
|
|
3
4
|
export declare function responderContextMessage(input: {
|
|
4
5
|
running: readonly BackgroundJob[];
|
|
5
6
|
pending: readonly ResponderNotification[];
|
|
6
7
|
}): string | undefined;
|
|
8
|
+
export declare function isResponderResultLedgerMessage(message: {
|
|
9
|
+
role: string;
|
|
10
|
+
content: string;
|
|
11
|
+
}): boolean;
|
|
12
|
+
export declare function responderResultLedgerEntry(notification: ResponderNotification): string;
|
|
13
|
+
export declare function upsertResponderResultLedger(messages: Array<{
|
|
14
|
+
role: "system" | "user" | "assistant" | "tool";
|
|
15
|
+
content: string;
|
|
16
|
+
}>, notification: ResponderNotification): void;
|
|
7
17
|
export declare function upsertResponderContextMessage(messages: Array<{
|
|
8
18
|
role: string;
|
|
9
19
|
content: string;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export const RESPONDER_CONTEXT_PREFIX = "RESPONDER / DURABLE JOB INBOX";
|
|
2
|
+
export const RESPONDER_RESULT_LEDGER_PREFIX = "RESPONDER RESULT LEDGER (authoritative consumed results)";
|
|
3
|
+
const MAX_LEDGER_ENTRIES = 32;
|
|
2
4
|
function oneLine(value, max = 120) {
|
|
3
5
|
const clean = value.replace(/\s+/g, " ").trim();
|
|
4
6
|
return clean.length <= max ? clean : `${clean.slice(0, max - 1)}…`;
|
|
@@ -21,7 +23,7 @@ export function responderContextMessage(input) {
|
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
if (input.pending.length > 0) {
|
|
24
|
-
lines.push("
|
|
26
|
+
lines.push("Unread completions (durable until task.read and persisted analysis):");
|
|
25
27
|
for (const notification of input.pending.slice(0, 12)) {
|
|
26
28
|
lines.push(`- notification=${notification.id} job=${notification.jobId} status=${notification.status}` +
|
|
27
29
|
` exit=${notification.exitCode ?? "?"}` +
|
|
@@ -33,9 +35,43 @@ export function responderContextMessage(input) {
|
|
|
33
35
|
` stderr=${notification.stderrArtifact.path}`);
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
|
-
lines.push("FIRE AND CONTINUE: after launching, move to the next task immediately. Do NOT sleep, shell.jobs-poll, repeat shell.tail, or fs.read the job log to watch progress — this inbox delivers each completion to you automatically
|
|
38
|
+
lines.push("FIRE AND CONTINUE: after launching, move to the next task immediately. Do NOT sleep, shell.jobs-poll, repeat shell.tail, or fs.read the job log to watch progress — this inbox delivers each completion to you automatically at the next safe model boundary.", "PARENT-DONE RULE: a parent task is done when its own non-Responder work is done; Responder-owned child subtasks advance from the real process lifecycle — never mark, block on, or wait for them.", "TASK SETTLEMENT: Responder-owned tasks reconcile automatically from the latest authoritative job result after analysis. Do not call task.update for that child.", "MANDATORY READ RECEIPT: after you have seen and analyzed a delivered completion and are satisfied that responder subtask is finished, call task.read with its exact notification id. Do not call task.read before analysis is complete. You may not give a final response while a delivered notification remains unread.", "ON COMPLETION (delivered here): extract ONLY the key result lines from the artifact with a filter — grep the matched status codes / hits / findings, or a bounded shell.tail byte-window — NEVER a full fs.read of a noisy scanner log. Analyze just those lines, task.add evidence-driven follow-ups, then call task.read when satisfied. Never launch a duplicate while a job is live.", "FINAL REPORT DEFERRAL: if the only remaining foreground task is report creation and Responder work is still running or awaiting analysis, leave the report open and STOP. Do not invent busywork or repeat completed work; the next completion resumes analysis automatically. If a completion reveals new surface, add and execute that work before returning to the report.", "FRAME COMMANDS TO PRESERVE THE KEY FIELDS: choose flags/output so the completed result still carries exactly what you need and little else — e.g. ffuf with -json (or a matcher on real codes, not a blanket -mc all), nmap -oX/-oG, grep -o for just the hits. Never run a command that discards the required signal.", "ONLY when every other non-report task is finished and nothing else remains may you call shell.jobs ONCE. If jobs are still live, STOP and report what you did plus which jobs are running — do not enter a sleep/poll/tail loop.");
|
|
37
39
|
return lines.join("\n");
|
|
38
40
|
}
|
|
41
|
+
export function isResponderResultLedgerMessage(message) {
|
|
42
|
+
return (message.role === "system" &&
|
|
43
|
+
message.content.startsWith(RESPONDER_RESULT_LEDGER_PREFIX));
|
|
44
|
+
}
|
|
45
|
+
export function responderResultLedgerEntry(notification) {
|
|
46
|
+
const analyzedAt = notification.analyzedAt ?? notification.readAt ?? new Date().toISOString();
|
|
47
|
+
return (`- notification=${notification.id} job=${notification.jobId}` +
|
|
48
|
+
` status=${notification.status} consumed=true readAt=${notification.readAt ?? analyzedAt} analyzedAt=${analyzedAt}` +
|
|
49
|
+
`${notification.taskId ? ` task=${notification.taskId}` : ""}` +
|
|
50
|
+
`${notification.parentTaskId ? ` parent=${notification.parentTaskId}` : ""}` +
|
|
51
|
+
` artifact=${receiptPath(notification)}`);
|
|
52
|
+
}
|
|
53
|
+
export function upsertResponderResultLedger(messages, notification) {
|
|
54
|
+
const entries = [];
|
|
55
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
56
|
+
const message = messages[index];
|
|
57
|
+
if (!isResponderResultLedgerMessage(message))
|
|
58
|
+
continue;
|
|
59
|
+
entries.unshift(...message.content
|
|
60
|
+
.split("\n")
|
|
61
|
+
.slice(1)
|
|
62
|
+
.filter((line) => line.startsWith("- notification=")));
|
|
63
|
+
messages.splice(index, 1);
|
|
64
|
+
}
|
|
65
|
+
const marker = `notification=${notification.id} `;
|
|
66
|
+
const next = entries.filter((line) => !line.includes(marker));
|
|
67
|
+
next.push(responderResultLedgerEntry(notification));
|
|
68
|
+
messages.push({
|
|
69
|
+
role: "system",
|
|
70
|
+
content: `${RESPONDER_RESULT_LEDGER_PREFIX}\n${next
|
|
71
|
+
.slice(-MAX_LEDGER_ENTRIES)
|
|
72
|
+
.join("\n")}`,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
39
75
|
export function upsertResponderContextMessage(messages, content) {
|
|
40
76
|
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
41
77
|
const message = messages[index];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder-context.js","sourceRoot":"","sources":["../../src/agent/responder-context.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"responder-context.js","sourceRoot":"","sources":["../../src/agent/responder-context.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/runner.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ChatMessage, ChatImage, Mode, ProviderId, ToolCall, ToolResult } from "../types.js";
|
|
2
|
+
import { type BackgroundJob, type ResponderNotification } from "../tools/jobs.js";
|
|
3
|
+
import { type SessionPlan } from "../store/plan.js";
|
|
2
4
|
import type { AgentEvent } from "./events.js";
|
|
3
5
|
import { type SessionPolicy } from "./session-policy.js";
|
|
4
6
|
import { type ConfirmPort } from "./confirm-port.js";
|
|
@@ -6,6 +8,7 @@ export * from "./tool-call-parser.js";
|
|
|
6
8
|
export { createSessionPolicy, isPreApprovalAllowedTool, isPlanApprovedByStatus, planHasOpenWork, shouldEnableImageOcr, type SessionPolicy, } from "./session-policy.js";
|
|
7
9
|
export { type ConfirmPort } from "./confirm-port.js";
|
|
8
10
|
export declare function styleToolChatter(call: ToolCall, text: string): string;
|
|
11
|
+
export declare function shouldYieldForResponderBeforeReport(plan: SessionPlan | undefined, runningJobs: readonly BackgroundJob[], notifications: readonly ResponderNotification[], currentNotificationId?: string | undefined): boolean;
|
|
9
12
|
export interface AgentRunOptions {
|
|
10
13
|
provider?: ProviderId | undefined;
|
|
11
14
|
model?: string | undefined;
|
package/dist/agent/runner.js
CHANGED
|
@@ -5,8 +5,8 @@ import { resolveToolDialect } from "../llm/capabilities.js";
|
|
|
5
5
|
import { syntheticToolCallId, isTextOnlyModel, fromWireName, } from "../llm/tool-protocol.js";
|
|
6
6
|
import { sanitizeAssistantText } from "../ui/ansi-box.js";
|
|
7
7
|
import { randomUUID } from "node:crypto";
|
|
8
|
-
import { jobManager } from "../tools/jobs.js";
|
|
9
|
-
import { responderContextMessage, upsertResponderContextMessage, } from "./responder-context.js";
|
|
8
|
+
import { jobManager, } from "../tools/jobs.js";
|
|
9
|
+
import { responderContextMessage, upsertResponderContextMessage, upsertResponderResultLedger, } from "./responder-context.js";
|
|
10
10
|
import { agentModeDirective, planModeDirective, renderAgentSystemPrompt, renderCompactAgentSystemPrompt, scratchDirFor, toolNudge, } from "../prompts/index.js";
|
|
11
11
|
import { getConfig } from "../store/config.js";
|
|
12
12
|
import { beginSessionWorkspace, getActiveSessionWorkspace, } from "../store/session-workspace.js";
|
|
@@ -63,7 +63,7 @@ import { saveToolOutput, summarizeOutput, formatToolContext, } from "./tool-outp
|
|
|
63
63
|
import { codingSessionFromContext, isProtocolPlaceholderOutput, progressPauseMode, } from "./progress-pause-policy.js";
|
|
64
64
|
import { renderPlanForTerminal, planContextMessage, handlePlanTool, resolvePlanTaskId, } from "./plan-tool.js";
|
|
65
65
|
import { readTaskUpdateArgs, distinctAdvancingTaskIds, isSimultaneousTaskAdvance, batchUpdateSignature, buildMultiUpdateReminder, multiUpdateToast, } from "./task-sync.js";
|
|
66
|
-
import { absorbLooseWorkIntoLedger, applyDestinationCwd, canMarkTaskDone, hasLocalRuntimeProof, hasRemoteWorkProof, isDevServerCall, isEvidenceWorkTool, isFeatureImplementationCall, isPackageInstallCommand, isPlanPreflightTool, isPortListeningOutput, isReadOnlyReconTool, isRemoteActiveTestCall, isRemoteObservationTask, isRemoteReconToolCall, isRuntimeObservationTask, isScaffoldCreateCommand, isServerReadyOutput, ledgerFromTaskEvidence, pickPendingTaskForToolCall, recordTaskWorkSuccess, resolveUserDestinationHint, taskEvidenceFromLedger, TOOL_ABORT_GRACE_MS, toolHardBudgetMs, toolStallBudgetMs, userAskedForFeatureApp, } from "./task-evidence.js";
|
|
66
|
+
import { absorbLooseWorkIntoLedger, applyDestinationCwd, canMarkTaskDone, classifyTaskTitle, hasLocalRuntimeProof, hasRemoteWorkProof, isDevServerCall, isEvidenceWorkTool, isFeatureImplementationCall, isPackageInstallCommand, isPlanPreflightTool, isPortListeningOutput, isReadOnlyReconTool, isRemoteActiveTestCall, isRemoteObservationTask, isRemoteReconToolCall, isRuntimeObservationTask, isScaffoldCreateCommand, isServerReadyOutput, ledgerFromTaskEvidence, pickPendingTaskForToolCall, recordTaskWorkSuccess, resolveUserDestinationHint, taskEvidenceFromLedger, TOOL_ABORT_GRACE_MS, toolHardBudgetMs, toolStallBudgetMs, userAskedForFeatureApp, } from "./task-evidence.js";
|
|
67
67
|
import { buildSessionStateBlock, inferNextHint, upsertSessionStateMessage, } from "./session-state.js";
|
|
68
68
|
import { buildContinueOrientation } from "./continue-orient.js";
|
|
69
69
|
import { detectPackageManager } from "./workspace-orient.js";
|
|
@@ -86,6 +86,22 @@ export { createSessionPolicy, isPreApprovalAllowedTool, isPlanApprovedByStatus,
|
|
|
86
86
|
export function styleToolChatter(call, text) {
|
|
87
87
|
return shouldDimToolChatter(call) ? chalk.dim(text) : text;
|
|
88
88
|
}
|
|
89
|
+
export function shouldYieldForResponderBeforeReport(plan, runningJobs, notifications, currentNotificationId) {
|
|
90
|
+
if (!plan)
|
|
91
|
+
return false;
|
|
92
|
+
const unfinished = plan.tasks.filter((task) => !task.responderOwned &&
|
|
93
|
+
(task.state === "pending" || task.state === "in_progress"));
|
|
94
|
+
if (unfinished.length === 0 ||
|
|
95
|
+
!unfinished.every((task) => classifyTaskTitle(task.title, { planKind: plan.kind }) === "report")) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
return (runningJobs.some((job) => job.responder) ||
|
|
99
|
+
notifications.some((notification) => (!currentNotificationId || notification.id !== currentNotificationId) &&
|
|
100
|
+
notification.responder &&
|
|
101
|
+
!notification.archivedAt &&
|
|
102
|
+
!notification.readAt &&
|
|
103
|
+
!notification.analyzedAt));
|
|
104
|
+
}
|
|
89
105
|
export async function runAgentTurn(prompt, options = {}) {
|
|
90
106
|
const agentMode = options.mode === "plan" || options.mode === "agent" || options.mode === "ask"
|
|
91
107
|
? options.mode
|
|
@@ -598,18 +614,45 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
598
614
|
];
|
|
599
615
|
liveMessages = messages;
|
|
600
616
|
const responderWakeTurn = prompt.startsWith("Responder result arrived");
|
|
617
|
+
const responderWakeNotificationId = responderWakeTurn
|
|
618
|
+
? /^notification=(.+)$/m.exec(prompt)?.[1]?.trim()
|
|
619
|
+
: undefined;
|
|
620
|
+
const unreadResponderNotificationIds = new Set();
|
|
621
|
+
if (responderWakeNotificationId) {
|
|
622
|
+
unreadResponderNotificationIds.add(responderWakeNotificationId);
|
|
623
|
+
}
|
|
601
624
|
const refreshResponderInbox = () => {
|
|
602
|
-
const
|
|
603
|
-
|
|
625
|
+
const running = jobManager
|
|
626
|
+
.getRunningJobs(session.sessionId)
|
|
627
|
+
.filter((job) => job.responder);
|
|
628
|
+
if (responderWakeTurn) {
|
|
629
|
+
const pending = jobManager
|
|
604
630
|
.getPendingNotifications(session.sessionId)
|
|
605
|
-
.filter((notification) => notification.responder &&
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
.
|
|
610
|
-
.
|
|
611
|
-
pending
|
|
612
|
-
|
|
631
|
+
.filter((notification) => notification.responder &&
|
|
632
|
+
unreadResponderNotificationIds.has(notification.id) &&
|
|
633
|
+
!notification.readAt &&
|
|
634
|
+
!notification.analyzedAt &&
|
|
635
|
+
!notification.archivedAt)
|
|
636
|
+
.slice(0, 1);
|
|
637
|
+
upsertResponderContextMessage(messages, responderContextMessage({ running, pending }));
|
|
638
|
+
return undefined;
|
|
639
|
+
}
|
|
640
|
+
const leaseId = jobManager.getResponderLeaseId(session.sessionId);
|
|
641
|
+
const delivery = leaseId
|
|
642
|
+
? jobManager.claimNextResponderNotification(session.sessionId, leaseId)
|
|
643
|
+
: undefined;
|
|
644
|
+
if (delivery)
|
|
645
|
+
unreadResponderNotificationIds.add(delivery.id);
|
|
646
|
+
const pending = jobManager
|
|
647
|
+
.getPendingNotifications(session.sessionId)
|
|
648
|
+
.filter((notification) => notification.responder &&
|
|
649
|
+
unreadResponderNotificationIds.has(notification.id) &&
|
|
650
|
+
!notification.readAt &&
|
|
651
|
+
!notification.analyzedAt &&
|
|
652
|
+
!notification.archivedAt)
|
|
653
|
+
.slice(0, 12);
|
|
654
|
+
upsertResponderContextMessage(messages, responderContextMessage({ running, pending }));
|
|
655
|
+
return delivery;
|
|
613
656
|
};
|
|
614
657
|
/** Assigned after session flags exist — see below. */
|
|
615
658
|
let refreshSessionState = () => undefined;
|
|
@@ -1006,7 +1049,52 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
1006
1049
|
}
|
|
1007
1050
|
if (call.name === "plan.create" ||
|
|
1008
1051
|
call.name === "task.add" ||
|
|
1052
|
+
call.name === "task.move" ||
|
|
1053
|
+
call.name === "task.read" ||
|
|
1009
1054
|
call.name === "task.update") {
|
|
1055
|
+
if (call.name === "task.read") {
|
|
1056
|
+
const notificationId = typeof call.args.notificationId === "string"
|
|
1057
|
+
? call.args.notificationId.trim()
|
|
1058
|
+
: "";
|
|
1059
|
+
const notification = jobManager
|
|
1060
|
+
.getPendingNotifications(session.sessionId)
|
|
1061
|
+
.find((candidate) => candidate.id === notificationId);
|
|
1062
|
+
const visible = unreadResponderNotificationIds.has(notificationId);
|
|
1063
|
+
const marked = Boolean(notification &&
|
|
1064
|
+
visible &&
|
|
1065
|
+
jobManager.markRead(notificationId, session.sessionId));
|
|
1066
|
+
const output = marked
|
|
1067
|
+
? `Responder notification ${notificationId} marked delivered and read after model analysis.`
|
|
1068
|
+
: !notificationId
|
|
1069
|
+
? "task.read failed: notificationId is required."
|
|
1070
|
+
: !visible
|
|
1071
|
+
? `task.read failed: notification ${notificationId} was not delivered to this model turn. Analyze a delivered result before marking it read.`
|
|
1072
|
+
: `task.read failed: notification ${notificationId} is unavailable, archived, or its read state could not be persisted.`;
|
|
1073
|
+
if (marked && notification) {
|
|
1074
|
+
upsertResponderResultLedger(messages, notification);
|
|
1075
|
+
unreadResponderNotificationIds.delete(notificationId);
|
|
1076
|
+
}
|
|
1077
|
+
if (!alreadyPrintedIds.has(toolEventId)) {
|
|
1078
|
+
const toolCallLine = chalk.cyan(` ▶ ${call.name}`) +
|
|
1079
|
+
chalk.gray(` ${formatToolArgs(call)}`);
|
|
1080
|
+
writeToolCall(toolEventId, call, styleToolChatter(call, toolCallLine) + "\n");
|
|
1081
|
+
alreadyPrintedIds.add(toolEventId);
|
|
1082
|
+
}
|
|
1083
|
+
const result = {
|
|
1084
|
+
ok: marked,
|
|
1085
|
+
output,
|
|
1086
|
+
...(marked ? {} : { exitCode: 1 }),
|
|
1087
|
+
};
|
|
1088
|
+
loopGuard.recordAttempt(step, call.name, call.args, marked, 0);
|
|
1089
|
+
emitToolResult(toolEventId, result, output);
|
|
1090
|
+
writeToolOutput(toolEventId, marked ? "read\n" : "failed\n", marked ? chalk.green(" ✓\n") : chalk.red(" ✗\n"));
|
|
1091
|
+
return {
|
|
1092
|
+
ok: marked,
|
|
1093
|
+
call,
|
|
1094
|
+
result,
|
|
1095
|
+
contextOutput: output,
|
|
1096
|
+
};
|
|
1097
|
+
}
|
|
1010
1098
|
// Evidence gate: refuse done until at least one successful work tool
|
|
1011
1099
|
// ran under this task (model must see results and be satisfied).
|
|
1012
1100
|
if (call.name === "task.update") {
|
|
@@ -2337,7 +2425,7 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
2337
2425
|
// durable Responder inbox immediately before every provider request so
|
|
2338
2426
|
// completions arriving mid-turn are visible without corrupting native
|
|
2339
2427
|
// tool protocol or forcing a separate busy-wait loop.
|
|
2340
|
-
refreshResponderInbox();
|
|
2428
|
+
const responderDelivery = refreshResponderInbox();
|
|
2341
2429
|
const streamLabel = step === 0 ? "waiting for model" : `step ${step + 1}`;
|
|
2342
2430
|
let spinner = writesDirectly
|
|
2343
2431
|
? startThinkingSpinner(streamLabel, options.signal)
|
|
@@ -2426,6 +2514,11 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
2426
2514
|
recoveryNudge: retryWithoutThinking,
|
|
2427
2515
|
});
|
|
2428
2516
|
try {
|
|
2517
|
+
if (responderDelivery &&
|
|
2518
|
+
!jobManager.markDelivered(responderDelivery.id)) {
|
|
2519
|
+
jobManager.releaseResponderNotificationClaim(responderDelivery.id);
|
|
2520
|
+
throw new Error(`failed to mark responder notification ${responderDelivery.id} delivered`);
|
|
2521
|
+
}
|
|
2429
2522
|
completion = await streamWithProvider({
|
|
2430
2523
|
provider,
|
|
2431
2524
|
model,
|
|
@@ -3007,6 +3100,13 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
3007
3100
|
// Exhausted retries — fall through to the normal path.
|
|
3008
3101
|
}
|
|
3009
3102
|
const cleaned = stripSentinelTokens(assistantText.visible);
|
|
3103
|
+
if (unreadResponderNotificationIds.size > 0) {
|
|
3104
|
+
const unread = [...unreadResponderNotificationIds];
|
|
3105
|
+
pushAssistantHistory(assistantText.visible);
|
|
3106
|
+
messages.push(recoveryUserMessage(`You have ${unread.length} delivered Responder result(s) that remain unread: ${unread.join(", ")}. ` +
|
|
3107
|
+
"If analysis is incomplete, call the necessary bounded evidence tool now. If you have seen and analyzed each result and are satisfied its responder subtask is finished, you MUST call task.read for each exact notificationId before giving a final response. Do not merely say it is read."));
|
|
3108
|
+
continue;
|
|
3109
|
+
}
|
|
3010
3110
|
const narratedAction = looksLikeActionNarration(cleaned);
|
|
3011
3111
|
const narratedWebAction = looksLikeWebActionNarration(cleaned);
|
|
3012
3112
|
const reconciledPlanAtCompletion = await reconcileOpenTaskBeforeFinalizing();
|
|
@@ -3183,7 +3283,11 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
3183
3283
|
const livePlan = await loadPlan(session.sessionId).catch(() => undefined);
|
|
3184
3284
|
const unfinished = livePlan?.tasks.filter((task) => !task.responderOwned &&
|
|
3185
3285
|
(task.state === "pending" || task.state === "in_progress"));
|
|
3186
|
-
|
|
3286
|
+
const deferReport = shouldYieldForResponderBeforeReport(livePlan, jobManager.getRunningJobs(session.sessionId), jobManager.getPendingNotifications(session.sessionId), responderWakeNotificationId);
|
|
3287
|
+
if (livePlan &&
|
|
3288
|
+
unfinished &&
|
|
3289
|
+
unfinished.length > 0 &&
|
|
3290
|
+
!deferReport) {
|
|
3187
3291
|
const next = unfinished[0];
|
|
3188
3292
|
const action = recoveryForPrematureComplete({
|
|
3189
3293
|
unfinished,
|