@otto-code/client 0.6.2 → 0.6.4
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/daemon-client.d.ts +40 -2
- package/dist/daemon-client.js +75 -0
- package/package.json +4 -3
package/dist/daemon-client.d.ts
CHANGED
|
@@ -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, ProjectAddResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, 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, 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 } from "@otto-code/protocol/messages";
|
|
7
|
+
import type { 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";
|
|
@@ -1039,6 +1039,27 @@ export declare class DaemonClient {
|
|
|
1039
1039
|
uploadFile(input: FileUploadInput): Promise<FileUploadResult>;
|
|
1040
1040
|
requestDownloadToken(cwd: string, path: string, requestId?: string): Promise<FileDownloadTokenPayload>;
|
|
1041
1041
|
requestProjectIcon(cwd: string, requestId?: string): Promise<ProjectIconResponse["payload"]>;
|
|
1042
|
+
/**
|
|
1043
|
+
* Everything the workspace's provider sends before the user types. `provider`
|
|
1044
|
+
* and `windowTokens` are what-if overrides for the Context Management tab's
|
|
1045
|
+
* pickers; omit both to evaluate the active agent's real setup.
|
|
1046
|
+
*/
|
|
1047
|
+
requestContextReport(input: {
|
|
1048
|
+
workspaceId: string;
|
|
1049
|
+
provider?: string;
|
|
1050
|
+
windowTokens?: number;
|
|
1051
|
+
}, requestId?: string): Promise<ContextReportGetResponseMessage["payload"]>;
|
|
1052
|
+
/** Rewrites one reference between "always loaded" and "link only". */
|
|
1053
|
+
requestContextEdgeConvert(input: {
|
|
1054
|
+
workspaceId: string;
|
|
1055
|
+
filePath: string;
|
|
1056
|
+
rawTarget: string;
|
|
1057
|
+
range: {
|
|
1058
|
+
start: number;
|
|
1059
|
+
end: number;
|
|
1060
|
+
};
|
|
1061
|
+
target: "import" | "reference";
|
|
1062
|
+
}, requestId?: string): Promise<ContextEdgeConvertResponseMessage["payload"]>;
|
|
1042
1063
|
listProviderModels(provider: AgentProvider, options?: {
|
|
1043
1064
|
cwd?: string;
|
|
1044
1065
|
requestId?: string;
|
|
@@ -1080,6 +1101,13 @@ export declare class DaemonClient {
|
|
|
1080
1101
|
name: string;
|
|
1081
1102
|
};
|
|
1082
1103
|
}, requestId?: string): Promise<SpeechTtsPreviewResult>;
|
|
1104
|
+
generateVisualizerVoiceCues(params: {
|
|
1105
|
+
name: string;
|
|
1106
|
+
prompt?: string;
|
|
1107
|
+
cwd?: string;
|
|
1108
|
+
roles?: string[];
|
|
1109
|
+
moment?: "join" | "thinking" | "done";
|
|
1110
|
+
}, requestId?: string): Promise<VisualizerVoiceCuesResult>;
|
|
1083
1111
|
getPersonalityStats(requestId?: string): Promise<{
|
|
1084
1112
|
requestId: string;
|
|
1085
1113
|
stats: Record<string, number>;
|
|
@@ -1102,6 +1130,16 @@ export declare class DaemonClient {
|
|
|
1102
1130
|
getActivityStats(options?: {
|
|
1103
1131
|
requestId?: string;
|
|
1104
1132
|
}): Promise<StatsActivityGetResponseMessage["payload"]>;
|
|
1133
|
+
/** Wipe all usage counters AND the itemized ledger back to zero (Metrics "Reset"). */
|
|
1134
|
+
resetActivityStats(options?: {
|
|
1135
|
+
requestId?: string;
|
|
1136
|
+
}): Promise<StatsActivityResetResponseMessage["payload"]>;
|
|
1137
|
+
/** Itemized usage ledger — the scrollable rows behind the stats tiles (usage-ledger). */
|
|
1138
|
+
getUsageLog(options?: {
|
|
1139
|
+
limit?: number;
|
|
1140
|
+
before?: number;
|
|
1141
|
+
requestId?: string;
|
|
1142
|
+
}): Promise<UsageLogGetResponseMessage["payload"]>;
|
|
1105
1143
|
getAgentContextUsage(agentId: string, options?: {
|
|
1106
1144
|
requestId?: string;
|
|
1107
1145
|
}): Promise<AgentContextGetUsagePayload>;
|
package/dist/daemon-client.js
CHANGED
|
@@ -2931,6 +2931,41 @@ export class DaemonClient {
|
|
|
2931
2931
|
});
|
|
2932
2932
|
}
|
|
2933
2933
|
// ============================================================================
|
|
2934
|
+
// Context Management
|
|
2935
|
+
// ============================================================================
|
|
2936
|
+
/**
|
|
2937
|
+
* Everything the workspace's provider sends before the user types. `provider`
|
|
2938
|
+
* and `windowTokens` are what-if overrides for the Context Management tab's
|
|
2939
|
+
* pickers; omit both to evaluate the active agent's real setup.
|
|
2940
|
+
*/
|
|
2941
|
+
async requestContextReport(input, requestId) {
|
|
2942
|
+
return this.sendCorrelatedSessionRequest({
|
|
2943
|
+
requestId,
|
|
2944
|
+
message: {
|
|
2945
|
+
type: "context.report.get.request",
|
|
2946
|
+
workspaceId: input.workspaceId,
|
|
2947
|
+
...(input.provider ? { provider: input.provider } : {}),
|
|
2948
|
+
...(typeof input.windowTokens === "number" ? { windowTokens: input.windowTokens } : {}),
|
|
2949
|
+
},
|
|
2950
|
+
responseType: "context.report.get.response",
|
|
2951
|
+
});
|
|
2952
|
+
}
|
|
2953
|
+
/** Rewrites one reference between "always loaded" and "link only". */
|
|
2954
|
+
async requestContextEdgeConvert(input, requestId) {
|
|
2955
|
+
return this.sendCorrelatedSessionRequest({
|
|
2956
|
+
requestId,
|
|
2957
|
+
message: {
|
|
2958
|
+
type: "context.edge.convert.request",
|
|
2959
|
+
workspaceId: input.workspaceId,
|
|
2960
|
+
filePath: input.filePath,
|
|
2961
|
+
rawTarget: input.rawTarget,
|
|
2962
|
+
range: input.range,
|
|
2963
|
+
target: input.target,
|
|
2964
|
+
},
|
|
2965
|
+
responseType: "context.edge.convert.response",
|
|
2966
|
+
});
|
|
2967
|
+
}
|
|
2968
|
+
// ============================================================================
|
|
2934
2969
|
// Provider Models / Commands
|
|
2935
2970
|
// ============================================================================
|
|
2936
2971
|
async listProviderModels(provider, options) {
|
|
@@ -3058,6 +3093,26 @@ export class DaemonClient {
|
|
|
3058
3093
|
},
|
|
3059
3094
|
});
|
|
3060
3095
|
}
|
|
3096
|
+
// Author short spoken cue lines (join / thinking / done) for a persona,
|
|
3097
|
+
// described inline (name + prompt) so it works for an unsaved editor draft.
|
|
3098
|
+
// Routed through the Writer chain; the caller stores the result on the
|
|
3099
|
+
// personality's `voiceCues`.
|
|
3100
|
+
async generateVisualizerVoiceCues(params, requestId) {
|
|
3101
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
3102
|
+
requestId,
|
|
3103
|
+
message: {
|
|
3104
|
+
type: "visualizer.voiceCues.generate.request",
|
|
3105
|
+
name: params.name,
|
|
3106
|
+
...(params.prompt ? { prompt: params.prompt } : {}),
|
|
3107
|
+
...(params.cwd ? { cwd: params.cwd } : {}),
|
|
3108
|
+
...(params.roles && params.roles.length > 0 ? { roles: params.roles } : {}),
|
|
3109
|
+
...(params.moment ? { moment: params.moment } : {}),
|
|
3110
|
+
},
|
|
3111
|
+
// The daemon spawns a structured-generation agent for this; provider SDK
|
|
3112
|
+
// cold starts can blow well past the 60s default.
|
|
3113
|
+
timeout: 180000,
|
|
3114
|
+
});
|
|
3115
|
+
}
|
|
3061
3116
|
async getPersonalityStats(requestId) {
|
|
3062
3117
|
return this.sendNamespacedCorrelatedSessionRequest({
|
|
3063
3118
|
requestId,
|
|
@@ -3131,6 +3186,26 @@ export class DaemonClient {
|
|
|
3131
3186
|
},
|
|
3132
3187
|
});
|
|
3133
3188
|
}
|
|
3189
|
+
/** Wipe all usage counters AND the itemized ledger back to zero (Metrics "Reset"). */
|
|
3190
|
+
async resetActivityStats(options) {
|
|
3191
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
3192
|
+
requestId: options?.requestId,
|
|
3193
|
+
message: {
|
|
3194
|
+
type: "stats.activity.reset.request",
|
|
3195
|
+
},
|
|
3196
|
+
});
|
|
3197
|
+
}
|
|
3198
|
+
/** Itemized usage ledger — the scrollable rows behind the stats tiles (usage-ledger). */
|
|
3199
|
+
async getUsageLog(options) {
|
|
3200
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
3201
|
+
requestId: options?.requestId,
|
|
3202
|
+
message: {
|
|
3203
|
+
type: "usage.log.get.request",
|
|
3204
|
+
...(options?.limit !== undefined ? { limit: options.limit } : {}),
|
|
3205
|
+
...(options?.before !== undefined ? { before: options.before } : {}),
|
|
3206
|
+
},
|
|
3207
|
+
});
|
|
3208
|
+
}
|
|
3134
3209
|
async getAgentContextUsage(agentId, options) {
|
|
3135
3210
|
return this.sendNamespacedCorrelatedSessionRequest({
|
|
3136
3211
|
requestId: options?.requestId,
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@otto-code/client",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"description": "Otto client SDK package",
|
|
5
|
+
"license": "AGPL-3.0-or-later",
|
|
5
6
|
"files": [
|
|
6
7
|
"dist",
|
|
7
8
|
"!dist/**/*.map",
|
|
@@ -35,8 +36,8 @@
|
|
|
35
36
|
"test": "vitest run"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
38
|
-
"@otto-code/protocol": "0.6.
|
|
39
|
-
"@otto-code/relay": "0.6.
|
|
39
|
+
"@otto-code/protocol": "0.6.4",
|
|
40
|
+
"@otto-code/relay": "0.6.4",
|
|
40
41
|
"zod": "^4.4.3"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|