@otto-code/protocol 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/validation/ws-outbound.aot.js +14727 -13970
- package/dist/messages.d.ts +805 -1
- package/dist/messages.js +189 -9
- package/dist/validation/ws-outbound-schema-metadata.d.ts +153 -0
- package/package.json +1 -1
package/dist/messages.js
CHANGED
|
@@ -199,20 +199,25 @@ const AgentPersonalityVoiceSchema = z
|
|
|
199
199
|
name: z.string().min(1),
|
|
200
200
|
})
|
|
201
201
|
.passthrough();
|
|
202
|
-
// The
|
|
203
|
-
//
|
|
204
|
-
//
|
|
205
|
-
|
|
202
|
+
// The Visualizer lifecycle moments a personality voice-cue line can belong to.
|
|
203
|
+
// Protocol owns this vocabulary — the daemon's cue generator, the personality
|
|
204
|
+
// editor, and the Visualizer playback hook all import it from here.
|
|
205
|
+
// "waiting" is the parent's turn ending while its observed sub-agents are still
|
|
206
|
+
// running; it DEFERS "done" rather than replacing it (see docs/visualizer.md).
|
|
207
|
+
export const CUE_MOMENTS = ["join", "thinking", "waiting", "done"];
|
|
206
208
|
// Pre-generated (and user-editable) spoken "voice cue" lines for the personality
|
|
207
|
-
// — a few short variations for each
|
|
208
|
-
//
|
|
209
|
-
// they're deterministic and hand-tunable in the
|
|
210
|
-
// them directly (no runtime generation). All groups
|
|
211
|
-
// personality may have none, or only some
|
|
209
|
+
// — a few short variations for each Visualizer moment (its node joins the graph,
|
|
210
|
+
// first starts thinking, finishes its turn but waits on sub-agents, completes).
|
|
211
|
+
// Stored on the personality so they're deterministic and hand-tunable in the
|
|
212
|
+
// editor; the Visualizer reads them directly (no runtime generation). All groups
|
|
213
|
+
// optional/loose — a personality may have none, or only some (personalities
|
|
214
|
+
// authored before "waiting" existed simply stay silent for that moment).
|
|
215
|
+
// See docs/visualizer.md "Voice cues".
|
|
212
216
|
const AgentPersonalityVoiceCuesSchema = z
|
|
213
217
|
.object({
|
|
214
218
|
join: z.array(z.string()).optional(),
|
|
215
219
|
thinking: z.array(z.string()).optional(),
|
|
220
|
+
waiting: z.array(z.string()).optional(),
|
|
216
221
|
done: z.array(z.string()).optional(),
|
|
217
222
|
})
|
|
218
223
|
.passthrough();
|
|
@@ -2401,6 +2406,57 @@ export const CheckoutGitRollbackRequestSchema = z.object({
|
|
|
2401
2406
|
allowWithRunningAgents: z.boolean().optional(),
|
|
2402
2407
|
requestId: z.string(),
|
|
2403
2408
|
});
|
|
2409
|
+
// ── Git file investigation (local git, no hosting provider) ─────────────────
|
|
2410
|
+
// History / per-commit diff / blame / origin commit for one file or one line
|
|
2411
|
+
// range within it. Everything below is plain local git: it works in a repo with
|
|
2412
|
+
// no remote and no forge connection, and it is provider-neutral by construction
|
|
2413
|
+
// (it inspects the repo, not an agent), so there is no per-provider rollout to
|
|
2414
|
+
// look for. Gated by server_info.features.checkoutGitFileHistory.
|
|
2415
|
+
// Commits that touched a file, newest first. Whole-file mode follows renames;
|
|
2416
|
+
// passing startLine/endLine switches to `git log -L` for that range instead.
|
|
2417
|
+
export const CheckoutGitFileHistoryRequestSchema = z.object({
|
|
2418
|
+
type: z.literal("checkout.git.get_file_history.request"),
|
|
2419
|
+
cwd: z.string(),
|
|
2420
|
+
// Repo-relative path, as the file is named today.
|
|
2421
|
+
path: z.string(),
|
|
2422
|
+
limit: z.number().int().positive().optional(),
|
|
2423
|
+
offset: z.number().int().nonnegative().optional(),
|
|
2424
|
+
// 1-based inclusive line range. Both or neither.
|
|
2425
|
+
startLine: z.number().int().positive().optional(),
|
|
2426
|
+
endLine: z.number().int().positive().optional(),
|
|
2427
|
+
requestId: z.string(),
|
|
2428
|
+
});
|
|
2429
|
+
// What a single commit did to a single file, as a unified diff. `path` must be
|
|
2430
|
+
// the file's name *at that commit* (history entries carry it) or the pathspec
|
|
2431
|
+
// misses across a rename.
|
|
2432
|
+
export const CheckoutGitFileCommitDiffRequestSchema = z.object({
|
|
2433
|
+
type: z.literal("checkout.git.get_file_commit_diff.request"),
|
|
2434
|
+
cwd: z.string(),
|
|
2435
|
+
path: z.string(),
|
|
2436
|
+
sha: z.string(),
|
|
2437
|
+
ignoreWhitespace: z.boolean().optional(),
|
|
2438
|
+
requestId: z.string(),
|
|
2439
|
+
});
|
|
2440
|
+
// One page of blame. Always paged — blaming a large file whole would block the
|
|
2441
|
+
// daemon — so the client walks the file a page at a time.
|
|
2442
|
+
export const CheckoutGitFileBlameRequestSchema = z.object({
|
|
2443
|
+
type: z.literal("checkout.git.get_file_blame.request"),
|
|
2444
|
+
cwd: z.string(),
|
|
2445
|
+
path: z.string(),
|
|
2446
|
+
startLine: z.number().int().positive().optional(),
|
|
2447
|
+
lineCount: z.number().int().positive().optional(),
|
|
2448
|
+
// Blame at a specific commit instead of the working tree.
|
|
2449
|
+
sha: z.string().optional(),
|
|
2450
|
+
requestId: z.string(),
|
|
2451
|
+
});
|
|
2452
|
+
// The commit that first added the file ("who originally wrote this"), following
|
|
2453
|
+
// renames so a moved file reports its true origin.
|
|
2454
|
+
export const CheckoutGitFileOriginRequestSchema = z.object({
|
|
2455
|
+
type: z.literal("checkout.git.get_file_origin.request"),
|
|
2456
|
+
cwd: z.string(),
|
|
2457
|
+
path: z.string(),
|
|
2458
|
+
requestId: z.string(),
|
|
2459
|
+
});
|
|
2404
2460
|
export const CheckoutMergeRequestSchema = z.object({
|
|
2405
2461
|
type: z.literal("checkout_merge_request"),
|
|
2406
2462
|
cwd: z.string(),
|
|
@@ -3105,6 +3161,10 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
3105
3161
|
CheckoutGitCommitAgentRequestSchema,
|
|
3106
3162
|
CheckoutGitRollbackRequestSchema,
|
|
3107
3163
|
CheckoutGitGetOperationLogRequestSchema,
|
|
3164
|
+
CheckoutGitFileHistoryRequestSchema,
|
|
3165
|
+
CheckoutGitFileCommitDiffRequestSchema,
|
|
3166
|
+
CheckoutGitFileBlameRequestSchema,
|
|
3167
|
+
CheckoutGitFileOriginRequestSchema,
|
|
3108
3168
|
RunsGetSnapshotRequestSchema,
|
|
3109
3169
|
RunsGateRespondRequestSchema,
|
|
3110
3170
|
RunsCancelRequestSchema,
|
|
@@ -3428,6 +3488,12 @@ export const ServerInfoStatusPayloadSchema = z
|
|
|
3428
3488
|
checkoutGitRollback: z.boolean().optional(),
|
|
3429
3489
|
// COMPAT(checkoutGitLog): added in v0.5.1, drop the gate when daemon floor >= v0.5.1.
|
|
3430
3490
|
checkoutGitLog: z.boolean().optional(),
|
|
3491
|
+
// Local-git file investigation: history, per-commit diff, blame, origin
|
|
3492
|
+
// commit — for a whole file or a line range. No forge connection needed
|
|
3493
|
+
// and no per-provider rollout; it is git, so every provider gets it at
|
|
3494
|
+
// once.
|
|
3495
|
+
// COMPAT(checkoutGitFileHistory): added in v0.6.6, drop the gate when daemon floor >= v0.6.6.
|
|
3496
|
+
checkoutGitFileHistory: z.boolean().optional(),
|
|
3431
3497
|
// COMPAT(agentTeams): added in v0.5.2, drop the gate when daemon floor >= v0.5.2.
|
|
3432
3498
|
agentTeams: z.boolean().optional(),
|
|
3433
3499
|
// COMPAT(modelTierOverrides): added in v0.5.2, drop the gate when daemon floor >= v0.5.2.
|
|
@@ -4645,6 +4711,116 @@ export const CheckoutGitRollbackResponseSchema = z.object({
|
|
|
4645
4711
|
requestId: z.string(),
|
|
4646
4712
|
}),
|
|
4647
4713
|
});
|
|
4714
|
+
// ── Git file investigation responses ────────────────────────────────────────
|
|
4715
|
+
// A structured failure any of the four file-investigation RPCs can report. They
|
|
4716
|
+
// are pure reads, so the failure modes are narrow: not a repo, path/revision
|
|
4717
|
+
// rejected, or git itself refused.
|
|
4718
|
+
export const CheckoutGitFileErrorSchema = z.discriminatedUnion("kind", [
|
|
4719
|
+
z.object({
|
|
4720
|
+
kind: z.literal("not_git_repo"),
|
|
4721
|
+
}),
|
|
4722
|
+
z.object({
|
|
4723
|
+
kind: z.literal("invalid_path"),
|
|
4724
|
+
detail: z.string(),
|
|
4725
|
+
}),
|
|
4726
|
+
z.object({
|
|
4727
|
+
kind: z.literal("git_failed"),
|
|
4728
|
+
detail: z.string(),
|
|
4729
|
+
}),
|
|
4730
|
+
]);
|
|
4731
|
+
export const GitFileHistoryEntrySchema = z.object({
|
|
4732
|
+
sha: z.string(),
|
|
4733
|
+
shortSha: z.string(),
|
|
4734
|
+
subject: z.string(),
|
|
4735
|
+
body: z.string(),
|
|
4736
|
+
authorName: z.string(),
|
|
4737
|
+
authorEmail: z.string(),
|
|
4738
|
+
// Unix seconds.
|
|
4739
|
+
authoredAt: z.number(),
|
|
4740
|
+
committerName: z.string(),
|
|
4741
|
+
committedAt: z.number(),
|
|
4742
|
+
// The file's name at this commit — differs from the requested path across a
|
|
4743
|
+
// rename. Diff requests must echo this one back, not the current name.
|
|
4744
|
+
path: z.string(),
|
|
4745
|
+
previousPath: z.string().optional(),
|
|
4746
|
+
// Single-letter git status (A/M/D/R/C).
|
|
4747
|
+
changeKind: z.string().optional(),
|
|
4748
|
+
isMerge: z.boolean(),
|
|
4749
|
+
// Parent object names, so a diff view can name the revision it is comparing
|
|
4750
|
+
// against instead of writing "<sha>^". Empty for a root commit.
|
|
4751
|
+
parentShas: z.array(z.string()).optional(),
|
|
4752
|
+
});
|
|
4753
|
+
export const CheckoutGitFileHistoryResponseSchema = z.object({
|
|
4754
|
+
type: z.literal("checkout.git.get_file_history.response"),
|
|
4755
|
+
payload: z.object({
|
|
4756
|
+
cwd: z.string(),
|
|
4757
|
+
path: z.string(),
|
|
4758
|
+
entries: z.array(GitFileHistoryEntrySchema),
|
|
4759
|
+
hasMore: z.boolean(),
|
|
4760
|
+
error: CheckoutGitFileErrorSchema.nullable(),
|
|
4761
|
+
requestId: z.string(),
|
|
4762
|
+
}),
|
|
4763
|
+
});
|
|
4764
|
+
export const CheckoutGitFileCommitDiffResponseSchema = z.object({
|
|
4765
|
+
type: z.literal("checkout.git.get_file_commit_diff.response"),
|
|
4766
|
+
payload: z.object({
|
|
4767
|
+
cwd: z.string(),
|
|
4768
|
+
path: z.string(),
|
|
4769
|
+
sha: z.string(),
|
|
4770
|
+
diff: z.string(),
|
|
4771
|
+
// Highlighted/parsed form of the same diff, when it parsed cleanly.
|
|
4772
|
+
structured: z.array(ParsedDiffFileSchema).optional(),
|
|
4773
|
+
// The file's previous revision — the diff's left-hand side, and the honest
|
|
4774
|
+
// label for it. Absent when this revision created the file.
|
|
4775
|
+
previousSha: z.string().optional(),
|
|
4776
|
+
previousPath: z.string().optional(),
|
|
4777
|
+
truncated: z.boolean(),
|
|
4778
|
+
error: CheckoutGitFileErrorSchema.nullable(),
|
|
4779
|
+
requestId: z.string(),
|
|
4780
|
+
}),
|
|
4781
|
+
});
|
|
4782
|
+
export const GitBlameLineSchema = z.object({
|
|
4783
|
+
line: z.number(),
|
|
4784
|
+
sha: z.string(),
|
|
4785
|
+
originalLine: z.number(),
|
|
4786
|
+
});
|
|
4787
|
+
// Blame commit metadata is deduped by sha rather than inlined per line: a
|
|
4788
|
+
// thousand-line page usually references a handful of commits.
|
|
4789
|
+
export const GitBlameCommitSchema = z.object({
|
|
4790
|
+
sha: z.string(),
|
|
4791
|
+
shortSha: z.string(),
|
|
4792
|
+
summary: z.string(),
|
|
4793
|
+
authorName: z.string(),
|
|
4794
|
+
authorEmail: z.string(),
|
|
4795
|
+
authoredAt: z.number(),
|
|
4796
|
+
path: z.string().optional(),
|
|
4797
|
+
});
|
|
4798
|
+
export const CheckoutGitFileBlameResponseSchema = z.object({
|
|
4799
|
+
type: z.literal("checkout.git.get_file_blame.response"),
|
|
4800
|
+
payload: z.object({
|
|
4801
|
+
cwd: z.string(),
|
|
4802
|
+
path: z.string(),
|
|
4803
|
+
lines: z.array(GitBlameLineSchema),
|
|
4804
|
+
commits: z.array(GitBlameCommitSchema),
|
|
4805
|
+
startLine: z.number(),
|
|
4806
|
+
endLine: z.number(),
|
|
4807
|
+
reachedEndOfFile: z.boolean(),
|
|
4808
|
+
error: CheckoutGitFileErrorSchema.nullable(),
|
|
4809
|
+
requestId: z.string(),
|
|
4810
|
+
}),
|
|
4811
|
+
});
|
|
4812
|
+
export const CheckoutGitFileOriginResponseSchema = z.object({
|
|
4813
|
+
type: z.literal("checkout.git.get_file_origin.response"),
|
|
4814
|
+
payload: z.object({
|
|
4815
|
+
cwd: z.string(),
|
|
4816
|
+
path: z.string(),
|
|
4817
|
+
// Null when the file has no commit history (never committed, or a shallow
|
|
4818
|
+
// clone that does not reach its creation).
|
|
4819
|
+
entry: GitFileHistoryEntrySchema.nullable(),
|
|
4820
|
+
error: CheckoutGitFileErrorSchema.nullable(),
|
|
4821
|
+
requestId: z.string(),
|
|
4822
|
+
}),
|
|
4823
|
+
});
|
|
4648
4824
|
export const CheckoutMergeResponseSchema = z.object({
|
|
4649
4825
|
type: z.literal("checkout_merge_response"),
|
|
4650
4826
|
payload: z.object({
|
|
@@ -5707,6 +5883,10 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
5707
5883
|
CheckoutGitRollbackResponseSchema,
|
|
5708
5884
|
CheckoutGitGetOperationLogResponseSchema,
|
|
5709
5885
|
CheckoutGitLogAppendedNotificationSchema,
|
|
5886
|
+
CheckoutGitFileHistoryResponseSchema,
|
|
5887
|
+
CheckoutGitFileCommitDiffResponseSchema,
|
|
5888
|
+
CheckoutGitFileBlameResponseSchema,
|
|
5889
|
+
CheckoutGitFileOriginResponseSchema,
|
|
5710
5890
|
RunsGetSnapshotResponseSchema,
|
|
5711
5891
|
RunsUpdatedNotificationSchema,
|
|
5712
5892
|
RunsGateRespondResponseSchema,
|
|
@@ -3511,6 +3511,7 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3511
3511
|
voiceCues: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
3512
3512
|
join: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3513
3513
|
thinking: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3514
|
+
waiting: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3514
3515
|
done: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3515
3516
|
}, import("zod/v4/core").$loose>>;
|
|
3516
3517
|
}, import("zod/v4/core").$loose>>>;
|
|
@@ -3666,6 +3667,7 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3666
3667
|
voiceCues: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
3667
3668
|
join: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3668
3669
|
thinking: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3670
|
+
waiting: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3669
3671
|
done: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3670
3672
|
}, import("zod/v4/core").$loose>>;
|
|
3671
3673
|
}, import("zod/v4/core").$loose>>>;
|
|
@@ -3751,6 +3753,7 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3751
3753
|
cues: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
3752
3754
|
join: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3753
3755
|
thinking: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3756
|
+
waiting: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3754
3757
|
done: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3755
3758
|
}, import("zod/v4/core").$loose>>;
|
|
3756
3759
|
error: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -4816,6 +4819,156 @@ export declare const WSOutboundMessageSchema: {
|
|
|
4816
4819
|
text: import("zod").ZodString;
|
|
4817
4820
|
}, import("zod/v4/core").$strip>>;
|
|
4818
4821
|
}, import("zod/v4/core").$strip>;
|
|
4822
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4823
|
+
type: import("zod").ZodLiteral<"checkout.git.get_file_history.response">;
|
|
4824
|
+
payload: import("zod").ZodObject<{
|
|
4825
|
+
cwd: import("zod").ZodString;
|
|
4826
|
+
path: import("zod").ZodString;
|
|
4827
|
+
entries: import("zod").ZodArray<import("zod").ZodObject<{
|
|
4828
|
+
sha: import("zod").ZodString;
|
|
4829
|
+
shortSha: import("zod").ZodString;
|
|
4830
|
+
subject: import("zod").ZodString;
|
|
4831
|
+
body: import("zod").ZodString;
|
|
4832
|
+
authorName: import("zod").ZodString;
|
|
4833
|
+
authorEmail: import("zod").ZodString;
|
|
4834
|
+
authoredAt: import("zod").ZodNumber;
|
|
4835
|
+
committerName: import("zod").ZodString;
|
|
4836
|
+
committedAt: import("zod").ZodNumber;
|
|
4837
|
+
path: import("zod").ZodString;
|
|
4838
|
+
previousPath: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4839
|
+
changeKind: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4840
|
+
isMerge: import("zod").ZodBoolean;
|
|
4841
|
+
parentShas: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
4842
|
+
}, import("zod/v4/core").$strip>>;
|
|
4843
|
+
hasMore: import("zod").ZodBoolean;
|
|
4844
|
+
error: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
4845
|
+
kind: import("zod").ZodLiteral<"not_git_repo">;
|
|
4846
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4847
|
+
kind: import("zod").ZodLiteral<"invalid_path">;
|
|
4848
|
+
detail: import("zod").ZodString;
|
|
4849
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4850
|
+
kind: import("zod").ZodLiteral<"git_failed">;
|
|
4851
|
+
detail: import("zod").ZodString;
|
|
4852
|
+
}, import("zod/v4/core").$strip>], "kind">>;
|
|
4853
|
+
requestId: import("zod").ZodString;
|
|
4854
|
+
}, import("zod/v4/core").$strip>;
|
|
4855
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4856
|
+
type: import("zod").ZodLiteral<"checkout.git.get_file_commit_diff.response">;
|
|
4857
|
+
payload: import("zod").ZodObject<{
|
|
4858
|
+
cwd: import("zod").ZodString;
|
|
4859
|
+
path: import("zod").ZodString;
|
|
4860
|
+
sha: import("zod").ZodString;
|
|
4861
|
+
diff: import("zod").ZodString;
|
|
4862
|
+
structured: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
4863
|
+
path: import("zod").ZodString;
|
|
4864
|
+
isNew: import("zod").ZodBoolean;
|
|
4865
|
+
isDeleted: import("zod").ZodBoolean;
|
|
4866
|
+
additions: import("zod").ZodNumber;
|
|
4867
|
+
deletions: import("zod").ZodNumber;
|
|
4868
|
+
hunks: import("zod").ZodArray<import("zod").ZodObject<{
|
|
4869
|
+
oldStart: import("zod").ZodNumber;
|
|
4870
|
+
oldCount: import("zod").ZodNumber;
|
|
4871
|
+
newStart: import("zod").ZodNumber;
|
|
4872
|
+
newCount: import("zod").ZodNumber;
|
|
4873
|
+
lines: import("zod").ZodArray<import("zod").ZodObject<{
|
|
4874
|
+
type: import("zod").ZodEnum<{
|
|
4875
|
+
context: "context";
|
|
4876
|
+
add: "add";
|
|
4877
|
+
remove: "remove";
|
|
4878
|
+
header: "header";
|
|
4879
|
+
}>;
|
|
4880
|
+
content: import("zod").ZodString;
|
|
4881
|
+
tokens: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
4882
|
+
text: import("zod").ZodString;
|
|
4883
|
+
style: import("zod").ZodNullable<import("zod").ZodString>;
|
|
4884
|
+
}, import("zod/v4/core").$strip>>>;
|
|
4885
|
+
}, import("zod/v4/core").$strip>>;
|
|
4886
|
+
}, import("zod/v4/core").$strip>>;
|
|
4887
|
+
status: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
4888
|
+
ok: "ok";
|
|
4889
|
+
too_large: "too_large";
|
|
4890
|
+
binary: "binary";
|
|
4891
|
+
}>>;
|
|
4892
|
+
}, import("zod/v4/core").$strip>>>;
|
|
4893
|
+
previousSha: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4894
|
+
previousPath: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4895
|
+
truncated: import("zod").ZodBoolean;
|
|
4896
|
+
error: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
4897
|
+
kind: import("zod").ZodLiteral<"not_git_repo">;
|
|
4898
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4899
|
+
kind: import("zod").ZodLiteral<"invalid_path">;
|
|
4900
|
+
detail: import("zod").ZodString;
|
|
4901
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4902
|
+
kind: import("zod").ZodLiteral<"git_failed">;
|
|
4903
|
+
detail: import("zod").ZodString;
|
|
4904
|
+
}, import("zod/v4/core").$strip>], "kind">>;
|
|
4905
|
+
requestId: import("zod").ZodString;
|
|
4906
|
+
}, import("zod/v4/core").$strip>;
|
|
4907
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4908
|
+
type: import("zod").ZodLiteral<"checkout.git.get_file_blame.response">;
|
|
4909
|
+
payload: import("zod").ZodObject<{
|
|
4910
|
+
cwd: import("zod").ZodString;
|
|
4911
|
+
path: import("zod").ZodString;
|
|
4912
|
+
lines: import("zod").ZodArray<import("zod").ZodObject<{
|
|
4913
|
+
line: import("zod").ZodNumber;
|
|
4914
|
+
sha: import("zod").ZodString;
|
|
4915
|
+
originalLine: import("zod").ZodNumber;
|
|
4916
|
+
}, import("zod/v4/core").$strip>>;
|
|
4917
|
+
commits: import("zod").ZodArray<import("zod").ZodObject<{
|
|
4918
|
+
sha: import("zod").ZodString;
|
|
4919
|
+
shortSha: import("zod").ZodString;
|
|
4920
|
+
summary: import("zod").ZodString;
|
|
4921
|
+
authorName: import("zod").ZodString;
|
|
4922
|
+
authorEmail: import("zod").ZodString;
|
|
4923
|
+
authoredAt: import("zod").ZodNumber;
|
|
4924
|
+
path: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4925
|
+
}, import("zod/v4/core").$strip>>;
|
|
4926
|
+
startLine: import("zod").ZodNumber;
|
|
4927
|
+
endLine: import("zod").ZodNumber;
|
|
4928
|
+
reachedEndOfFile: import("zod").ZodBoolean;
|
|
4929
|
+
error: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
4930
|
+
kind: import("zod").ZodLiteral<"not_git_repo">;
|
|
4931
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4932
|
+
kind: import("zod").ZodLiteral<"invalid_path">;
|
|
4933
|
+
detail: import("zod").ZodString;
|
|
4934
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4935
|
+
kind: import("zod").ZodLiteral<"git_failed">;
|
|
4936
|
+
detail: import("zod").ZodString;
|
|
4937
|
+
}, import("zod/v4/core").$strip>], "kind">>;
|
|
4938
|
+
requestId: import("zod").ZodString;
|
|
4939
|
+
}, import("zod/v4/core").$strip>;
|
|
4940
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4941
|
+
type: import("zod").ZodLiteral<"checkout.git.get_file_origin.response">;
|
|
4942
|
+
payload: import("zod").ZodObject<{
|
|
4943
|
+
cwd: import("zod").ZodString;
|
|
4944
|
+
path: import("zod").ZodString;
|
|
4945
|
+
entry: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
4946
|
+
sha: import("zod").ZodString;
|
|
4947
|
+
shortSha: import("zod").ZodString;
|
|
4948
|
+
subject: import("zod").ZodString;
|
|
4949
|
+
body: import("zod").ZodString;
|
|
4950
|
+
authorName: import("zod").ZodString;
|
|
4951
|
+
authorEmail: import("zod").ZodString;
|
|
4952
|
+
authoredAt: import("zod").ZodNumber;
|
|
4953
|
+
committerName: import("zod").ZodString;
|
|
4954
|
+
committedAt: import("zod").ZodNumber;
|
|
4955
|
+
path: import("zod").ZodString;
|
|
4956
|
+
previousPath: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4957
|
+
changeKind: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4958
|
+
isMerge: import("zod").ZodBoolean;
|
|
4959
|
+
parentShas: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
4960
|
+
}, import("zod/v4/core").$strip>>;
|
|
4961
|
+
error: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
4962
|
+
kind: import("zod").ZodLiteral<"not_git_repo">;
|
|
4963
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4964
|
+
kind: import("zod").ZodLiteral<"invalid_path">;
|
|
4965
|
+
detail: import("zod").ZodString;
|
|
4966
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4967
|
+
kind: import("zod").ZodLiteral<"git_failed">;
|
|
4968
|
+
detail: import("zod").ZodString;
|
|
4969
|
+
}, import("zod/v4/core").$strip>], "kind">>;
|
|
4970
|
+
requestId: import("zod").ZodString;
|
|
4971
|
+
}, import("zod/v4/core").$strip>;
|
|
4819
4972
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4820
4973
|
type: import("zod").ZodLiteral<"runs.get_snapshot.response">;
|
|
4821
4974
|
payload: import("zod").ZodObject<{
|