@kitman-sh/sdk 0.10.57 → 0.10.59

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-r33ndzyg.js";
7
+ } from "../chunk-dnmb9dw9.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-9r9dqxwk.js";
16
+ } from "../chunk-x37rn3aw.js";
17
17
 
18
18
  // packages/core/src/json.ts
19
19
  import * as Schema from "effect/Schema";
@@ -2071,7 +2071,7 @@ var StepOutputSubmissionResult = Schema12.Union([
2071
2071
  }),
2072
2072
  Schema12.Struct({ status: Schema12.Literal("failed"), message: Schema12.String })
2073
2073
  ]);
2074
- var HarnessHoldReasons = ["out_of_quota", "failed_to_start"];
2074
+ var HarnessHoldReasons = ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"];
2075
2075
  var SkippedChoiceReasons = ["not_on_runner", ...HarnessHoldReasons];
2076
2076
  var SkippedChoice = Schema12.Struct({
2077
2077
  harness: Schema12.optionalKey(Schema12.String),
@@ -2979,12 +2979,15 @@ var ask2 = (name, question) => takeStep2(name, "ask", "ask", Effect3.gen(functio
2979
2979
  const fallback = question.default === undefined ? recommendedDefault(recommended) : question.default ?? undefined;
2980
2980
  if (fallback !== undefined && options !== undefined && !options.includes(fallback))
2981
2981
  return yield* new QuestionRefused2({ step: name, answer: fallback, options });
2982
+ if (question.auto !== undefined && options !== undefined && !options.includes(question.auto))
2983
+ return yield* new QuestionRefused2({ step: name, answer: question.auto, options });
2982
2984
  yield* launch2(deferred, (host, token) => host.putQuestion({
2983
2985
  step: name,
2984
2986
  prompt: question.prompt,
2985
2987
  ...options === undefined ? undefined : { options },
2986
2988
  ...advice,
2987
2989
  ...fallback === undefined ? undefined : { default: fallback },
2990
+ ...question.auto === undefined ? undefined : { auto: question.auto },
2988
2991
  ...question.timeout === undefined ? undefined : { timeoutMillis: Duration.toMillis(Duration.fromInputUnsafe(question.timeout)) },
2989
2992
  token
2990
2993
  }));
@@ -4138,7 +4141,7 @@ var scriptedHost = (script, engine, agentLaunches, childLaunches, waits) => {
4138
4141
  ...launch.mergeTarget === undefined ? undefined : { mergeTarget: launch.mergeTarget }
4139
4142
  })), resolve(agentDeferredNamed2(launch.deferredName), launch.token, scriptedExit(script.outputs?.[launch.step], (reason) => new StepFailed2({ step: launch.step, reason })))),
4140
4143
  putQuestion: (launch) => {
4141
- const answer = script.answers?.[launch.step] ?? launch.default;
4144
+ const answer = script.answers?.[launch.step] ?? (script.fullAuto === true ? launch.auto : undefined) ?? launch.default;
4142
4145
  return resolve(answerDeferred2(launch.step), launch.token, answer === undefined ? Exit3.fail(new StepFailed2({ step: launch.step, reason: "no answer was scripted" })) : Exit3.succeed(answer));
4143
4146
  },
4144
4147
  admitChild: (launch) => Effect8.andThen(Effect8.sync(() => childLaunches.push({ step: launch.step, loop: launch.loop, input: launch.input })), resolve(childDeferred2(launch.step), launch.token, scriptedExit(script.children?.[launch.step], (reason) => new ChildFailed2({ step: launch.step, loop: launch.loop, reason })))),
@@ -33,7 +33,7 @@ import {
33
33
  executeLoop2,
34
34
  LoopCheckError2,
35
35
  checkLoop2
36
- } from "./chunk-r33ndzyg.js";
36
+ } from "./chunk-dnmb9dw9.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")]);
@@ -879,6 +879,7 @@ class RunnerCapabilityRpcs extends RpcGroup.make(Rpc.make("PutQuestion", {
879
879
  informationOnly: Schema7.optional(Schema7.Boolean),
880
880
  verification: Schema7.optional(SuggestedVerification),
881
881
  default: Schema7.optional(Schema7.String),
882
+ auto: Schema7.optional(Schema7.String),
882
883
  timeoutMillis: Schema7.optional(Schema7.Finite),
883
884
  deferredName: Schema7.String
884
885
  },
@@ -1392,6 +1393,7 @@ var runnerHost = (capabilities) => ({
1392
1393
  ...launch.options === undefined ? undefined : { options: launch.options },
1393
1394
  ...launch.verification === undefined ? undefined : { verification: launch.verification },
1394
1395
  ...launch.default === undefined ? undefined : { default: launch.default },
1396
+ ...launch.auto === undefined ? undefined : { auto: launch.auto },
1395
1397
  ...launch.timeoutMillis === undefined ? undefined : { timeoutMillis: launch.timeoutMillis }
1396
1398
  })).pipe(Effect2.asVoid),
1397
1399
  startVerification: (launch) => requested2(launch.step, capabilities.startVerification({
@@ -1613,6 +1615,7 @@ var rpcProgramPorts2 = (rpc, work) => {
1613
1615
  ...question.options === undefined ? undefined : { options: [...question.options] },
1614
1616
  ...question.verification === undefined ? undefined : { verification: question.verification },
1615
1617
  ...question.default === undefined ? undefined : { default: question.default },
1618
+ ...question.auto === undefined ? undefined : { auto: question.auto },
1616
1619
  ...question.timeoutMillis === undefined ? undefined : { timeoutMillis: question.timeoutMillis }
1617
1620
  }),
1618
1621
  startVerification: (verification) => rpc.startVerification({
@@ -173,7 +173,7 @@ import {
173
173
  syncBase2,
174
174
  Continuing2,
175
175
  continuingBrief2
176
- } from "../chunk-r33ndzyg.js";
176
+ } from "../chunk-dnmb9dw9.js";
177
177
  export {
178
178
  AlertTaskActivity2 as AlertTaskActivity,
179
179
  AlertTaskRequest2 as AlertTaskRequest,
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"../chunk-r33ndzyg.js";
2
+ import"../chunk-dnmb9dw9.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-9r9dqxwk.js";
20
+ } from "../chunk-x37rn3aw.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.57",
3
+ "version": "0.10.59",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "exports": {
@@ -1554,16 +1554,16 @@ export declare const StepOutputSubmissionResult: Schema.Union<readonly [Schema.S
1554
1554
  readonly message: Schema.String;
1555
1555
  }>]>;
1556
1556
  export type StepOutputSubmissionResult = (typeof StepOutputSubmissionResult)['Type'];
1557
- /** Why a Runner holds a Harness: it reported the Harness out of quota, or it failed to start. */
1558
- export declare const HarnessHoldReasons: readonly ['out_of_quota', 'failed_to_start'];
1557
+ /** Why a Runner holds a Harness: its provider would not serve it, or it failed to start. */
1558
+ export declare const HarnessHoldReasons: readonly ['out_of_quota', 'rate_limited', 'login_refused', 'failed_to_start'];
1559
1559
  export type HarnessHoldReason = (typeof HarnessHoldReasons)[number];
1560
- export declare const SkippedChoiceReasons: readonly ["not_on_runner", "out_of_quota", "failed_to_start"];
1560
+ export declare const SkippedChoiceReasons: readonly ["not_on_runner", "out_of_quota", "rate_limited", "login_refused", "failed_to_start"];
1561
1561
  /** A choice the attempt passed over, and why; a choice that names no Harness needed the Runner's default. */
1562
1562
  export declare const SkippedChoice: Schema.Struct<{
1563
1563
  readonly harness: Schema.optionalKey<Schema.String>;
1564
1564
  readonly model: Schema.optionalKey<Schema.String>;
1565
1565
  readonly effort: Schema.optionalKey<Schema.Literals<readonly ["low", "medium", "high", "xhigh"]>>;
1566
- readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "failed_to_start"]>;
1566
+ readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1567
1567
  /** When the choice can be tried again. */
1568
1568
  readonly until: Schema.optionalKey<Schema.String>;
1569
1569
  }>;
@@ -1712,7 +1712,7 @@ export declare const StepAttempt: Schema.Struct<{
1712
1712
  readonly harness: Schema.optionalKey<Schema.String>;
1713
1713
  readonly model: Schema.optionalKey<Schema.String>;
1714
1714
  readonly effort: Schema.optionalKey<Schema.Literals<readonly ["low", "medium", "high", "xhigh"]>>;
1715
- readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "failed_to_start"]>;
1715
+ readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1716
1716
  /** When the choice can be tried again. */
1717
1717
  readonly until: Schema.optionalKey<Schema.String>;
1718
1718
  }>>>;
@@ -1877,7 +1877,7 @@ export declare const StepAttemptList: Schema.Struct<{
1877
1877
  readonly harness: Schema.optionalKey<Schema.String>;
1878
1878
  readonly model: Schema.optionalKey<Schema.String>;
1879
1879
  readonly effort: Schema.optionalKey<Schema.Literals<readonly ["low", "medium", "high", "xhigh"]>>;
1880
- readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "failed_to_start"]>;
1880
+ readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1881
1881
  /** When the choice can be tried again. */
1882
1882
  readonly until: Schema.optionalKey<Schema.String>;
1883
1883
  }>>>;
@@ -1071,7 +1071,7 @@ export declare const RunnerStepAttempt: Schema.Struct<{
1071
1071
  readonly harness: Schema.optionalKey<Schema.String>;
1072
1072
  readonly model: Schema.optionalKey<Schema.String>;
1073
1073
  readonly effort: Schema.optionalKey<Schema.Literals<readonly ["low", "medium", "high", "xhigh"]>>;
1074
- readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "failed_to_start"]>;
1074
+ readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1075
1075
  readonly until: Schema.optionalKey<Schema.String>;
1076
1076
  }>>>;
1077
1077
  readonly lease: Schema.optionalKey<Schema.Struct<{
@@ -344,7 +344,7 @@ export declare const TaskDetailAggregate: Schema.Struct<{
344
344
  readonly harness: Schema.optionalKey<Schema.String>;
345
345
  readonly model: Schema.optionalKey<Schema.String>;
346
346
  readonly effort: Schema.optionalKey<Schema.Literals<readonly ["low", "medium", "high", "xhigh"]>>;
347
- readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "failed_to_start"]>;
347
+ readonly reason: Schema.Literals<readonly ["not_on_runner", "out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
348
348
  readonly until: Schema.optionalKey<Schema.String>;
349
349
  }>>>;
350
350
  readonly lease: Schema.optionalKey<Schema.Struct<{
@@ -1,9 +1,17 @@
1
1
  import * as Schema from 'effect/Schema';
2
+ /**
3
+ * How the Team's changes ship. `gated`: a person decides each merge and release. `auto`: Kitman takes a Loop's
4
+ * full-auto answer at once, so a passing, non-blocking Review of the head carries a change through merge, tag and
5
+ * deploy with nobody asked.
6
+ */
7
+ export declare const DeliveryMode: Schema.Literals<readonly ["gated", "auto"]>;
8
+ export type DeliveryMode = (typeof DeliveryMode)['Type'];
2
9
  export declare const TeamDeliverySettings: Schema.Struct<{
3
10
  readonly defaultRepoBindingId: Schema.optionalKey<Schema.String>;
4
11
  readonly standardBranchTemplate: Schema.String;
5
12
  readonly epicBranchTemplate: Schema.String;
6
13
  readonly isolatedChildBranchTemplate: Schema.String;
14
+ readonly delivery: Schema.Literals<readonly ["gated", "auto"]>;
7
15
  readonly revision: Schema.Int;
8
16
  }>;
9
17
  export declare const TeamDeliverySettingsUpdate: Schema.Struct<{
@@ -11,6 +19,8 @@ export declare const TeamDeliverySettingsUpdate: Schema.Struct<{
11
19
  readonly standardBranchTemplate: Schema.optionalKey<Schema.String>;
12
20
  readonly epicBranchTemplate: Schema.optionalKey<Schema.String>;
13
21
  readonly isolatedChildBranchTemplate: Schema.optionalKey<Schema.String>;
22
+ /** Only a Workspace owner or admin, signed in as themselves, may change it. */
23
+ readonly delivery: Schema.optionalKey<Schema.Literals<readonly ["gated", "auto"]>>;
14
24
  readonly expectedRevision: Schema.Int;
15
25
  }>;
16
26
  /** A Team as agents and repository choices name it. */
@@ -848,7 +848,7 @@ export declare const CatchUp: Schema.Struct<{
848
848
  export type CatchUp = (typeof CatchUp)['Type'];
849
849
  /** An agent Step's Harness cannot run on this Runner: Kitman holds it and starts the Step again on the next choice. */
850
850
  export declare const HarnessHold: Schema.Struct<{
851
- readonly reason: Schema.Literals<readonly ["out_of_quota", "failed_to_start"]>;
851
+ readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
852
852
  /** When the Harness can run again, as it reported; Kitman holds it for a while when this is missing or implausible. */
853
853
  readonly until: Schema.optionalKey<Schema.String>;
854
854
  /** The cause is this Step's own, such as a missing login Secret: only this Step passes the choice over, on any Runner. */
@@ -949,7 +949,7 @@ export declare const WorkUnitOutcome: Schema.Struct<{
949
949
  readonly truncated: Schema.Boolean;
950
950
  }>>;
951
951
  readonly harnessHold: Schema.optionalKey<Schema.Struct<{
952
- readonly reason: Schema.Literals<readonly ["out_of_quota", "failed_to_start"]>;
952
+ readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
953
953
  /** When the Harness can run again, as it reported; Kitman holds it for a while when this is missing or implausible. */
954
954
  readonly until: Schema.optionalKey<Schema.String>;
955
955
  /** The cause is this Step's own, such as a missing login Secret: only this Step passes the choice over, on any Runner. */
@@ -1060,7 +1060,7 @@ export declare const WorkUnitCompletion: Schema.Struct<{
1060
1060
  readonly truncated: Schema.Boolean;
1061
1061
  }>>;
1062
1062
  readonly harnessHold: Schema.optionalKey<Schema.Struct<{
1063
- readonly reason: Schema.Literals<readonly ["out_of_quota", "failed_to_start"]>;
1063
+ readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1064
1064
  /** When the Harness can run again, as it reported; Kitman holds it for a while when this is missing or implausible. */
1065
1065
  readonly until: Schema.optionalKey<Schema.String>;
1066
1066
  /** The cause is this Step's own, such as a missing login Secret: only this Step passes the choice over, on any Runner. */
@@ -495,7 +495,7 @@ export declare const makeRunnerRpcClient: (options: ConnectionOptions) => Effect
495
495
  readonly truncated: boolean;
496
496
  };
497
497
  readonly harnessHold?: {
498
- readonly reason: "failed_to_start" | "out_of_quota";
498
+ readonly reason: "failed_to_start" | "login_refused" | "out_of_quota" | "rate_limited";
499
499
  readonly until?: string;
500
500
  readonly scope?: "step";
501
501
  };
@@ -1139,6 +1139,7 @@ export declare const makeProgramRpcClient: (options: ConnectionOptions) => Effec
1139
1139
  readonly workingDirectory?: string | undefined;
1140
1140
  } | undefined;
1141
1141
  readonly default?: string | undefined;
1142
+ readonly auto?: string | undefined;
1142
1143
  readonly timeoutMillis?: number | undefined;
1143
1144
  readonly deferredName: string;
1144
1145
  }, options?: {
@@ -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;
@@ -500,7 +442,7 @@ declare const RunnerReplicaRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schem
500
442
  readonly truncated: Schema.Boolean;
501
443
  }>>;
502
444
  readonly harnessHold: Schema.optionalKey<Schema.Struct<{
503
- readonly reason: Schema.Literals<readonly ["out_of_quota", "failed_to_start"]>;
445
+ readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
504
446
  readonly until: Schema.optionalKey<Schema.String>;
505
447
  readonly scope: Schema.optionalKey<Schema.Literal<"step">>;
506
448
  }>>;
@@ -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
  }
@@ -1113,6 +1113,8 @@ declare const RunnerCapabilityRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild",
1113
1113
  }>>;
1114
1114
  /** Taken when the Run is unattended, or when nobody answers within `timeoutMillis`. */
1115
1115
  default: Schema.optional<Schema.String>;
1116
+ /** Taken at once when the Run's Team delivers in full auto. */
1117
+ auto: Schema.optional<Schema.String>;
1116
1118
  timeoutMillis: Schema.optional<Schema.Finite>;
1117
1119
  deferredName: Schema.String;
1118
1120
  }>, Schema.Struct<{
@@ -1340,51 +1342,7 @@ declare const RunnerCapabilityRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild",
1340
1342
  /** A program's domain calls. */
1341
1343
  export declare class RunnerCapabilityRpcs extends RunnerCapabilityRpcs_base {
1342
1344
  }
1343
- declare const RunnerRunFileRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1344
- lease: Schema.Struct<{
1345
- readonly workUnitId: Schema.String;
1346
- readonly leaseOwnerId: Schema.String;
1347
- readonly runnerReplicaId: Schema.String;
1348
- readonly leaseId: Schema.String;
1349
- readonly attempt: Schema.Int;
1350
- readonly fencingToken: Schema.String;
1351
- readonly capacitySlot: Schema.String;
1352
- }>;
1353
- step: Schema.String;
1354
- name: Schema.String;
1355
- caption: Schema.optional<Schema.String>;
1356
- contentType: Schema.String;
1357
- byteSize: Schema.Int;
1358
- sha256: Schema.String;
1359
- }>, Schema.Struct<{
1360
- readonly file: Schema.Struct<{
1361
- readonly id: Schema.String;
1362
- readonly runId: Schema.String;
1363
- readonly step: Schema.String;
1364
- readonly name: Schema.String;
1365
- readonly caption: Schema.optionalKey<Schema.String>;
1366
- readonly contentType: Schema.String;
1367
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
1368
- readonly byteSize: Schema.Int;
1369
- readonly sha256: Schema.String;
1370
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
1371
- }>;
1372
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
1373
- readonly url: Schema.String;
1374
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1375
- readonly expiresAt: Schema.String;
1376
- readonly kind: Schema.Literal<"single">;
1377
- }>, Schema.Struct<{
1378
- readonly kind: Schema.Literal<"multipart">;
1379
- readonly partSize: Schema.Int;
1380
- readonly parts: Schema.$Array<Schema.Struct<{
1381
- readonly url: Schema.String;
1382
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1383
- readonly expiresAt: Schema.String;
1384
- readonly partNumber: Schema.Int;
1385
- }>>;
1386
- }>]>>;
1387
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"CompleteRunFile", Schema.Struct<{
1345
+ declare const RunnerRunFileRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"CompleteRunFile", Schema.Struct<{
1388
1346
  lease: Schema.Struct<{
1389
1347
  readonly workUnitId: Schema.String;
1390
1348
  readonly leaseOwnerId: Schema.String;
@@ -1410,31 +1368,7 @@ declare const RunnerRunFileRpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile",
1410
1368
  readonly byteSize: Schema.Int;
1411
1369
  readonly sha256: Schema.String;
1412
1370
  readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
1413
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"RunFileParts", Schema.Struct<{
1414
- lease: Schema.Struct<{
1415
- readonly workUnitId: Schema.String;
1416
- readonly leaseOwnerId: Schema.String;
1417
- readonly runnerReplicaId: Schema.String;
1418
- readonly leaseId: Schema.String;
1419
- readonly attempt: Schema.Int;
1420
- readonly fencingToken: Schema.String;
1421
- readonly capacitySlot: Schema.String;
1422
- }>;
1423
- fileId: Schema.String;
1424
- partNumbers: Schema.$Array<Schema.Int>;
1425
- }>, Schema.Struct<{
1426
- readonly parts: Schema.$Array<Schema.Struct<{
1427
- readonly url: Schema.String;
1428
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1429
- readonly expiresAt: Schema.String;
1430
- readonly partNumber: Schema.Int;
1431
- }>>;
1432
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never>>;
1433
- /** Run File uploads, under a program's orchestration lease or the Runner's verification lease. */
1434
- export declare class RunnerRunFileRpcs extends RunnerRunFileRpcs_base {
1435
- }
1436
- /** What a program process may call; its bundle speaks the Runner RPC protocol version through these. */
1437
- export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1371
+ }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1438
1372
  lease: Schema.Struct<{
1439
1373
  readonly workUnitId: Schema.String;
1440
1374
  readonly leaseOwnerId: Schema.String;
@@ -1478,7 +1412,31 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
1478
1412
  readonly partNumber: Schema.Int;
1479
1413
  }>>;
1480
1414
  }>]>>;
1481
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"AdmitChild", Schema.Struct<{
1415
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, 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<"AdmitChild", Schema.Struct<{
1482
1440
  lease: Schema.Struct<{
1483
1441
  readonly workUnitId: Schema.String;
1484
1442
  readonly leaseOwnerId: Schema.String;
@@ -1643,7 +1601,51 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
1643
1601
  }>, Schema.$Array<Schema.Struct<{
1644
1602
  readonly key: Schema.String;
1645
1603
  readonly taskId: Schema.String;
1646
- }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
1604
+ }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
1605
+ lease: Schema.Struct<{
1606
+ readonly workUnitId: Schema.String;
1607
+ readonly leaseOwnerId: Schema.String;
1608
+ readonly runnerReplicaId: Schema.String;
1609
+ readonly leaseId: Schema.String;
1610
+ readonly attempt: Schema.Int;
1611
+ readonly fencingToken: Schema.String;
1612
+ readonly capacitySlot: Schema.String;
1613
+ }>;
1614
+ step: Schema.String;
1615
+ name: Schema.String;
1616
+ caption: Schema.optional<Schema.String>;
1617
+ contentType: Schema.String;
1618
+ byteSize: Schema.Int;
1619
+ sha256: Schema.String;
1620
+ }>, Schema.Struct<{
1621
+ readonly file: Schema.Struct<{
1622
+ readonly id: Schema.String;
1623
+ readonly runId: Schema.String;
1624
+ readonly step: Schema.String;
1625
+ readonly name: Schema.String;
1626
+ readonly caption: Schema.optionalKey<Schema.String>;
1627
+ readonly contentType: Schema.String;
1628
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
1629
+ readonly byteSize: Schema.Int;
1630
+ readonly sha256: Schema.String;
1631
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
1632
+ }>;
1633
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
1634
+ readonly url: Schema.String;
1635
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1636
+ readonly expiresAt: Schema.String;
1637
+ readonly kind: Schema.Literal<"single">;
1638
+ }>, Schema.Struct<{
1639
+ readonly kind: Schema.Literal<"multipart">;
1640
+ readonly partSize: Schema.Int;
1641
+ readonly parts: Schema.$Array<Schema.Struct<{
1642
+ readonly url: Schema.String;
1643
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
1644
+ readonly expiresAt: Schema.String;
1645
+ readonly partNumber: Schema.Int;
1646
+ }>>;
1647
+ }>]>>;
1648
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
1647
1649
  lease: Schema.Struct<{
1648
1650
  readonly workUnitId: Schema.String;
1649
1651
  readonly leaseOwnerId: Schema.String;
@@ -1921,6 +1923,8 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
1921
1923
  }>>;
1922
1924
  /** Taken when the Run is unattended, or when nobody answers within `timeoutMillis`. */
1923
1925
  default: Schema.optional<Schema.String>;
1926
+ /** Taken at once when the Run's Team delivers in full auto. */
1927
+ auto: Schema.optional<Schema.String>;
1924
1928
  timeoutMillis: Schema.optional<Schema.Finite>;
1925
1929
  deferredName: Schema.String;
1926
1930
  }>, Schema.Struct<{
@@ -2201,109 +2205,7 @@ export declare const ProgramRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"CreateRunFile", Sch
2201
2205
  }>;
2202
2206
  }>, Schema.Void, typeof RunnerRpcError, typeof RunnerAuthentication, never>>;
2203
2207
  /** Every group, served on the one Runner RPC endpoint; a request names its procedure by tag alone. */
2204
- export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Struct<{
2205
- runnerReplicaId: Schema.String;
2206
- }>, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"WorkAvailable", {}>, Schema.TaggedStruct<"LeaseRevoked", {
2207
- readonly workUnitId: Schema.String;
2208
- }>, Schema.TaggedStruct<"Settled", {
2209
- readonly workUnitId: Schema.String;
2210
- }>, Schema.TaggedStruct<"Canceled", {
2211
- readonly workUnitId: Schema.String;
2212
- }>, Schema.TaggedStruct<"RunSettled", {
2213
- readonly runId: Schema.String;
2214
- }>, Schema.TaggedStruct<"Steer", {
2215
- readonly workUnitId: Schema.String;
2216
- readonly messageId: Schema.String;
2217
- readonly text: Schema.String;
2218
- }>, Schema.TaggedStruct<"SessionUpdated", {
2219
- readonly workUnitId: Schema.String;
2220
- }>, Schema.TaggedStruct<"UpdateAvailable", {
2221
- readonly version: Schema.String;
2222
- }>]>, typeof RunnerRpcError>, Schema.Never, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateCheckpointFile", Schema.Struct<{
2223
- lease: Schema.Struct<{
2224
- readonly workUnitId: Schema.String;
2225
- readonly leaseOwnerId: Schema.String;
2226
- readonly runnerReplicaId: Schema.String;
2227
- readonly leaseId: Schema.String;
2228
- readonly attempt: Schema.Int;
2229
- readonly fencingToken: Schema.String;
2230
- readonly capacitySlot: Schema.String;
2231
- }>;
2232
- byteSize: Schema.Int;
2233
- sha256: Schema.String;
2234
- }>, Schema.Struct<{
2235
- readonly file: Schema.Struct<{
2236
- readonly id: Schema.String;
2237
- readonly runId: Schema.String;
2238
- readonly step: Schema.String;
2239
- readonly name: Schema.String;
2240
- readonly caption: Schema.optionalKey<Schema.String>;
2241
- readonly contentType: Schema.String;
2242
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2243
- readonly byteSize: Schema.Int;
2244
- readonly sha256: Schema.String;
2245
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2246
- }>;
2247
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2248
- readonly url: Schema.String;
2249
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2250
- readonly expiresAt: Schema.String;
2251
- readonly kind: Schema.Literal<"single">;
2252
- }>, Schema.Struct<{
2253
- readonly kind: Schema.Literal<"multipart">;
2254
- readonly partSize: Schema.Int;
2255
- readonly parts: Schema.$Array<Schema.Struct<{
2256
- readonly url: Schema.String;
2257
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2258
- readonly expiresAt: Schema.String;
2259
- readonly partNumber: Schema.Int;
2260
- }>>;
2261
- }>]>>;
2262
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
2263
- lease: Schema.Struct<{
2264
- readonly workUnitId: Schema.String;
2265
- readonly leaseOwnerId: Schema.String;
2266
- readonly runnerReplicaId: Schema.String;
2267
- readonly leaseId: Schema.String;
2268
- readonly attempt: Schema.Int;
2269
- readonly fencingToken: Schema.String;
2270
- readonly capacitySlot: Schema.String;
2271
- }>;
2272
- step: Schema.String;
2273
- name: Schema.String;
2274
- caption: Schema.optional<Schema.String>;
2275
- contentType: Schema.String;
2276
- byteSize: Schema.Int;
2277
- sha256: Schema.String;
2278
- }>, Schema.Struct<{
2279
- readonly file: Schema.Struct<{
2280
- readonly id: Schema.String;
2281
- readonly runId: Schema.String;
2282
- readonly step: Schema.String;
2283
- readonly name: Schema.String;
2284
- readonly caption: Schema.optionalKey<Schema.String>;
2285
- readonly contentType: Schema.String;
2286
- readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2287
- readonly byteSize: Schema.Int;
2288
- readonly sha256: Schema.String;
2289
- readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2290
- }>;
2291
- readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2292
- readonly url: Schema.String;
2293
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2294
- readonly expiresAt: Schema.String;
2295
- readonly kind: Schema.Literal<"single">;
2296
- }>, Schema.Struct<{
2297
- readonly kind: Schema.Literal<"multipart">;
2298
- readonly partSize: Schema.Int;
2299
- readonly parts: Schema.$Array<Schema.Struct<{
2300
- readonly url: Schema.String;
2301
- readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2302
- readonly expiresAt: Schema.String;
2303
- readonly partNumber: Schema.Int;
2304
- }>>;
2305
- }>]>>;
2306
- }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"AdmitChild", Schema.Struct<{
2208
+ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"AdmitChild", Schema.Struct<{
2307
2209
  lease: Schema.Struct<{
2308
2210
  readonly workUnitId: Schema.String;
2309
2211
  readonly leaseOwnerId: Schema.String;
@@ -2739,7 +2641,7 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
2739
2641
  readonly truncated: Schema.Boolean;
2740
2642
  }>>;
2741
2643
  readonly harnessHold: Schema.optionalKey<Schema.Struct<{
2742
- readonly reason: Schema.Literals<readonly ["out_of_quota", "failed_to_start"]>;
2644
+ readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
2743
2645
  readonly until: Schema.optionalKey<Schema.String>;
2744
2646
  readonly scope: Schema.optionalKey<Schema.Literal<"step">>;
2745
2647
  }>>;
@@ -2800,7 +2702,47 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
2800
2702
  readonly byteSize: Schema.Int;
2801
2703
  readonly sha256: Schema.String;
2802
2704
  readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2803
- }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreatePlanTasks", Schema.Struct<{
2705
+ }>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateCheckpointFile", Schema.Struct<{
2706
+ lease: Schema.Struct<{
2707
+ readonly workUnitId: Schema.String;
2708
+ readonly leaseOwnerId: Schema.String;
2709
+ readonly runnerReplicaId: Schema.String;
2710
+ readonly leaseId: Schema.String;
2711
+ readonly attempt: Schema.Int;
2712
+ readonly fencingToken: Schema.String;
2713
+ readonly capacitySlot: Schema.String;
2714
+ }>;
2715
+ byteSize: Schema.Int;
2716
+ sha256: Schema.String;
2717
+ }>, Schema.Struct<{
2718
+ readonly file: Schema.Struct<{
2719
+ readonly id: Schema.String;
2720
+ readonly runId: Schema.String;
2721
+ readonly step: Schema.String;
2722
+ readonly name: Schema.String;
2723
+ readonly caption: Schema.optionalKey<Schema.String>;
2724
+ readonly contentType: Schema.String;
2725
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2726
+ readonly byteSize: Schema.Int;
2727
+ readonly sha256: Schema.String;
2728
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2729
+ }>;
2730
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2731
+ readonly url: Schema.String;
2732
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2733
+ readonly expiresAt: Schema.String;
2734
+ readonly kind: Schema.Literal<"single">;
2735
+ }>, Schema.Struct<{
2736
+ readonly kind: Schema.Literal<"multipart">;
2737
+ readonly partSize: Schema.Int;
2738
+ readonly parts: Schema.$Array<Schema.Struct<{
2739
+ readonly url: Schema.String;
2740
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2741
+ readonly expiresAt: Schema.String;
2742
+ readonly partNumber: Schema.Int;
2743
+ }>>;
2744
+ }>]>>;
2745
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreatePlanTasks", Schema.Struct<{
2804
2746
  lease: Schema.Struct<{
2805
2747
  readonly workUnitId: Schema.String;
2806
2748
  readonly leaseOwnerId: Schema.String;
@@ -2822,7 +2764,51 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
2822
2764
  }>, Schema.$Array<Schema.Struct<{
2823
2765
  readonly key: Schema.String;
2824
2766
  readonly taskId: Schema.String;
2825
- }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
2767
+ }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"CreateRunFile", Schema.Struct<{
2768
+ lease: Schema.Struct<{
2769
+ readonly workUnitId: Schema.String;
2770
+ readonly leaseOwnerId: Schema.String;
2771
+ readonly runnerReplicaId: Schema.String;
2772
+ readonly leaseId: Schema.String;
2773
+ readonly attempt: Schema.Int;
2774
+ readonly fencingToken: Schema.String;
2775
+ readonly capacitySlot: Schema.String;
2776
+ }>;
2777
+ step: Schema.String;
2778
+ name: Schema.String;
2779
+ caption: Schema.optional<Schema.String>;
2780
+ contentType: Schema.String;
2781
+ byteSize: Schema.Int;
2782
+ sha256: Schema.String;
2783
+ }>, Schema.Struct<{
2784
+ readonly file: Schema.Struct<{
2785
+ readonly id: Schema.String;
2786
+ readonly runId: Schema.String;
2787
+ readonly step: Schema.String;
2788
+ readonly name: Schema.String;
2789
+ readonly caption: Schema.optionalKey<Schema.String>;
2790
+ readonly contentType: Schema.String;
2791
+ readonly kind: Schema.Literals<readonly ["image", "video", "html", "text", "other"]>;
2792
+ readonly byteSize: Schema.Int;
2793
+ readonly sha256: Schema.String;
2794
+ readonly status: Schema.Literals<readonly ["uploading", "available", "rejected", "refused", "removing", "removed", "expired"]>;
2795
+ }>;
2796
+ readonly upload: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2797
+ readonly url: Schema.String;
2798
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2799
+ readonly expiresAt: Schema.String;
2800
+ readonly kind: Schema.Literal<"single">;
2801
+ }>, Schema.Struct<{
2802
+ readonly kind: Schema.Literal<"multipart">;
2803
+ readonly partSize: Schema.Int;
2804
+ readonly parts: Schema.$Array<Schema.Struct<{
2805
+ readonly url: Schema.String;
2806
+ readonly headers: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
2807
+ readonly expiresAt: Schema.String;
2808
+ readonly partNumber: Schema.Int;
2809
+ }>>;
2810
+ }>]>>;
2811
+ }>, Schema.Union<readonly [typeof RunnerRpcError, typeof RunFileRefused]>, typeof RunnerAuthentication, never> | Rpc.Rpc<"DeferredDone", Schema.Struct<{
2826
2812
  lease: Schema.Struct<{
2827
2813
  readonly workUnitId: Schema.String;
2828
2814
  readonly leaseOwnerId: Schema.String;
@@ -3143,6 +3129,8 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
3143
3129
  }>>;
3144
3130
  /** Taken when the Run is unattended, or when nobody answers within `timeoutMillis`. */
3145
3131
  default: Schema.optional<Schema.String>;
3132
+ /** Taken at once when the Run's Team delivers in full auto. */
3133
+ auto: Schema.optional<Schema.String>;
3146
3134
  timeoutMillis: Schema.optional<Schema.Finite>;
3147
3135
  deferredName: Schema.String;
3148
3136
  }>, Schema.Struct<{
@@ -3401,7 +3389,25 @@ export declare const RunnerRpcs: RpcGroup.RpcGroup<Rpc.Rpc<"Signals", Schema.Str
3401
3389
  }>>;
3402
3390
  }>>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"SettledRuns", Schema.Struct<{
3403
3391
  runIds: Schema.$Array<Schema.String>;
3404
- }>, Schema.$Array<Schema.String>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"StartAgentStep", Schema.Struct<{
3392
+ }>, Schema.$Array<Schema.String>, typeof RunnerRpcError, typeof RunnerAuthentication, never> | Rpc.Rpc<"Signals", Schema.Struct<{
3393
+ runnerReplicaId: Schema.String;
3394
+ }>, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"WorkAvailable", {}>, Schema.TaggedStruct<"LeaseRevoked", {
3395
+ readonly workUnitId: Schema.String;
3396
+ }>, Schema.TaggedStruct<"Settled", {
3397
+ readonly workUnitId: Schema.String;
3398
+ }>, Schema.TaggedStruct<"Canceled", {
3399
+ readonly workUnitId: Schema.String;
3400
+ }>, Schema.TaggedStruct<"RunSettled", {
3401
+ readonly runId: Schema.String;
3402
+ }>, Schema.TaggedStruct<"Steer", {
3403
+ readonly workUnitId: Schema.String;
3404
+ readonly messageId: Schema.String;
3405
+ readonly text: Schema.String;
3406
+ }>, Schema.TaggedStruct<"SessionUpdated", {
3407
+ readonly workUnitId: Schema.String;
3408
+ }>, Schema.TaggedStruct<"UpdateAvailable", {
3409
+ readonly version: Schema.String;
3410
+ }>]>, typeof RunnerRpcError>, Schema.Never, typeof RunnerAuthentication, never> | Rpc.Rpc<"StartAgentStep", Schema.Struct<{
3405
3411
  lease: Schema.Struct<{
3406
3412
  readonly workUnitId: Schema.String;
3407
3413
  readonly leaseOwnerId: Schema.String;
@@ -132,6 +132,8 @@ export type QuestionLaunch = Launch & QuestionAdvice & {
132
132
  readonly options?: readonly string[];
133
133
  /** Taken when the Run is unattended, or when nobody answers within `timeoutMillis`. */
134
134
  readonly default?: string;
135
+ /** Taken at once, with nobody asked, when the Run's Team delivers in full auto. */
136
+ readonly auto?: string;
135
137
  readonly timeoutMillis?: number;
136
138
  /** Approving the Question approves this verification. */
137
139
  readonly verification?: SuggestedVerification;
@@ -252,6 +254,11 @@ export declare const agentWorkOnce: <Out>(name: string, options: Parameters<type
252
254
  type Fallback<Value extends string> = {
253
255
  readonly default?: Value | null;
254
256
  readonly timeout?: Duration.Input;
257
+ /**
258
+ * The answer Kitman takes at once, asking nobody, when the Run's Team delivers in full auto. Only for a decision a
259
+ * full-auto Team has handed to the Loop, such as merging a change its Review passed.
260
+ */
261
+ readonly auto?: Value;
255
262
  };
256
263
  /** The answer the Loop would pick and why, in one or two sentences. */
257
264
  type Recommended<Value extends string> = {
@@ -52,6 +52,8 @@ export type TestLoopScript = {
52
52
  readonly answers?: {
53
53
  readonly [step: string]: string;
54
54
  };
55
+ /** Runs as a full-auto Team's Run: an unscripted Question with a full-auto answer takes it. */
56
+ readonly fullAuto?: boolean;
55
57
  readonly children?: {
56
58
  readonly [step: string]: Scripted;
57
59
  };
@@ -42,6 +42,7 @@ export type ProgramCapabilities = {
42
42
  readonly options?: readonly string[];
43
43
  readonly verification?: SuggestedVerification;
44
44
  readonly default?: string;
45
+ readonly auto?: string;
45
46
  readonly timeoutMillis?: number;
46
47
  readonly deferredName: string;
47
48
  }) => Effect.Effect<{