@otto-code/client 0.5.0 → 0.5.2

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,7 +1,7 @@
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, 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, ProjectAddResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, 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, 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, ProjectAddResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, 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 { MutableDaemonConfig, MutableDaemonConfigPatch, SpeechSettingsOptions, SpeechTtsPreviewResult } from "@otto-code/protocol/messages";
7
7
  import { type DaemonTransportFactory, type WebSocketFactory } from "./daemon-client-transport.js";
@@ -156,6 +156,10 @@ type SubscribeCheckoutDiffPayload = Extract<SessionOutboundMessage, {
156
156
  }>["payload"];
157
157
  type CheckoutDiffPayload = Omit<SubscribeCheckoutDiffPayload, "subscriptionId">;
158
158
  type CheckoutCommitPayload = CheckoutCommitResponse["payload"];
159
+ export type CheckoutGitCommitPayload = CheckoutGitCommitResponse["payload"];
160
+ export type CheckoutGitCommitAgentPayload = CheckoutGitCommitAgentResponse["payload"];
161
+ export type CheckoutGitRollbackPayload = CheckoutGitRollbackResponse["payload"];
162
+ export type CheckoutGitGetOperationLogPayload = CheckoutGitGetOperationLogResponse["payload"];
159
163
  type CheckoutMergePayload = CheckoutMergeResponse["payload"];
160
164
  type CheckoutMergeFromBasePayload = CheckoutMergeFromBaseResponse["payload"];
161
165
  type CheckoutPullPayload = CheckoutPullResponse["payload"];
@@ -546,6 +550,8 @@ export interface CreateScheduleOptions {
546
550
  config: {
547
551
  provider: AgentProvider;
548
552
  cwd: string;
553
+ /** Personality binding by name, or the "@team-scheduler" sentinel. */
554
+ personality?: string;
549
555
  modeId?: string;
550
556
  model?: string;
551
557
  thinkingOptionId?: string;
@@ -572,6 +578,11 @@ export interface InspectScheduleOptions {
572
578
  }
573
579
  export interface UpdateScheduleNewAgentConfig {
574
580
  provider?: string;
581
+ /**
582
+ * Personality binding by name, or the "@team-scheduler" sentinel. Explicit
583
+ * null clears a stored binding; omission leaves it untouched.
584
+ */
585
+ personality?: string | null;
575
586
  model?: string | null;
576
587
  modeId?: string | null;
577
588
  thinkingOptionId?: string | null;
@@ -785,7 +796,9 @@ export declare class DaemonClient {
785
796
  sendAgentMessage(agentId: string, text: string, options?: SendMessageOptions): Promise<void>;
786
797
  sendMessage(agentId: string, text: string, options?: SendMessageOptions): Promise<void>;
787
798
  rewindAgent(agentId: string, messageId: string, mode: "conversation" | "files" | "both"): Promise<AgentRewindResponseMessage["payload"]>;
788
- cancelAgent(agentId: string): Promise<void>;
799
+ cancelAgent(agentId: string): Promise<{
800
+ cancelled?: boolean;
801
+ }>;
789
802
  setAgentMode(agentId: string, modeId: string): Promise<AgentProviderNotice | null>;
790
803
  setAgentModel(agentId: string, modelId: string | null): Promise<void>;
791
804
  setAgentFeature(agentId: string, featureId: string, value: unknown): Promise<void>;
@@ -834,6 +847,16 @@ export declare class DaemonClient {
834
847
  message?: string;
835
848
  addAll?: boolean;
836
849
  }, requestId?: string): Promise<CheckoutCommitPayload>;
850
+ checkoutGitCommit(cwd: string, input: {
851
+ message: string;
852
+ paths: string[];
853
+ allowWithRunningAgents?: boolean;
854
+ }, requestId?: string): Promise<CheckoutGitCommitPayload>;
855
+ checkoutGitCommitAgent(cwd: string, requestId?: string): Promise<CheckoutGitCommitAgentPayload>;
856
+ checkoutGitRollback(cwd: string, input: {
857
+ paths: string[];
858
+ }, requestId?: string): Promise<CheckoutGitRollbackPayload>;
859
+ checkoutGitGetOperationLog(cwd: string, operation: string, requestId?: string): Promise<CheckoutGitGetOperationLogPayload>;
837
860
  checkoutMerge(cwd: string, input: {
838
861
  baseRef?: string;
839
862
  strategy?: "merge" | "squash";
@@ -1541,7 +1541,7 @@ export class DaemonClient {
1541
1541
  agentId,
1542
1542
  requestId,
1543
1543
  });
1544
- await this.sendRequest({
1544
+ const payload = await this.sendRequest({
1545
1545
  requestId,
1546
1546
  message,
1547
1547
  options: { skipQueue: true },
@@ -1555,6 +1555,8 @@ export class DaemonClient {
1555
1555
  return msg.payload;
1556
1556
  },
1557
1557
  });
1558
+ // Absent ⇒ old daemon that doesn't report whether a run was interrupted.
1559
+ return payload.cancelled !== undefined ? { cancelled: payload.cancelled } : {};
1558
1560
  }
1559
1561
  async setAgentMode(agentId, modeId) {
1560
1562
  const requestId = this.createRequestId();
@@ -2113,6 +2115,47 @@ export class DaemonClient {
2113
2115
  responseType: "checkout_commit_response",
2114
2116
  });
2115
2117
  }
2118
+ async checkoutGitCommit(cwd, input, requestId) {
2119
+ return this.sendNamespacedCorrelatedSessionRequest({
2120
+ requestId,
2121
+ message: {
2122
+ type: "checkout.git.commit.request",
2123
+ cwd,
2124
+ message: input.message,
2125
+ paths: input.paths,
2126
+ ...(input.allowWithRunningAgents ? { allowWithRunningAgents: true } : {}),
2127
+ },
2128
+ });
2129
+ }
2130
+ async checkoutGitCommitAgent(cwd, requestId) {
2131
+ return this.sendNamespacedCorrelatedSessionRequest({
2132
+ requestId,
2133
+ message: {
2134
+ type: "checkout.git.commit_agent.request",
2135
+ cwd,
2136
+ },
2137
+ });
2138
+ }
2139
+ async checkoutGitRollback(cwd, input, requestId) {
2140
+ return this.sendNamespacedCorrelatedSessionRequest({
2141
+ requestId,
2142
+ message: {
2143
+ type: "checkout.git.rollback.request",
2144
+ cwd,
2145
+ paths: input.paths,
2146
+ },
2147
+ });
2148
+ }
2149
+ async checkoutGitGetOperationLog(cwd, operation, requestId) {
2150
+ return this.sendNamespacedCorrelatedSessionRequest({
2151
+ requestId,
2152
+ message: {
2153
+ type: "checkout.git.get_operation_log.request",
2154
+ cwd,
2155
+ operation,
2156
+ },
2157
+ });
2158
+ }
2116
2159
  async checkoutMerge(cwd, input, requestId) {
2117
2160
  return this.sendCorrelatedSessionRequest({
2118
2161
  requestId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otto-code/client",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Otto client SDK package",
5
5
  "files": [
6
6
  "dist",
@@ -35,8 +35,8 @@
35
35
  "test": "vitest run"
36
36
  },
37
37
  "dependencies": {
38
- "@otto-code/protocol": "0.5.0",
39
- "@otto-code/relay": "0.5.0",
38
+ "@otto-code/protocol": "0.5.2",
39
+ "@otto-code/relay": "0.5.2",
40
40
  "zod": "^4.4.3"
41
41
  },
42
42
  "devDependencies": {