@kitman-sh/sdk 0.10.67 → 0.10.69

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.
@@ -4,7 +4,7 @@ import {
4
4
  KitDigest,
5
5
  AgentDeclaration,
6
6
  KitDeclarations
7
- } from "../chunk-dnmb9dw9.js";
7
+ } from "../chunk-abjq7rp4.js";
8
8
  import {
9
9
  digestSha256,
10
10
  digestSha512,
@@ -13,7 +13,7 @@ import {
13
13
  RunnerRpcProtocolVersion,
14
14
  describeFlag2,
15
15
  Described2
16
- } from "../chunk-x37rn3aw.js";
16
+ } from "../chunk-8z4xvm69.js";
17
17
 
18
18
  // packages/core/src/json.ts
19
19
  import * as Schema from "effect/Schema";
@@ -33,7 +33,7 @@ import {
33
33
  executeLoop2,
34
34
  LoopCheckError2,
35
35
  checkLoop2
36
- } from "./chunk-dnmb9dw9.js";
36
+ } from "./chunk-abjq7rp4.js";
37
37
  // packages/core/src/agent-environment.ts
38
38
  import * as Schema from "effect/Schema";
39
39
  var AgentEnvironmentPolicy = Schema.Union([Schema.Literal("recommended"), Schema.Literal("required")]);
@@ -909,6 +909,7 @@ class RunnerCapabilityRpcs extends RpcGroup.make(Rpc.make("PutQuestion", {
909
909
  revision: Schema7.optionalKey(Schema7.String),
910
910
  checks: Schema7.optional(Schema7.Array(Schema7.String)),
911
911
  suggested: Schema7.optionalKey(Schema7.Array(ApprovedCheck)),
912
+ rerunFailed: Schema7.optionalKey(Schema7.Boolean),
912
913
  measure: Schema7.optionalKey(Schema7.Struct({
913
914
  base: Schema7.optionalKey(Schema7.String),
914
915
  plan: MeasurePlan2,
@@ -1402,6 +1403,7 @@ var runnerHost = (capabilities) => ({
1402
1403
  ...launch.revision === undefined ? undefined : { revision: launch.revision },
1403
1404
  ...launch.checks === undefined ? undefined : { checks: launch.checks },
1404
1405
  ...launch.suggested === undefined ? undefined : { suggested: launch.suggested },
1406
+ ...launch.rerunFailed === undefined ? undefined : { rerunFailed: launch.rerunFailed },
1405
1407
  ...launch.measure === undefined ? undefined : { measure: launch.measure }
1406
1408
  })).pipe(Effect2.asVoid),
1407
1409
  startAgentWork: (launch) => requested2(launch.step, capabilities.startAgentStep({
@@ -1625,6 +1627,7 @@ var rpcProgramPorts2 = (rpc, work) => {
1625
1627
  ...verification.revision === undefined ? undefined : { revision: verification.revision },
1626
1628
  ...verification.checks === undefined ? undefined : { checks: [...verification.checks] },
1627
1629
  ...verification.suggested === undefined ? undefined : { suggested: [...verification.suggested] },
1630
+ ...verification.rerunFailed === undefined ? undefined : { rerunFailed: verification.rerunFailed },
1628
1631
  ...verification.measure === undefined ? undefined : { measure: verification.measure }
1629
1632
  }),
1630
1633
  startAgentStep: ({ secrets, ...step }) => rpc.startAgentStep({ lease, ...step, ...secrets === undefined ? undefined : { secrets: [...secrets] } }),
@@ -3034,6 +3034,7 @@ var verify2 = (name, request) => takeStep2(name, "verify", "verify", Effect3.gen
3034
3034
  ...request.revision === undefined ? undefined : { revision: request.revision },
3035
3035
  ...request.checks === undefined ? undefined : { checks: request.checks },
3036
3036
  ...request.suggested === undefined || request.suggested.length === 0 ? undefined : { suggested: request.suggested },
3037
+ ...request.rerunFailed === true ? { rerunFailed: true } : undefined,
3037
3038
  token
3038
3039
  }));
3039
3040
  return yield* DurableDeferred.await(deferred);
@@ -4129,7 +4130,7 @@ var journaled = (engine, journal, ran) => ({
4129
4130
  })
4130
4131
  });
4131
4132
  var scriptedExit = (scripted, failure) => scripted === undefined ? Exit3.fail(failure("nothing was scripted for this Step")) : scripted instanceof ScriptedFailure2 ? Exit3.fail(failure(scripted.reason)) : Exit3.succeed(scripted);
4132
- var scriptedHost = (script, engine, agentLaunches, childLaunches, waits) => {
4133
+ var scriptedHost = (script, engine, agentLaunches, childLaunches, waits, verifyLaunches) => {
4133
4134
  const resolve = (deferred, token, exit) => DurableDeferred4.done(deferred, { token, exit }).pipe(Effect8.provideService(WorkflowEngine.WorkflowEngine, engine));
4134
4135
  return {
4135
4136
  startAgentWork: (launch) => Effect8.andThen(Effect8.sync(() => agentLaunches.push({
@@ -4159,6 +4160,13 @@ var scriptedHost = (script, engine, agentLaunches, childLaunches, waits) => {
4159
4160
  claimResource: (launch) => launch.action === "let_go" ? resolve(letGoDeferred2(launch.step), launch.token, Exit3.succeed(null)) : resolve(claimDeferred2(launch.step), launch.token, Exit3.succeed(script.claims?.[launch.step] ?? { status: "granted", resource: launch.resource })),
4160
4161
  startVerification: (launch) => {
4161
4162
  const scripted = script.verifications?.[launch.step];
4163
+ if (launch.measure === undefined)
4164
+ verifyLaunches.push({
4165
+ step: launch.step,
4166
+ ...launch.revision === undefined ? undefined : { revision: launch.revision },
4167
+ ...launch.checks === undefined ? undefined : { checks: launch.checks },
4168
+ ...launch.rerunFailed === undefined ? undefined : { rerunFailed: launch.rerunFailed }
4169
+ });
4162
4170
  if (launch.measure !== undefined) {
4163
4171
  const measured = script.measurements?.[launch.step];
4164
4172
  const flat = Array.from({ length: launch.measure.samples }, () => Object.fromEntries(launch.measure?.plan.metrics.map((metric) => [metric.name, 100]) ?? []));
@@ -4209,6 +4217,7 @@ var testLoop2 = (loop, script) => {
4209
4217
  const agentLaunches = [];
4210
4218
  const childLaunches = [];
4211
4219
  const waits = [];
4220
+ const verifyLaunches = [];
4212
4221
  let latestSteps = [];
4213
4222
  const declared = capabilitiesOf2(loop);
4214
4223
  const granted = new Set((script.grant ?? declared).filter((capability) => declared.includes(capability)));
@@ -4221,7 +4230,7 @@ var testLoop2 = (loop, script) => {
4221
4230
  const execute = (payload) => Effect8.gen(function* () {
4222
4231
  const engine = yield* WorkflowEngine.WorkflowEngine;
4223
4232
  return yield* executeLoop2(loop, {
4224
- host: scriptedHost(script, engine, agentLaunches, childLaunches, waits),
4233
+ host: scriptedHost(script, engine, agentLaunches, childLaunches, waits, verifyLaunches),
4225
4234
  activities,
4226
4235
  granted,
4227
4236
  onRun: (run) => {
@@ -4231,7 +4240,7 @@ var testLoop2 = (loop, script) => {
4231
4240
  });
4232
4241
  return Effect8.gen(function* () {
4233
4242
  const result = yield* Effect8.exit(workflow.execute({ input: script.input }).pipe(Effect8.provideService(ConfigProvider.ConfigProvider, ConfigProvider.fromUnknown(script.secrets ?? {}))));
4234
- return { result, steps: latestSteps, journal, activities: ran, agentLaunches, childLaunches, waits };
4243
+ return { result, steps: latestSteps, journal, activities: ran, agentLaunches, childLaunches, waits, verifyLaunches };
4235
4244
  }).pipe(Effect8.provide(workflow.toLayer(execute).pipe(Layer.provideMerge(WorkflowEngine.layerMemory))));
4236
4245
  };
4237
4246
  // packages/sdk/src/loop/review.ts
@@ -173,7 +173,7 @@ import {
173
173
  syncBase2,
174
174
  Continuing2,
175
175
  continuingBrief2
176
- } from "../chunk-dnmb9dw9.js";
176
+ } from "../chunk-abjq7rp4.js";
177
177
  export {
178
178
  AlertTaskActivity2 as AlertTaskActivity,
179
179
  AlertTaskRequest2 as AlertTaskRequest,
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"../chunk-dnmb9dw9.js";
2
+ import"../chunk-abjq7rp4.js";
3
3
  import {
4
4
  JournalWriteFailed2,
5
5
  refusedStep2,
@@ -17,7 +17,7 @@ import {
17
17
  networkGuard2,
18
18
  carriedKits2,
19
19
  runKit2
20
- } from "../chunk-x37rn3aw.js";
20
+ } from "../chunk-8z4xvm69.js";
21
21
  export {
22
22
  Described2 as Described,
23
23
  JournalWriteFailed2 as JournalWriteFailed,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitman-sh/sdk",
3
- "version": "0.10.67",
3
+ "version": "0.10.69",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "exports": {
@@ -1219,6 +1219,7 @@ export declare const makeProgramRpcClient: (options: ConnectionOptions) => Effec
1219
1219
  readonly workingDirectory?: string;
1220
1220
  readonly suggested?: boolean;
1221
1221
  }[];
1222
+ readonly rerunFailed?: boolean;
1222
1223
  readonly measure?: {
1223
1224
  readonly base?: string;
1224
1225
  readonly plan: {
@@ -123,65 +123,7 @@ export declare const ProgramOutcome: Schema.Union<readonly [Schema.Struct<{
123
123
  readonly status: Schema.Literal<"failed">;
124
124
  readonly failureSummary: Schema.String;
125
125
  }>]>;
126
- declare const RunnerReplicaRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Struct<{
127
- runnerReplicaId: Schema.String;
128
- }>, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"WorkAvailable", {}>, Schema.TaggedStruct<"LeaseRevoked", {
129
- readonly workUnitId: Schema.String;
130
- }>, Schema.TaggedStruct<"Settled", {
131
- readonly workUnitId: Schema.String;
132
- }>, Schema.TaggedStruct<"Canceled", {
133
- readonly workUnitId: Schema.String;
134
- }>, Schema.TaggedStruct<"RunSettled", {
135
- readonly runId: Schema.String;
136
- }>, Schema.TaggedStruct<"Steer", {
137
- readonly workUnitId: Schema.String;
138
- readonly messageId: Schema.String;
139
- readonly text: Schema.String;
140
- }>, Schema.TaggedStruct<"SessionUpdated", {
141
- readonly workUnitId: Schema.String;
142
- }>, Schema.TaggedStruct<"UpdateAvailable", {
143
- readonly version: Schema.String;
144
- }>]>, typeof RunnerRpcError>, Schema.Never, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateCheckpointFile", Schema.Struct<{
145
- lease: Schema.Struct<{
146
- readonly workUnitId: Schema.String;
147
- readonly leaseOwnerId: Schema.String;
148
- readonly runnerReplicaId: Schema.String;
149
- readonly leaseId: Schema.String;
150
- readonly attempt: Schema.Int;
151
- readonly fencingToken: Schema.String;
152
- readonly capacitySlot: Schema.String;
153
- }>;
154
- byteSize: Schema.Int;
155
- sha256: Schema.String;
156
- }>, Schema.Struct<{
157
- readonly file: Schema.Struct<{
158
- readonly id: Schema.String;
159
- readonly runId: Schema.String;
160
- readonly step: Schema.String;
161
- readonly name: Schema.String;
162
- readonly caption: Schema.optionalKey<Schema.String>;
163
- readonly contentType: Schema.String;
164
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
165
- readonly byteSize: Schema.Int;
166
- readonly sha256: Schema.String;
167
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
168
- }>;
169
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
170
- readonly url: Schema.String;
171
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
172
- readonly expiresAt: Schema.String;
173
- readonly kind: Schema.Literal<"single">;
174
- }>, Schema.Struct<{
175
- readonly kind: Schema.Literal<"multipart">;
176
- readonly partSize: Schema.Int;
177
- readonly parts: Schema.$Array<Schema.Struct<{
178
- readonly url: Schema.String;
179
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
180
- readonly expiresAt: Schema.String;
181
- readonly partNumber: Schema.Int;
182
- }>>;
183
- }>]>>;
184
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"AppendTranscript", Schema.Struct<{
126
+ declare const RunnerReplicaRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"AppendTranscript", Schema.Struct<{
185
127
  workUnitId: Schema.String;
186
128
  entries: Schema.$Array<Schema.Struct<{
187
129
  readonly sequence: Schema.Int;
@@ -535,7 +477,47 @@ declare const RunnerReplicaRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schem
535
477
  readonly byteSize: Schema.Int;
536
478
  readonly sha256: Schema.String;
537
479
  readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
538
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"ForgetCheckpoints", Schema.Struct<{
480
+ }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateCheckpointFile", Schema.Struct<{
481
+ lease: Schema.Struct<{
482
+ readonly workUnitId: Schema.String;
483
+ readonly leaseOwnerId: Schema.String;
484
+ readonly runnerReplicaId: Schema.String;
485
+ readonly leaseId: Schema.String;
486
+ readonly attempt: Schema.Int;
487
+ readonly fencingToken: Schema.String;
488
+ readonly capacitySlot: Schema.String;
489
+ }>;
490
+ byteSize: Schema.Int;
491
+ sha256: Schema.String;
492
+ }>, Schema.Struct<{
493
+ readonly file: Schema.Struct<{
494
+ readonly id: Schema.String;
495
+ readonly runId: Schema.String;
496
+ readonly step: Schema.String;
497
+ readonly name: Schema.String;
498
+ readonly caption: Schema.optionalKey<Schema.String>;
499
+ readonly contentType: Schema.String;
500
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
501
+ readonly byteSize: Schema.Int;
502
+ readonly sha256: Schema.String;
503
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
504
+ }>;
505
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
506
+ readonly url: Schema.String;
507
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
508
+ readonly expiresAt: Schema.String;
509
+ readonly kind: Schema.Literal<"single">;
510
+ }>, Schema.Struct<{
511
+ readonly kind: Schema.Literal<"multipart">;
512
+ readonly partSize: Schema.Int;
513
+ readonly parts: Schema.$Array<Schema.Struct<{
514
+ readonly url: Schema.String;
515
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
516
+ readonly expiresAt: Schema.String;
517
+ readonly partNumber: Schema.Int;
518
+ }>>;
519
+ }>]>>;
520
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"ForgetCheckpoints", Schema.Struct<{
539
521
  stepAttemptIds: Schema.$Array<Schema.String>;
540
522
  }>, Schema.Void, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"GitCredential", Schema.Struct<{
541
523
  repoBindingId: Schema.String;
@@ -652,7 +634,25 @@ declare const RunnerReplicaRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schem
652
634
  }>>;
653
635
  }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"SettledRuns", Schema.Struct<{
654
636
  runIds: Schema.$Array<Schema.String>;
655
- }>, Schema.$Array<Schema.String>, typeof RunnerRpcError, typeof RunnerAuthentication, never>>;
637
+ }>, Schema.$Array<Schema.String>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"Signals", Schema.Struct<{
638
+ runnerReplicaId: Schema.String;
639
+ }>, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"WorkAvailable", {}>, Schema.TaggedStruct<"LeaseRevoked", {
640
+ readonly workUnitId: Schema.String;
641
+ }>, Schema.TaggedStruct<"Settled", {
642
+ readonly workUnitId: Schema.String;
643
+ }>, Schema.TaggedStruct<"Canceled", {
644
+ readonly workUnitId: Schema.String;
645
+ }>, Schema.TaggedStruct<"RunSettled", {
646
+ readonly runId: Schema.String;
647
+ }>, Schema.TaggedStruct<"Steer", {
648
+ readonly workUnitId: Schema.String;
649
+ readonly messageId: Schema.String;
650
+ readonly text: Schema.String;
651
+ }>, Schema.TaggedStruct<"SessionUpdated", {
652
+ readonly workUnitId: Schema.String;
653
+ }>, Schema.TaggedStruct<"UpdateAvailable", {
654
+ readonly version: Schema.String;
655
+ }>]>, typeof RunnerRpcError>, Schema.Never, typeof RunnerAuthentication, never>>;
656
656
  /** The Runner process's procedures: Work Unit leases, signals, checkpoints and bundles. */
657
657
  export declare class RunnerReplicaRpcs extends RunnerReplicaRpcs_base {
658
658
  }
@@ -1300,6 +1300,8 @@ declare const RunnerCapabilityRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild",
1300
1300
  readonly workingDirectory: Schema.optionalKey<Schema.String>;
1301
1301
  readonly suggested: Schema.optionalKey<Schema.Boolean>;
1302
1302
  }>>>;
1303
+ /** Runs a check again whose evidence at the tree failed, rather than reusing that failure; passed evidence is still reused. */
1304
+ rerunFailed: Schema.optionalKey<Schema.Boolean>;
1303
1305
  /** A benchmark against `base` (the Run's base branch head when left out) in place of checks. */
1304
1306
  measure: Schema.optionalKey<Schema.Struct<{
1305
1307
  readonly base: Schema.optionalKey<Schema.String>;
@@ -1342,51 +1344,7 @@ declare const RunnerCapabilityRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild",
1342
1344
  /** A program's domain calls. */
1343
1345
  export declare class RunnerCapabilityRpcs extends RunnerCapabilityRpcs_base {
1344
1346
  }
1345
- declare const RunnerRunFileRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1346
- lease: Schema.Struct<{
1347
- readonly workUnitId: Schema.String;
1348
- readonly leaseOwnerId: Schema.String;
1349
- readonly runnerReplicaId: Schema.String;
1350
- readonly leaseId: Schema.String;
1351
- readonly attempt: Schema.Int;
1352
- readonly fencingToken: Schema.String;
1353
- readonly capacitySlot: Schema.String;
1354
- }>;
1355
- step: Schema.String;
1356
- name: Schema.String;
1357
- caption: Schema.optional<Schema.String>;
1358
- contentType: Schema.String;
1359
- byteSize: Schema.Int;
1360
- sha256: Schema.String;
1361
- }>, Schema.Struct<{
1362
- readonly file: Schema.Struct<{
1363
- readonly id: Schema.String;
1364
- readonly runId: Schema.String;
1365
- readonly step: Schema.String;
1366
- readonly name: Schema.String;
1367
- readonly caption: Schema.optionalKey<Schema.String>;
1368
- readonly contentType: Schema.String;
1369
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
1370
- readonly byteSize: Schema.Int;
1371
- readonly sha256: Schema.String;
1372
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
1373
- }>;
1374
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
1375
- readonly url: Schema.String;
1376
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1377
- readonly expiresAt: Schema.String;
1378
- readonly kind: Schema.Literal<"single">;
1379
- }>, Schema.Struct<{
1380
- readonly kind: Schema.Literal<"multipart">;
1381
- readonly partSize: Schema.Int;
1382
- readonly parts: Schema.$Array<Schema.Struct<{
1383
- readonly url: Schema.String;
1384
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1385
- readonly expiresAt: Schema.String;
1386
- readonly partNumber: Schema.Int;
1387
- }>>;
1388
- }>]>>;
1389
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"CompleteRunFile", Schema.Struct<{
1347
+ declare const RunnerRunFileRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"CompleteRunFile", Schema.Struct<{
1390
1348
  lease: Schema.Struct<{
1391
1349
  readonly workUnitId: Schema.String;
1392
1350
  readonly leaseOwnerId: Schema.String;
@@ -1412,31 +1370,7 @@ declare const RunnerRunFileRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile",
1412
1370
  readonly byteSize: Schema.Int;
1413
1371
  readonly sha256: Schema.String;
1414
1372
  readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
1415
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"RunFileParts", Schema.Struct<{
1416
- lease: Schema.Struct<{
1417
- readonly workUnitId: Schema.String;
1418
- readonly leaseOwnerId: Schema.String;
1419
- readonly runnerReplicaId: Schema.String;
1420
- readonly leaseId: Schema.String;
1421
- readonly attempt: Schema.Int;
1422
- readonly fencingToken: Schema.String;
1423
- readonly capacitySlot: Schema.String;
1424
- }>;
1425
- fileId: Schema.String;
1426
- partNumbers: Schema.$Array<Schema.Int>;
1427
- }>, Schema.Struct<{
1428
- readonly parts: Schema.$Array<Schema.Struct<{
1429
- readonly url: Schema.String;
1430
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1431
- readonly expiresAt: Schema.String;
1432
- readonly partNumber: Schema.Int;
1433
- }>>;
1434
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never>>;
1435
- /** Run File uploads, under a program's orchestration lease or the Runner's verification lease. */
1436
- export declare class RunnerRunFileRpcs extends RunnerRunFileRpcs_base {
1437
- }
1438
- /** What a program process may call; its bundle speaks the Runner RPC protocol version through these. */
1439
- export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1373
+ }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1440
1374
  lease: Schema.Struct<{
1441
1375
  readonly workUnitId: Schema.String;
1442
1376
  readonly leaseOwnerId: Schema.String;
@@ -1480,7 +1414,31 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
1480
1414
  readonly partNumber: Schema.Int;
1481
1415
  }>>;
1482
1416
  }>]>>;
1483
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"AdmitChild", Schema.Struct<{
1417
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"RunFileParts", Schema.Struct<{
1418
+ lease: Schema.Struct<{
1419
+ readonly workUnitId: Schema.String;
1420
+ readonly leaseOwnerId: Schema.String;
1421
+ readonly runnerReplicaId: Schema.String;
1422
+ readonly leaseId: Schema.String;
1423
+ readonly attempt: Schema.Int;
1424
+ readonly fencingToken: Schema.String;
1425
+ readonly capacitySlot: Schema.String;
1426
+ }>;
1427
+ fileId: Schema.String;
1428
+ partNumbers: Schema.$Array<Schema.Int>;
1429
+ }>, Schema.Struct<{
1430
+ readonly parts: Schema.$Array<Schema.Struct<{
1431
+ readonly url: Schema.String;
1432
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1433
+ readonly expiresAt: Schema.String;
1434
+ readonly partNumber: Schema.Int;
1435
+ }>>;
1436
+ }>, typeof RunnerRpcError, typeof RunnerAuthentication, never>>;
1437
+ /** Run File uploads, under a program's orchestration lease or the Runner's verification lease. */
1438
+ export declare class RunnerRunFileRpcs extends RunnerRunFileRpcs_base {
1439
+ }
1440
+ /** What a program process may call; its bundle speaks the Runner RPC protocol version through these. */
1441
+ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild", Schema.Struct<{
1484
1442
  lease: Schema.Struct<{
1485
1443
  readonly workUnitId: Schema.String;
1486
1444
  readonly leaseOwnerId: Schema.String;
@@ -1645,7 +1603,51 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
1645
1603
  }>, Schema.$Array<Schema.Struct<{
1646
1604
  readonly key: Schema.String;
1647
1605
  readonly taskId: Schema.String;
1648
- }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
1606
+ }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1607
+ lease: Schema.Struct<{
1608
+ readonly workUnitId: Schema.String;
1609
+ readonly leaseOwnerId: Schema.String;
1610
+ readonly runnerReplicaId: Schema.String;
1611
+ readonly leaseId: Schema.String;
1612
+ readonly attempt: Schema.Int;
1613
+ readonly fencingToken: Schema.String;
1614
+ readonly capacitySlot: Schema.String;
1615
+ }>;
1616
+ step: Schema.String;
1617
+ name: Schema.String;
1618
+ caption: Schema.optional<Schema.String>;
1619
+ contentType: Schema.String;
1620
+ byteSize: Schema.Int;
1621
+ sha256: Schema.String;
1622
+ }>, Schema.Struct<{
1623
+ readonly file: Schema.Struct<{
1624
+ readonly id: Schema.String;
1625
+ readonly runId: Schema.String;
1626
+ readonly step: Schema.String;
1627
+ readonly name: Schema.String;
1628
+ readonly caption: Schema.optionalKey<Schema.String>;
1629
+ readonly contentType: Schema.String;
1630
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
1631
+ readonly byteSize: Schema.Int;
1632
+ readonly sha256: Schema.String;
1633
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
1634
+ }>;
1635
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
1636
+ readonly url: Schema.String;
1637
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1638
+ readonly expiresAt: Schema.String;
1639
+ readonly kind: Schema.Literal<"single">;
1640
+ }>, Schema.Struct<{
1641
+ readonly kind: Schema.Literal<"multipart">;
1642
+ readonly partSize: Schema.Int;
1643
+ readonly parts: Schema.$Array<Schema.Struct<{
1644
+ readonly url: Schema.String;
1645
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1646
+ readonly expiresAt: Schema.String;
1647
+ readonly partNumber: Schema.Int;
1648
+ }>>;
1649
+ }>]>>;
1650
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
1649
1651
  lease: Schema.Struct<{
1650
1652
  readonly workUnitId: Schema.String;
1651
1653
  readonly leaseOwnerId: Schema.String;
@@ -2155,6 +2157,8 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
2155
2157
  readonly workingDirectory: Schema.optionalKey<Schema.String>;
2156
2158
  readonly suggested: Schema.optionalKey<Schema.Boolean>;
2157
2159
  }>>>;
2160
+ /** Runs a check again whose evidence at the tree failed, rather than reusing that failure; passed evidence is still reused. */
2161
+ rerunFailed: Schema.optionalKey<Schema.Boolean>;
2158
2162
  /** A benchmark against `base` (the Run's base branch head when left out) in place of checks. */
2159
2163
  measure: Schema.optionalKey<Schema.Struct<{
2160
2164
  readonly base: Schema.optionalKey<Schema.String>;
@@ -2205,109 +2209,7 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
2205
2209
  }>;
2206
2210
  }>, Schema.Void, typeof RunnerRpcError, typeof RunnerAuthentication, never>>;
2207
2211
  /** Every group, served on the one Runner RPC endpoint; a request names its procedure by tag alone. */
2208
- export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Struct<{
2209
- runnerReplicaId: Schema.String;
2210
- }>, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"WorkAvailable", {}>, Schema.TaggedStruct<"LeaseRevoked", {
2211
- readonly workUnitId: Schema.String;
2212
- }>, Schema.TaggedStruct<"Settled", {
2213
- readonly workUnitId: Schema.String;
2214
- }>, Schema.TaggedStruct<"Canceled", {
2215
- readonly workUnitId: Schema.String;
2216
- }>, Schema.TaggedStruct<"RunSettled", {
2217
- readonly runId: Schema.String;
2218
- }>, Schema.TaggedStruct<"Steer", {
2219
- readonly workUnitId: Schema.String;
2220
- readonly messageId: Schema.String;
2221
- readonly text: Schema.String;
2222
- }>, Schema.TaggedStruct<"SessionUpdated", {
2223
- readonly workUnitId: Schema.String;
2224
- }>, Schema.TaggedStruct<"UpdateAvailable", {
2225
- readonly version: Schema.String;
2226
- }>]>, typeof RunnerRpcError>, Schema.Never, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateCheckpointFile", Schema.Struct<{
2227
- lease: Schema.Struct<{
2228
- readonly workUnitId: Schema.String;
2229
- readonly leaseOwnerId: Schema.String;
2230
- readonly runnerReplicaId: Schema.String;
2231
- readonly leaseId: Schema.String;
2232
- readonly attempt: Schema.Int;
2233
- readonly fencingToken: Schema.String;
2234
- readonly capacitySlot: Schema.String;
2235
- }>;
2236
- byteSize: Schema.Int;
2237
- sha256: Schema.String;
2238
- }>, Schema.Struct<{
2239
- readonly file: Schema.Struct<{
2240
- readonly id: Schema.String;
2241
- readonly runId: Schema.String;
2242
- readonly step: Schema.String;
2243
- readonly name: Schema.String;
2244
- readonly caption: Schema.optionalKey<Schema.String>;
2245
- readonly contentType: Schema.String;
2246
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2247
- readonly byteSize: Schema.Int;
2248
- readonly sha256: Schema.String;
2249
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2250
- }>;
2251
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2252
- readonly url: Schema.String;
2253
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2254
- readonly expiresAt: Schema.String;
2255
- readonly kind: Schema.Literal<"single">;
2256
- }>, Schema.Struct<{
2257
- readonly kind: Schema.Literal<"multipart">;
2258
- readonly partSize: Schema.Int;
2259
- readonly parts: Schema.$Array<Schema.Struct<{
2260
- readonly url: Schema.String;
2261
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2262
- readonly expiresAt: Schema.String;
2263
- readonly partNumber: Schema.Int;
2264
- }>>;
2265
- }>]>>;
2266
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
2267
- lease: Schema.Struct<{
2268
- readonly workUnitId: Schema.String;
2269
- readonly leaseOwnerId: Schema.String;
2270
- readonly runnerReplicaId: Schema.String;
2271
- readonly leaseId: Schema.String;
2272
- readonly attempt: Schema.Int;
2273
- readonly fencingToken: Schema.String;
2274
- readonly capacitySlot: Schema.String;
2275
- }>;
2276
- step: Schema.String;
2277
- name: Schema.String;
2278
- caption: Schema.optional<Schema.String>;
2279
- contentType: Schema.String;
2280
- byteSize: Schema.Int;
2281
- sha256: Schema.String;
2282
- }>, Schema.Struct<{
2283
- readonly file: Schema.Struct<{
2284
- readonly id: Schema.String;
2285
- readonly runId: Schema.String;
2286
- readonly step: Schema.String;
2287
- readonly name: Schema.String;
2288
- readonly caption: Schema.optionalKey<Schema.String>;
2289
- readonly contentType: Schema.String;
2290
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2291
- readonly byteSize: Schema.Int;
2292
- readonly sha256: Schema.String;
2293
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2294
- }>;
2295
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2296
- readonly url: Schema.String;
2297
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2298
- readonly expiresAt: Schema.String;
2299
- readonly kind: Schema.Literal<"single">;
2300
- }>, Schema.Struct<{
2301
- readonly kind: Schema.Literal<"multipart">;
2302
- readonly partSize: Schema.Int;
2303
- readonly parts: Schema.$Array<Schema.Struct<{
2304
- readonly url: Schema.String;
2305
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2306
- readonly expiresAt: Schema.String;
2307
- readonly partNumber: Schema.Int;
2308
- }>>;
2309
- }>]>>;
2310
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"AdmitChild", Schema.Struct<{
2212
+ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild", Schema.Struct<{
2311
2213
  lease: Schema.Struct<{
2312
2214
  readonly workUnitId: Schema.String;
2313
2215
  readonly leaseOwnerId: Schema.String;
@@ -2804,7 +2706,47 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
2804
2706
  readonly byteSize: Schema.Int;
2805
2707
  readonly sha256: Schema.String;
2806
2708
  readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2807
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreatePlanTasks", Schema.Struct<{
2709
+ }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateCheckpointFile", Schema.Struct<{
2710
+ lease: Schema.Struct<{
2711
+ readonly workUnitId: Schema.String;
2712
+ readonly leaseOwnerId: Schema.String;
2713
+ readonly runnerReplicaId: Schema.String;
2714
+ readonly leaseId: Schema.String;
2715
+ readonly attempt: Schema.Int;
2716
+ readonly fencingToken: Schema.String;
2717
+ readonly capacitySlot: Schema.String;
2718
+ }>;
2719
+ byteSize: Schema.Int;
2720
+ sha256: Schema.String;
2721
+ }>, Schema.Struct<{
2722
+ readonly file: Schema.Struct<{
2723
+ readonly id: Schema.String;
2724
+ readonly runId: Schema.String;
2725
+ readonly step: Schema.String;
2726
+ readonly name: Schema.String;
2727
+ readonly caption: Schema.optionalKey<Schema.String>;
2728
+ readonly contentType: Schema.String;
2729
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2730
+ readonly byteSize: Schema.Int;
2731
+ readonly sha256: Schema.String;
2732
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2733
+ }>;
2734
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2735
+ readonly url: Schema.String;
2736
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2737
+ readonly expiresAt: Schema.String;
2738
+ readonly kind: Schema.Literal<"single">;
2739
+ }>, Schema.Struct<{
2740
+ readonly kind: Schema.Literal<"multipart">;
2741
+ readonly partSize: Schema.Int;
2742
+ readonly parts: Schema.$Array<Schema.Struct<{
2743
+ readonly url: Schema.String;
2744
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2745
+ readonly expiresAt: Schema.String;
2746
+ readonly partNumber: Schema.Int;
2747
+ }>>;
2748
+ }>]>>;
2749
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreatePlanTasks", Schema.Struct<{
2808
2750
  lease: Schema.Struct<{
2809
2751
  readonly workUnitId: Schema.String;
2810
2752
  readonly leaseOwnerId: Schema.String;
@@ -2826,7 +2768,51 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
2826
2768
  }>, Schema.$Array<Schema.Struct<{
2827
2769
  readonly key: Schema.String;
2828
2770
  readonly taskId: Schema.String;
2829
- }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
2771
+ }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
2772
+ lease: Schema.Struct<{
2773
+ readonly workUnitId: Schema.String;
2774
+ readonly leaseOwnerId: Schema.String;
2775
+ readonly runnerReplicaId: Schema.String;
2776
+ readonly leaseId: Schema.String;
2777
+ readonly attempt: Schema.Int;
2778
+ readonly fencingToken: Schema.String;
2779
+ readonly capacitySlot: Schema.String;
2780
+ }>;
2781
+ step: Schema.String;
2782
+ name: Schema.String;
2783
+ caption: Schema.optional<Schema.String>;
2784
+ contentType: Schema.String;
2785
+ byteSize: Schema.Int;
2786
+ sha256: Schema.String;
2787
+ }>, Schema.Struct<{
2788
+ readonly file: Schema.Struct<{
2789
+ readonly id: Schema.String;
2790
+ readonly runId: Schema.String;
2791
+ readonly step: Schema.String;
2792
+ readonly name: Schema.String;
2793
+ readonly caption: Schema.optionalKey<Schema.String>;
2794
+ readonly contentType: Schema.String;
2795
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2796
+ readonly byteSize: Schema.Int;
2797
+ readonly sha256: Schema.String;
2798
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2799
+ }>;
2800
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2801
+ readonly url: Schema.String;
2802
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2803
+ readonly expiresAt: Schema.String;
2804
+ readonly kind: Schema.Literal<"single">;
2805
+ }>, Schema.Struct<{
2806
+ readonly kind: Schema.Literal<"multipart">;
2807
+ readonly partSize: Schema.Int;
2808
+ readonly parts: Schema.$Array<Schema.Struct<{
2809
+ readonly url: Schema.String;
2810
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2811
+ readonly expiresAt: Schema.String;
2812
+ readonly partNumber: Schema.Int;
2813
+ }>>;
2814
+ }>]>>;
2815
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
2830
2816
  lease: Schema.Struct<{
2831
2817
  readonly workUnitId: Schema.String;
2832
2818
  readonly leaseOwnerId: Schema.String;
@@ -3407,7 +3393,25 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
3407
3393
  }>>;
3408
3394
  }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"SettledRuns", Schema.Struct<{
3409
3395
  runIds: Schema.$Array<Schema.String>;
3410
- }>, Schema.$Array<Schema.String>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"StartAgentStep", Schema.Struct<{
3396
+ }>, Schema.$Array<Schema.String>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"Signals", Schema.Struct<{
3397
+ runnerReplicaId: Schema.String;
3398
+ }>, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"WorkAvailable", {}>, Schema.TaggedStruct<"LeaseRevoked", {
3399
+ readonly workUnitId: Schema.String;
3400
+ }>, Schema.TaggedStruct<"Settled", {
3401
+ readonly workUnitId: Schema.String;
3402
+ }>, Schema.TaggedStruct<"Canceled", {
3403
+ readonly workUnitId: Schema.String;
3404
+ }>, Schema.TaggedStruct<"RunSettled", {
3405
+ readonly runId: Schema.String;
3406
+ }>, Schema.TaggedStruct<"Steer", {
3407
+ readonly workUnitId: Schema.String;
3408
+ readonly messageId: Schema.String;
3409
+ readonly text: Schema.String;
3410
+ }>, Schema.TaggedStruct<"SessionUpdated", {
3411
+ readonly workUnitId: Schema.String;
3412
+ }>, Schema.TaggedStruct<"UpdateAvailable", {
3413
+ readonly version: Schema.String;
3414
+ }>]>, typeof RunnerRpcError>, Schema.Never, typeof RunnerAuthentication, never> | Rpc.Rpc<"StartAgentStep", Schema.Struct<{
3411
3415
  lease: Schema.Struct<{
3412
3416
  readonly workUnitId: Schema.String;
3413
3417
  readonly leaseOwnerId: Schema.String;
@@ -3453,6 +3457,8 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
3453
3457
  readonly workingDirectory: Schema.optionalKey<Schema.String>;
3454
3458
  readonly suggested: Schema.optionalKey<Schema.Boolean>;
3455
3459
  }>>>;
3460
+ /** Runs a check again whose evidence at the tree failed, rather than reusing that failure; passed evidence is still reused. */
3461
+ rerunFailed: Schema.optionalKey<Schema.Boolean>;
3456
3462
  /** A benchmark against `base` (the Run's base branch head when left out) in place of checks. */
3457
3463
  measure: Schema.optionalKey<Schema.Struct<{
3458
3464
  readonly base: Schema.optionalKey<Schema.String>;
@@ -145,6 +145,8 @@ export type VerificationLaunch = Launch & {
145
145
  readonly checks?: readonly string[];
146
146
  /** Run in place of approved checks when the repository has none approved, labelled as suggested. */
147
147
  readonly suggested?: readonly SuggestedVerification[];
148
+ /** Runs a check again whose evidence at the tree failed, rather than reusing that failure; passed evidence is still reused. */
149
+ readonly rerunFailed?: boolean;
148
150
  /** Benchmarks the revision against `base` (the Run's base branch head when left out) in place of checks. */
149
151
  readonly measure?: MeasureLaunch;
150
152
  };
@@ -320,6 +322,8 @@ export declare const verify: (name: string, request: {
320
322
  * up still gets evidence; ignored once any check is approved.
321
323
  */
322
324
  readonly suggested?: readonly SuggestedVerification[];
325
+ /** Runs a check again whose evidence at the tree failed, rather than reusing that failure; passed evidence is still reused. */
326
+ readonly rerunFailed?: boolean;
323
327
  }) => Effect.Effect<{
324
328
  readonly revision: string;
325
329
  readonly tree: string;
@@ -7,7 +7,7 @@ import { type LoopCapability, type LoopDefinition } from './define';
7
7
  import type { MeasureEvidence } from '../../../core/src/work-unit';
8
8
  import type { VerifyResult } from './evidence';
9
9
  import { type ClaimResult } from './claims';
10
- import { InputInvalid, LoopHost, LoopRun, type EventWaitLaunch, type LoopEvent, type StepRecord } from './steps';
10
+ import { InputInvalid, LoopHost, LoopRun, type EventWaitLaunch, type LoopEvent, type StepRecord, type VerificationLaunch } from './steps';
11
11
  /** Activity and deferred results, encoded as JSON; replaying from it runs no Activity again. */
12
12
  export declare const LoopJournal: Schema.Struct<{
13
13
  readonly activities: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
@@ -101,8 +101,11 @@ export type TestLoopResult<Out, E> = {
101
101
  readonly childLaunches: readonly ChildLaunchRecord[];
102
102
  /** Every `waitFor` started, in order. */
103
103
  readonly waits: readonly WaitRecord[];
104
+ /** Every `verify` started, in order. */
105
+ readonly verifyLaunches: readonly VerifyRecord[];
104
106
  };
105
107
  type WaitRecord = Pick<EventWaitLaunch, 'step' | 'event' | 'filter' | 'since' | 'or'>;
108
+ type VerifyRecord = Pick<VerificationLaunch, 'step' | 'revision' | 'checks' | 'rerunFailed'>;
106
109
  type AgentLaunchRecord = {
107
110
  readonly step: string;
108
111
  readonly agent: string;
@@ -54,6 +54,7 @@ export type ProgramCapabilities = {
54
54
  readonly revision?: string;
55
55
  readonly checks?: readonly string[];
56
56
  readonly suggested?: readonly SuggestedVerification[];
57
+ readonly rerunFailed?: boolean;
57
58
  readonly measure?: MeasureLaunch;
58
59
  }) => Effect.Effect<{
59
60
  readonly verificationId: string;