@kitman-sh/sdk 0.10.82 → 0.10.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/build/index.js +2 -2
  2. package/dist/{chunk-fc5r66fq.js → chunk-3pz068kn.js} +11 -5
  3. package/dist/{chunk-0f530caz.js → chunk-cqknxyv9.js} +88 -47
  4. package/dist/loop/index.js +7 -1
  5. package/dist/program/index.js +2 -2
  6. package/package.json +1 -1
  7. package/types/packages/core/src/a2a.d.ts +577 -0
  8. package/types/packages/core/src/agent-capabilities.d.ts +1434 -0
  9. package/types/packages/core/src/agent-launch-snapshot.d.ts +44 -0
  10. package/types/packages/core/src/approval-queue.d.ts +126 -0
  11. package/types/packages/core/src/audit.d.ts +52 -0
  12. package/types/packages/core/src/change-delivery.d.ts +39 -0
  13. package/types/packages/core/src/change-request-review.d.ts +361 -0
  14. package/types/packages/core/src/change-request.d.ts +288 -0
  15. package/types/packages/core/src/connection.d.ts +33 -0
  16. package/types/packages/core/src/context-feedback.d.ts +89 -0
  17. package/types/packages/core/src/data-lifecycle.d.ts +195 -0
  18. package/types/packages/core/src/decision.d.ts +48 -0
  19. package/types/packages/core/src/delivery-operation.d.ts +125 -0
  20. package/types/packages/core/src/delivery-policy.d.ts +174 -0
  21. package/types/packages/core/src/enterprise-forge.d.ts +19 -0
  22. package/types/packages/core/src/epic-delivery.d.ts +38 -0
  23. package/types/packages/core/src/external-effect.d.ts +313 -0
  24. package/types/packages/core/src/fix-flow.d.ts +149 -0
  25. package/types/packages/core/src/following.d.ts +59 -0
  26. package/types/packages/core/src/github-delivery-fixtures.d.ts +28 -0
  27. package/types/packages/core/src/github-delivery.d.ts +78 -0
  28. package/types/packages/core/src/gitlab-delivery-fixtures.d.ts +26 -0
  29. package/types/packages/core/src/gitlab-delivery.d.ts +76 -0
  30. package/types/packages/core/src/global-search.d.ts +42 -0
  31. package/types/packages/core/src/id.d.ts +1 -0
  32. package/types/packages/core/src/integration.d.ts +276 -0
  33. package/types/packages/core/src/intent.d.ts +260 -0
  34. package/types/packages/core/src/kit-install.d.ts +130 -0
  35. package/types/packages/core/src/live.d.ts +8231 -0
  36. package/types/packages/core/src/marketplace.d.ts +168 -0
  37. package/types/packages/core/src/me.d.ts +31 -0
  38. package/types/packages/core/src/memory.d.ts +93 -0
  39. package/types/packages/core/src/my-teams.d.ts +1599 -0
  40. package/types/packages/core/src/notification.d.ts +250 -0
  41. package/types/packages/core/src/observability.d.ts +175 -0
  42. package/types/packages/core/src/owner.d.ts +15 -0
  43. package/types/packages/core/src/personal-development-profile.d.ts +11 -0
  44. package/types/packages/core/src/platform-release.d.ts +60 -0
  45. package/types/packages/core/src/program-credential.d.ts +10 -0
  46. package/types/packages/core/src/provider-safe-text.d.ts +2 -0
  47. package/types/packages/core/src/push.d.ts +68 -0
  48. package/types/packages/core/src/run-display.d.ts +22 -0
  49. package/types/packages/core/src/run-file.d.ts +190 -0
  50. package/types/packages/core/src/run-graph.d.ts +67 -0
  51. package/types/packages/core/src/run-journal.d.ts +28 -0
  52. package/types/packages/core/src/run-launch.d.ts +82 -0
  53. package/types/packages/core/src/runner-eligibility.d.ts +62 -0
  54. package/types/packages/core/src/runner-routing.d.ts +11 -0
  55. package/types/packages/core/src/runner-trust.d.ts +67 -0
  56. package/types/packages/core/src/runner.d.ts +4076 -0
  57. package/types/packages/core/src/scope-directory.d.ts +100 -0
  58. package/types/packages/core/src/session.d.ts +90 -0
  59. package/types/packages/core/src/step-brief.d.ts +70 -0
  60. package/types/packages/core/src/storage.d.ts +49 -0
  61. package/types/packages/core/src/sync-kit.d.ts +595 -0
  62. package/types/packages/core/src/task-detail.d.ts +511 -0
  63. package/types/packages/core/src/task-execution-record.d.ts +620 -0
  64. package/types/packages/core/src/task-key.d.ts +9 -0
  65. package/types/packages/core/src/task.d.ts +588 -0
  66. package/types/packages/core/src/team-context.d.ts +43 -0
  67. package/types/packages/core/src/transcript.d.ts +250 -0
  68. package/types/packages/core/src/trust-panel.d.ts +27 -0
  69. package/types/packages/core/src/work-unit.d.ts +33 -1
  70. package/types/packages/core/src/workspace.d.ts +167 -0
  71. package/types/packages/live/src/rpc/runner-client.d.ts +15 -0
  72. package/types/packages/live/src/rpc/runner-group.d.ts +1515 -1486
  73. package/types/packages/sdk/src/loop/activities.d.ts +3 -0
  74. package/types/packages/sdk/src/loop/index.d.ts +1 -0
  75. package/types/packages/sdk/src/loop/resolve.d.ts +13 -0
  76. package/types/packages/sdk/src/loop/steps.d.ts +5 -0
  77. package/types/packages/sdk/src/loop/sync.d.ts +8 -1
  78. package/types/packages/sdk/src/loop/test-loop.d.ts +7 -0
  79. package/types/packages/sdk/src/program/engine.d.ts +2 -1
@@ -0,0 +1,250 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import type { JsonValue } from './runtime-type';
3
+ /** One normalized moment of an agent session (ADR-0007): never terminal bytes or a Harness's own files. */
4
+ export declare const AgentEvent: Schema.Union<readonly [Schema.Struct<{
5
+ readonly kind: Schema.Literal<"message">;
6
+ readonly role: Schema.Literals<readonly ["assistant", "user"]>;
7
+ readonly text: Schema.String;
8
+ }>, Schema.Struct<{
9
+ readonly kind: Schema.Literal<"tool_call">;
10
+ readonly callId: Schema.String;
11
+ readonly name: Schema.String;
12
+ readonly arguments: Schema.Codec<Schema.Json, Schema.Json, never, never>;
13
+ }>, Schema.Struct<{
14
+ readonly kind: Schema.Literal<"tool_result">;
15
+ readonly callId: Schema.String;
16
+ readonly output: Schema.String;
17
+ readonly isError: Schema.optionalKey<Schema.Boolean>;
18
+ }>, Schema.Struct<{
19
+ readonly kind: Schema.Literal<"file">;
20
+ readonly path: Schema.String;
21
+ readonly change: Schema.Literals<readonly ["read", "changed"]>;
22
+ }>, Schema.Struct<{
23
+ readonly kind: Schema.Literal<"question">;
24
+ readonly text: Schema.String;
25
+ }>, Schema.Struct<{
26
+ readonly kind: Schema.Literal<"answer">;
27
+ readonly callId: Schema.optionalKey<Schema.String>;
28
+ readonly questionId: Schema.optionalKey<Schema.String>;
29
+ readonly text: Schema.String;
30
+ }>, Schema.Struct<{
31
+ readonly kind: Schema.Literal<"steer">;
32
+ readonly messageId: Schema.String;
33
+ readonly text: Schema.String;
34
+ }>, Schema.Struct<{
35
+ readonly kind: Schema.Literal<"secret_refused">;
36
+ readonly reference: Schema.optionalKey<Schema.String>;
37
+ readonly host: Schema.String;
38
+ readonly reason: Schema.String;
39
+ }>, Schema.Struct<{
40
+ readonly kind: Schema.Literal<"lifecycle">;
41
+ readonly state: Schema.Literals<readonly ["started", "resumed", "parked", "finished", "failed", "canceled"]>;
42
+ }>]>;
43
+ export type AgentEvent = (typeof AgentEvent)['Type'];
44
+ /** What replaces the words of an erased person's steers and answers. */
45
+ export declare const removedText = "removed";
46
+ /** An AgentEvent as the Runner numbers it, from 1, for its StepAttempt. */
47
+ export declare const TranscriptAppendEntry: Schema.Struct<{
48
+ readonly sequence: Schema.Int;
49
+ readonly event: Schema.Union<readonly [Schema.Struct<{
50
+ readonly kind: Schema.Literal<"message">;
51
+ readonly role: Schema.Literals<readonly ["assistant", "user"]>;
52
+ readonly text: Schema.String;
53
+ }>, Schema.Struct<{
54
+ readonly kind: Schema.Literal<"tool_call">;
55
+ readonly callId: Schema.String;
56
+ readonly name: Schema.String;
57
+ readonly arguments: Schema.Codec<Schema.Json, Schema.Json, never, never>;
58
+ }>, Schema.Struct<{
59
+ readonly kind: Schema.Literal<"tool_result">;
60
+ readonly callId: Schema.String;
61
+ readonly output: Schema.String;
62
+ readonly isError: Schema.optionalKey<Schema.Boolean>;
63
+ }>, Schema.Struct<{
64
+ readonly kind: Schema.Literal<"file">;
65
+ readonly path: Schema.String;
66
+ readonly change: Schema.Literals<readonly ["read", "changed"]>;
67
+ }>, Schema.Struct<{
68
+ readonly kind: Schema.Literal<"question">;
69
+ readonly text: Schema.String;
70
+ }>, Schema.Struct<{
71
+ readonly kind: Schema.Literal<"answer">;
72
+ readonly callId: Schema.optionalKey<Schema.String>;
73
+ readonly questionId: Schema.optionalKey<Schema.String>;
74
+ readonly text: Schema.String;
75
+ }>, Schema.Struct<{
76
+ readonly kind: Schema.Literal<"steer">;
77
+ readonly messageId: Schema.String;
78
+ readonly text: Schema.String;
79
+ }>, Schema.Struct<{
80
+ readonly kind: Schema.Literal<"secret_refused">;
81
+ readonly reference: Schema.optionalKey<Schema.String>;
82
+ readonly host: Schema.String;
83
+ readonly reason: Schema.String;
84
+ }>, Schema.Struct<{
85
+ readonly kind: Schema.Literal<"lifecycle">;
86
+ readonly state: Schema.Literals<readonly ["started", "resumed", "parked", "finished", "failed", "canceled"]>;
87
+ }>]>;
88
+ }>;
89
+ export type TranscriptAppendEntry = (typeof TranscriptAppendEntry)['Type'];
90
+ export declare const TranscriptEntry: Schema.Struct<{
91
+ readonly stepAttemptId: Schema.String;
92
+ readonly sequence: Schema.Int;
93
+ readonly event: Schema.Union<readonly [Schema.Struct<{
94
+ readonly kind: Schema.Literal<"message">;
95
+ readonly role: Schema.Literals<readonly ["assistant", "user"]>;
96
+ readonly text: Schema.String;
97
+ }>, Schema.Struct<{
98
+ readonly kind: Schema.Literal<"tool_call">;
99
+ readonly callId: Schema.String;
100
+ readonly name: Schema.String;
101
+ readonly arguments: Schema.Codec<Schema.Json, Schema.Json, never, never>;
102
+ }>, Schema.Struct<{
103
+ readonly kind: Schema.Literal<"tool_result">;
104
+ readonly callId: Schema.String;
105
+ readonly output: Schema.String;
106
+ readonly isError: Schema.optionalKey<Schema.Boolean>;
107
+ }>, Schema.Struct<{
108
+ readonly kind: Schema.Literal<"file">;
109
+ readonly path: Schema.String;
110
+ readonly change: Schema.Literals<readonly ["read", "changed"]>;
111
+ }>, Schema.Struct<{
112
+ readonly kind: Schema.Literal<"question">;
113
+ readonly text: Schema.String;
114
+ }>, Schema.Struct<{
115
+ readonly kind: Schema.Literal<"answer">;
116
+ readonly callId: Schema.optionalKey<Schema.String>;
117
+ readonly questionId: Schema.optionalKey<Schema.String>;
118
+ readonly text: Schema.String;
119
+ }>, Schema.Struct<{
120
+ readonly kind: Schema.Literal<"steer">;
121
+ readonly messageId: Schema.String;
122
+ readonly text: Schema.String;
123
+ }>, Schema.Struct<{
124
+ readonly kind: Schema.Literal<"secret_refused">;
125
+ readonly reference: Schema.optionalKey<Schema.String>;
126
+ readonly host: Schema.String;
127
+ readonly reason: Schema.String;
128
+ }>, Schema.Struct<{
129
+ readonly kind: Schema.Literal<"lifecycle">;
130
+ readonly state: Schema.Literals<readonly ["started", "resumed", "parked", "finished", "failed", "canceled"]>;
131
+ }>]>;
132
+ readonly createdAt: Schema.String;
133
+ }>;
134
+ export type TranscriptEntry = (typeof TranscriptEntry)['Type'];
135
+ /** A `before` past every sequence number, which reads the newest page. */
136
+ export declare const transcriptEnd = 2147483647;
137
+ /**
138
+ * A page of one StepAttempt's Transcript, oldest first; `next` is the `after` that reads the following page, and
139
+ * `previous` the `before` that reads the page before it.
140
+ */
141
+ export declare const TranscriptPage: Schema.Struct<{
142
+ readonly items: Schema.$Array<Schema.Struct<{
143
+ readonly stepAttemptId: Schema.String;
144
+ readonly sequence: Schema.Int;
145
+ readonly event: Schema.Union<readonly [Schema.Struct<{
146
+ readonly kind: Schema.Literal<"message">;
147
+ readonly role: Schema.Literals<readonly ["assistant", "user"]>;
148
+ readonly text: Schema.String;
149
+ }>, Schema.Struct<{
150
+ readonly kind: Schema.Literal<"tool_call">;
151
+ readonly callId: Schema.String;
152
+ readonly name: Schema.String;
153
+ readonly arguments: Schema.Codec<Schema.Json, Schema.Json, never, never>;
154
+ }>, Schema.Struct<{
155
+ readonly kind: Schema.Literal<"tool_result">;
156
+ readonly callId: Schema.String;
157
+ readonly output: Schema.String;
158
+ readonly isError: Schema.optionalKey<Schema.Boolean>;
159
+ }>, Schema.Struct<{
160
+ readonly kind: Schema.Literal<"file">;
161
+ readonly path: Schema.String;
162
+ readonly change: Schema.Literals<readonly ["read", "changed"]>;
163
+ }>, Schema.Struct<{
164
+ readonly kind: Schema.Literal<"question">;
165
+ readonly text: Schema.String;
166
+ }>, Schema.Struct<{
167
+ readonly kind: Schema.Literal<"answer">;
168
+ readonly callId: Schema.optionalKey<Schema.String>;
169
+ readonly questionId: Schema.optionalKey<Schema.String>;
170
+ readonly text: Schema.String;
171
+ }>, Schema.Struct<{
172
+ readonly kind: Schema.Literal<"steer">;
173
+ readonly messageId: Schema.String;
174
+ readonly text: Schema.String;
175
+ }>, Schema.Struct<{
176
+ readonly kind: Schema.Literal<"secret_refused">;
177
+ readonly reference: Schema.optionalKey<Schema.String>;
178
+ readonly host: Schema.String;
179
+ readonly reason: Schema.String;
180
+ }>, Schema.Struct<{
181
+ readonly kind: Schema.Literal<"lifecycle">;
182
+ readonly state: Schema.Literals<readonly ["started", "resumed", "parked", "finished", "failed", "canceled"]>;
183
+ }>]>;
184
+ readonly createdAt: Schema.String;
185
+ }>>;
186
+ readonly next: Schema.optionalKey<Schema.Int>;
187
+ readonly previous: Schema.optionalKey<Schema.Int>;
188
+ }>;
189
+ export type TranscriptPage = (typeof TranscriptPage)['Type'];
190
+ /** How many days a Workspace keeps Transcripts; `null` keeps each as long as its Run. */
191
+ export declare const TranscriptRetention: Schema.Struct<{
192
+ readonly days: Schema.NullOr<Schema.Int>;
193
+ }>;
194
+ export type TranscriptRetention = (typeof TranscriptRetention)['Type'];
195
+ export declare const MaxTranscriptSearchLimit = 50;
196
+ export declare const TranscriptSearchQuery: Schema.Struct<{
197
+ readonly q: Schema.String;
198
+ readonly limit: Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.FiniteFromString]>>;
199
+ }>;
200
+ /** A Transcript that matches, opened at its first matching entry. */
201
+ export declare const TranscriptSearchHit: Schema.Struct<{
202
+ readonly runId: Schema.String;
203
+ readonly loop: Schema.String;
204
+ readonly task: Schema.optionalKey<Schema.Struct<{
205
+ readonly id: Schema.String;
206
+ readonly key: Schema.String;
207
+ readonly title: Schema.String;
208
+ }>>;
209
+ readonly stepAttemptId: Schema.String;
210
+ /** The Run graph node the Run page opens the Step by. */
211
+ readonly node: Schema.optionalKey<Schema.String>;
212
+ readonly step: Schema.String;
213
+ readonly attempt: Schema.Int;
214
+ readonly agent: Schema.optionalKey<Schema.String>;
215
+ readonly ranAt: Schema.String;
216
+ readonly sequence: Schema.Int;
217
+ readonly matches: Schema.Int;
218
+ readonly excerpt: Schema.String;
219
+ }>;
220
+ export type TranscriptSearchHit = (typeof TranscriptSearchHit)['Type'];
221
+ /** Newest Transcripts first; `total` counts every matching Transcript the person may read. */
222
+ export declare const TranscriptSearchResult: Schema.Struct<{
223
+ readonly items: Schema.$Array<Schema.Struct<{
224
+ readonly runId: Schema.String;
225
+ readonly loop: Schema.String;
226
+ readonly task: Schema.optionalKey<Schema.Struct<{
227
+ readonly id: Schema.String;
228
+ readonly key: Schema.String;
229
+ readonly title: Schema.String;
230
+ }>>;
231
+ readonly stepAttemptId: Schema.String;
232
+ /** The Run graph node the Run page opens the Step by. */
233
+ readonly node: Schema.optionalKey<Schema.String>;
234
+ readonly step: Schema.String;
235
+ readonly attempt: Schema.Int;
236
+ readonly agent: Schema.optionalKey<Schema.String>;
237
+ readonly ranAt: Schema.String;
238
+ readonly sequence: Schema.Int;
239
+ readonly matches: Schema.Int;
240
+ readonly excerpt: Schema.String;
241
+ }>>;
242
+ readonly total: Schema.Int;
243
+ }>;
244
+ export type TranscriptSearchResult = (typeof TranscriptSearchResult)['Type'];
245
+ /** Up to `width` characters of `text` around the first case-insensitive match of `query`, on one line. */
246
+ export declare const transcriptExcerpt: (text: string, query: string, width?: number) => string;
247
+ /** A redaction keeps the JSON's shape. */
248
+ export type Redact = <T extends JsonValue>(json: T) => T;
249
+ /** Replaces every exact occurrence of `values` in the strings of JSON, longest first so none is left in part. */
250
+ export declare const redactSecretValues: (values: readonly (readonly [name: string, value: string])[]) => Redact;
@@ -0,0 +1,27 @@
1
+ import { type ChangeRequest } from './change-request';
2
+ import type { RunShow } from './loop';
3
+ export type TrustStatus = 'failed' | 'partial' | 'unproved' | 'verified' | 'claims';
4
+ /** One kind of evidence a person reads before merging, with where it came from. */
5
+ export type TrustRow = {
6
+ readonly kind: 'checks' | 'criteria' | 'review' | 'forge' | 'claims';
7
+ readonly status: TrustStatus;
8
+ readonly label: string;
9
+ readonly word: string;
10
+ readonly detail: string;
11
+ readonly source: string;
12
+ };
13
+ export type TrustPanel = {
14
+ /** Failed when any evidence fails, partial while any is open or unproved; claims never count. */
15
+ readonly state: 'verified' | 'partial' | 'failed';
16
+ /** What the Run's Output left unsettled, unmet acceptance criteria first. */
17
+ readonly gaps: readonly string[];
18
+ /** Failing, then open, then unproved evidence, before the verified and the claims. */
19
+ readonly rows: readonly TrustRow[];
20
+ };
21
+ export type TrustPanelInput = {
22
+ readonly shown: Pick<RunShow, 'run' | 'steps' | 'evidence' | 'findings'>;
23
+ readonly acceptanceCriteria: readonly string[];
24
+ readonly changeRequest?: Pick<ChangeRequest, 'provider' | 'providerMetadata'> | undefined;
25
+ };
26
+ /** The rows of "Why you can trust this": each kind of evidence the Run has, set apart from what its agents claim. */
27
+ export declare const trustPanel: (input: TrustPanelInput) => TrustPanel;
@@ -264,9 +264,17 @@ export declare const MeasureEvidence: Schema.Struct<{
264
264
  readonly head: Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>;
265
265
  readonly baseAgain: Schema.optionalKey<Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>>;
266
266
  }>;
267
+ /** Revisions to resolve to the commits they name now, running no checks. */
268
+ export declare const ResolveSpec: Schema.Struct<{
269
+ readonly revisions: Schema.$Array<Schema.String>;
270
+ }>;
271
+ /** The commit each of a resolve's revisions names, in its order. */
272
+ export declare const ResolvedRevisions: Schema.Struct<{
273
+ readonly commits: Schema.$Array<Schema.String>;
274
+ }>;
267
275
  /**
268
276
  * Runs approved checks at a revision with no agent, and at `baseline`, the default branch's head when left out; or,
269
- * with `measure`, benchmarks the revision against a base.
277
+ * with `measure`, benchmarks the revision against a base; or, with `resolve`, resolves revisions to commits.
270
278
  */
271
279
  export declare const VerificationWorkUnit: Schema.Struct<{
272
280
  readonly kind: Schema.Literal<"verification">;
@@ -327,6 +335,9 @@ export declare const VerificationWorkUnit: Schema.Struct<{
327
335
  readonly samples: Schema.Int;
328
336
  readonly calibrate: Schema.Boolean;
329
337
  }>>;
338
+ readonly resolve: Schema.optionalKey<Schema.Struct<{
339
+ readonly revisions: Schema.$Array<Schema.String>;
340
+ }>>;
330
341
  /** Hosts the Run's Team and RepoBinding allow, which the check's sandbox adds. */
331
342
  readonly hosts: Schema.optionalKey<Schema.$Array<Schema.String>>;
332
343
  readonly storageOrigin: Schema.optionalKey<Schema.String>;
@@ -506,6 +517,9 @@ export declare const WorkUnit: Schema.Union<readonly [Schema.Struct<{
506
517
  readonly samples: Schema.Int;
507
518
  readonly calibrate: Schema.Boolean;
508
519
  }>>;
520
+ readonly resolve: Schema.optionalKey<Schema.Struct<{
521
+ readonly revisions: Schema.$Array<Schema.String>;
522
+ }>>;
509
523
  /** Hosts the Run's Team and RepoBinding allow, which the check's sandbox adds. */
510
524
  readonly hosts: Schema.optionalKey<Schema.$Array<Schema.String>>;
511
525
  readonly storageOrigin: Schema.optionalKey<Schema.String>;
@@ -686,6 +700,9 @@ export declare const WorkUnitClaimResult: Schema.Struct<{
686
700
  readonly samples: Schema.Int;
687
701
  readonly calibrate: Schema.Boolean;
688
702
  }>>;
703
+ readonly resolve: Schema.optionalKey<Schema.Struct<{
704
+ readonly revisions: Schema.$Array<Schema.String>;
705
+ }>>;
689
706
  /** Hosts the Run's Team and RepoBinding allow, which the check's sandbox adds. */
690
707
  readonly hosts: Schema.optionalKey<Schema.$Array<Schema.String>>;
691
708
  readonly storageOrigin: Schema.optionalKey<Schema.String>;
@@ -846,6 +863,9 @@ export declare const VerificationEvidence: Schema.Struct<{
846
863
  readonly head: Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>;
847
864
  readonly baseAgain: Schema.optionalKey<Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>>;
848
865
  }>>;
866
+ readonly resolved: Schema.optionalKey<Schema.Struct<{
867
+ readonly commits: Schema.$Array<Schema.String>;
868
+ }>>;
849
869
  }>;
850
870
  /** A write checkout's change since the Run began, bounded and redacted by the Runner; Kitman bounds it again. */
851
871
  export declare const BoundaryChange: Schema.Struct<{
@@ -974,6 +994,9 @@ export declare const WorkUnitOutcome: Schema.Struct<{
974
994
  readonly head: Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>;
975
995
  readonly baseAgain: Schema.optionalKey<Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>>;
976
996
  }>>;
997
+ readonly resolved: Schema.optionalKey<Schema.Struct<{
998
+ readonly commits: Schema.$Array<Schema.String>;
999
+ }>>;
977
1000
  }>>;
978
1001
  readonly boundary: Schema.optionalKey<Schema.Struct<{
979
1002
  readonly kind: Schema.Literal<"change">;
@@ -1002,6 +1025,8 @@ export declare const WorkUnitOutcome: Schema.Struct<{
1002
1025
  /** A list was longer than `catchUpPathLimit` and was cut. */
1003
1026
  readonly truncated: Schema.Boolean;
1004
1027
  }>>;
1028
+ /** The target's commit a base sync merged in, or tried to: what a review of the branch diffs against. */
1029
+ readonly syncedTarget: Schema.optionalKey<Schema.String>;
1005
1030
  readonly harnessHold: Schema.optionalKey<Schema.Struct<{
1006
1031
  readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1007
1032
  /** When the Harness can run again, as it reported; Kitman holds it for a while when this is missing or implausible. */
@@ -1103,6 +1128,9 @@ export declare const WorkUnitCompletion: Schema.Struct<{
1103
1128
  readonly head: Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>;
1104
1129
  readonly baseAgain: Schema.optionalKey<Schema.$Array<Schema.$Record<Schema.String, Schema.Finite>>>;
1105
1130
  }>>;
1131
+ readonly resolved: Schema.optionalKey<Schema.Struct<{
1132
+ readonly commits: Schema.$Array<Schema.String>;
1133
+ }>>;
1106
1134
  }>>;
1107
1135
  readonly boundary: Schema.optionalKey<Schema.Struct<{
1108
1136
  readonly kind: Schema.Literal<"change">;
@@ -1131,6 +1159,8 @@ export declare const WorkUnitCompletion: Schema.Struct<{
1131
1159
  /** A list was longer than `catchUpPathLimit` and was cut. */
1132
1160
  readonly truncated: Schema.Boolean;
1133
1161
  }>>;
1162
+ /** The target's commit a base sync merged in, or tried to: what a review of the branch diffs against. */
1163
+ readonly syncedTarget: Schema.optionalKey<Schema.String>;
1134
1164
  readonly harnessHold: Schema.optionalKey<Schema.Struct<{
1135
1165
  readonly reason: Schema.Literals<readonly ["out_of_quota", "rate_limited", "login_refused", "failed_to_start"]>;
1136
1166
  /** When the Harness can run again, as it reported; Kitman holds it for a while when this is missing or implausible. */
@@ -1158,6 +1188,8 @@ export type VerificationEvidence = (typeof VerificationEvidence)['Type'];
1158
1188
  export type MeasurePlan = (typeof MeasurePlan)['Type'];
1159
1189
  export type MeasureSpec = (typeof MeasureSpec)['Type'];
1160
1190
  export type MeasureEvidence = (typeof MeasureEvidence)['Type'];
1191
+ export type ResolveSpec = (typeof ResolveSpec)['Type'];
1192
+ export type ResolvedRevisions = (typeof ResolvedRevisions)['Type'];
1161
1193
  export type LoopCheckout = (typeof LoopCheckout)['Type'];
1162
1194
  export type RunJournal = (typeof RunJournal)['Type'];
1163
1195
  export type WorkUnitClaimResult = (typeof WorkUnitClaimResult)['Type'];
@@ -0,0 +1,167 @@
1
+ import * as Schema from 'effect/Schema';
2
+ export declare const WorkspaceNotificationPreferences: Schema.Struct<{
3
+ readonly decisionsRequiringAttention: Schema.Boolean;
4
+ readonly workReadyForReview: Schema.Boolean;
5
+ }>;
6
+ export declare const Workspace: Schema.Struct<{
7
+ readonly id: Schema.String;
8
+ readonly name: Schema.String;
9
+ readonly slug: Schema.String;
10
+ readonly plan: Schema.Union<readonly [Schema.Literal<"free">, Schema.Literal<"solo_pro">, Schema.Literal<"team_starter">]>;
11
+ readonly notificationPreferences: Schema.optionalKey<Schema.Struct<{
12
+ readonly decisionsRequiringAttention: Schema.Boolean;
13
+ readonly workReadyForReview: Schema.Boolean;
14
+ }>>;
15
+ readonly createdByUserId: Schema.optionalKey<Schema.String>;
16
+ readonly createdAt: Schema.String;
17
+ readonly updatedAt: Schema.String;
18
+ }>;
19
+ export declare const WorkspaceCreate: Schema.Struct<{
20
+ readonly name: Schema.String;
21
+ readonly slug: Schema.optionalKey<Schema.String>;
22
+ }>;
23
+ export declare const WorkspaceUpdate: Schema.Struct<{
24
+ readonly name: Schema.optionalKey<Schema.String>;
25
+ readonly slug: Schema.optionalKey<Schema.String>;
26
+ readonly notificationPreferences: Schema.optionalKey<Schema.Struct<{
27
+ readonly decisionsRequiringAttention: Schema.Boolean;
28
+ readonly workReadyForReview: Schema.Boolean;
29
+ }>>;
30
+ }>;
31
+ export declare const WorkspaceList: Schema.Struct<{
32
+ readonly items: Schema.$Array<Schema.Struct<{
33
+ readonly id: Schema.String;
34
+ readonly name: Schema.String;
35
+ readonly slug: Schema.String;
36
+ readonly plan: Schema.Union<readonly [Schema.Literal<"free">, Schema.Literal<"solo_pro">, Schema.Literal<"team_starter">]>;
37
+ readonly notificationPreferences: Schema.optionalKey<Schema.Struct<{
38
+ readonly decisionsRequiringAttention: Schema.Boolean;
39
+ readonly workReadyForReview: Schema.Boolean;
40
+ }>>;
41
+ readonly createdByUserId: Schema.optionalKey<Schema.String>;
42
+ readonly createdAt: Schema.String;
43
+ readonly updatedAt: Schema.String;
44
+ }>>;
45
+ }>;
46
+ /** What a Workspace has set up, each part read from the rows that exist; onboarding stores only when it was seen. */
47
+ export declare const WorkspaceSetup: Schema.Struct<{
48
+ readonly forgeConnected: Schema.Boolean;
49
+ /** The first repository bound in the Workspace; a first Research Run reads it. */
50
+ readonly firstRepoBinding: Schema.NullOr<Schema.Struct<{
51
+ readonly id: Schema.String;
52
+ readonly owner: Schema.String;
53
+ readonly name: Schema.String;
54
+ }>>;
55
+ readonly verificationsApproved: Schema.Boolean;
56
+ /** The caller's own Runner heartbeating now, the Harnesses it offers, and what each other Harness lacks. */
57
+ readonly machine: Schema.Struct<{
58
+ readonly ready: Schema.Boolean;
59
+ readonly harnesses: Schema.$Array<Schema.String>;
60
+ readonly missing: Schema.$Array<Schema.String>;
61
+ }>;
62
+ /** Someone besides the caller is a member; a pending invitation is not one. */
63
+ readonly secondMember: Schema.Boolean;
64
+ /** The caller requested a Run on a Task. */
65
+ readonly taskRun: Schema.Boolean;
66
+ readonly onboardingSeenAt: Schema.NullOr<Schema.String>;
67
+ /** The forges this deployment connects in one click. */
68
+ readonly oneClickConnect: Schema.Struct<{
69
+ readonly github: Schema.Boolean;
70
+ readonly gitlab: Schema.Boolean;
71
+ }>;
72
+ }>;
73
+ /** A minted Pairing Code and the one command that pairs a machine with it. */
74
+ export declare const PairingCode: Schema.Struct<{
75
+ readonly id: Schema.String;
76
+ readonly code: Schema.String;
77
+ readonly expiresAt: Schema.String;
78
+ readonly command: Schema.String;
79
+ }>;
80
+ /** Whether the machine has redeemed a Pairing Code yet. */
81
+ export declare const PairingStatus: Schema.Union<readonly [Schema.Struct<{
82
+ readonly state: Schema.Literals<readonly ["waiting", "expired"]>;
83
+ }>, Schema.Struct<{
84
+ readonly state: Schema.Literal<"redeemed">;
85
+ readonly redeemedAt: Schema.String;
86
+ }>]>;
87
+ /** The Runner a Pairing Code pairs instead of signing its person in: a new shared Runner, or an existing one re-keyed. */
88
+ export declare const PairingTarget: Schema.Union<readonly [Schema.Struct<{
89
+ readonly kind: Schema.Literal<"shared">;
90
+ readonly name: Schema.String;
91
+ readonly labels: Schema.optionalKey<Schema.$Array<Schema.String>>;
92
+ readonly ownership: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
93
+ readonly kind: Schema.Literal<"workspace">;
94
+ readonly teamAccess: Schema.Union<readonly [Schema.Literal<"all">, Schema.Literal<"selected">]>;
95
+ }>, Schema.Struct<{
96
+ readonly kind: Schema.Literal<"team">;
97
+ readonly teamId: Schema.String;
98
+ }>]>>;
99
+ readonly teamId: Schema.optionalKey<Schema.String>;
100
+ }>, Schema.Struct<{
101
+ readonly kind: Schema.Literal<"runner">;
102
+ readonly runnerId: Schema.String;
103
+ }>]>;
104
+ export declare const PairingMint: Schema.Struct<{
105
+ readonly target: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
106
+ readonly kind: Schema.Literal<"shared">;
107
+ readonly name: Schema.String;
108
+ readonly labels: Schema.optionalKey<Schema.$Array<Schema.String>>;
109
+ readonly ownership: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
110
+ readonly kind: Schema.Literal<"workspace">;
111
+ readonly teamAccess: Schema.Union<readonly [Schema.Literal<"all">, Schema.Literal<"selected">]>;
112
+ }>, Schema.Struct<{
113
+ readonly kind: Schema.Literal<"team">;
114
+ readonly teamId: Schema.String;
115
+ }>]>>;
116
+ readonly teamId: Schema.optionalKey<Schema.String>;
117
+ }>, Schema.Struct<{
118
+ readonly kind: Schema.Literal<"runner">;
119
+ readonly runnerId: Schema.String;
120
+ }>]>>;
121
+ }>;
122
+ /** A code with a target needs the machine's new public key. */
123
+ export declare const PairingRedeem: Schema.Struct<{
124
+ readonly code: Schema.String;
125
+ readonly publicKey: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Boolean, Schema.$Array<Schema.String>]>>>;
126
+ }>;
127
+ /** The credentials `kitman login` stores, for the person and Workspace the code was minted for. */
128
+ export declare const PairingCredentials: Schema.Struct<{
129
+ readonly accessToken: Schema.String;
130
+ readonly refreshToken: Schema.optional<Schema.String>;
131
+ readonly expiresIn: Schema.optional<Schema.Finite>;
132
+ readonly workspaceId: Schema.String;
133
+ readonly userId: Schema.String;
134
+ }>;
135
+ /** The Runner a code with a target paired, and the identity the redeemed public key now holds. */
136
+ export declare const PairedRunner: Schema.Struct<{
137
+ readonly runnerId: Schema.String;
138
+ readonly workspaceId: Schema.String;
139
+ readonly agentIdentityId: Schema.String;
140
+ readonly credentialHostId: Schema.String;
141
+ }>;
142
+ export declare const PairingRedemption: Schema.Union<readonly [Schema.Struct<{
143
+ readonly accessToken: Schema.String;
144
+ readonly refreshToken: Schema.optional<Schema.String>;
145
+ readonly expiresIn: Schema.optional<Schema.Finite>;
146
+ readonly workspaceId: Schema.String;
147
+ readonly userId: Schema.String;
148
+ }>, Schema.Struct<{
149
+ readonly runnerId: Schema.String;
150
+ readonly workspaceId: Schema.String;
151
+ readonly agentIdentityId: Schema.String;
152
+ readonly credentialHostId: Schema.String;
153
+ }>]>;
154
+ export type Workspace = (typeof Workspace)['Type'];
155
+ export type PairingCode = (typeof PairingCode)['Type'];
156
+ export type PairingRedeem = (typeof PairingRedeem)['Type'];
157
+ export type PairingStatus = (typeof PairingStatus)['Type'];
158
+ export type PairingCredentials = (typeof PairingCredentials)['Type'];
159
+ export type PairingTarget = (typeof PairingTarget)['Type'];
160
+ export type PairingMint = (typeof PairingMint)['Type'];
161
+ export type PairedRunner = (typeof PairedRunner)['Type'];
162
+ export type PairingRedemption = (typeof PairingRedemption)['Type'];
163
+ export type WorkspaceSetup = (typeof WorkspaceSetup)['Type'];
164
+ export type WorkspaceNotificationPreferences = (typeof WorkspaceNotificationPreferences)['Type'];
165
+ export type WorkspaceCreate = (typeof WorkspaceCreate)['Type'];
166
+ export type WorkspaceUpdate = (typeof WorkspaceUpdate)['Type'];
167
+ export type WorkspaceList = (typeof WorkspaceList)['Type'];
@@ -193,6 +193,9 @@ export declare const makeRunnerRpcClient: (options: ConnectionOptions) => Effect
193
193
  readonly samples: number;
194
194
  readonly calibrate: boolean;
195
195
  };
196
+ readonly resolve?: {
197
+ readonly revisions: readonly string[];
198
+ };
196
199
  readonly hosts?: readonly string[];
197
200
  readonly storageOrigin?: string;
198
201
  };
@@ -362,6 +365,9 @@ export declare const makeRunnerRpcClient: (options: ConnectionOptions) => Effect
362
365
  readonly samples: number;
363
366
  readonly calibrate: boolean;
364
367
  };
368
+ readonly resolve?: {
369
+ readonly revisions: readonly string[];
370
+ };
365
371
  readonly hosts?: readonly string[];
366
372
  readonly storageOrigin?: string;
367
373
  };
@@ -489,6 +495,9 @@ export declare const makeRunnerRpcClient: (options: ConnectionOptions) => Effect
489
495
  readonly [x: string]: number;
490
496
  }[];
491
497
  };
498
+ readonly resolved?: {
499
+ readonly commits: readonly string[];
500
+ };
492
501
  };
493
502
  readonly boundary?: {
494
503
  readonly kind: "change";
@@ -510,6 +519,7 @@ export declare const makeRunnerRpcClient: (options: ConnectionOptions) => Effect
510
519
  readonly changed: readonly string[];
511
520
  readonly truncated: boolean;
512
521
  };
522
+ readonly syncedTarget?: string;
513
523
  readonly harnessHold?: {
514
524
  readonly reason: "failed_to_start" | "login_refused" | "out_of_quota" | "rate_limited";
515
525
  readonly until?: string;
@@ -1254,6 +1264,9 @@ export declare const makeProgramRpcClient: (options: ConnectionOptions) => Effec
1254
1264
  readonly samples: number;
1255
1265
  readonly calibrate: boolean;
1256
1266
  };
1267
+ readonly resolve?: {
1268
+ readonly revisions: readonly string[];
1269
+ };
1257
1270
  }, options?: {
1258
1271
  readonly headers?: import("effect/http/Headers").Input | undefined;
1259
1272
  readonly context?: import("effect/Context").Context<never> | undefined;
@@ -1731,6 +1744,7 @@ export declare const makeProgramRpcClient: (options: ConnectionOptions) => Effec
1731
1744
  readonly runnerChecks?: readonly string[];
1732
1745
  readonly approved?: string;
1733
1746
  readonly repository?: string;
1747
+ readonly targetBranch?: string;
1734
1748
  readonly conflicts?: boolean;
1735
1749
  readonly needsRebase?: boolean;
1736
1750
  readonly target?: {
@@ -1757,6 +1771,7 @@ export declare const makeProgramRpcClient: (options: ConnectionOptions) => Effec
1757
1771
  readonly runnerChecks?: readonly string[];
1758
1772
  readonly approved?: string;
1759
1773
  readonly repository?: string;
1774
+ readonly targetBranch?: string;
1760
1775
  readonly conflicts?: boolean;
1761
1776
  readonly needsRebase?: boolean;
1762
1777
  readonly target?: {