neoctl 0.2.35 → 0.2.36

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.
Files changed (71) hide show
  1. package/dist/agents/agent-tool-persistence.test.d.ts +1 -0
  2. package/dist/agents/agent-tool-persistence.test.js +313 -0
  3. package/dist/agents/agent-tool-persistence.test.js.map +1 -0
  4. package/dist/agents/agent-tool.js +137 -60
  5. package/dist/agents/agent-tool.js.map +1 -1
  6. package/dist/agents/local-agent-task.d.ts +41 -0
  7. package/dist/agents/local-agent-task.js +3 -0
  8. package/dist/agents/local-agent-task.js.map +1 -1
  9. package/dist/agents/no-nested-delegation.test.d.ts +1 -0
  10. package/dist/agents/no-nested-delegation.test.js +38 -0
  11. package/dist/agents/no-nested-delegation.test.js.map +1 -0
  12. package/dist/agents/smoke-agent-lifecycle.d.ts +1 -0
  13. package/dist/agents/smoke-agent-lifecycle.js +188 -0
  14. package/dist/agents/smoke-agent-lifecycle.js.map +1 -0
  15. package/dist/core/query-engine.js +1 -1
  16. package/dist/core/query-engine.js.map +1 -1
  17. package/dist/core/query.d.ts +3 -1
  18. package/dist/core/query.js +16 -3
  19. package/dist/core/query.js.map +1 -1
  20. package/dist/core/run-agent-pause.test.d.ts +1 -0
  21. package/dist/core/run-agent-pause.test.js +52 -0
  22. package/dist/core/run-agent-pause.test.js.map +1 -0
  23. package/dist/core/run-agent-persistence.test.d.ts +1 -0
  24. package/dist/core/run-agent-persistence.test.js +222 -0
  25. package/dist/core/run-agent-persistence.test.js.map +1 -0
  26. package/dist/core/run-agent.d.ts +11 -0
  27. package/dist/core/run-agent.js +56 -11
  28. package/dist/core/run-agent.js.map +1 -1
  29. package/dist/core/smoke-core-loop.js +8 -7
  30. package/dist/core/smoke-core-loop.js.map +1 -1
  31. package/dist/model/model-metadata.json +99 -99
  32. package/dist/repl/index.js +20 -26
  33. package/dist/repl/index.js.map +1 -1
  34. package/dist/session/session-store-safety.test.d.ts +1 -0
  35. package/dist/session/session-store-safety.test.js +107 -0
  36. package/dist/session/session-store-safety.test.js.map +1 -0
  37. package/dist/session/session-store.d.ts +1 -0
  38. package/dist/session/session-store.js +64 -5
  39. package/dist/session/session-store.js.map +1 -1
  40. package/dist/session/tool-result-memory.d.ts +3 -1
  41. package/dist/session/tool-result-memory.js.map +1 -1
  42. package/dist/tasks/subagent-tools.d.ts +4 -1
  43. package/dist/tasks/subagent-tools.js +85 -24
  44. package/dist/tasks/subagent-tools.js.map +1 -1
  45. package/dist/tasks/subagent-tools.test.d.ts +1 -0
  46. package/dist/tasks/subagent-tools.test.js +158 -0
  47. package/dist/tasks/subagent-tools.test.js.map +1 -0
  48. package/dist/tasks/task-ack-size.test.d.ts +1 -0
  49. package/dist/tasks/task-ack-size.test.js +100 -0
  50. package/dist/tasks/task-ack-size.test.js.map +1 -0
  51. package/dist/tasks/task-persistence.d.ts +22 -0
  52. package/dist/tasks/task-persistence.js +194 -0
  53. package/dist/tasks/task-persistence.js.map +1 -0
  54. package/dist/tasks/task-persistence.test.d.ts +1 -0
  55. package/dist/tasks/task-persistence.test.js +331 -0
  56. package/dist/tasks/task-persistence.test.js.map +1 -0
  57. package/dist/tasks/task-store.d.ts +45 -3
  58. package/dist/tasks/task-store.js +292 -16
  59. package/dist/tasks/task-store.js.map +1 -1
  60. package/dist/tools/tool.d.ts +5 -0
  61. package/dist/tools/tool.js.map +1 -1
  62. package/dist/web/index.d.ts +99 -6
  63. package/dist/web/index.js +93 -56
  64. package/dist/web/index.js.map +1 -1
  65. package/dist/web/smoke-task-session-entrypoints.d.ts +1 -0
  66. package/dist/web/smoke-task-session-entrypoints.js +75 -0
  67. package/dist/web/smoke-task-session-entrypoints.js.map +1 -0
  68. package/dist/web/smoke-web-agent-tasks.d.ts +1 -0
  69. package/dist/web/smoke-web-agent-tasks.js +50 -0
  70. package/dist/web/smoke-web-agent-tasks.js.map +1 -0
  71. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-agent-pause.test.js","sourceRoot":"","sources":["../../src/core/run-agent-pause.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,222 @@
1
+ import { ModelAPIError } from "../model/errors.js";
2
+ import assert from "node:assert/strict";
3
+ import test from "node:test";
4
+ import fs from "node:fs/promises";
5
+ import os from "node:os";
6
+ import path from "node:path";
7
+ import { runAgent } from "./run-agent.js";
8
+ import { SessionStore } from "../session/session-store.js";
9
+ import { FileToolResultMemory } from "../session/tool-result-memory.js";
10
+ import { ToolRegistry } from "../tools/registry.js";
11
+ import { createTextMessage } from "../types/messages.js";
12
+ import { hasValidToolResultPairing } from "./message-pipeline.js";
13
+ const serialized = (messages) => JSON.stringify(messages);
14
+ async function drain(options) {
15
+ const iterator = runAgent(options);
16
+ while (true) {
17
+ const next = await iterator.next();
18
+ if (next.done)
19
+ return next.value;
20
+ if (next.value.type === "error")
21
+ throw next.value.error;
22
+ }
23
+ }
24
+ class Gateway {
25
+ rejectFirst;
26
+ requests = [];
27
+ constructor(rejectFirst = false) {
28
+ this.rejectFirst = rejectFirst;
29
+ }
30
+ async *stream(request) {
31
+ this.requests.push(structuredClone({ ...request, cancellation: undefined }));
32
+ if (this.rejectFirst && this.requests.length === 1)
33
+ throw new ModelAPIError({ category: "context_length", provider: "fake", message: "maximum context length exceeded" });
34
+ yield { type: "assistant_message", message: createTextMessage("assistant", "finished") };
35
+ yield { type: "response_completed", stopReason: "end_turn" };
36
+ }
37
+ }
38
+ function base(root, gateway) {
39
+ return {
40
+ agentId: "child-test", agent: { agentType: "test", whenToUse: "test", tools: [] },
41
+ prompt: "ORIGINAL_DIRECTIVE", model: "gpt-5.4", reasoning: { effort: "high" },
42
+ serviceTier: "priority", contextWindowTokensOverride: 123456, maxOutputTokensOverride: 2048,
43
+ workspaceCwd: root, maxTurns: 2,
44
+ parentContext: { session: { sessionId: "parent-test", sessionDir: root } },
45
+ dependencies: {
46
+ modelGateway: gateway, tools: new ToolRegistry(),
47
+ contextManager: { async build() { return { systemPrompt: "test", promptSections: [], userContext: { currentDate: "2026-01-01" }, systemContext: { cwd: root, platform: process.platform } }; } },
48
+ compactor: { async compact(messages) { return { messages: [...messages], changed: false }; } },
49
+ },
50
+ };
51
+ }
52
+ async function reopen(root) {
53
+ return SessionStore.open({ rootDir: path.join(root, "subagents"), agentId: "child-test", sessionId: "child-test", resume: true });
54
+ }
55
+ for (const source of ["parent", "dependency", "mock"]) {
56
+ test(`child memory inherits effective ${source} threshold without sharing parent storage`, async () => {
57
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-child-threshold-"));
58
+ try {
59
+ const options = base(root, new Gateway());
60
+ const parent = await SessionStore.open({ rootDir: root, agentId: "parent", sessionId: "parent", toolResultThresholdChars: 128 });
61
+ options.parentContext.toolResultMemory = parent.toolResultMemory;
62
+ const dependency = new FileToolResultMemory({ sessionDir: path.join(root, "dependency"), thresholdChars: 256 });
63
+ const mock = {
64
+ state: { seenIds: new Set(), replacements: new Map() },
65
+ async processToolResult(_id, output) { return { output }; },
66
+ async applyBudget(messages) { return { messages: [...messages], records: [] }; },
67
+ };
68
+ if (source === "dependency")
69
+ options.dependencies.toolResultMemory = dependency;
70
+ if (source === "mock")
71
+ options.dependencies.toolResultMemory = mock;
72
+ const expectedThreshold = source === "parent" ? 128 : source === "dependency" ? 256 : 48000;
73
+ let observed = 0;
74
+ options.dependencies.contextManager = { async build(input) {
75
+ const memory = input.toolUseContext.toolResultMemory;
76
+ assert.notEqual(memory, parent.toolResultMemory);
77
+ assert.notEqual(memory, dependency);
78
+ assert.notEqual(memory, mock);
79
+ assert.equal(memory.thresholdChars, expectedThreshold);
80
+ const result = await memory.processToolResult(`threshold-${observed++}`, "x".repeat(300));
81
+ assert.equal(Boolean(result.record), source !== "mock");
82
+ return { systemPrompt: "test", promptSections: [], userContext: { currentDate: "2026-01-01" }, systemContext: { cwd: root, platform: process.platform } };
83
+ } };
84
+ await drain(options);
85
+ assert.ok(observed > 0);
86
+ const childFiles = await fs.readdir(path.join(root, "subagents", "child-test", "tool-results")).catch(() => []);
87
+ assert.equal(childFiles.length > 0, source !== "mock");
88
+ await assert.rejects(fs.stat(path.join(parent.sessionDir, "tool-results")));
89
+ await assert.rejects(fs.stat(path.join(root, "dependency", "tool-results")));
90
+ }
91
+ finally {
92
+ await fs.rm(root, { recursive: true, force: true });
93
+ }
94
+ });
95
+ }
96
+ for (const reactive of [false, true]) {
97
+ test(`${reactive ? "reactive" : "proactive"} checkpoint survives fresh runAgent and overrides stale task messages`, async () => {
98
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-child-compact-"));
99
+ try {
100
+ const gateway = new Gateway(reactive);
101
+ const options = base(root, gateway);
102
+ const stale = createTextMessage("user", "OLD_LARGE_PAYLOAD_" + "x".repeat(60000));
103
+ options.existingMessages = [stale];
104
+ let current = [];
105
+ options.onContextMessagesChanged = (messages) => { current = messages; };
106
+ let compressed = false;
107
+ const budgets = [];
108
+ const compress = (budget) => {
109
+ budgets.push(budget ?? {});
110
+ compressed = true;
111
+ return { messages: [createTextMessage("user", "CHECKPOINT_ONLY")], changed: true, reason: reactive ? "reactive_compact" : "autocompact" };
112
+ };
113
+ const compactor = {
114
+ async compact(messages, budget) { return !reactive && !compressed ? compress(budget) : { messages: [...messages], changed: false }; },
115
+ async reactiveCompact(_messages, _error, budget) { return compress(budget); },
116
+ };
117
+ options.dependencies.compactor = compactor;
118
+ await drain(options);
119
+ assert.equal(compressed, true);
120
+ assert.equal(budgets[0].contextWindowTokens, 123456);
121
+ assert.match(serialized(current), /CHECKPOINT_ONLY/);
122
+ assert.doesNotMatch(serialized(current), /OLD_LARGE_PAYLOAD/);
123
+ const session = await reopen(root);
124
+ assert.equal(session.sessionDir, path.join(root, "subagents", "child-test"));
125
+ assert.doesNotMatch(serialized(session.getInitialMessages()), /OLD_LARGE_PAYLOAD/);
126
+ const output = await session.toolResultMemory.processToolResult("large-tool", "z".repeat(60000));
127
+ assert.ok(output.record);
128
+ session.recordContentReplacements([output.record]);
129
+ assert.equal((await fs.readdir(path.join(session.sessionDir, "tool-results"))).length, 1);
130
+ const memoryRestored = await reopen(root);
131
+ assert.equal((await memoryRestored.toolResultMemory.processToolResult("large-tool", "different")).output, output.output);
132
+ const restartGateway = new Gateway();
133
+ const resumed = base(root, restartGateway);
134
+ resumed.existingMessages = [stale]; // Deliberately stale task-store copy.
135
+ resumed.resumeDirective = "NEW_DIRECTIVE";
136
+ await drain(resumed);
137
+ const request = restartGateway.requests[0];
138
+ assert.match(serialized(request.messages), /CHECKPOINT_ONLY/);
139
+ assert.doesNotMatch(serialized(request.messages), /OLD_LARGE_PAYLOAD|ORIGINAL_DIRECTIVE/);
140
+ assert.equal(serialized(request.messages).split("NEW_DIRECTIVE").length - 1, 1);
141
+ for (const call of [...gateway.requests, ...restartGateway.requests]) {
142
+ assert.equal(call.model, options.model);
143
+ assert.deepEqual(call.reasoning, options.reasoning);
144
+ assert.equal(call.serviceTier, options.serviceTier);
145
+ assert.equal(call.maxOutputTokens, 2048);
146
+ assert.equal(call.queryOrigin, "subagent");
147
+ }
148
+ const thirdGateway = new Gateway();
149
+ await drain(base(root, thirdGateway));
150
+ assert.equal(serialized(thirdGateway.requests[0].messages).split("NEW_DIRECTIVE").length - 1, 1);
151
+ }
152
+ finally {
153
+ await fs.rm(root, { recursive: true, force: true });
154
+ }
155
+ });
156
+ }
157
+ test("initial directive is persisted once; interrupted tool calls get durable failure pairing, not replay", async () => {
158
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-child-pair-"));
159
+ try {
160
+ await drain(base(root, new Gateway()));
161
+ const session = await reopen(root);
162
+ const toolUse = { ...createTextMessage("assistant", ""), blocks: [{ type: "tool_use", id: "interrupted-side-effect", name: "file_write", input: { path: "must-not-exist" } }] };
163
+ session.recordMessage(toolUse);
164
+ const gateway = new Gateway();
165
+ await drain(base(root, gateway));
166
+ const messages = gateway.requests[0].messages;
167
+ assert.equal(serialized(messages).split("ORIGINAL_DIRECTIVE").length - 1, 1);
168
+ assert.equal(hasValidToolResultPairing(messages), true);
169
+ const result = messages.flatMap((message) => message.blocks).find((block) => block.type === "tool_result" && block.toolUseId === "interrupted-side-effect");
170
+ assert.ok(result && result.type === "tool_result" && result.ok === false);
171
+ assert.match(JSON.stringify(result), /synthetic failure/);
172
+ const stored = (await reopen(root)).getInitialMessages();
173
+ assert.equal(hasValidToolResultPairing(stored), true);
174
+ assert.equal(stored.filter((message) => message.metadata?.syntheticToolResult).length, 1);
175
+ await assert.rejects(fs.stat(path.join(root, "must-not-exist")));
176
+ }
177
+ finally {
178
+ await fs.rm(root, { recursive: true, force: true });
179
+ }
180
+ });
181
+ test("empty durable checkpoint does not fall back to stale existingMessages", async () => {
182
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-child-empty-"));
183
+ try {
184
+ const session = await reopen(root);
185
+ session.recordCompactCheckpoint([], "autocompact");
186
+ const gateway = new Gateway();
187
+ const options = base(root, gateway);
188
+ options.existingMessages = [createTextMessage("user", "STALE_EMPTY_CHECKPOINT")];
189
+ options.resumeDirective = "CONTINUE_EMPTY";
190
+ await drain(options);
191
+ assert.doesNotMatch(serialized(gateway.requests[0].messages), /STALE_EMPTY_CHECKPOINT|ORIGINAL_DIRECTIVE/);
192
+ assert.match(serialized(gateway.requests[0].messages), /CONTINUE_EMPTY/);
193
+ }
194
+ finally {
195
+ await fs.rm(root, { recursive: true, force: true });
196
+ }
197
+ });
198
+ test("report retry uses compacted current context instead of original initial messages", async () => {
199
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-child-report-"));
200
+ try {
201
+ const gateway = new Gateway();
202
+ const options = base(root, gateway);
203
+ options.agent = { ...options.agent, requiresReport: true, reportRetryTurns: 1 };
204
+ options.prompt = "OLD_REPORT_PAYLOAD";
205
+ let compacted = false;
206
+ options.dependencies.compactor = { async compact(messages) {
207
+ if (compacted)
208
+ return { messages: [...messages], changed: false };
209
+ compacted = true;
210
+ return { messages: [createTextMessage("user", "REPORT_CHECKPOINT")], changed: true, reason: "autocompact" };
211
+ } };
212
+ await drain(options);
213
+ assert.ok(gateway.requests.length >= 2);
214
+ for (const request of gateway.requests)
215
+ assert.doesNotMatch(serialized(request.messages), /OLD_REPORT_PAYLOAD/);
216
+ assert.match(serialized(gateway.requests[1].messages), /REPORT_CHECKPOINT|REQUIRED FINALIZATION/);
217
+ }
218
+ finally {
219
+ await fs.rm(root, { recursive: true, force: true });
220
+ }
221
+ });
222
+ //# sourceMappingURL=run-agent-persistence.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-agent-persistence.test.js","sourceRoot":"","sources":["../../src/core/run-agent-persistence.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import type { AgentEvent } from "../types/events.js";
7
7
  import { type Message } from "../types/messages.js";
8
8
  import type { AgentDefinition } from "../agents/agent-definition.js";
9
9
  import type { AgentToolResult } from "../agents/local-agent-task.js";
10
+ import { type QueryOptions } from "./query.js";
10
11
  export interface RunAgentDependencies {
11
12
  modelGateway: ModelGateway;
12
13
  tools: ToolRegistry;
@@ -26,10 +27,20 @@ export interface RunAgentOptions {
26
27
  parentMessages?: readonly Message[];
27
28
  dependencies: RunAgentDependencies;
28
29
  model?: string;
30
+ reasoning?: QueryOptions["reasoning"];
31
+ contextWindowTokensOverride?: QueryOptions["contextWindowTokensOverride"];
32
+ serviceTier?: QueryOptions["serviceTier"];
33
+ maxOutputTokensOverride?: QueryOptions["maxOutputTokensOverride"];
34
+ /** Only a new explicit directive; never repeat the original prompt on restore. */
35
+ resumeDirective?: string;
36
+ /** Complete current context, not an append-only transcript. */
37
+ onContextMessagesChanged?: (messages: Message[]) => void;
29
38
  maxTurns?: number;
30
39
  abortSignal?: AbortSignal;
31
40
  fork?: boolean;
32
41
  existingMessages?: Message[];
42
+ takePendingMessages?: () => Message[];
43
+ onInitialMessages?: (messages: Message[]) => void;
33
44
  /** Resolved absolute cwd for file/exec tools in this subagent session. */
34
45
  workspaceCwd?: string;
35
46
  }
@@ -6,16 +6,40 @@ import { buildForkChildPrompt, EXPLORE_AGENT, FORK_AGENT } from "../agents/agent
6
6
  import { AGENT_REPORT_TOOL_NAME, createAgentReportTool } from "../agents/agent-report-tool.js";
7
7
  import { SessionStore } from "../session/session-store.js";
8
8
  import { query } from "./query.js";
9
+ import { ensureToolResultPairing } from "./message-pipeline.js";
9
10
  export async function* runAgent(options) {
10
11
  const startedAt = Date.now();
11
- const initialMessages = options.existingMessages?.length
12
- ? [...options.existingMessages, ...buildResumeMessages(options)]
13
- : buildInitialAgentMessages(options);
14
12
  const childSession = await createChildAgentSession(options);
15
- if (childSession && !options.existingMessages?.length) {
16
- for (const message of initialMessages)
17
- childSession.recordMessage(message);
13
+ const restored = childSession?.getInitialMessages() ?? [];
14
+ // An empty checkpoint is authoritative too: never revive the task's old snapshot.
15
+ const hasDurableContext = restored.length > 0 || (childSession?.snapshot().windowNumber ?? 1) > 1;
16
+ const priorMessages = hasDurableContext ? restored : options.existingMessages ?? [];
17
+ const continuing = hasDurableContext || priorMessages.length > 0;
18
+ const additions = continuing ? buildResumeMessages(options) : buildInitialAgentMessages(options);
19
+ if (!hasDurableContext) {
20
+ for (const message of priorMessages)
21
+ childSession?.recordMessage(message);
18
22
  }
23
+ // Repair historical calls with synthetic failures, never execute them on restore.
24
+ const repaired = ensureToolResultPairing(priorMessages);
25
+ const priorIds = new Set(priorMessages.map((message) => message.id));
26
+ for (const message of repaired) {
27
+ if (!priorIds.has(message.id))
28
+ childSession?.recordMessage(message);
29
+ }
30
+ for (const message of additions)
31
+ childSession?.recordMessage(message);
32
+ const initialMessages = [...repaired, ...additions];
33
+ let contextMessages = initialMessages.map(cloneMessage);
34
+ const notifyContext = () => options.onContextMessagesChanged?.(contextMessages.map(cloneMessage));
35
+ const appendContext = (messages) => {
36
+ contextMessages.push(...messages.map(cloneMessage));
37
+ for (const message of messages)
38
+ childSession?.recordMessage(message);
39
+ notifyContext();
40
+ };
41
+ options.onInitialMessages?.(initialMessages.map(cloneMessage));
42
+ notifyContext();
19
43
  const agentMessages = [];
20
44
  let terminalReason;
21
45
  let lastUsage;
@@ -25,6 +49,12 @@ export async function* runAgent(options) {
25
49
  tools: resolveAgentTools(options.dependencies.tools, options.agent),
26
50
  contextManager: createAgentContextManager(options),
27
51
  compactor: options.dependencies.compactor,
52
+ applyCompaction: (result) => {
53
+ const messages = ensureToolResultPairing(result.messages);
54
+ childSession?.recordCompactCheckpoint(messages, result.reason, result.report);
55
+ contextMessages = messages.map(cloneMessage);
56
+ notifyContext();
57
+ },
28
58
  contextBudget: options.dependencies.contextBudget,
29
59
  canUseTool: options.dependencies.canUseTool,
30
60
  maxToolResultSerializedLength: options.dependencies.maxToolResultSerializedLength,
@@ -40,6 +70,10 @@ export async function* runAgent(options) {
40
70
  for await (const event of query(messages, dependencies, {
41
71
  agentId: options.agentId,
42
72
  model: resolveAgentModel(options.agent, options.model),
73
+ reasoning: options.reasoning,
74
+ contextWindowTokensOverride: options.contextWindowTokensOverride,
75
+ serviceTier: options.serviceTier,
76
+ maxOutputTokensOverride: options.maxOutputTokensOverride,
43
77
  maxTurns,
44
78
  queryOrigin: "subagent",
45
79
  abortSignal: options.abortSignal,
@@ -47,10 +81,17 @@ export async function* runAgent(options) {
47
81
  stopOnAgentReport: options.agent.requiresReport === true,
48
82
  agentReportToolName: options.agent.reportToolName,
49
83
  toolChoice,
84
+ takePendingMessages: () => {
85
+ const pending = options.takePendingMessages?.() ?? [];
86
+ agentMessages.push(...pending);
87
+ if (pending.length)
88
+ appendContext(pending);
89
+ return pending;
90
+ },
50
91
  })) {
51
92
  if (event.type === "message") {
52
93
  agentMessages.push(event.message);
53
- childSession?.recordMessage(event.message);
94
+ appendContext([event.message]);
54
95
  }
55
96
  if (event.type === "tool.started")
56
97
  totalToolUseCount += 1;
@@ -65,7 +106,9 @@ export async function* runAgent(options) {
65
106
  if (options.agent.requiresReport === true && !extractFinalAgentReport(agentMessages, options.agent.reportToolName)) {
66
107
  const retryTurns = options.agent.reportRetryTurns ?? 1;
67
108
  if (retryTurns > 0 && !options.abortSignal?.aborted) {
68
- const recoveryMessages = [...initialMessages, ...agentMessages, createTextMessage("user", buildReportRequiredReminder())];
109
+ const reminder = createTextMessage("user", buildReportRequiredReminder());
110
+ appendContext([reminder]);
111
+ const recoveryMessages = contextMessages.map(cloneMessage);
69
112
  yield* runQuery(recoveryMessages, Math.max(2, retryTurns + 1), { type: "function", name: options.agent.reportToolName ?? AGENT_REPORT_TOOL_NAME });
70
113
  }
71
114
  }
@@ -89,7 +132,8 @@ export async function* runAgent(options) {
89
132
  export function resolveAgentTools(parentTools, agent) {
90
133
  const registry = new ToolRegistry();
91
134
  const allowed = agent.tools;
92
- const disallowed = new Set(agent.disallowedTools ?? []);
135
+ // Scheduling is reserved to the main agent, including custom/wildcard agents.
136
+ const disallowed = new Set([...(agent.disallowedTools ?? []), "subagent_run", "subagent_resume"]);
93
137
  for (const tool of parentTools.list(undefined, { includeDeferred: true })) {
94
138
  if (disallowed.has(tool.name))
95
139
  continue;
@@ -142,7 +186,7 @@ function buildInitialAgentMessages(options) {
142
186
  return messages;
143
187
  }
144
188
  function buildResumeMessages(options) {
145
- return [createTextMessage("user", `[Resumed] ${options.prompt}`)];
189
+ return options.resumeDirective?.trim() ? [createTextMessage("user", `[Resumed] ${options.resumeDirective}`)] : [];
146
190
  }
147
191
  async function createChildAgentSession(options) {
148
192
  const parentSession = options.parentContext?.session;
@@ -152,7 +196,8 @@ async function createChildAgentSession(options) {
152
196
  agentId: options.agentId,
153
197
  sessionId: options.agentId,
154
198
  rootDir: path.join(parentSession.sessionDir, "subagents"),
155
- resume: false,
199
+ toolResultThresholdChars: (options.dependencies.toolResultMemory ?? options.parentContext?.toolResultMemory)?.thresholdChars,
200
+ resume: true,
156
201
  });
157
202
  }
158
203
  function createAgentContextManager(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../src/core/run-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../src/core/run-agent.ts"],"names":[],"mappings":"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"}
@@ -197,15 +197,16 @@ async function main() {
197
197
  const storedImageCompacted = storedImageBlock?.data === "" &&
198
198
  typeof storedImageBlock.storage?.path === "string" &&
199
199
  imageBlockToDataUrl(storedImageBlock) === "data:image/png;base64,ZmFrZQ==";
200
- imageEngine.setModel("unlisted-model");
201
- const unknownModelEvents = [];
200
+ imageEngine.setModel("gpt-4");
201
+ const downgradeEvents = [];
202
202
  for await (const event of imageEngine.sendUserText("continue")) {
203
- unknownModelEvents.push(event.type === "terminal" ? `${event.type}:${event.reason}` : event.type);
203
+ downgradeEvents.push(event.type === "terminal" ? `${event.type}:${event.reason}` : event.type);
204
204
  }
205
205
  const finalImageRequest = imageGateway.requests.at(-1);
206
206
  const finalBlocks = finalImageRequest?.messages.flatMap((message) => message.blocks) ?? [];
207
- const unknownModelPreservesHistoryImage = unknownModelEvents.includes("terminal:completed") &&
208
- finalBlocks.some((block) => block.type === "image");
207
+ const historyImageDowngraded = downgradeEvents.includes("terminal:completed") &&
208
+ !finalBlocks.some((block) => block.type === "image") &&
209
+ finalBlocks.some((block) => block.type === "text" && block.text.includes("[img#1]") && block.text.includes("does not support image input"));
209
210
  const abortDuringToolsOk = neverSettlingToolStarted.value &&
210
211
  abortEvents.includes("tool.started") &&
211
212
  abortEvents.includes("terminal:aborted_tools") &&
@@ -270,7 +271,7 @@ async function main() {
270
271
  abortDuringToolsOk &&
271
272
  userImagePinned &&
272
273
  storedImageCompacted &&
273
- unknownModelPreservesHistoryImage &&
274
+ historyImageDowngraded &&
274
275
  stoppedAfterOneToolTurn &&
275
276
  thinkingPersisted &&
276
277
  thinkingExcludedFromContext &&
@@ -278,7 +279,7 @@ async function main() {
278
279
  parallelResultsStreamByCompletion &&
279
280
  parallelHistoryKeepsCallOrder &&
280
281
  nextTurnWaitsForAllTools;
281
- console.log(JSON.stringify({ ok, events, snapshot, parallelResultsStreamByCompletion, parallelHistoryKeepsCallOrder, nextTurnWaitsForAllTools, availableOrder, secondRequestToolResults, narratedToolTextFlushed, sanitized, ordinaryTextStreamsImmediately, splitLeakRedacted, abortEvents, abortElapsedMs, abortDuringToolsOk, userImagePinned, storedImageCompacted, unknownModelEvents, unknownModelPreservesHistoryImage, yieldedEvents, stoppedAfterOneToolTurn, thinkingPersisted, thinkingExcludedFromContext, cwdTransitionOneShot }, null, 2));
282
+ console.log(JSON.stringify({ ok, events, snapshot, parallelResultsStreamByCompletion, parallelHistoryKeepsCallOrder, nextTurnWaitsForAllTools, availableOrder, secondRequestToolResults, narratedToolTextFlushed, sanitized, ordinaryTextStreamsImmediately, splitLeakRedacted, abortEvents, abortElapsedMs, abortDuringToolsOk, userImagePinned, storedImageCompacted, downgradeEvents, historyImageDowngraded, yieldedEvents, stoppedAfterOneToolTurn, thinkingPersisted, thinkingExcludedFromContext, cwdTransitionOneShot }, null, 2));
282
283
  if (!ok)
283
284
  process.exitCode = 1;
284
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-core-loop.js","sourceRoot":"","sources":["../../src/core/smoke-core-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-core-loop.js","sourceRoot":"","sources":["../../src/core/smoke-core-loop.ts"],"names":[],"mappings":"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"}