@oneharness/sdk 0.17.1 → 0.19.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.
@@ -112,6 +112,9 @@ export type HistoryRecord = ({
112
112
  }) | (ActionEvent & {
113
113
  kind?: "tool_result" | undefined;
114
114
  [k: string]: unknown;
115
+ }) | (ActionEvent & {
116
+ kind?: "message" | "reasoning" | undefined;
117
+ [k: string]: unknown;
115
118
  }))[] | null;
116
119
  exit_code: number | null;
117
120
  /**
@@ -270,6 +273,9 @@ export type HistoryRecord = ({
270
273
  }) | (ActionEvent & {
271
274
  kind?: "tool_result" | undefined;
272
275
  [k: string]: unknown;
276
+ }) | (ActionEvent & {
277
+ kind?: "message" | "reasoning" | undefined;
278
+ [k: string]: unknown;
273
279
  })) & {
274
280
  timing_source?: never | undefined;
275
281
  [k: string]: unknown;
@@ -1367,8 +1373,10 @@ export interface ActionEvent {
1367
1373
  duration_ms: number | null;
1368
1374
  finished_at: string | null;
1369
1375
  /**
1370
- * Position of this event within the run, so "≤ N tool calls" and "did X
1371
- * before Y" are expressible from a stable ordering (also array order).
1376
+ * Position of this event within the run, so "did X before Y" is
1377
+ * expressible from a stable ordering (also array order). It counts every
1378
+ * kind, so tool calls interleaved with `message`/`reasoning` events do not
1379
+ * carry contiguous indexes; count tool calls by `kind`, not by `index`.
1372
1380
  */
1373
1381
  index: number;
1374
1382
  /**
@@ -1378,9 +1386,13 @@ export interface ActionEvent {
1378
1386
  */
1379
1387
  input: unknown;
1380
1388
  /**
1381
- * The kind of event: `tool_call` (the model invoked a tool) or
1382
- * `tool_result` (the observation returned to the model). Left open for
1383
- * future kinds rather than an enum, so a new shape never breaks the field.
1389
+ * The kind of event: `tool_call` (the model invoked a tool),
1390
+ * `tool_result` (the observation returned to the model), `message` (the
1391
+ * agent's own text, in `output`) or `reasoning` (its reasoning text, in
1392
+ * `output`). A `message` or `reasoning` event is one finished item, never
1393
+ * a token delta. Left open for future kinds rather than an enum, so a new
1394
+ * shape never breaks the field — a consumer counting tool calls filters on
1395
+ * it (see [`ActionEvent::is_tool_activity`]).
1384
1396
  */
1385
1397
  kind: string;
1386
1398
  /**
@@ -48,7 +48,11 @@ export interface RunOptions {
48
48
  bins?: {
49
49
  [k: string]: string;
50
50
  } | undefined;
51
- config?: string | undefined;
51
+ /**
52
+ * Load configuration from exactly these files, in order, skipping
53
+ * user/project discovery; each later file overrides the earlier ones.
54
+ */
55
+ config?: readonly string[] | undefined;
52
56
  /**
53
57
  * Open the out-of-band turn-control socket, so a separate `interrupt()`
54
58
  * can abort the in-flight turn without killing this run.
@@ -92,6 +96,10 @@ export interface RunOptions {
92
96
  mockRules?: string | undefined;
93
97
  mode?: PermissionMode | undefined;
94
98
  models?: readonly string[] | undefined;
99
+ /**
100
+ * Ignore every configuration file and `ONEHARNESS_*` override. `true`
101
+ * beside a non-empty `config` is refused before anything runs.
102
+ */
95
103
  noConfig?: boolean | undefined;
96
104
  /**
97
105
  * Do NOT record history for this run, overriding config or the
@@ -169,8 +169,10 @@ export interface ActionEvent {
169
169
  duration_ms: number | null;
170
170
  finished_at: string | null;
171
171
  /**
172
- * Position of this event within the run, so "≤ N tool calls" and "did X
173
- * before Y" are expressible from a stable ordering (also array order).
172
+ * Position of this event within the run, so "did X before Y" is
173
+ * expressible from a stable ordering (also array order). It counts every
174
+ * kind, so tool calls interleaved with `message`/`reasoning` events do not
175
+ * carry contiguous indexes; count tool calls by `kind`, not by `index`.
174
176
  */
175
177
  index: number;
176
178
  /**
@@ -180,9 +182,13 @@ export interface ActionEvent {
180
182
  */
181
183
  input: unknown;
182
184
  /**
183
- * The kind of event: `tool_call` (the model invoked a tool) or
184
- * `tool_result` (the observation returned to the model). Left open for
185
- * future kinds rather than an enum, so a new shape never breaks the field.
185
+ * The kind of event: `tool_call` (the model invoked a tool),
186
+ * `tool_result` (the observation returned to the model), `message` (the
187
+ * agent's own text, in `output`) or `reasoning` (its reasoning text, in
188
+ * `output`). A `message` or `reasoning` event is one finished item, never
189
+ * a token delta. Left open for future kinds rather than an enum, so a new
190
+ * shape never breaks the field — a consumer counting tool calls filters on
191
+ * it (see [`ActionEvent::is_tool_activity`]).
186
192
  */
187
193
  kind: string;
188
194
  /**