@oneharness/sdk 0.4.6 → 0.5.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/generated/history-line.d.ts +203 -0
- package/dist/generated/history-line.js +2 -0
- package/dist/generated/history-records.d.ts +2 -2
- package/dist/generated/history-stream-envelope.d.ts +16 -2
- package/dist/generated/history-watch-options.d.ts +1 -0
- package/dist/generated/history.d.ts +2 -2
- package/dist/generated/schemas.json +833 -6
- package/dist/generated/zod.d.ts +4 -1
- package/dist/generated/zod.js +180 -6
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/package.json +2 -2
package/dist/generated/zod.d.ts
CHANGED
|
@@ -2,11 +2,12 @@ import { z } from "zod";
|
|
|
2
2
|
import type { ActionEvent, BatchReport, FailureKind, FallThrough, FallbackReport, OutputFormat, RunReport, RunResult, SessionReport, Status, ToolCallStatus, Usage } from "./contracts.js";
|
|
3
3
|
import type { DetectInfo, DetectReport } from "./detection.js";
|
|
4
4
|
import type { HistoryRecord } from "./history.js";
|
|
5
|
+
import type { HistoryLine } from "./history-line.js";
|
|
5
6
|
import type { HistoryList, HistorySessionSummary } from "./history-list.js";
|
|
6
7
|
import type { HistoryListOptions } from "./history-list-options.js";
|
|
7
8
|
import type { HistoryLookup, HistoryLookupByLast, HistoryLookupBySession } from "./history-lookup.js";
|
|
8
9
|
import type { HistoryRecords } from "./history-records.js";
|
|
9
|
-
import type { HistoryStreamEnvelope } from "./history-stream-envelope.js";
|
|
10
|
+
import type { HistoryEventLine, HistoryStreamEnvelope } from "./history-stream-envelope.js";
|
|
10
11
|
import type { HistoryWatchOptions } from "./history-watch-options.js";
|
|
11
12
|
import type { HistoryLabels, PermissionMode, RunOptions } from "./options.js";
|
|
12
13
|
import type { HarnessInfo, ListReport, ModeInfo } from "./registry.js";
|
|
@@ -23,7 +24,9 @@ export declare const FailureKindSchema: z.ZodType<FailureKind>;
|
|
|
23
24
|
export declare const FallThroughSchema: z.ZodType<FallThrough>;
|
|
24
25
|
export declare const FallbackReportSchema: z.ZodType<FallbackReport>;
|
|
25
26
|
export declare const HarnessInfoSchema: z.ZodType<HarnessInfo>;
|
|
27
|
+
export declare const HistoryEventLineSchema: z.ZodType<HistoryEventLine>;
|
|
26
28
|
export declare const HistoryLabelsSchema: z.ZodType<HistoryLabels>;
|
|
29
|
+
export declare const HistoryLineSchema: z.ZodType<HistoryLine>;
|
|
27
30
|
export declare const HistoryListSchema: z.ZodType<HistoryList>;
|
|
28
31
|
export declare const HistoryListOptionsSchema: z.ZodType<HistoryListOptions>;
|
|
29
32
|
export declare const HistoryLookupSchema: z.ZodType<HistoryLookup>;
|
package/dist/generated/zod.js
CHANGED
|
@@ -77,6 +77,17 @@ export const HarnessInfoSchema = z.looseObject({
|
|
|
77
77
|
supports_system_file: z.boolean().refine((value) => value !== undefined, { message: "Required" }),
|
|
78
78
|
sync_file: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
79
79
|
});
|
|
80
|
+
export const HistoryEventLineSchema = z.looseObject({
|
|
81
|
+
event: z.lazy(() => ActionEventSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
82
|
+
harness: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
83
|
+
run_id: z
|
|
84
|
+
.string()
|
|
85
|
+
.min(36)
|
|
86
|
+
.regex(new RegExp("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "u"))
|
|
87
|
+
.refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
|
|
88
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
89
|
+
schema_version: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
90
|
+
});
|
|
80
91
|
export const HistoryLabelsSchema = z.record(z
|
|
81
92
|
.string()
|
|
82
93
|
.regex(new RegExp("^[A-Za-z0-9]", "u"))
|
|
@@ -90,6 +101,158 @@ export const HistoryLabelsSchema = z.record(z
|
|
|
90
101
|
.refine((value) => !new RegExp("[\\u0000-\\u001f\\u007f-\\u009f]", "u").test(value), {
|
|
91
102
|
message: "Invalid string: must not contain [\\u0000-\\u001f\\u007f-\\u009f]",
|
|
92
103
|
}));
|
|
104
|
+
export const HistoryLineSchema = z.union([
|
|
105
|
+
z.looseObject({
|
|
106
|
+
event: z.lazy(() => ActionEventSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
107
|
+
harness: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
108
|
+
run_id: z
|
|
109
|
+
.string()
|
|
110
|
+
.min(36)
|
|
111
|
+
.regex(new RegExp("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "u"))
|
|
112
|
+
.refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
|
|
113
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
114
|
+
schema_version: z.literal("1.0").refine((value) => value !== undefined, { message: "Required" }),
|
|
115
|
+
type: z.literal("event").refine((value) => value !== undefined, { message: "Required" }),
|
|
116
|
+
}),
|
|
117
|
+
z.union([
|
|
118
|
+
z.looseObject({
|
|
119
|
+
duration_ms: z
|
|
120
|
+
.int()
|
|
121
|
+
.gte(0)
|
|
122
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
123
|
+
exit_code: z.union([z.int(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
124
|
+
failure_kind: z
|
|
125
|
+
.union([z.lazy(() => FailureKindSchema), z.null()])
|
|
126
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
127
|
+
finished_at: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
128
|
+
harness: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
129
|
+
history_id: z
|
|
130
|
+
.string()
|
|
131
|
+
.min(36)
|
|
132
|
+
.regex(new RegExp("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "u"))
|
|
133
|
+
.refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
|
|
134
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
135
|
+
labels: z.lazy(() => HistoryLabelsSchema).optional(),
|
|
136
|
+
model: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
137
|
+
model_ms: z
|
|
138
|
+
.int()
|
|
139
|
+
.gte(0)
|
|
140
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
141
|
+
name: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
142
|
+
permission_mode: z
|
|
143
|
+
.lazy(() => PermissionModeSchema)
|
|
144
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
145
|
+
project: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
146
|
+
prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
147
|
+
schema_version: z.literal("1.0").refine((value) => value !== undefined, { message: "Required" }),
|
|
148
|
+
session: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
149
|
+
session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
150
|
+
started_at: z
|
|
151
|
+
.string()
|
|
152
|
+
.min(1)
|
|
153
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
154
|
+
status: z
|
|
155
|
+
.union([z.literal("ok"), z.literal("nonzero")])
|
|
156
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
157
|
+
text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
158
|
+
text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
159
|
+
time_to_first_token_ms: z.union([z.int().gte(0), z.null()]).optional(),
|
|
160
|
+
timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
161
|
+
tool_ms: z
|
|
162
|
+
.int()
|
|
163
|
+
.gte(0)
|
|
164
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
165
|
+
type: z.literal("run").refine((value) => value !== undefined, { message: "Required" }),
|
|
166
|
+
usage: z.lazy(() => UsageSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
167
|
+
}),
|
|
168
|
+
z.looseObject({
|
|
169
|
+
duration_ms: z
|
|
170
|
+
.int()
|
|
171
|
+
.gte(0)
|
|
172
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
173
|
+
exit_code: z.union([z.int(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
174
|
+
failure_kind: z
|
|
175
|
+
.union([z.lazy(() => FailureKindSchema), z.null()])
|
|
176
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
177
|
+
finished_at: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
178
|
+
harness: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
179
|
+
history_id: z
|
|
180
|
+
.string()
|
|
181
|
+
.min(36)
|
|
182
|
+
.regex(new RegExp("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "u"))
|
|
183
|
+
.refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
|
|
184
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
185
|
+
labels: z.lazy(() => HistoryLabelsSchema).optional(),
|
|
186
|
+
model: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
187
|
+
model_ms: z
|
|
188
|
+
.int()
|
|
189
|
+
.gte(0)
|
|
190
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
191
|
+
name: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
192
|
+
permission_mode: z
|
|
193
|
+
.lazy(() => PermissionModeSchema)
|
|
194
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
195
|
+
project: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
196
|
+
prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
197
|
+
schema_version: z.literal("1.0").refine((value) => value !== undefined, { message: "Required" }),
|
|
198
|
+
session: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
199
|
+
session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
200
|
+
started_at: z
|
|
201
|
+
.string()
|
|
202
|
+
.min(1)
|
|
203
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
204
|
+
status: z
|
|
205
|
+
.union([z.literal("timeout"), z.literal("spawn_error"), z.literal("skipped"), z.literal("planned")])
|
|
206
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
207
|
+
text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
208
|
+
text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
209
|
+
time_to_first_token_ms: z.union([z.int().gte(0), z.null()]).optional(),
|
|
210
|
+
timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
211
|
+
tool_ms: z
|
|
212
|
+
.int()
|
|
213
|
+
.gte(0)
|
|
214
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
215
|
+
type: z.literal("run").refine((value) => value !== undefined, { message: "Required" }),
|
|
216
|
+
usage: z.lazy(() => UsageSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
217
|
+
}),
|
|
218
|
+
z.looseObject({
|
|
219
|
+
duration_ms: z.union([z.int().gte(0), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
220
|
+
exit_code: z.union([z.int(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
221
|
+
failure_kind: z
|
|
222
|
+
.union([z.lazy(() => FailureKindSchema), z.null()])
|
|
223
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
224
|
+
finished_at: z.null().refine((value) => value !== undefined, { message: "Required" }),
|
|
225
|
+
harness: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
226
|
+
history_id: z
|
|
227
|
+
.string()
|
|
228
|
+
.min(36)
|
|
229
|
+
.regex(new RegExp("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", "u"))
|
|
230
|
+
.refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
|
|
231
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
232
|
+
labels: z.lazy(() => HistoryLabelsSchema).optional(),
|
|
233
|
+
model: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
234
|
+
model_ms: z.never().optional(),
|
|
235
|
+
name: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
236
|
+
permission_mode: z
|
|
237
|
+
.lazy(() => PermissionModeSchema)
|
|
238
|
+
.refine((value) => value !== undefined, { message: "Required" }),
|
|
239
|
+
project: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
240
|
+
prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
241
|
+
schema_version: z.literal("1.0").refine((value) => value !== undefined, { message: "Required" }),
|
|
242
|
+
session: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
243
|
+
session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
244
|
+
started_at: z.never().optional(),
|
|
245
|
+
status: z.lazy(() => StatusSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
246
|
+
text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
247
|
+
text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
248
|
+
time_to_first_token_ms: z.never().optional(),
|
|
249
|
+
timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
250
|
+
tool_ms: z.never().optional(),
|
|
251
|
+
type: z.literal("run").refine((value) => value !== undefined, { message: "Required" }),
|
|
252
|
+
usage: z.lazy(() => UsageSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
253
|
+
}),
|
|
254
|
+
]),
|
|
255
|
+
]);
|
|
93
256
|
export const HistoryListSchema = z.array(z.lazy(() => HistorySessionSummarySchema));
|
|
94
257
|
export const HistoryListOptionsSchema = z.strictObject({
|
|
95
258
|
allProjects: z.boolean().optional(),
|
|
@@ -201,7 +364,7 @@ export const HistoryRecordSchema = z.union([
|
|
|
201
364
|
permission_mode: z.lazy(() => PermissionModeSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
202
365
|
project: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
203
366
|
prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
204
|
-
schema_version: z.literal("0
|
|
367
|
+
schema_version: z.literal("1.0").refine((value) => value !== undefined, { message: "Required" }),
|
|
205
368
|
session: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
206
369
|
session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
207
370
|
started_at: z
|
|
@@ -260,7 +423,7 @@ export const HistoryRecordSchema = z.union([
|
|
|
260
423
|
permission_mode: z.lazy(() => PermissionModeSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
261
424
|
project: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
262
425
|
prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
263
|
-
schema_version: z.literal("0
|
|
426
|
+
schema_version: z.literal("1.0").refine((value) => value !== undefined, { message: "Required" }),
|
|
264
427
|
session: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
265
428
|
session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
|
|
266
429
|
started_at: z.never().optional(),
|
|
@@ -337,10 +500,20 @@ export const HistorySessionSummarySchema = z.looseObject({
|
|
|
337
500
|
.refine((value) => value !== undefined, { message: "Required" }),
|
|
338
501
|
started: z.string().refine((value) => value !== undefined, { message: "Required" }),
|
|
339
502
|
});
|
|
340
|
-
export const HistoryStreamEnvelopeSchema = z.
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
})
|
|
503
|
+
export const HistoryStreamEnvelopeSchema = z.union([
|
|
504
|
+
z.looseObject({
|
|
505
|
+
record: z.lazy(() => HistoryRecordSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
506
|
+
type: z.literal("record").refine((value) => value !== undefined, { message: "Required" }),
|
|
507
|
+
}),
|
|
508
|
+
z.looseObject({
|
|
509
|
+
line: z.lazy(() => HistoryEventLineSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
510
|
+
type: z.literal("event").refine((value) => value !== undefined, { message: "Required" }),
|
|
511
|
+
}),
|
|
512
|
+
z.looseObject({
|
|
513
|
+
line: z.lazy(() => HistoryEventLineSchema).refine((value) => value !== undefined, { message: "Required" }),
|
|
514
|
+
type: z.literal("event").refine((value) => value !== undefined, { message: "Required" }),
|
|
515
|
+
}),
|
|
516
|
+
]);
|
|
344
517
|
export const HistoryWatchOptionsSchema = z.strictObject({
|
|
345
518
|
after: z
|
|
346
519
|
.string()
|
|
@@ -349,6 +522,7 @@ export const HistoryWatchOptionsSchema = z.strictObject({
|
|
|
349
522
|
.refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
|
|
350
523
|
.optional(),
|
|
351
524
|
allProjects: z.boolean().optional(),
|
|
525
|
+
events: z.boolean().optional(),
|
|
352
526
|
historyDir: z.string().optional(),
|
|
353
527
|
labels: z.lazy(() => HistoryLabelsSchema).optional(),
|
|
354
528
|
project: z.string().optional(),
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type { RunStreamEnvelope } from "./generated/run-stream-envelope.js";
|
|
|
12
12
|
export type { ActionEvent, BatchReport, FailureKind, FallbackReport, FallThrough, OutputFormat, RunReport, RunResult, SessionReport, Status, Usage, } from "./generated/contracts.js";
|
|
13
13
|
export type { DetectInfo, DetectReport } from "./generated/detection.js";
|
|
14
14
|
export type { HistoryRecord } from "./generated/history.js";
|
|
15
|
+
export type { HistoryLine } from "./generated/history-line.js";
|
|
15
16
|
export type { HistoryList, HistorySessionSummary, } from "./generated/history-list.js";
|
|
16
17
|
export type { HistoryListOptions } from "./generated/history-list-options.js";
|
|
17
18
|
export type { HistoryLookup, HistoryLookupByLast, HistoryLookupBySession, } from "./generated/history-lookup.js";
|
package/dist/index.js
CHANGED
|
@@ -281,6 +281,8 @@ export class OneHarness {
|
|
|
281
281
|
args.push("--all-projects");
|
|
282
282
|
if (input.historyDir)
|
|
283
283
|
args.push("--history-dir", input.historyDir);
|
|
284
|
+
if (input.events)
|
|
285
|
+
args.push("--events");
|
|
284
286
|
return invokeStreamWith(this.options, args, HistoryStreamEnvelopeSchema, "invalid oneharness history watch contract", undefined, true);
|
|
285
287
|
}
|
|
286
288
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneharness/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Typed Node.js SDK for oneharness",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"node": ">=20"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"oneharness-cli": "0.
|
|
22
|
+
"oneharness-cli": "0.5.1",
|
|
23
23
|
"zod": "^4.4.3"
|
|
24
24
|
}
|
|
25
25
|
}
|