@otto-code/client 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.
@@ -1,10 +1,10 @@
1
1
  import type { z } from "zod";
2
2
  import { type ClientCapability } from "@otto-code/protocol/client-capabilities";
3
3
  import { AgentRefreshedStatusPayloadSchema, CheckoutRenameBranchResponseSchema, RenameTerminalResponseSchema, RestartRequestedStatusPayloadSchema, ShutdownRequestedStatusPayloadSchema, DaemonUpdateResponseSchema, type ServerInfoStatusPayload } from "@otto-code/protocol/messages";
4
- import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreateOttoWorktreeRequest, CodeListFilesResponse, CodeSymbolLocation, FileDownloadTokenResponse, FileEol, FileReplaceFileResult, FileReplaceRequest, FileReplaceResponse, FileSearchResultPayload, FileSearchSummary, FileUploadResponse, FileExplorerResponse, FileWatchEventPayload, FileWriteResult, FetchAgentTimelineResponseMessage, AgentForkContextResponseMessage, GitSetupOptions, CheckoutStatusResponse, CheckoutCommitResponse, CheckoutGitCommitResponse, CheckoutGitCommitAgentResponse, CheckoutGitRollbackResponse, CheckoutGitGetOperationLogResponse, CheckoutMergeResponse, CheckoutMergeFromBaseResponse, CheckoutPullResponse, CheckoutPushResponse, CheckoutRefreshResponse, CheckoutPrCreateResponse, CheckoutPrMergeResponse, CheckoutPrMergeMethod, CheckoutGithubSetAutoMergeResponse, CheckoutGithubGetCheckDetailsResponse, PreviewListConfigResponse, PreviewStartResponse, PreviewBindTabResponse, PreviewStopResponse, CheckoutPrStatusResponse, PullRequestTimelineResponse, CheckoutSwitchBranchResponse, StashSaveResponse, StashPopResponse, StashListResponse, ValidateBranchResponse, BranchSuggestionsResponse, GitHubSearchResponse, GitHubSearchRequest, GitHostingProviderId, HostingSearchRequest, HostingSearchResponse, HostingAuthStatusResponse, DirectorySuggestionsResponse, OttoWorktreeListResponse, OttoWorktreeArchiveResponse, ProjectIconResponse, ContextReportGetResponseMessage, ContextEdgeConvertResponseMessage, ProjectAddResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, StatsActivityResetResponseMessage, UsageLogGetResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, TasksSuggestedStartMode, OttoConfigRaw, OttoConfigRevision, WorkspaceCreateRequest } from "@otto-code/protocol/messages";
4
+ import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreateOttoWorktreeRequest, CodeListFilesResponse, CodeSymbolLocation, FileDownloadTokenResponse, FileEol, FileReplaceFileResult, FileReplaceRequest, FileReplaceResponse, FileSearchResultPayload, FileSearchSummary, FileUploadResponse, FileExplorerResponse, FileWatchEventPayload, FileWriteResult, FetchAgentTimelineResponseMessage, AgentForkContextResponseMessage, GitSetupOptions, CheckoutStatusResponse, CheckoutCommitResponse, CheckoutGitCommitResponse, CheckoutGitCommitAgentResponse, CheckoutGitRollbackResponse, CheckoutGitFileHistoryResponse, CheckoutGitFileCommitDiffResponse, CheckoutGitFileBlameResponse, CheckoutGitFileOriginResponse, CheckoutGitGetOperationLogResponse, CheckoutMergeResponse, CheckoutMergeFromBaseResponse, CheckoutPullResponse, CheckoutPushResponse, CheckoutRefreshResponse, CheckoutPrCreateResponse, CheckoutPrMergeResponse, CheckoutPrMergeMethod, CheckoutGithubSetAutoMergeResponse, CheckoutGithubGetCheckDetailsResponse, PreviewListConfigResponse, PreviewStartResponse, PreviewBindTabResponse, PreviewStopResponse, CheckoutPrStatusResponse, PullRequestTimelineResponse, CheckoutSwitchBranchResponse, StashSaveResponse, StashPopResponse, StashListResponse, ValidateBranchResponse, BranchSuggestionsResponse, GitHubSearchResponse, GitHubSearchRequest, GitHostingProviderId, HostingSearchRequest, HostingSearchResponse, HostingAuthStatusResponse, DirectorySuggestionsResponse, OttoWorktreeListResponse, OttoWorktreeArchiveResponse, ProjectIconResponse, ContextReportGetResponseMessage, ContextEdgeConvertResponseMessage, ProjectAddResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, StatsActivityResetResponseMessage, UsageLogGetResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, TasksSuggestedStartMode, OttoConfigRaw, OttoConfigRevision, WorkspaceCreateRequest } from "@otto-code/protocol/messages";
5
5
  import type { AgentPermissionRequest, AgentPermissionResponse, AgentPersistenceHandle, AgentProviderNotice, AgentProvider, AgentSessionConfig } from "@otto-code/protocol/agent-types";
6
6
  import type { Run } from "@otto-code/protocol/orchestration";
7
- import type { MutableDaemonConfig, MutableDaemonConfigPatch, ProjectLink, SpeechSettingsOptions, SpeechTtsPreviewResult, VisualizerVoiceCuesResult } from "@otto-code/protocol/messages";
7
+ import type { CueMoment, MutableDaemonConfig, MutableDaemonConfigPatch, ProjectLink, SpeechSettingsOptions, SpeechTtsPreviewResult, VisualizerVoiceCuesResult } from "@otto-code/protocol/messages";
8
8
  import { type DaemonTransportFactory, type WebSocketFactory } from "./daemon-client-transport.js";
9
9
  import { type TerminalStreamEvent } from "./terminal-stream-router.js";
10
10
  import type { BrowserAutomationExecuteRequest, BrowserAutomationExecuteResponse } from "@otto-code/protocol/browser-automation/rpc-schemas";
@@ -161,6 +161,10 @@ export type CheckoutGitCommitPayload = CheckoutGitCommitResponse["payload"];
161
161
  export type CheckoutGitCommitAgentPayload = CheckoutGitCommitAgentResponse["payload"];
162
162
  export type CheckoutGitRollbackPayload = CheckoutGitRollbackResponse["payload"];
163
163
  export type CheckoutGitGetOperationLogPayload = CheckoutGitGetOperationLogResponse["payload"];
164
+ export type CheckoutGitFileHistoryPayload = CheckoutGitFileHistoryResponse["payload"];
165
+ export type CheckoutGitFileCommitDiffPayload = CheckoutGitFileCommitDiffResponse["payload"];
166
+ export type CheckoutGitFileBlamePayload = CheckoutGitFileBlameResponse["payload"];
167
+ export type CheckoutGitFileOriginPayload = CheckoutGitFileOriginResponse["payload"];
164
168
  type CheckoutMergePayload = CheckoutMergeResponse["payload"];
165
169
  type CheckoutMergeFromBasePayload = CheckoutMergeFromBaseResponse["payload"];
166
170
  type CheckoutPullPayload = CheckoutPullResponse["payload"];
@@ -905,6 +909,27 @@ export declare class DaemonClient {
905
909
  allowWithRunningAgents?: boolean;
906
910
  }, requestId?: string): Promise<CheckoutGitRollbackPayload>;
907
911
  checkoutGitGetOperationLog(cwd: string, operation: string, requestId?: string): Promise<CheckoutGitGetOperationLogPayload>;
912
+ checkoutGitFileHistory(cwd: string, input: {
913
+ path: string;
914
+ limit?: number;
915
+ offset?: number;
916
+ startLine?: number;
917
+ endLine?: number;
918
+ }, requestId?: string): Promise<CheckoutGitFileHistoryPayload>;
919
+ checkoutGitFileCommitDiff(cwd: string, input: {
920
+ path: string;
921
+ sha: string;
922
+ ignoreWhitespace?: boolean;
923
+ }, requestId?: string): Promise<CheckoutGitFileCommitDiffPayload>;
924
+ checkoutGitFileBlame(cwd: string, input: {
925
+ path: string;
926
+ startLine?: number;
927
+ lineCount?: number;
928
+ sha?: string;
929
+ }, requestId?: string): Promise<CheckoutGitFileBlamePayload>;
930
+ checkoutGitFileOrigin(cwd: string, input: {
931
+ path: string;
932
+ }, requestId?: string): Promise<CheckoutGitFileOriginPayload>;
908
933
  checkoutMerge(cwd: string, input: {
909
934
  baseRef?: string;
910
935
  strategy?: "merge" | "squash";
@@ -1112,7 +1137,7 @@ export declare class DaemonClient {
1112
1137
  prompt?: string;
1113
1138
  cwd?: string;
1114
1139
  roles?: string[];
1115
- moment?: "join" | "thinking" | "done";
1140
+ moment?: CueMoment;
1116
1141
  }, requestId?: string): Promise<VisualizerVoiceCuesResult>;
1117
1142
  getPersonalityStats(requestId?: string): Promise<{
1118
1143
  requestId: string;
@@ -2289,6 +2289,59 @@ export class DaemonClient {
2289
2289
  },
2290
2290
  });
2291
2291
  }
2292
+ // ── Git file investigation ────────────────────────────────────────────────
2293
+ // Local git only: no remote, no forge, and no per-provider variant — the same
2294
+ // four calls answer for every agent provider. Gated by
2295
+ // server_info.features.checkoutGitFileHistory.
2296
+ async checkoutGitFileHistory(cwd, input, requestId) {
2297
+ return this.sendNamespacedCorrelatedSessionRequest({
2298
+ requestId,
2299
+ message: {
2300
+ type: "checkout.git.get_file_history.request",
2301
+ cwd,
2302
+ path: input.path,
2303
+ ...(input.limit !== undefined ? { limit: input.limit } : {}),
2304
+ ...(input.offset !== undefined ? { offset: input.offset } : {}),
2305
+ ...(input.startLine !== undefined ? { startLine: input.startLine } : {}),
2306
+ ...(input.endLine !== undefined ? { endLine: input.endLine } : {}),
2307
+ },
2308
+ });
2309
+ }
2310
+ async checkoutGitFileCommitDiff(cwd, input, requestId) {
2311
+ return this.sendNamespacedCorrelatedSessionRequest({
2312
+ requestId,
2313
+ message: {
2314
+ type: "checkout.git.get_file_commit_diff.request",
2315
+ cwd,
2316
+ path: input.path,
2317
+ sha: input.sha,
2318
+ ...(input.ignoreWhitespace ? { ignoreWhitespace: true } : {}),
2319
+ },
2320
+ });
2321
+ }
2322
+ async checkoutGitFileBlame(cwd, input, requestId) {
2323
+ return this.sendNamespacedCorrelatedSessionRequest({
2324
+ requestId,
2325
+ message: {
2326
+ type: "checkout.git.get_file_blame.request",
2327
+ cwd,
2328
+ path: input.path,
2329
+ ...(input.startLine !== undefined ? { startLine: input.startLine } : {}),
2330
+ ...(input.lineCount !== undefined ? { lineCount: input.lineCount } : {}),
2331
+ ...(input.sha !== undefined ? { sha: input.sha } : {}),
2332
+ },
2333
+ });
2334
+ }
2335
+ async checkoutGitFileOrigin(cwd, input, requestId) {
2336
+ return this.sendNamespacedCorrelatedSessionRequest({
2337
+ requestId,
2338
+ message: {
2339
+ type: "checkout.git.get_file_origin.request",
2340
+ cwd,
2341
+ path: input.path,
2342
+ },
2343
+ });
2344
+ }
2292
2345
  async checkoutMerge(cwd, input, requestId) {
2293
2346
  return this.sendCorrelatedSessionRequest({
2294
2347
  requestId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otto-code/client",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "description": "Otto client SDK package",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "files": [
@@ -36,8 +36,8 @@
36
36
  "test": "vitest run"
37
37
  },
38
38
  "dependencies": {
39
- "@otto-code/protocol": "0.6.5",
40
- "@otto-code/relay": "0.6.5",
39
+ "@otto-code/protocol": "0.6.6",
40
+ "@otto-code/relay": "0.6.6",
41
41
  "zod": "^4.4.3"
42
42
  },
43
43
  "devDependencies": {