neoctl 0.2.36 → 0.2.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.
Files changed (149) hide show
  1. package/dist/agents/agent-report-security.test.d.ts +1 -0
  2. package/dist/agents/agent-report-security.test.js +301 -0
  3. package/dist/agents/agent-report-security.test.js.map +1 -0
  4. package/dist/agents/agent-tool-persistence.test.js +9 -3
  5. package/dist/agents/agent-tool-persistence.test.js.map +1 -1
  6. package/dist/agents/agent-tool.d.ts +3 -0
  7. package/dist/agents/agent-tool.js +127 -34
  8. package/dist/agents/agent-tool.js.map +1 -1
  9. package/dist/agents/live-preview-redaction-security.test.d.ts +1 -0
  10. package/dist/agents/live-preview-redaction-security.test.js +286 -0
  11. package/dist/agents/live-preview-redaction-security.test.js.map +1 -0
  12. package/dist/agents/local-agent-task.d.ts +27 -1
  13. package/dist/agents/local-agent-task.js +75 -5
  14. package/dist/agents/local-agent-task.js.map +1 -1
  15. package/dist/agents/obs07-11-run-facts.test.d.ts +1 -0
  16. package/dist/agents/obs07-11-run-facts.test.js +459 -0
  17. package/dist/agents/obs07-11-run-facts.test.js.map +1 -0
  18. package/dist/agents/smoke-agent-lifecycle.js +8 -4
  19. package/dist/agents/smoke-agent-lifecycle.js.map +1 -1
  20. package/dist/agents/smoke-agents.js +7 -3
  21. package/dist/agents/smoke-agents.js.map +1 -1
  22. package/dist/context/context-manager.d.ts +1 -0
  23. package/dist/context/context-manager.js +10 -6
  24. package/dist/context/context-manager.js.map +1 -1
  25. package/dist/context/smoke-context.js +46 -3
  26. package/dist/context/smoke-context.js.map +1 -1
  27. package/dist/core/image-registry.js +1 -1
  28. package/dist/core/image-registry.js.map +1 -1
  29. package/dist/core/obs04-visible-data.test.d.ts +1 -0
  30. package/dist/core/obs04-visible-data.test.js +147 -0
  31. package/dist/core/obs04-visible-data.test.js.map +1 -0
  32. package/dist/core/query-engine.d.ts +5 -0
  33. package/dist/core/query-engine.js +35 -2
  34. package/dist/core/query-engine.js.map +1 -1
  35. package/dist/core/query.d.ts +2 -0
  36. package/dist/core/query.js +104 -15
  37. package/dist/core/query.js.map +1 -1
  38. package/dist/core/run-agent.d.ts +2 -0
  39. package/dist/core/run-agent.js +20 -10
  40. package/dist/core/run-agent.js.map +1 -1
  41. package/dist/model/model-gateway.d.ts +1 -0
  42. package/dist/model/model-metadata.json +99 -99
  43. package/dist/model/openai-native-image-guard.test.d.ts +1 -0
  44. package/dist/model/openai-native-image-guard.test.js +101 -0
  45. package/dist/model/openai-native-image-guard.test.js.map +1 -0
  46. package/dist/model/openai-responses-mapper.js +91 -16
  47. package/dist/model/openai-responses-mapper.js.map +1 -1
  48. package/dist/plugins/smoke-plugin-system.js +14 -14
  49. package/dist/repl/index.js +2 -2
  50. package/dist/repl/index.js.map +1 -1
  51. package/dist/secrets/secret-redaction.d.ts +6 -5
  52. package/dist/secrets/secret-redaction.js +7 -79
  53. package/dist/secrets/secret-redaction.js.map +1 -1
  54. package/dist/secrets/secret-types.d.ts +4 -1
  55. package/dist/secrets/secret-types.js.map +1 -1
  56. package/dist/session/session-store.d.ts +4 -1
  57. package/dist/session/session-store.js +5 -2
  58. package/dist/session/session-store.js.map +1 -1
  59. package/dist/tasks/subagent-tools.test.js +1 -0
  60. package/dist/tasks/subagent-tools.test.js.map +1 -1
  61. package/dist/tasks/task-ack-size.test.js +6 -5
  62. package/dist/tasks/task-ack-size.test.js.map +1 -1
  63. package/dist/tasks/task-persistence.d.ts +1 -0
  64. package/dist/tasks/task-persistence.js +31 -9
  65. package/dist/tasks/task-persistence.js.map +1 -1
  66. package/dist/tasks/task-store.d.ts +6 -4
  67. package/dist/tasks/task-store.js +46 -20
  68. package/dist/tasks/task-store.js.map +1 -1
  69. package/dist/tools/builtins/exec-process-manager.d.ts +97 -2
  70. package/dist/tools/builtins/exec-process-manager.js +218 -19
  71. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  72. package/dist/tools/builtins/exec-tool.js +14 -1
  73. package/dist/tools/builtins/exec-tool.js.map +1 -1
  74. package/dist/tools/builtins/image-generation-tool.js +24 -24
  75. package/dist/tools/builtins/image-generation-tool.js.map +1 -1
  76. package/dist/tools/smoke-exec-process.js +2 -1
  77. package/dist/tools/smoke-exec-process.js.map +1 -1
  78. package/dist/tools/smoke-terminal-output-chain.d.ts +1 -0
  79. package/dist/tools/smoke-terminal-output-chain.js +245 -0
  80. package/dist/tools/smoke-terminal-output-chain.js.map +1 -0
  81. package/dist/tools/smoke-tool-system.js +6 -6
  82. package/dist/tools/smoke-tool-system.js.map +1 -1
  83. package/dist/tools/terminal-output-persistence.test.d.ts +1 -0
  84. package/dist/tools/terminal-output-persistence.test.js +50 -0
  85. package/dist/tools/terminal-output-persistence.test.js.map +1 -0
  86. package/dist/tools/terminal-output-store.d.ts +150 -0
  87. package/dist/tools/terminal-output-store.js +562 -0
  88. package/dist/tools/terminal-output-store.js.map +1 -0
  89. package/dist/tools/terminal-output-store.test.d.ts +1 -0
  90. package/dist/tools/terminal-output-store.test.js +364 -0
  91. package/dist/tools/terminal-output-store.test.js.map +1 -0
  92. package/dist/types/events.d.ts +1 -0
  93. package/dist/types/messages.d.ts +1 -0
  94. package/dist/web/agent-content-detail.d.ts +78 -0
  95. package/dist/web/agent-content-detail.js +495 -0
  96. package/dist/web/agent-content-detail.js.map +1 -0
  97. package/dist/web/agent-content-detail.test.d.ts +1 -0
  98. package/dist/web/agent-content-detail.test.js +307 -0
  99. package/dist/web/agent-content-detail.test.js.map +1 -0
  100. package/dist/web/agent-parent-messages.test.d.ts +1 -0
  101. package/dist/web/agent-parent-messages.test.js +58 -0
  102. package/dist/web/agent-parent-messages.test.js.map +1 -0
  103. package/dist/web/agent-tool-payload-security.test.d.ts +1 -0
  104. package/dist/web/agent-tool-payload-security.test.js +120 -0
  105. package/dist/web/agent-tool-payload-security.test.js.map +1 -0
  106. package/dist/web/index.d.ts +114 -3
  107. package/dist/web/index.js +182 -67
  108. package/dist/web/index.js.map +1 -1
  109. package/dist/web/smoke-agent-content-http.d.ts +1 -0
  110. package/dist/web/smoke-agent-content-http.js +446 -0
  111. package/dist/web/smoke-agent-content-http.js.map +1 -0
  112. package/dist/web/smoke-status-semantics.d.ts +1 -0
  113. package/dist/web/smoke-status-semantics.js +90 -0
  114. package/dist/web/smoke-status-semantics.js.map +1 -0
  115. package/dist/web/smoke-task-session-entrypoints.js +22 -1
  116. package/dist/web/smoke-task-session-entrypoints.js.map +1 -1
  117. package/dist/web/smoke-terminal-output-http.d.ts +1 -0
  118. package/dist/web/smoke-terminal-output-http.js +372 -0
  119. package/dist/web/smoke-terminal-output-http.js.map +1 -0
  120. package/dist/web/smoke-tool-call-detail.d.ts +1 -0
  121. package/dist/web/smoke-tool-call-detail.js +106 -0
  122. package/dist/web/smoke-tool-call-detail.js.map +1 -0
  123. package/dist/web/smoke-tool-call-http.d.ts +1 -0
  124. package/dist/web/smoke-tool-call-http.js +100 -0
  125. package/dist/web/smoke-tool-call-http.js.map +1 -0
  126. package/dist/web/smoke-tool-detail-fields-http.d.ts +1 -0
  127. package/dist/web/smoke-tool-detail-fields-http.js +121 -0
  128. package/dist/web/smoke-tool-detail-fields-http.js.map +1 -0
  129. package/dist/web/smoke-web-terminal-tasks.js +126 -76
  130. package/dist/web/smoke-web-terminal-tasks.js.map +1 -1
  131. package/dist/web/status-semantics.d.ts +11 -0
  132. package/dist/web/status-semantics.js +59 -0
  133. package/dist/web/status-semantics.js.map +1 -0
  134. package/dist/web/terminal-presentation.d.ts +15 -0
  135. package/dist/web/terminal-presentation.js +61 -0
  136. package/dist/web/terminal-presentation.js.map +1 -0
  137. package/dist/web/terminal-presentation.test.d.ts +1 -0
  138. package/dist/web/terminal-presentation.test.js +33 -0
  139. package/dist/web/terminal-presentation.test.js.map +1 -0
  140. package/dist/web/tool-call-detail.d.ts +40 -0
  141. package/dist/web/tool-call-detail.js +167 -0
  142. package/dist/web/tool-call-detail.js.map +1 -0
  143. package/dist/web/tool-detail-fields.d.ts +59 -0
  144. package/dist/web/tool-detail-fields.js +119 -0
  145. package/dist/web/tool-detail-fields.js.map +1 -0
  146. package/dist/web/tool-detail-fields.test.d.ts +1 -0
  147. package/dist/web/tool-detail-fields.test.js +121 -0
  148. package/dist/web/tool-detail-fields.test.js.map +1 -0
  149. package/package.json +93 -93
@@ -2,6 +2,8 @@ import { spawn as spawnChild } from "node:child_process";
2
2
  import { randomBytes } from "node:crypto";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import os from "node:os";
5
+ import path from "node:path";
6
+ import { TerminalOutputStore, redactedTerminalChunk, TERMINAL_OUTPUT_RETENTION_MS, } from "../terminal-output-store.js";
5
7
  const LIVE_OUTPUT_MAX_CHARS = 40_000;
6
8
  export class ExecProcessManager {
7
9
  options;
@@ -9,9 +11,83 @@ export class ExecProcessManager {
9
11
  subscribers = new Set();
10
12
  outputSubscribers = new Set();
11
13
  nextId = 1;
14
+ ownerBindings = new Map();
15
+ stores = new Map();
12
16
  constructor(options = {}) {
13
17
  this.options = options;
14
18
  }
19
+ /** Bind only an authorized runtime session's actual directory. Never accept an HTTP path. */
20
+ registerOwnerSession(ownerSessionId, sessionDir) {
21
+ return this.storeGuard(() => {
22
+ if (!ownerSessionId || !path.isAbsolute(sessionDir))
23
+ return { ok: false, reason: "invalid-input" };
24
+ const dir = path.resolve(sessionDir);
25
+ const existing = this.ownerBindings.get(ownerSessionId);
26
+ const equal = (a, b) => process.platform === "win32" ? a.toLowerCase() === b.toLowerCase() : a === b;
27
+ if (existing && !equal(existing.dir, dir))
28
+ return { ok: false, reason: "conflict" };
29
+ for (const [id, binding] of this.ownerBindings) {
30
+ if (id !== ownerSessionId && equal(binding.dir, dir))
31
+ return { ok: false, reason: "conflict" };
32
+ }
33
+ const root = path.resolve(this.options.sessionsRoot ?? path.dirname(dir));
34
+ const key = process.platform === "win32" ? root.toLowerCase() : root;
35
+ let store = existing?.store ?? this.options.outputStore ?? this.stores.get(key);
36
+ if (!store) {
37
+ store = new TerminalOutputStore({ sessionsRoot: root,
38
+ resolveOwnerSessionDir: (id) => this.ownerBindings.get(id)?.dir });
39
+ this.stores.set(key, store);
40
+ }
41
+ this.ownerBindings.set(ownerSessionId, { dir, store });
42
+ const restored = store.restoreSession(ownerSessionId, dir);
43
+ if (!restored.ok && !existing)
44
+ this.ownerBindings.delete(ownerSessionId);
45
+ return restored;
46
+ });
47
+ }
48
+ listHistory(ownerSessionId, pagination = {}) {
49
+ return this.storeGuard(() => this.ownerBindings.get(ownerSessionId)?.store.listHistory(ownerSessionId, pagination)
50
+ ?? { ok: false, reason: "not-found" });
51
+ }
52
+ readOutput(ownerSessionId, runId, page) {
53
+ const result = this.storeGuard(() => this.ownerBindings.get(ownerSessionId)?.store.read(ownerSessionId, runId, page)
54
+ ?? { ok: false, reason: "not-found" });
55
+ const session = this.sessions.get(runId);
56
+ if (session?.options.ownerId === ownerSessionId && result.ok) {
57
+ // Keep availability/facts in live projections aligned after a read discovers expiry or I/O loss.
58
+ session.outputRecord = { record: structuredClone(result.value.record), persistence: result.value.persistence };
59
+ }
60
+ return result;
61
+ }
62
+ /** Cleanup is independent of process execution and never turns a successful exit into a tool error. */
63
+ sweepOutput() {
64
+ for (const store of new Set([...this.ownerBindings.values()].map((binding) => binding.store))) {
65
+ this.storeGuard(() => store.sweep());
66
+ }
67
+ }
68
+ storeGuard(action) {
69
+ try {
70
+ return action();
71
+ }
72
+ catch {
73
+ return { ok: false, reason: "io-error" };
74
+ }
75
+ }
76
+ recordOutputResult(session, result) {
77
+ if (result.ok)
78
+ session.outputRecord = result.value;
79
+ else
80
+ session.outputFailure = result.reason;
81
+ }
82
+ outputReference(session) {
83
+ const view = session.outputRecord;
84
+ const expired = view?.record.expiresAt != null && Date.now() >= view.record.expiresAt;
85
+ return { owner_session_id: session.options.ownerId ?? null, run_id: session.id,
86
+ availability: session.outputFailure ? "unavailable" : expired && view?.record.availability === "available" ? "expired" : view?.record.availability ?? "unavailable",
87
+ reason: session.outputFailure ?? (!view ? "owner-session-unavailable" : undefined),
88
+ persistence: view?.persistence, truncated: view?.record.truncated, byte_limit: view?.record.byteLimit,
89
+ expires_at: view?.record.expiresAt, streams: view?.record.streams };
90
+ }
15
91
  start(options) {
16
92
  this.prune();
17
93
  const id = `${this.nextId++}_${randomBytes(3).toString("hex")}`;
@@ -79,21 +155,34 @@ export class ExecProcessManager {
79
155
  }
80
156
  return result;
81
157
  }
82
- list() {
83
- return [...this.sessions.values()].map((session) => ({
158
+ /** No owner argument preserves the trusted internal legacy view. Web MUST supply an owner. */
159
+ list(ownerSessionId) {
160
+ return [...this.sessions.values()]
161
+ .filter((session) => ownerSessionId === undefined || session.options.ownerId === ownerSessionId)
162
+ .map((session) => ({
84
163
  session_id: session.id,
164
+ owner_session_id: session.options.ownerId,
85
165
  process_id: session.backend.pid,
86
166
  status: session.status,
87
167
  command: session.options.command,
88
168
  description: session.options.description,
89
169
  cwd: session.options.cwd,
90
170
  shell: session.options.shell.requested,
171
+ started_at: session.startedAt,
172
+ finished_at: session.finishedAt ?? null,
91
173
  duration_ms: (session.finishedAt ?? Date.now()) - session.startedAt,
92
174
  tty: session.options.tty,
175
+ exit_code: session.exitCode,
176
+ signal: session.signal,
93
177
  termination_reason: session.terminationReason,
94
178
  backgrounded: session.backgrounded,
95
179
  output: session.liveOutput.snapshot().text,
96
180
  outputEnd: session.liveOutput.observedChars(),
181
+ output_kind: "snapshot",
182
+ output_cursor_unit: "utf16_code_units",
183
+ output_truncated: session.liveOutput.snapshot().omitted > 0,
184
+ stream_mode: session.options.tty ? "tty_merged" : "separate",
185
+ output_ref: this.outputReference(session),
97
186
  }));
98
187
  }
99
188
  activeCount() {
@@ -122,32 +211,52 @@ export class ExecProcessManager {
122
211
  createSession(id, options) {
123
212
  let session;
124
213
  let redactOutput = options.redactOutput;
125
- const streamingRedactor = options.createStreamingRedactor?.();
214
+ const redactors = {
215
+ stdout: options.createStreamingRedactor?.(),
216
+ stderr: options.createStreamingRedactor?.(),
217
+ };
218
+ // Some redactors operate on UTF-16 code units. Hold a high surrogate until its pair arrives.
219
+ const unicodeCarry = { stdout: "", stderr: "" };
220
+ const byteOffsets = { stdout: 0, stderr: 0 };
221
+ const normalizers = { stdout: createOutputNormalizer(), stderr: createOutputNormalizer() };
126
222
  let liveOutputOffset = 0;
127
- let lastStream = "stdout";
128
223
  const publishSafeOutput = (stream, safeOutput) => {
224
+ safeOutput = unicodeCarry[stream] + safeOutput;
225
+ unicodeCarry[stream] = "";
226
+ if (/[\uD800-\uDBFF]$/.test(safeOutput)) {
227
+ unicodeCarry[stream] = safeOutput.slice(-1);
228
+ safeOutput = safeOutput.slice(0, -1);
229
+ }
129
230
  if (!safeOutput)
130
231
  return;
232
+ const streamStart = byteOffsets[stream];
233
+ byteOffsets[stream] += Buffer.byteLength(safeOutput, "utf8");
234
+ // The ONLY full-output writer. Never append drain results or live snapshots.
235
+ if (session.outputStore && options.ownerId) {
236
+ this.recordOutputResult(session, this.storeGuard(() => session.outputStore.append(options.ownerId, id, redactedTerminalChunk(stream, streamStart, safeOutput))));
237
+ }
238
+ session[stream].push(safeOutput);
131
239
  const liveText = stream === "stderr" ? `[stderr] ${safeOutput}` : safeOutput;
132
240
  session.liveOutput.push(liveText);
133
- const delta = { sessionId: id, stream, text: safeOutput };
241
+ const delta = { sessionId: id, ownerSessionId: options.ownerId,
242
+ stream, text: safeOutput, streamText: safeOutput, outputKind: "incremental",
243
+ streamStart, streamEnd: byteOffsets[stream], cursorUnit: "utf8_bytes",
244
+ streamMode: options.tty ? "tty_merged" : "separate" };
134
245
  for (const subscriber of session.subscribers)
135
246
  subscriber(delta);
136
247
  const outputStart = liveOutputOffset;
137
248
  liveOutputOffset += liveText.length;
138
249
  if (session.backgrounded) {
139
- const publicDelta = { sessionId: id, stream, text: liveText, outputStart, outputEnd: liveOutputOffset };
250
+ const publicDelta = { ...delta, text: liveText, outputStart, outputEnd: liveOutputOffset };
140
251
  for (const subscriber of this.outputSubscribers)
141
252
  subscriber(publicDelta);
142
253
  }
143
254
  };
144
255
  const onOutput = (stream, text) => {
145
- const normalized = normalizeOutput(text);
256
+ const normalized = normalizers[stream].push(text);
146
257
  if (!normalized)
147
258
  return;
148
- session[stream].push(normalized);
149
- lastStream = stream;
150
- const safeOutput = streamingRedactor?.push(normalized) ?? redactOutput?.(normalized) ?? normalized;
259
+ const safeOutput = redactors[stream]?.push(normalized) ?? redactOutput?.(normalized) ?? normalized;
151
260
  publishSafeOutput(stream, safeOutput);
152
261
  };
153
262
  const onExit = (exitCode, signal, error) => {
@@ -155,7 +264,14 @@ export class ExecProcessManager {
155
264
  return;
156
265
  if (error)
157
266
  onOutput("stderr", `${error.message}\n`);
158
- publishSafeOutput(lastStream, streamingRedactor?.flush() ?? "");
267
+ for (const stream of ["stdout", "stderr"]) {
268
+ publishSafeOutput(stream, redactors[stream]?.flush() ?? "");
269
+ // Invalid dangling surrogate is explicitly decoded like Node's UTF-8 output, never persisted malformed.
270
+ if (unicodeCarry[stream]) {
271
+ unicodeCarry[stream] = "";
272
+ publishSafeOutput(stream, "\ufffd");
273
+ }
274
+ }
159
275
  redactOutput = undefined;
160
276
  session.options.redactOutput = undefined;
161
277
  this.finalizeSession(session, exitCode, signal, error);
@@ -166,7 +282,12 @@ export class ExecProcessManager {
166
282
  : createPipeBackend(options, onOutput, onExit);
167
283
  session = {
168
284
  id,
169
- options,
285
+ options: { ...options, env: {},
286
+ command: redactOutput?.(options.command) ?? options.command,
287
+ description: options.description === undefined ? undefined : redactOutput?.(options.description) ?? options.description,
288
+ cwd: redactOutput?.(options.cwd) ?? options.cwd,
289
+ shell: { ...options.shell, requested: redactOutput?.(options.shell.requested) ?? options.shell.requested },
290
+ createStreamingRedactor: undefined },
170
291
  backend,
171
292
  startedAt: Date.now(),
172
293
  backgrounded: false,
@@ -181,6 +302,21 @@ export class ExecProcessManager {
181
302
  subscribers: new Set(),
182
303
  interactionTail: Promise.resolve(),
183
304
  };
305
+ if (options.ownerId && options.sessionDir) {
306
+ const binding = this.ownerBindings.get(options.ownerId);
307
+ const registered = binding?.dir === path.resolve(options.sessionDir)
308
+ ? { ok: true, value: { records: [], rejected: 0 } }
309
+ : this.registerOwnerSession(options.ownerId, options.sessionDir);
310
+ if (!registered.ok)
311
+ session.outputFailure = registered.reason;
312
+ else {
313
+ session.outputStore = this.ownerBindings.get(options.ownerId).store;
314
+ this.recordOutputResult(session, this.storeGuard(() => session.outputStore.start(options.ownerId, options.sessionDir, id, {
315
+ startedAt: session.startedAt, processId: backend.pid, tty: options.tty, sessionId: id,
316
+ status: "running", ...boundedRunMetadata(session.options),
317
+ })));
318
+ }
319
+ }
184
320
  return session;
185
321
  }
186
322
  signal(session, signal) {
@@ -201,13 +337,13 @@ export class ExecProcessManager {
201
337
  const requested = session.requestedTerminationReason;
202
338
  if (requested === "timeout") {
203
339
  session.status = "timed_out";
204
- session.exitCode = null;
205
- session.signal = null;
340
+ session.exitCode = exitCode;
341
+ session.signal = signal;
206
342
  session.terminationReason = "timeout";
207
343
  }
208
344
  else if (requested) {
209
345
  session.status = "killed";
210
- session.exitCode = null;
346
+ session.exitCode = exitCode;
211
347
  session.signal = signal;
212
348
  session.terminationReason = requested;
213
349
  }
@@ -229,6 +365,13 @@ export class ExecProcessManager {
229
365
  session.signal = null;
230
366
  session.terminationReason = exitCode === 0 ? "completed" : "failed";
231
367
  }
368
+ if (session.outputStore && session.options.ownerId) {
369
+ this.recordOutputResult(session, this.storeGuard(() => session.outputStore.finalize(session.options.ownerId, session.id, {
370
+ status: session.status, finishedAt: session.finishedAt, exitCode: session.exitCode,
371
+ signal: session.signal, terminationReason: session.terminationReason,
372
+ durationMs: session.finishedAt - session.startedAt,
373
+ })));
374
+ }
232
375
  this.notifyExit(session);
233
376
  }
234
377
  notifyExit(session) {
@@ -243,7 +386,7 @@ export class ExecProcessManager {
243
386
  session.cleanup = setTimeout(() => {
244
387
  this.sessions.delete(session.id);
245
388
  this.notify();
246
- }, this.options.completedRetentionMs ?? 300_000);
389
+ }, this.options.completedRetentionMs ?? TERMINAL_OUTPUT_RETENTION_MS);
247
390
  session.cleanup.unref();
248
391
  }
249
392
  this.notify();
@@ -288,6 +431,14 @@ export class ExecProcessManager {
288
431
  stderr: stderr.text,
289
432
  output_chars: { stdout: stdout.observed, stderr: stderr.observed },
290
433
  omitted_chars: { stdout: stdout.omitted, stderr: stderr.omitted },
434
+ owner_session_id: session.options.ownerId,
435
+ started_at: session.startedAt,
436
+ finished_at: session.finishedAt ?? null,
437
+ output_kind: "incremental",
438
+ output_cursor_unit: "utf8_bytes",
439
+ stream_mode: session.options.tty ? "tty_merged" : "separate",
440
+ output_ranges: { stdout: stdout.range, stderr: stderr.range },
441
+ output_ref: this.outputReference(session),
291
442
  };
292
443
  }
293
444
  prune() {
@@ -300,6 +451,9 @@ export class ExecProcessManager {
300
451
  const session = completed.shift();
301
452
  if (session.cleanup)
302
453
  clearTimeout(session.cleanup);
454
+ if (session.outputStore && session.options.ownerId) {
455
+ this.recordOutputResult(session, this.storeGuard(() => session.outputStore.evict(session.options.ownerId, session.id)));
456
+ }
303
457
  this.sessions.delete(session.id);
304
458
  this.notify();
305
459
  }
@@ -311,16 +465,43 @@ export class ExecProcessManager {
311
465
  subscriber();
312
466
  }
313
467
  }
468
+ function boundedRunMetadata(options) {
469
+ const result = {};
470
+ const limits = { command: 4096, cwd: 2048, shell: 256, description: 2048 };
471
+ for (const key of Object.keys(limits)) {
472
+ const text = key === "shell" ? options.shell.requested : options[key];
473
+ if (text === undefined)
474
+ continue;
475
+ const bytes = Buffer.from(text, "utf8");
476
+ let end = Math.min(limits[key], bytes.length);
477
+ if (end < bytes.length) {
478
+ while (end > 0 && (bytes[end] & 0xc0) === 0x80)
479
+ end--;
480
+ (result.truncatedFields ??= []).push(key);
481
+ }
482
+ result[key] = bytes.subarray(0, end).toString("utf8");
483
+ }
484
+ return result;
485
+ }
314
486
  class TextWindow {
315
487
  capacity;
316
488
  head = "";
317
489
  tail = "";
318
490
  observed = 0;
491
+ startByte = 0;
492
+ endByte = 0;
319
493
  constructor(capacity) {
320
494
  this.capacity = capacity;
321
495
  }
322
496
  push(text) {
497
+ const wasTruncated = this.observed > this.head.length + this.tail.length;
323
498
  this.observed += text.length;
499
+ this.endByte += Buffer.byteLength(text, "utf8");
500
+ if (wasTruncated) {
501
+ const tailSize = this.capacity - Math.floor(this.capacity / 2);
502
+ this.tail = (tailSize ? (this.tail + text).slice(-tailSize) : "").replace(/^[\uDC00-\uDFFF]/, "");
503
+ return;
504
+ }
324
505
  const combined = this.head + this.tail + text;
325
506
  if (combined.length <= this.capacity) {
326
507
  this.head = combined;
@@ -329,8 +510,8 @@ class TextWindow {
329
510
  }
330
511
  const headSize = Math.floor(this.capacity / 2);
331
512
  const tailSize = this.capacity - headSize;
332
- this.head = combined.slice(0, headSize);
333
- this.tail = combined.slice(-tailSize);
513
+ this.head = combined.slice(0, headSize).replace(/[\uD800-\uDBFF]$/, "");
514
+ this.tail = (tailSize ? combined.slice(-tailSize) : "").replace(/^[\uDC00-\uDFFF]/, "");
334
515
  }
335
516
  observedChars() {
336
517
  return this.observed;
@@ -338,13 +519,20 @@ class TextWindow {
338
519
  snapshot() {
339
520
  const omitted = Math.max(0, this.observed - this.head.length - this.tail.length);
340
521
  const marker = omitted > 0 ? `\n[... ${omitted} characters omitted ...]\n` : "";
341
- return { text: this.head + marker + this.tail, observed: this.observed, omitted };
522
+ const headEnd = this.startByte + Buffer.byteLength(this.head, "utf8");
523
+ const tailStart = this.endByte - Buffer.byteLength(this.tail, "utf8");
524
+ return { text: this.head + marker + this.tail, observed: this.observed, omitted,
525
+ range: { start: this.startByte, end: this.endByte, truncated: omitted > 0,
526
+ retained: omitted > 0 ? [{ start: this.startByte, end: headEnd }, { start: tailStart, end: this.endByte }]
527
+ : [{ start: this.startByte, end: this.endByte }],
528
+ gaps: omitted > 0 ? [{ start: headEnd, end: tailStart }] : [] } };
342
529
  }
343
530
  drain() {
344
531
  const result = this.snapshot();
345
532
  this.head = "";
346
533
  this.tail = "";
347
534
  this.observed = 0;
535
+ this.startByte = this.endByte;
348
536
  return result;
349
537
  }
350
538
  }
@@ -457,6 +645,17 @@ function createPipeBackend(options, onOutput, onExit) {
457
645
  function shellCommand(options) {
458
646
  return options.shell.commandPrefix ? `${options.shell.commandPrefix}${options.command}` : options.command;
459
647
  }
648
+ // Match legacy newline normalization without doubling CRLF split across process chunks.
649
+ function createOutputNormalizer() {
650
+ let previousCR = false;
651
+ return { push(text) {
652
+ if (!text)
653
+ return "";
654
+ const input = previousCR && text.startsWith("\n") ? text.slice(1) : text;
655
+ previousCR = text.endsWith("\r");
656
+ return normalizeOutput(input);
657
+ } };
658
+ }
460
659
  function normalizeOutput(text) {
461
660
  return text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
462
661
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exec-process-manager.js","sourceRoot":"","sources":["../../../src/tools/builtins/exec-process-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-process-manager.js","sourceRoot":"","sources":["../../../src/tools/builtins/exec-process-manager.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,7 @@ export function createExecTool(runtime) {
95
95
  });
96
96
  const result = await manager.execute({
97
97
  ownerId: context.session?.sessionId ?? context.agentId,
98
+ sessionDir: context.session?.sessionDir,
98
99
  command: input.cmd,
99
100
  description: input.description,
100
101
  cwd,
@@ -245,7 +246,11 @@ function emitOutputDelta(context, delta) {
245
246
  operation: "append",
246
247
  phase: "running",
247
248
  key: delta.sessionId,
248
- data: { type: "terminal.output.delta", session_id: delta.sessionId, stream: delta.stream, text, output_start: delta.outputStart, output_end: delta.outputEnd },
249
+ data: { type: "terminal.output.delta", session_id: delta.sessionId, stream: delta.stream, text,
250
+ output_start: delta.outputStart, output_end: delta.outputEnd,
251
+ owner_session_id: delta.ownerSessionId, output_kind: delta.outputKind,
252
+ stream_start: delta.streamStart, stream_end: delta.streamEnd,
253
+ output_cursor_unit: delta.cursorUnit, stream_mode: delta.streamMode },
249
254
  });
250
255
  }
251
256
  function toToolOutput(result) {
@@ -267,6 +272,14 @@ function toToolOutput(result) {
267
272
  stderr: result.stderr,
268
273
  output_chars: result.output_chars,
269
274
  omitted_chars: result.omitted_chars,
275
+ owner_session_id: result.owner_session_id,
276
+ started_at: result.started_at,
277
+ finished_at: result.finished_at,
278
+ output_kind: result.output_kind,
279
+ output_cursor_unit: result.output_cursor_unit,
280
+ stream_mode: result.stream_mode,
281
+ output_ranges: result.output_ranges,
282
+ output_ref: result.output_ref,
270
283
  };
271
284
  }
272
285
  function summarizeExecOutput(output) {
@@ -1 +1 @@
1
- {"version":3,"file":"exec-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/exec-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/exec-tool.ts"],"names":[],"mappings":"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"}