@stigmer/protos 3.0.9-dev.20260616060535 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/ai/stigmer/agentic/agentexecution/v1/api_pb.d.ts +81 -1
  2. package/ai/stigmer/agentic/agentexecution/v1/api_pb.js +2 -1
  3. package/ai/stigmer/agentic/agentexecution/v1/api_pb.js.map +1 -1
  4. package/ai/stigmer/agentic/agentexecution/v1/approval_pb.d.ts +325 -1
  5. package/ai/stigmer/agentic/agentexecution/v1/approval_pb.js +26 -1
  6. package/ai/stigmer/agentic/agentexecution/v1/approval_pb.js.map +1 -1
  7. package/ai/stigmer/agentic/agentexecution/v1/artifact_pb.d.ts +4 -8
  8. package/ai/stigmer/agentic/agentexecution/v1/artifact_pb.js +1 -1
  9. package/ai/stigmer/agentic/agentexecution/v1/artifact_pb.js.map +1 -1
  10. package/ai/stigmer/agentic/agentexecution/v1/command_connect.d.ts +39 -0
  11. package/ai/stigmer/agentic/agentexecution/v1/command_connect.js +40 -1
  12. package/ai/stigmer/agentic/agentexecution/v1/command_connect.js.map +1 -1
  13. package/ai/stigmer/agentic/agentexecution/v1/command_pb.d.ts +39 -1
  14. package/ai/stigmer/agentic/agentexecution/v1/command_pb.js +1 -1
  15. package/ai/stigmer/agentic/agentexecution/v1/command_pb.js.map +1 -1
  16. package/ai/stigmer/agentic/agentexecution/v1/enum_pb.d.ts +802 -29
  17. package/ai/stigmer/agentic/agentexecution/v1/enum_pb.js +820 -31
  18. package/ai/stigmer/agentic/agentexecution/v1/enum_pb.js.map +1 -1
  19. package/ai/stigmer/agentic/agentexecution/v1/filereview_pb.d.ts +796 -0
  20. package/ai/stigmer/agentic/agentexecution/v1/filereview_pb.js +77 -0
  21. package/ai/stigmer/agentic/agentexecution/v1/filereview_pb.js.map +1 -0
  22. package/ai/stigmer/agentic/agentexecution/v1/io_pb.d.ts +92 -1
  23. package/ai/stigmer/agentic/agentexecution/v1/io_pb.js +33 -28
  24. package/ai/stigmer/agentic/agentexecution/v1/io_pb.js.map +1 -1
  25. package/ai/stigmer/agentic/agentexecution/v1/message_pb.d.ts +220 -8
  26. package/ai/stigmer/agentic/agentexecution/v1/message_pb.js +11 -1
  27. package/ai/stigmer/agentic/agentexecution/v1/message_pb.js.map +1 -1
  28. package/ai/stigmer/agentic/mcpserver/v1/spec_pb.d.ts +17 -0
  29. package/ai/stigmer/agentic/mcpserver/v1/spec_pb.js +1 -1
  30. package/ai/stigmer/agentic/mcpserver/v1/spec_pb.js.map +1 -1
  31. package/ai/stigmer/agentic/workflowexecution/v1/api_pb.d.ts +69 -0
  32. package/ai/stigmer/agentic/workflowexecution/v1/api_pb.js +7 -2
  33. package/ai/stigmer/agentic/workflowexecution/v1/api_pb.js.map +1 -1
  34. package/ai/stigmer/agentic/workflowexecution/v1/command_connect.d.ts +50 -0
  35. package/ai/stigmer/agentic/workflowexecution/v1/command_connect.js +51 -1
  36. package/ai/stigmer/agentic/workflowexecution/v1/command_connect.js.map +1 -1
  37. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.d.ts +50 -1
  38. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js +1 -1
  39. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js.map +1 -1
  40. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.d.ts +141 -11
  41. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.js +26 -21
  42. package/ai/stigmer/agentic/workflowexecution/v1/io_pb.js.map +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,796 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
+ import type { DiffCompleteness, FileCaptureClass, FileChangeKind, FileChangeSetStatus, FileDecisionAction, FileDecisionOrigin, FileDecisionScope, FileReviewBlockReason, FileReviewEventType, FileReviewFailureKind, SnapshotKind } from "./enum_pb.js";
3
+ import type { FileContent, ToolCallOutputRef } from "./message_pb.js";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file ai/stigmer/agentic/agentexecution/v1/filereview.proto.
7
+ */
8
+ export declare const file_ai_stigmer_agentic_agentexecution_v1_filereview: GenFile;
9
+ /**
10
+ * The set of file deltas produced by one agent turn, reviewed and reconciled
11
+ * as a unit.
12
+ *
13
+ * A FileChangeSet has no identity or lifecycle independent of the turn that
14
+ * produced it: it is born when the turn captures its baseline and dies when its
15
+ * decisions are reconciled into the workspace. It is therefore a computed
16
+ * projection on AgentExecutionStatus (field file_change_sets), mirroring
17
+ * pending_approvals — recomputed on every status write from the file_review
18
+ * event ledger, never merged, so it is always consistent with the authoritative
19
+ * stream.
20
+ *
21
+ * @internal
22
+ *
23
+ * Server-authored: the runner never sends this; it is derived server-side in
24
+ * both editions through one projection seam. status and decisions are DERIVED
25
+ * folds over the ledger, not stored-mutable state. A terminal execution
26
+ * projects no actionable review (the workflow that would reconcile is gone),
27
+ * mirroring the phase-aware pending_approvals rule.
28
+ *
29
+ * @since File-Change HITL Redesign (Phase 1)
30
+ *
31
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileChangeSet
32
+ */
33
+ export type FileChangeSet = Message<"ai.stigmer.agentic.agentexecution.v1.FileChangeSet"> & {
34
+ /**
35
+ * Stable id of this change set, unique per turn. The correlation key a
36
+ * FileDecision and every ledger event reference. Never a content hash.
37
+ *
38
+ * @generated from field: string id = 1;
39
+ */
40
+ id: string;
41
+ /**
42
+ * Id of the turn that produced this change set.
43
+ *
44
+ * @generated from field: string turn_id = 2;
45
+ */
46
+ turnId: string;
47
+ /**
48
+ * Harness that produced the edits: "cursor" | "deep-agent". Carried for audit
49
+ * and so the reconcile adapter knows which harness lifecycle authored the set.
50
+ *
51
+ * @generated from field: string harness_id = 3;
52
+ */
53
+ harnessId: string;
54
+ /**
55
+ * Current state of the change set, DERIVED from the file_review ledger (a fold
56
+ * over the events for this change set). See FileChangeSetStatus.
57
+ *
58
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileChangeSetStatus status = 4;
59
+ */
60
+ status: FileChangeSetStatus;
61
+ /**
62
+ * Workspace state captured at turn start — the "before" the authoritative
63
+ * diff is computed against.
64
+ *
65
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotRef baseline_snapshot = 5;
66
+ */
67
+ baselineSnapshot?: SnapshotRef;
68
+ /**
69
+ * Workspace state captured at the turn boundary — the "after". The authoritative
70
+ * diff is diff(baseline_snapshot, candidate_snapshot); no streamed args, no
71
+ * pre-execution proposal is ever authoritative.
72
+ *
73
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotRef candidate_snapshot = 6;
74
+ */
75
+ candidateSnapshot?: SnapshotRef;
76
+ /**
77
+ * Workspace state derived after decisions (the exact bytes to reconcile to).
78
+ * Empty until the change set is decided. Reconcile verifies the filesystem
79
+ * hashes against this snapshot.
80
+ *
81
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotRef approved_snapshot = 7;
82
+ */
83
+ approvedSnapshot?: SnapshotRef;
84
+ /**
85
+ * The per-file deltas in this change set (the rendered review surface).
86
+ *
87
+ * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.CapturedFileChange changes = 8;
88
+ */
89
+ changes: CapturedFileChange[];
90
+ /**
91
+ * Canonical digest over the ordered change manifest. ENFORCEMENT only: lets
92
+ * the reconcile refuse to apply a manifest that differs from what was
93
+ * reviewed. Never a correlation key.
94
+ *
95
+ * @generated from field: string aggregate_digest = 9;
96
+ */
97
+ aggregateDigest: string;
98
+ /**
99
+ * Whether the rendered diff is complete enough to approve safely, a rollup
100
+ * over the per-file changes. COMPLETE is approvable as-is; BINARY_SUMMARY_ONLY
101
+ * (binary is the set's only blocker) is keepable in one shot via an
102
+ * acknowledged CHANGE_SET approve; PARTIAL_BLOCKED must be resolved per file.
103
+ * An honest UI/audit signal — the backend gate re-derives keep-all from the
104
+ * per-file changes, never trusting this value. See DiffCompleteness.
105
+ *
106
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.DiffCompleteness diff_completeness = 10;
107
+ */
108
+ diffCompleteness: DiffCompleteness;
109
+ /**
110
+ * Human decisions on this change set, a DERIVED fold over the FILE_DECIDED
111
+ * events in the ledger (never stored-mutable). Ordered by decision time.
112
+ *
113
+ * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.FileDecision decisions = 11;
114
+ */
115
+ decisions: FileDecision[];
116
+ };
117
+ /**
118
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileChangeSet.
119
+ * Use `create(FileChangeSetSchema)` to create a new message.
120
+ */
121
+ export declare const FileChangeSetSchema: GenMessage<FileChangeSet>;
122
+ /**
123
+ * One file's delta within a FileChangeSet.
124
+ *
125
+ * Reuses FileContent (inline-or-offload) for before/after and ToolCallOutputRef
126
+ * for the offloadable unified diff — no parallel blob/artifact types. This is
127
+ * the apply-then-review successor to the tool-call-coupled FileChange in
128
+ * message.proto; the two coexist until the legacy file-change coupling is
129
+ * deleted, at which point this message takes the canonical FileChange name.
130
+ *
131
+ * @since File-Change HITL Redesign (Phase 1)
132
+ *
133
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.CapturedFileChange
134
+ */
135
+ export type CapturedFileChange = Message<"ai.stigmer.agentic.agentexecution.v1.CapturedFileChange"> & {
136
+ /**
137
+ * Stable id of this file change within its set. The correlation key a
138
+ * FILE-scoped FileDecision references. Never a content hash.
139
+ *
140
+ * @generated from field: string id = 1;
141
+ */
142
+ id: string;
143
+ /**
144
+ * Path before the change (workspace-root-relative). Empty for ADD.
145
+ *
146
+ * @generated from field: string path_before = 2;
147
+ */
148
+ pathBefore: string;
149
+ /**
150
+ * Path after the change (workspace-root-relative). Empty for DELETE; differs
151
+ * from path_before for RENAME.
152
+ *
153
+ * @generated from field: string path_after = 3;
154
+ */
155
+ pathAfter: string;
156
+ /**
157
+ * The per-file outcome. See FileChangeKind.
158
+ *
159
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileChangeKind kind = 4;
160
+ */
161
+ kind: FileChangeKind;
162
+ /**
163
+ * How this file was captured (git-tracked vs ignored vs non-git/CAS), which
164
+ * governs which substrate holds its before/after bytes. See FileCaptureClass.
165
+ *
166
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileCaptureClass capture_class = 5;
167
+ */
168
+ captureClass: FileCaptureClass;
169
+ /**
170
+ * Pre-edit content. Empty for ADD. Large bodies offloaded via FileContent.ref.
171
+ *
172
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileContent before = 6;
173
+ */
174
+ before?: FileContent;
175
+ /**
176
+ * Post-edit content. Empty for DELETE. Large bodies offloaded via FileContent.ref.
177
+ *
178
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileContent after = 7;
179
+ */
180
+ after?: FileContent;
181
+ /**
182
+ * SHA-256 of the pre-edit bytes. ENFORCEMENT digest (the reconcile compares
183
+ * against the on-disk baseline). Empty for ADD.
184
+ *
185
+ * @generated from field: string before_sha256 = 8;
186
+ */
187
+ beforeSha256: string;
188
+ /**
189
+ * SHA-256 of the post-edit bytes. ENFORCEMENT digest (the reconcile applies
190
+ * only these exact bytes). Empty for DELETE.
191
+ *
192
+ * @generated from field: string after_sha256 = 9;
193
+ */
194
+ afterSha256: string;
195
+ /**
196
+ * Offloadable unified diff artifact for this file. The rendered hunks; large
197
+ * diffs spill to artifact storage via the same envelope tool output uses.
198
+ *
199
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.ToolCallOutputRef unified_diff = 10;
200
+ */
201
+ unifiedDiff?: ToolCallOutputRef;
202
+ /**
203
+ * False when this file's diff is incomplete (elided, truncated, or not
204
+ * capturable). A change set with any diff_complete == false cannot be
205
+ * approved as complete — the structural guard against approving an
206
+ * unreviewable change.
207
+ *
208
+ * @generated from field: bool diff_complete = 11;
209
+ */
210
+ diffComplete: boolean;
211
+ /**
212
+ * Canonical digest of (path, kind, before, after) for this file. ENFORCEMENT
213
+ * only — the per-file analogue of aggregate_digest. Never a correlation key.
214
+ *
215
+ * @generated from field: string file_digest = 12;
216
+ */
217
+ fileDigest: string;
218
+ /**
219
+ * The honest cause this file's diff is not fully reviewable, set by the runner
220
+ * only when diff_complete == false (otherwise UNSPECIFIED). INFORMATIONAL
221
+ * provenance for the review UI — never an enforcement input and never folded
222
+ * into file_digest/aggregate_digest. Binary changes are conveyed by
223
+ * FileContent.is_binary, not here. See FileReviewBlockReason.
224
+ *
225
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewBlockReason blocked_reason = 13;
226
+ */
227
+ blockedReason: FileReviewBlockReason;
228
+ };
229
+ /**
230
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.CapturedFileChange.
231
+ * Use `create(CapturedFileChangeSchema)` to create a new message.
232
+ */
233
+ export declare const CapturedFileChangeSchema: GenMessage<CapturedFileChange>;
234
+ /**
235
+ * An immutable pointer to a captured workspace state.
236
+ *
237
+ * One of git / cas is set per kind; HYBRID carries both (git-tracked files via
238
+ * the tree ref, ignored/non-git files via the CAS manifest). Snapshots are
239
+ * captured by the runner and are idempotent under Temporal retries.
240
+ *
241
+ * @since File-Change HITL Redesign (Phase 1)
242
+ *
243
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.SnapshotRef
244
+ */
245
+ export type SnapshotRef = Message<"ai.stigmer.agentic.agentexecution.v1.SnapshotRef"> & {
246
+ /**
247
+ * Which substrate holds this snapshot. See SnapshotKind.
248
+ *
249
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotKind kind = 1;
250
+ */
251
+ kind: SnapshotKind;
252
+ /**
253
+ * Git no-commit tree reference; set when kind is GIT_TREE_REF or HYBRID.
254
+ *
255
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.GitTreeRef git = 2;
256
+ */
257
+ git?: GitTreeRef;
258
+ /**
259
+ * Content-addressed manifest reference for ignored/non-git paths; set when
260
+ * kind is CAS_MANIFEST or HYBRID. See doc 06 (CAS lands in Phase 3).
261
+ *
262
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.CasManifestRef cas = 3;
263
+ */
264
+ cas?: CasManifestRef;
265
+ };
266
+ /**
267
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.SnapshotRef.
268
+ * Use `create(SnapshotRefSchema)` to create a new message.
269
+ */
270
+ export declare const SnapshotRefSchema: GenMessage<SnapshotRef>;
271
+ /**
272
+ * A git no-commit tree snapshot (write-tree + a stigmer-namespaced ref).
273
+ *
274
+ * @since File-Change HITL Redesign (Phase 1)
275
+ *
276
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.GitTreeRef
277
+ */
278
+ export type GitTreeRef = Message<"ai.stigmer.agentic.agentexecution.v1.GitTreeRef"> & {
279
+ /**
280
+ * The tree object id produced by git write-tree.
281
+ *
282
+ * @generated from field: string tree_oid = 1;
283
+ */
284
+ treeOid: string;
285
+ /**
286
+ * The ref the snapshot is pinned under, e.g.
287
+ * "refs/stigmer/{execution}/{baseline|candidate|approved}". Keeps the
288
+ * snapshot reachable (un-GC'd) without a commit on any user branch.
289
+ *
290
+ * @generated from field: string ref = 2;
291
+ */
292
+ ref: string;
293
+ };
294
+ /**
295
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.GitTreeRef.
296
+ * Use `create(GitTreeRefSchema)` to create a new message.
297
+ */
298
+ export declare const GitTreeRefSchema: GenMessage<GitTreeRef>;
299
+ /**
300
+ * A content-addressed snapshot manifest for paths git cannot capture
301
+ * (gitignored or non-git workspaces).
302
+ *
303
+ * @internal
304
+ * Realized in Phase 3 (CAS). Present in the contract now so the snapshot shape
305
+ * is stable before producers exist.
306
+ *
307
+ * @since File-Change HITL Redesign (Phase 1)
308
+ *
309
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.CasManifestRef
310
+ */
311
+ export type CasManifestRef = Message<"ai.stigmer.agentic.agentexecution.v1.CasManifestRef"> & {
312
+ /**
313
+ * Digest of the manifest listing each captured path and its blob digest.
314
+ *
315
+ * @generated from field: string manifest_digest = 1;
316
+ */
317
+ manifestDigest: string;
318
+ /**
319
+ * Storage URI of the manifest artifact.
320
+ *
321
+ * @generated from field: string artifact_uri = 2;
322
+ */
323
+ artifactUri: string;
324
+ };
325
+ /**
326
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.CasManifestRef.
327
+ * Use `create(CasManifestRefSchema)` to create a new message.
328
+ */
329
+ export declare const CasManifestRefSchema: GenMessage<CasManifestRef>;
330
+ /**
331
+ * One human decision on a change set or a single file within it.
332
+ *
333
+ * Bound to content by expected_digest: the runner's reconcile applies the
334
+ * decision only when the target's current digest still matches what the user
335
+ * saw, so "what you approve is what gets applied". expected_digest is an
336
+ * ENFORCEMENT gate, never a correlation key — correlation is by change_set_id
337
+ * (+ file_change_id for FILE scope).
338
+ *
339
+ * @since File-Change HITL Redesign (Phase 1)
340
+ *
341
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileDecision
342
+ */
343
+ export type FileDecision = Message<"ai.stigmer.agentic.agentexecution.v1.FileDecision"> & {
344
+ /**
345
+ * Stable id of this decision.
346
+ *
347
+ * @generated from field: string id = 1;
348
+ */
349
+ id: string;
350
+ /**
351
+ * The change set this decision targets (correlation key).
352
+ *
353
+ * @generated from field: string change_set_id = 2;
354
+ */
355
+ changeSetId: string;
356
+ /**
357
+ * Whether the decision applies to the whole change set or one file. HUNK is
358
+ * intentionally deferred. See FileDecisionScope.
359
+ *
360
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileDecisionScope scope = 3;
361
+ */
362
+ scope: FileDecisionScope;
363
+ /**
364
+ * The CapturedFileChange this decision targets; set only when scope is FILE
365
+ * (correlation key). Empty for CHANGE_SET scope.
366
+ *
367
+ * @generated from field: string file_change_id = 4;
368
+ */
369
+ fileChangeId: string;
370
+ /**
371
+ * Approve or reject. See FileDecisionAction.
372
+ *
373
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileDecisionAction action = 5;
374
+ */
375
+ action: FileDecisionAction;
376
+ /**
377
+ * The digest of the content the reviewer actually saw. ENFORCEMENT gate: the
378
+ * reconcile refuses to apply if the target's current digest differs. Never a
379
+ * correlation key.
380
+ *
381
+ * @generated from field: string expected_digest = 6;
382
+ */
383
+ expectedDigest: string;
384
+ /**
385
+ * Identity of the reviewer (principal). Empty when not attributed.
386
+ *
387
+ * @generated from field: string reviewer_id = 7;
388
+ */
389
+ reviewerId: string;
390
+ /**
391
+ * ISO 8601 timestamp when the decision was made.
392
+ *
393
+ * @generated from field: string decided_at = 8;
394
+ */
395
+ decidedAt: string;
396
+ /**
397
+ * Optional free-text comment supplied with the decision (audit trail).
398
+ *
399
+ * @generated from field: string reason = 9;
400
+ */
401
+ reason: string;
402
+ /**
403
+ * True when this APPROVE consciously kept a change whose diff could not be
404
+ * fully reviewed (a binary file — no text diff, but exact reconcilable bytes).
405
+ * Audit provenance only: it records that a human explicitly acknowledged the
406
+ * limitation. Never an enforcement input or a correlation key, and never
407
+ * folded into any digest.
408
+ *
409
+ * @generated from field: bool acknowledge_unreviewable = 10;
410
+ */
411
+ acknowledgeUnreviewable: boolean;
412
+ /**
413
+ * Which authority authored this decision: a human reviewer (USER; also the
414
+ * reading for UNSPECIFIED pre-origin records) or the approved-command
415
+ * auto-keep policy (DD-28). Audit provenance only — never enforcement, never
416
+ * correlation, never folded into any digest. See FileDecisionOrigin.
417
+ *
418
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileDecisionOrigin origin = 11;
419
+ */
420
+ origin: FileDecisionOrigin;
421
+ };
422
+ /**
423
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileDecision.
424
+ * Use `create(FileDecisionSchema)` to create a new message.
425
+ */
426
+ export declare const FileDecisionSchema: GenMessage<FileDecision>;
427
+ /**
428
+ * The baseline workspace state captured at turn start.
429
+ *
430
+ * @internal
431
+ * Authored by the runner's turn-begin capture activity. The first event of a
432
+ * change set's lifecycle; carries the change set's stable identity so the
433
+ * projection can materialize the set before any candidate exists.
434
+ *
435
+ * @since File-Change HITL Redesign (Phase 1)
436
+ *
437
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileReviewBaselineCaptured
438
+ */
439
+ export type FileReviewBaselineCaptured = Message<"ai.stigmer.agentic.agentexecution.v1.FileReviewBaselineCaptured"> & {
440
+ /**
441
+ * Stable id of the change set this baseline opens.
442
+ *
443
+ * @generated from field: string change_set_id = 1;
444
+ */
445
+ changeSetId: string;
446
+ /**
447
+ * The turn that produced it.
448
+ *
449
+ * @generated from field: string turn_id = 2;
450
+ */
451
+ turnId: string;
452
+ /**
453
+ * The harness that produced it ("cursor" | "deep-agent").
454
+ *
455
+ * @generated from field: string harness_id = 3;
456
+ */
457
+ harnessId: string;
458
+ /**
459
+ * The captured baseline state.
460
+ *
461
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotRef baseline_snapshot = 4;
462
+ */
463
+ baselineSnapshot?: SnapshotRef;
464
+ };
465
+ /**
466
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileReviewBaselineCaptured.
467
+ * Use `create(FileReviewBaselineCapturedSchema)` to create a new message.
468
+ */
469
+ export declare const FileReviewBaselineCapturedSchema: GenMessage<FileReviewBaselineCaptured>;
470
+ /**
471
+ * The runner's turn facts backing the approved-command auto-keep policy
472
+ * (DD-28): its assertion that EVERY mutation in the candidate was produced by
473
+ * executed shell commands the human had already authorized, with the consent
474
+ * evidence the backend can verify.
475
+ *
476
+ * @internal
477
+ *
478
+ * Presence of this message on a candidate asserts the runner-owned turn facts
479
+ * the server cannot derive (tool calls carry no turn marker): the turn executed
480
+ * zero file-tool (write/delete) calls, zero MCP tools, and delegated zero
481
+ * sub-agents — its only mutation source was consented commands. These facts
482
+ * carry the SAME trust level as the captured bytes themselves. What the runner
483
+ * can NEVER assert is the consent: the backend verifies every claimed row below
484
+ * against the server-authored approval record before authoring the policy
485
+ * decision, so a runner cannot mint authorization it was never given. Absent
486
+ * on any turn that does not qualify — the set then reviews manually, exactly
487
+ * as before this field existed (fail-closed).
488
+ *
489
+ * @since File-Change HITL Redesign (DD-28 approved-command auto-keep)
490
+ *
491
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.TurnCommandProvenance
492
+ */
493
+ export type TurnCommandProvenance = Message<"ai.stigmer.agentic.agentexecution.v1.TurnCommandProvenance"> & {
494
+ /**
495
+ * Ids of the transcript tool calls whose SERVER-AUTHORED approval_action
496
+ * (written only by SubmitApproval, preserved against runner writes)
497
+ * authorizes this turn's executed commands: the approved gate row for a
498
+ * per-command grant, or the APPROVE_ALL row whose category lease covered the
499
+ * command. Exact-id lookup — never a content or fuzzy match. Empty only when
500
+ * authorized_by_auto_approve_all carries the consent instead.
501
+ *
502
+ * @generated from field: repeated string consent_tool_call_ids = 1;
503
+ */
504
+ consentToolCallIds: string[];
505
+ /**
506
+ * True when the commands ran ungated under the pre-armed
507
+ * spec.auto_approve_all global bypass (there is no per-command consent row to
508
+ * cite). The backend verifies this against the spec field it owns.
509
+ *
510
+ * @generated from field: bool authorized_by_auto_approve_all = 2;
511
+ */
512
+ authorizedByAutoApproveAll: boolean;
513
+ };
514
+ /**
515
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.TurnCommandProvenance.
516
+ * Use `create(TurnCommandProvenanceSchema)` to create a new message.
517
+ */
518
+ export declare const TurnCommandProvenanceSchema: GenMessage<TurnCommandProvenance>;
519
+ /**
520
+ * The candidate workspace state captured at the turn boundary, carrying the
521
+ * computed authoritative diff.
522
+ *
523
+ * @internal
524
+ * Authored by the runner's turn-boundary capture activity. Large before/after
525
+ * bodies are offloaded (FileContent.ref) before this event is persisted.
526
+ *
527
+ * @since File-Change HITL Redesign (Phase 1)
528
+ *
529
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileReviewCandidateCaptured
530
+ */
531
+ export type FileReviewCandidateCaptured = Message<"ai.stigmer.agentic.agentexecution.v1.FileReviewCandidateCaptured"> & {
532
+ /**
533
+ * The change set this candidate closes.
534
+ *
535
+ * @generated from field: string change_set_id = 1;
536
+ */
537
+ changeSetId: string;
538
+ /**
539
+ * The captured candidate state.
540
+ *
541
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotRef candidate_snapshot = 2;
542
+ */
543
+ candidateSnapshot?: SnapshotRef;
544
+ /**
545
+ * The authoritative per-file diff (diff of baseline → candidate).
546
+ *
547
+ * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.CapturedFileChange changes = 3;
548
+ */
549
+ changes: CapturedFileChange[];
550
+ /**
551
+ * Canonical digest over the ordered manifest (enforcement).
552
+ *
553
+ * @generated from field: string aggregate_digest = 4;
554
+ */
555
+ aggregateDigest: string;
556
+ /**
557
+ * The runner-derived completeness rollup for this candidate: COMPLETE when
558
+ * every file is reviewable, BINARY_SUMMARY_ONLY when binary files are the only
559
+ * blocker, else PARTIAL_BLOCKED. See DiffCompleteness.
560
+ *
561
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.DiffCompleteness diff_completeness = 5;
562
+ */
563
+ diffCompleteness: DiffCompleteness;
564
+ /**
565
+ * The runner's approved-command turn facts (DD-28). When present AND the
566
+ * backend's verification passes, the set is auto-kept by a policy-origin
567
+ * FILE_DECIDED instead of arming the review gate. Absent → manual review.
568
+ * See TurnCommandProvenance.
569
+ *
570
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.TurnCommandProvenance command_provenance = 6;
571
+ */
572
+ commandProvenance?: TurnCommandProvenance;
573
+ };
574
+ /**
575
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileReviewCandidateCaptured.
576
+ * Use `create(FileReviewCandidateCapturedSchema)` to create a new message.
577
+ */
578
+ export declare const FileReviewCandidateCapturedSchema: GenMessage<FileReviewCandidateCaptured>;
579
+ /**
580
+ * The result of reconciling approved decisions into the workspace.
581
+ *
582
+ * @internal
583
+ * Authored by the runner's reconcile activity after decisions land. Idempotent:
584
+ * it reconciles to an exact approved snapshot and verifies hashes, so re-running
585
+ * converges.
586
+ *
587
+ * @since File-Change HITL Redesign (Phase 1)
588
+ *
589
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileReviewReconciled
590
+ */
591
+ export type FileReviewReconciled = Message<"ai.stigmer.agentic.agentexecution.v1.FileReviewReconciled"> & {
592
+ /**
593
+ * The change set that was reconciled.
594
+ *
595
+ * @generated from field: string change_set_id = 1;
596
+ */
597
+ changeSetId: string;
598
+ /**
599
+ * The exact workspace state reconciled to and hash-verified.
600
+ *
601
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.SnapshotRef approved_snapshot = 2;
602
+ */
603
+ approvedSnapshot?: SnapshotRef;
604
+ };
605
+ /**
606
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileReviewReconciled.
607
+ * Use `create(FileReviewReconciledSchema)` to create a new message.
608
+ */
609
+ export declare const FileReviewReconciledSchema: GenMessage<FileReviewReconciled>;
610
+ /**
611
+ * A terminal failure in the file-review lifecycle.
612
+ *
613
+ * @internal
614
+ * Authored by the runner. A DIFF_UNREVIEWABLE failure blocks the change set
615
+ * from becoming approvable (the diff cannot be shown completely); the others
616
+ * record capture/reconcile/verification failures for audit and resume.
617
+ *
618
+ * @since File-Change HITL Redesign (Phase 1)
619
+ *
620
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileReviewFailure
621
+ */
622
+ export type FileReviewFailure = Message<"ai.stigmer.agentic.agentexecution.v1.FileReviewFailure"> & {
623
+ /**
624
+ * The change set the failure pertains to.
625
+ *
626
+ * @generated from field: string change_set_id = 1;
627
+ */
628
+ changeSetId: string;
629
+ /**
630
+ * The precise failure mode. event_type buckets this as FAILED; this carries
631
+ * the fidelity. See FileReviewFailureKind.
632
+ *
633
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewFailureKind kind = 2;
634
+ */
635
+ kind: FileReviewFailureKind;
636
+ /**
637
+ * Human-readable detail for the audit trail. Never affects control flow.
638
+ *
639
+ * @generated from field: string detail = 3;
640
+ */
641
+ detail: string;
642
+ };
643
+ /**
644
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileReviewFailure.
645
+ * Use `create(FileReviewFailureSchema)` to create a new message.
646
+ */
647
+ export declare const FileReviewFailureSchema: GenMessage<FileReviewFailure>;
648
+ /**
649
+ * An immutable event in the file-review lifecycle.
650
+ *
651
+ * The payload is a closed oneof so each event type is type-safe and
652
+ * self-documenting, mirroring ApprovalEvent. event_type is the coarse bucket;
653
+ * the payload carries fidelity.
654
+ *
655
+ * @internal
656
+ *
657
+ * @since File-Change HITL Redesign (Phase 1)
658
+ *
659
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileReviewEvent
660
+ */
661
+ export type FileReviewEvent = Message<"ai.stigmer.agentic.agentexecution.v1.FileReviewEvent"> & {
662
+ /**
663
+ * Unique id of this event, deterministic by design: derived from
664
+ * change_set_id + scope id + event_type. The permanent idempotency key for
665
+ * append-only authoring, so re-deriving or re-authoring never duplicates an
666
+ * event.
667
+ *
668
+ * @generated from field: string event_id = 1;
669
+ */
670
+ eventId: string;
671
+ /**
672
+ * Correlation id shared by every event for one change set.
673
+ *
674
+ * @generated from field: string change_set_id = 2;
675
+ */
676
+ changeSetId: string;
677
+ /**
678
+ * Coarse lifecycle bucket of this event. See FileReviewEventType.
679
+ *
680
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewEventType event_type = 3;
681
+ */
682
+ eventType: FileReviewEventType;
683
+ /**
684
+ * ISO 8601 timestamp of the event.
685
+ *
686
+ * @generated from field: string timestamp = 4;
687
+ */
688
+ timestamp: string;
689
+ /**
690
+ * Who produced the event: "system"/"runner" for capture and reconcile,
691
+ * "user" for decisions.
692
+ *
693
+ * @generated from field: string actor = 5;
694
+ */
695
+ actor: string;
696
+ /**
697
+ * Typed payload, selected by event_type.
698
+ *
699
+ * @generated from oneof ai.stigmer.agentic.agentexecution.v1.FileReviewEvent.payload
700
+ */
701
+ payload: {
702
+ /**
703
+ * Set when event_type == BASELINE_CAPTURED.
704
+ *
705
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewBaselineCaptured baseline_captured = 6;
706
+ */
707
+ value: FileReviewBaselineCaptured;
708
+ case: "baselineCaptured";
709
+ } | {
710
+ /**
711
+ * Set when event_type == CANDIDATE_CAPTURED.
712
+ *
713
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewCandidateCaptured candidate_captured = 7;
714
+ */
715
+ value: FileReviewCandidateCaptured;
716
+ case: "candidateCaptured";
717
+ } | {
718
+ /**
719
+ * Set when event_type == FILE_DECIDED — authored by SubmitFileDecision.
720
+ *
721
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileDecision file_decided = 8;
722
+ */
723
+ value: FileDecision;
724
+ case: "fileDecided";
725
+ } | {
726
+ /**
727
+ * Set when event_type == RECONCILED.
728
+ *
729
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewReconciled reconciled = 9;
730
+ */
731
+ value: FileReviewReconciled;
732
+ case: "reconciled";
733
+ } | {
734
+ /**
735
+ * Set when event_type == FAILED.
736
+ *
737
+ * @generated from field: ai.stigmer.agentic.agentexecution.v1.FileReviewFailure failed = 10;
738
+ */
739
+ value: FileReviewFailure;
740
+ case: "failed";
741
+ } | {
742
+ case: undefined;
743
+ value?: undefined;
744
+ };
745
+ };
746
+ /**
747
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileReviewEvent.
748
+ * Use `create(FileReviewEventSchema)` to create a new message.
749
+ */
750
+ export declare const FileReviewEventSchema: GenMessage<FileReviewEvent>;
751
+ /**
752
+ * The ordered sequence of file-review events for a single agent execution.
753
+ *
754
+ * Persisted on AgentExecutionStatus.file_review_event_stream as a
755
+ * server-authored, append-only record. FileChangeSet is the projection of this
756
+ * stream; the stream is the source of truth.
757
+ *
758
+ * @internal
759
+ *
760
+ * Field ownership (one writer per event type):
761
+ * - BASELINE_CAPTURED / CANDIDATE_CAPTURED / RECONCILED / FAILED events are
762
+ * authored by the runner's capture and reconcile activities, which
763
+ * CONTRIBUTE them on the UpdateStatus payload; the server folds them into
764
+ * this server-owned stream append-only, by event_id.
765
+ * - FILE_DECIDED events are authored by the SubmitFileDecision handler,
766
+ * carrying reviewer_id and the user's comment. A runner-sent FILE_DECIDED is
767
+ * dropped — the runner can never forge a human decision.
768
+ *
769
+ * Every append is keyed by the deterministic FileReviewEvent.event_id, so the
770
+ * stream is idempotent under retries and an existing event is never overwritten.
771
+ * The stored stream is server-owned: preserved in place across UpdateStatus
772
+ * writes and only ever extended by the fold above and by SubmitFileDecision.
773
+ *
774
+ * @since File-Change HITL Redesign (Phase 1)
775
+ *
776
+ * @generated from message ai.stigmer.agentic.agentexecution.v1.FileReviewEventStream
777
+ */
778
+ export type FileReviewEventStream = Message<"ai.stigmer.agentic.agentexecution.v1.FileReviewEventStream"> & {
779
+ /**
780
+ * AgentExecution.metadata.id this stream belongs to.
781
+ *
782
+ * @generated from field: string execution_id = 1;
783
+ */
784
+ executionId: string;
785
+ /**
786
+ * Events in lifecycle order.
787
+ *
788
+ * @generated from field: repeated ai.stigmer.agentic.agentexecution.v1.FileReviewEvent events = 2;
789
+ */
790
+ events: FileReviewEvent[];
791
+ };
792
+ /**
793
+ * Describes the message ai.stigmer.agentic.agentexecution.v1.FileReviewEventStream.
794
+ * Use `create(FileReviewEventStreamSchema)` to create a new message.
795
+ */
796
+ export declare const FileReviewEventStreamSchema: GenMessage<FileReviewEventStream>;