@post-print/agent-harness 2.0.10 → 2.1.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.
Files changed (60) hide show
  1. package/README.md +5 -3
  2. package/dist/agent-error.d.ts +13 -0
  3. package/dist/agent-error.d.ts.map +1 -1
  4. package/dist/agent-error.js +15 -0
  5. package/dist/agent-error.js.map +1 -1
  6. package/dist/agent-session.d.ts +2 -0
  7. package/dist/agent-session.d.ts.map +1 -1
  8. package/dist/agent-session.js +7 -2
  9. package/dist/agent-session.js.map +1 -1
  10. package/dist/agent-worker.js +5 -5
  11. package/dist/agent-worker.js.map +1 -1
  12. package/dist/capture.d.ts +2 -0
  13. package/dist/capture.d.ts.map +1 -1
  14. package/dist/capture.js +11 -5
  15. package/dist/capture.js.map +1 -1
  16. package/dist/claude-capture.d.ts.map +1 -1
  17. package/dist/claude-capture.js +5 -5
  18. package/dist/claude-capture.js.map +1 -1
  19. package/dist/claude-run.d.ts +14 -0
  20. package/dist/claude-run.d.ts.map +1 -1
  21. package/dist/claude-run.js +9 -1
  22. package/dist/claude-run.js.map +1 -1
  23. package/dist/conversation-history.d.ts +8 -0
  24. package/dist/conversation-history.d.ts.map +1 -0
  25. package/dist/conversation-history.js +14 -0
  26. package/dist/conversation-history.js.map +1 -0
  27. package/dist/host-isolation.d.ts +26 -0
  28. package/dist/host-isolation.d.ts.map +1 -0
  29. package/dist/host-isolation.js +68 -0
  30. package/dist/host-isolation.js.map +1 -0
  31. package/dist/index.d.ts +4 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/openai-capture.d.ts.map +1 -1
  36. package/dist/openai-capture.js +2 -2
  37. package/dist/openai-capture.js.map +1 -1
  38. package/dist/openai-run.d.ts +5 -2
  39. package/dist/openai-run.d.ts.map +1 -1
  40. package/dist/openai-run.js +13 -11
  41. package/dist/openai-run.js.map +1 -1
  42. package/dist/sealed-storage.d.ts +2 -1
  43. package/dist/sealed-storage.d.ts.map +1 -1
  44. package/dist/sealed-storage.js +3 -3
  45. package/dist/sealed-storage.js.map +1 -1
  46. package/dist/sealed-workspace.d.ts +12 -1
  47. package/dist/sealed-workspace.d.ts.map +1 -1
  48. package/dist/sealed-workspace.js +89 -45
  49. package/dist/sealed-workspace.js.map +1 -1
  50. package/dist/shell-paths.d.ts +13 -0
  51. package/dist/shell-paths.d.ts.map +1 -0
  52. package/dist/shell-paths.js +31 -0
  53. package/dist/shell-paths.js.map +1 -0
  54. package/dist/tool-images.d.ts +14 -0
  55. package/dist/tool-images.d.ts.map +1 -0
  56. package/dist/tool-images.js +58 -0
  57. package/dist/tool-images.js.map +1 -0
  58. package/dist/types.d.ts +9 -1
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -1,7 +1,11 @@
1
1
  import { execFile } from "node:child_process";
2
+ import { existsSync } from "node:fs";
2
3
  import { cp, mkdir, rm } from "node:fs/promises";
4
+ import { homedir } from "node:os";
3
5
  import { dirname, isAbsolute, join, resolve, sep } from "node:path";
4
6
  import { promisify } from "node:util";
7
+ import { WorkspaceEscapeError } from "./agent-error.js";
8
+ import { shellSegments } from "./shell-paths.js";
5
9
  import { SKILL_ROOTS, skillOverlayRelPath } from "./skills-context.js";
6
10
  import { isPathUnderRoot } from "./working-tree-guard.js";
7
11
  const BACKSLASH = /\\/g;
@@ -119,7 +123,7 @@ export async function createSealedWorkspace(options) {
119
123
  const parsed = parseScenarioWorkspace(options.workspace);
120
124
  if (!parsed.ok)
121
125
  throw new Error(parsed.message);
122
- const sealed = await allocateSealedWorkspace(options.callerCwd);
126
+ const sealed = await allocateSealedWorkspace();
123
127
  try {
124
128
  await materializeSealedWorkspace(options, parsed.rel, sealed.path);
125
129
  await initNestedGit(sealed.path);
@@ -130,6 +134,21 @@ export async function createSealedWorkspace(options) {
130
134
  throw error;
131
135
  }
132
136
  }
137
+ /**
138
+ * An empty sealed workspace for read-only reviewers. It lives in the OS temp folder with
139
+ * its own Git root, so hosts discover no caller AGENTS.md/CLAUDE.md and no run evidence.
140
+ */
141
+ export async function createEmptySealedWorkspace() {
142
+ const sealed = await allocateSealedWorkspace();
143
+ try {
144
+ await initNestedGit(sealed.path);
145
+ return sealed;
146
+ }
147
+ catch (error) {
148
+ await sealed.cleanup();
149
+ throw error;
150
+ }
151
+ }
133
152
  async function materializeSealedWorkspace(options, workspaceRel, dest) {
134
153
  if (workspaceRel) {
135
154
  await materializeWorkspaceFolder(options.callerCwd, workspaceRel, dest);
@@ -139,59 +158,84 @@ async function materializeSealedWorkspace(options, workspaceRel, dest) {
139
158
  for (const rel of options.overlayPaths ?? [])
140
159
  await overlayPath(options.callerCwd, dest, rel);
141
160
  }
142
- function candidatePathsFromArgs(args) {
143
- if (!args) {
144
- return [];
145
- }
146
- const paths = [];
147
- for (const key of ["path", "file_path", "filePath", "target_file", "uri", "cwd"]) {
148
- const value = args[key];
149
- if (typeof value === "string") {
150
- paths.push(value.replace(FILE_PROTOCOL, ""));
151
- }
152
- }
153
- paths.push(...contextPathsFromCommand(args.command));
154
- return paths;
161
+ /** Read-only toolchain roots a shell command may name without leaving the task. */
162
+ const SYSTEM_READ_ROOTS = ["/bin", "/usr", "/sbin", "/System", "/Library", "/opt", "/dev"];
163
+ const HOME_PREFIX = /^(?:~|\$HOME|\$\{HOME\})(?=\/|$)/;
164
+ const PATH_ARG_KEYS = ["path", "file_path", "filePath", "target_file", "uri", "cwd"];
165
+ function isSystemPath(absolute) {
166
+ return SYSTEM_READ_ROOTS.some((root) => isPathUnderRoot(absolute, root));
155
167
  }
156
- function contextPathsFromCommand(command) {
168
+ function isCursorToolOutput(path) {
169
+ return path.includes("/.cursor/projects/") && path.includes("/agent-tools/");
170
+ }
171
+ function expandHome(token) {
172
+ return token.replace(HOME_PREFIX, homedir());
173
+ }
174
+ function namedPath(raw, from) {
175
+ const value = expandHome(raw.replace(FILE_PROTOCOL, ""));
176
+ return { raw, absolute: isAbsolute(value) ? resolve(value) : resolve(from, value) };
177
+ }
178
+ /**
179
+ * A shell token that names a filesystem location rather than a pattern or flag.
180
+ * Absolute tokens count only when their top-level directory exists, so `awk '/x/'`
181
+ * is not mistaken for a path.
182
+ */
183
+ function isShellPathToken(token) {
184
+ const value = token.replace(TRAILING_PUNCTUATION, "");
185
+ if (HOME_PREFIX.test(value) || value.split("/").includes(".."))
186
+ return true;
187
+ if (!value.startsWith("/") || value.startsWith("//"))
188
+ return false;
189
+ const topLevel = `/${value.split("/")[1] ?? ""}`;
190
+ return topLevel !== "/" && existsSync(topLevel);
191
+ }
192
+ /** Paths named in a shell command, following `cd` so relative paths resolve correctly. */
193
+ function shellCommandPaths(command, cwd) {
157
194
  const paths = [];
158
- if (typeof command === "string") {
159
- const ignoredExecutables = new Set(["/bin/bash", "/bin/sh", "/bin/zsh", "/usr/bin/env"]);
160
- for (const match of command.matchAll(/(?:^|[\s"'])((?:\.\.\/|\/)[^\s"';&|)]+)/g)) {
161
- const path = match[1]?.replace(TRAILING_PUNCTUATION, "");
162
- // Shell commands often inspect runner temp folders while running tests.
163
- // Only flag external agent configuration paths here; direct tool path
164
- // arguments still use the complete escape check below.
165
- if (path && !ignoredExecutables.has(path) && isAgentContextPath(path)) {
166
- paths.push(path);
167
- }
168
- }
195
+ let current = cwd;
196
+ for (const { tokens } of shellSegments(command)) {
197
+ const named = tokens.filter(isShellPathToken).map((token) => namedPath(token, current));
198
+ paths.push(...named);
199
+ if (tokens[0] === "cd" && tokens[1])
200
+ current = namedPath(tokens[1], current).absolute;
169
201
  }
170
202
  return paths;
171
203
  }
172
- function isAgentContextPath(path) {
173
- return (path.includes("/.agents/skills/") ||
174
- path.endsWith("/AGENTS.md") ||
175
- path.endsWith("/CLAUDE.md") ||
176
- path.includes("/.cursor/"));
204
+ function toolCallPaths(args, root) {
205
+ if (!args)
206
+ return [];
207
+ const cwd = typeof args.cwd === "string" ? namedPath(args.cwd, root).absolute : root;
208
+ const paths = PATH_ARG_KEYS.map((key) => args[key])
209
+ .filter((value) => typeof value === "string")
210
+ .map((value) => namedPath(value, root));
211
+ if (typeof args.pattern === "string" && isAbsolute(args.pattern))
212
+ paths.push(namedPath(args.pattern, root));
213
+ if (typeof args.command === "string")
214
+ paths.push(...shellCommandPaths(args.command, cwd));
215
+ return paths;
177
216
  }
178
- function isCursorToolOutput(path) {
179
- return path.includes("/.cursor/projects/") && path.includes("/agent-tools/");
217
+ function escapesWorkspace(path, root) {
218
+ if (isCursorToolOutput(path.absolute.replaceAll("\\", "/")))
219
+ return false;
220
+ return !isPathUnderRoot(path.absolute, root) && !isSystemPath(path.absolute);
180
221
  }
181
- /** Tool paths that resolve outside the sealed workspace. */
222
+ /**
223
+ * Paths a tool call named outside the sealed workspace. Shell commands are unwrapped
224
+ * and scanned for absolute, home-relative, and parent-relative tokens; only read-only
225
+ * system toolchain roots are allowed.
226
+ */
182
227
  export function toolPathsOutsideWorkspace(trace, workspaceRoot) {
183
228
  const root = resolve(workspaceRoot);
184
- const escaped = [];
185
- for (const raw of trace.toolCalls.flatMap((call) => candidatePathsFromArgs(call.args))) {
186
- const abs = isAbsolute(raw) ? resolve(raw) : resolve(root, raw);
187
- const normalized = abs.replaceAll("\\", "/");
188
- if (isCursorToolOutput(normalized)) {
189
- continue;
190
- }
191
- if (!isPathUnderRoot(abs, root)) {
192
- escaped.push(raw);
193
- }
194
- }
229
+ const escaped = trace.toolCalls
230
+ .flatMap((call) => toolCallPaths(call.args, root))
231
+ .filter((path) => escapesWorkspace(path, root))
232
+ .map((path) => path.raw);
195
233
  return [...new Set(escaped)];
196
234
  }
235
+ /** Reject a trace whose tool calls named paths outside the sealed workspace. */
236
+ export function assertInsideWorkspace(trace, workspaceRoot) {
237
+ const escaped = toolPathsOutsideWorkspace(trace, workspaceRoot);
238
+ if (escaped.length)
239
+ throw new WorkspaceEscapeError(escaped, trace);
240
+ }
197
241
  //# sourceMappingURL=sealed-workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealed-workspace.js","sourceRoot":"","sources":["../src/sealed-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sealed-workspace.js","sourceRoot":"","sources":["../src/sealed-workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** One simple command inside a shell payload, with the operator that follows it. */
2
+ export interface ShellSegment {
3
+ tokens: string[];
4
+ /** Operator after this segment, or undefined for the final segment. */
5
+ next?: "&&" | "||" | ";" | "|";
6
+ }
7
+ /** The script inside `/bin/zsh -lc "…"`, or the command itself when unwrapped. */
8
+ export declare function shellPayload(command: string): string;
9
+ /** Split a payload into simple commands, keeping the operator between them. */
10
+ export declare function shellSegments(command: string): ShellSegment[];
11
+ /** Whitespace/quote tokens with redirection prefixes and `--opt=` prefixes removed. */
12
+ export declare function shellTokens(segment: string): string[];
13
+ //# sourceMappingURL=shell-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-paths.d.ts","sourceRoot":"","sources":["../src/shell-paths.ts"],"names":[],"mappings":"AAMA,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uEAAuE;IACvE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;CAC/B;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAS7D;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOrD"}
@@ -0,0 +1,31 @@
1
+ const SHELL_WRAPPER = /\s-(?:lc|c)\s+(["'])([\s\S]*)\1\s*$/;
2
+ const SEGMENT_SEPARATOR = /(&&|\|\||[;|])/;
3
+ const TOKEN_SEPARATORS = /[\s"']+/;
4
+ const REDIRECTION_PREFIX = /^\d*[<>]+&?/;
5
+ const OPTION_VALUE = /^--?[\w-]+=(.+)$/;
6
+ /** The script inside `/bin/zsh -lc "…"`, or the command itself when unwrapped. */
7
+ export function shellPayload(command) {
8
+ return command.match(SHELL_WRAPPER)?.[2] ?? command;
9
+ }
10
+ /** Split a payload into simple commands, keeping the operator between them. */
11
+ export function shellSegments(command) {
12
+ const parts = shellPayload(command).split(SEGMENT_SEPARATOR);
13
+ const segments = [];
14
+ for (let index = 0; index < parts.length; index += 2) {
15
+ const tokens = shellTokens(parts[index] ?? "");
16
+ const next = parts[index + 1];
17
+ if (tokens.length)
18
+ segments.push({ tokens, next });
19
+ }
20
+ return segments;
21
+ }
22
+ /** Whitespace/quote tokens with redirection prefixes and `--opt=` prefixes removed. */
23
+ export function shellTokens(segment) {
24
+ return segment
25
+ .trim()
26
+ .split(TOKEN_SEPARATORS)
27
+ .map((token) => token.replace(REDIRECTION_PREFIX, ""))
28
+ .map((token) => token.match(OPTION_VALUE)?.[1] ?? token)
29
+ .filter(Boolean);
30
+ }
31
+ //# sourceMappingURL=shell-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-paths.js","sourceRoot":"","sources":["../src/shell-paths.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AASxC,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,OAAe;IAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AACrD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAyB,CAAC;QACtD,IAAI,MAAM,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,OAAe;IAC1C,OAAO,OAAO;SACZ,IAAI,EAAE;SACN,KAAK,CAAC,gBAAgB,CAAC;SACvB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;SACvD,MAAM,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AgentToolImage } from "./types.js";
2
+ /** Largest decoded image kept inline on a tool call. Larger images keep only their metadata. */
3
+ export declare const MAX_INLINE_IMAGE_BYTES: number;
4
+ /** Images kept inline per tool call; later images keep only their metadata. */
5
+ export declare const MAX_INLINE_IMAGES_PER_TOOL_CALL = 4;
6
+ /**
7
+ * Split a host tool result into text and images. Image blocks become a short
8
+ * `[image: …]` marker in the text so traces, assertions, and judges never carry base64.
9
+ */
10
+ export declare function extractToolImages(result: unknown): {
11
+ value: unknown;
12
+ images: AgentToolImage[];
13
+ };
14
+ //# sourceMappingURL=tool-images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-images.d.ts","sourceRoot":"","sources":["../src/tool-images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,gGAAgG;AAChG,eAAO,MAAM,sBAAsB,QAAa,CAAC;AACjD,+EAA+E;AAC/E,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAKjD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,cAAc,EAAE,CAAA;CAAE,CAI/F"}
@@ -0,0 +1,58 @@
1
+ /** Largest decoded image kept inline on a tool call. Larger images keep only their metadata. */
2
+ export const MAX_INLINE_IMAGE_BYTES = 256 * 1024;
3
+ /** Images kept inline per tool call; later images keep only their metadata. */
4
+ export const MAX_INLINE_IMAGES_PER_TOOL_CALL = 4;
5
+ const MAX_RESULT_DEPTH = 8;
6
+ /**
7
+ * Split a host tool result into text and images. Image blocks become a short
8
+ * `[image: …]` marker in the text so traces, assertions, and judges never carry base64.
9
+ */
10
+ export function extractToolImages(result) {
11
+ const images = [];
12
+ const value = replaceImageBlocks(result, images, 0);
13
+ return { value, images };
14
+ }
15
+ function replaceImageBlocks(value, images, depth) {
16
+ if (depth > MAX_RESULT_DEPTH || value === null || typeof value !== "object")
17
+ return value;
18
+ if (Array.isArray(value))
19
+ return value.map((item) => replaceImageBlocks(item, images, depth + 1));
20
+ const block = imageBlock(value);
21
+ if (block)
22
+ return imageMarker(keepImage(block, images));
23
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, replaceImageBlocks(item, images, depth + 1)]));
24
+ }
25
+ /** Claude `{ source: { type: "base64" } }` and MCP `{ data, mimeType }` image content blocks. */
26
+ function imageBlock(record) {
27
+ if (record.type !== "image")
28
+ return undefined;
29
+ const source = record.source;
30
+ if (source?.type === "base64" && typeof source.data === "string")
31
+ return { mediaType: String(source.media_type ?? "image/*"), data: source.data };
32
+ if (typeof record.data === "string" && typeof record.mimeType === "string")
33
+ return { mediaType: record.mimeType, data: record.data };
34
+ return undefined;
35
+ }
36
+ function keepImage(block, images) {
37
+ const bytes = decodedBase64Bytes(block.data);
38
+ const inline = bytes <= MAX_INLINE_IMAGE_BYTES &&
39
+ images.filter((image) => image.data).length < MAX_INLINE_IMAGES_PER_TOOL_CALL;
40
+ const image = {
41
+ mediaType: block.mediaType,
42
+ bytes,
43
+ ...(inline ? { data: block.data } : {}),
44
+ };
45
+ images.push(image);
46
+ return image;
47
+ }
48
+ function imageMarker(image) {
49
+ const size = `${Math.max(1, Math.round(image.bytes / 1024))} KB`;
50
+ return image.data
51
+ ? `[image: ${image.mediaType}, ${size}]`
52
+ : `[image omitted: ${image.mediaType}, ${size}]`;
53
+ }
54
+ function decodedBase64Bytes(data) {
55
+ const padding = data.endsWith("==") ? 2 : data.endsWith("=") ? 1 : 0;
56
+ return Math.max(0, Math.floor((data.length * 3) / 4) - padding);
57
+ }
58
+ //# sourceMappingURL=tool-images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-images.js","sourceRoot":"","sources":["../src/tool-images.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -23,8 +23,10 @@ export interface AgentMessage {
23
23
  export interface AgentToolCall {
24
24
  name: string;
25
25
  args?: Record<string, unknown>;
26
- /** Tool output when the SDK stream includes it (including MCP tools). */
26
+ /** Tool output when the SDK stream includes it (including MCP tools). Images appear as `[image: …]` markers. */
27
27
  result?: string;
28
+ /** Images the tool returned, with inline base64 only when within the size budget. */
29
+ images?: AgentToolImage[];
28
30
  /** Structured execution outcome when the host reports one. */
29
31
  succeeded?: boolean;
30
32
  /** Exact process exit code when the host reports one. */
@@ -32,6 +34,12 @@ export interface AgentToolCall {
32
34
  /** Monotonic emission order shared with messages, for chronological interleaving. Absent on legacy traces. */
33
35
  seq?: number;
34
36
  }
37
+ /** An image a tool returned. `data` is base64 and absent when the image exceeded the inline budget. */
38
+ export interface AgentToolImage {
39
+ mediaType: string;
40
+ bytes: number;
41
+ data?: string;
42
+ }
35
43
  /** Provider-reported token usage when the host SDK surfaces it. */
36
44
  export interface AgentUsage {
37
45
  inputTokens?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@post-print/agent-harness",
3
- "version": "2.0.10",
3
+ "version": "2.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",