@otto-code/client 0.5.2 → 0.5.5
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 +31 -1
- package/dist/daemon-client.js +77 -0
- package/package.json +3 -3
package/dist/daemon-client.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
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, 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, StatsActivityGetResponseMessage, 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
|
+
import type { Run } from "@otto-code/protocol/orchestration";
|
|
6
7
|
import type { MutableDaemonConfig, MutableDaemonConfigPatch, SpeechSettingsOptions, SpeechTtsPreviewResult } from "@otto-code/protocol/messages";
|
|
7
8
|
import { type DaemonTransportFactory, type WebSocketFactory } from "./daemon-client-transport.js";
|
|
8
9
|
import { type TerminalStreamEvent } from "./terminal-stream-router.js";
|
|
@@ -775,6 +776,30 @@ export declare class DaemonClient {
|
|
|
775
776
|
* the provider's stopTask. See projects/observed-subagents/observed-subagents.md.
|
|
776
777
|
*/
|
|
777
778
|
stopObservedSubagent(agentId: string): Promise<void>;
|
|
779
|
+
/**
|
|
780
|
+
* Stop a running background shell task (Claude Bash tool run_in_background).
|
|
781
|
+
* Not an AI subagent — the daemon resolves it to its owning provider task and
|
|
782
|
+
* calls the provider's stopTask, same mechanism as stopObservedSubagent.
|
|
783
|
+
*/
|
|
784
|
+
stopBackgroundShellTask(parentAgentId: string, taskId: string): Promise<void>;
|
|
785
|
+
/**
|
|
786
|
+
* Clear one or more terminal background shell tasks from the Background
|
|
787
|
+
* Tasks track. Still-live tasks are stopped best-effort first.
|
|
788
|
+
*/
|
|
789
|
+
clearBackgroundShellTasks(parentAgentId: string, taskIds: readonly string[]): Promise<void>;
|
|
790
|
+
/** Orchestration: fetch the current snapshot of all runs on this host. */
|
|
791
|
+
getRunsSnapshot(): Promise<Run[]>;
|
|
792
|
+
/** Orchestration: approve or reject a run's attended gate. */
|
|
793
|
+
respondToRunGate(input: {
|
|
794
|
+
runId: string;
|
|
795
|
+
phaseId: string;
|
|
796
|
+
approved: boolean;
|
|
797
|
+
note?: string;
|
|
798
|
+
}): Promise<boolean>;
|
|
799
|
+
/** Orchestration: cancel a run. */
|
|
800
|
+
cancelRun(runId: string): Promise<boolean>;
|
|
801
|
+
/** Orchestration: delete every finished (done/failed/canceled) run. */
|
|
802
|
+
clearFinishedRuns(): Promise<string[]>;
|
|
778
803
|
updateAgent(agentId: string, updates: {
|
|
779
804
|
name?: string;
|
|
780
805
|
labels?: Record<string, string>;
|
|
@@ -1056,6 +1081,10 @@ export declare class DaemonClient {
|
|
|
1056
1081
|
listProviderUsage(options?: {
|
|
1057
1082
|
requestId?: string;
|
|
1058
1083
|
}): Promise<ProviderUsageListPayload>;
|
|
1084
|
+
/** Daemon-wide "fun stats" — see docs/data-model.md ActivityStatsStore. */
|
|
1085
|
+
getActivityStats(options?: {
|
|
1086
|
+
requestId?: string;
|
|
1087
|
+
}): Promise<StatsActivityGetResponseMessage["payload"]>;
|
|
1059
1088
|
getAgentContextUsage(agentId: string, options?: {
|
|
1060
1089
|
requestId?: string;
|
|
1061
1090
|
}): Promise<AgentContextGetUsagePayload>;
|
|
@@ -1133,6 +1162,7 @@ export declare class DaemonClient {
|
|
|
1133
1162
|
glowA: string;
|
|
1134
1163
|
glowB: string;
|
|
1135
1164
|
};
|
|
1165
|
+
personalityName?: string;
|
|
1136
1166
|
requestId?: string;
|
|
1137
1167
|
}): Promise<ArtifactCreatePayload>;
|
|
1138
1168
|
artifactUpdate(options: {
|
package/dist/daemon-client.js
CHANGED
|
@@ -1256,6 +1256,73 @@ export class DaemonClient {
|
|
|
1256
1256
|
throw new Error(payload.error ?? "stopObservedSubagent rejected");
|
|
1257
1257
|
}
|
|
1258
1258
|
}
|
|
1259
|
+
/**
|
|
1260
|
+
* Stop a running background shell task (Claude Bash tool run_in_background).
|
|
1261
|
+
* Not an AI subagent — the daemon resolves it to its owning provider task and
|
|
1262
|
+
* calls the provider's stopTask, same mechanism as stopObservedSubagent.
|
|
1263
|
+
*/
|
|
1264
|
+
async stopBackgroundShellTask(parentAgentId, taskId) {
|
|
1265
|
+
const payload = await this.sendNamespacedCorrelatedSessionRequest({
|
|
1266
|
+
message: {
|
|
1267
|
+
type: "agent.background_task.stop.request",
|
|
1268
|
+
parentAgentId,
|
|
1269
|
+
taskId,
|
|
1270
|
+
},
|
|
1271
|
+
});
|
|
1272
|
+
if (!payload.accepted) {
|
|
1273
|
+
throw new Error(payload.error ?? "stopBackgroundShellTask rejected");
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
/**
|
|
1277
|
+
* Clear one or more terminal background shell tasks from the Background
|
|
1278
|
+
* Tasks track. Still-live tasks are stopped best-effort first.
|
|
1279
|
+
*/
|
|
1280
|
+
async clearBackgroundShellTasks(parentAgentId, taskIds) {
|
|
1281
|
+
const payload = await this.sendNamespacedCorrelatedSessionRequest({
|
|
1282
|
+
message: {
|
|
1283
|
+
type: "agent.background_task.clear.request",
|
|
1284
|
+
parentAgentId,
|
|
1285
|
+
taskIds: [...taskIds],
|
|
1286
|
+
},
|
|
1287
|
+
});
|
|
1288
|
+
if (!payload.accepted) {
|
|
1289
|
+
throw new Error(payload.error ?? "clearBackgroundShellTasks rejected");
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
/** Orchestration: fetch the current snapshot of all runs on this host. */
|
|
1293
|
+
async getRunsSnapshot() {
|
|
1294
|
+
const payload = await this.sendNamespacedCorrelatedSessionRequest({
|
|
1295
|
+
message: { type: "runs.get_snapshot.request" },
|
|
1296
|
+
});
|
|
1297
|
+
return payload.runs;
|
|
1298
|
+
}
|
|
1299
|
+
/** Orchestration: approve or reject a run's attended gate. */
|
|
1300
|
+
async respondToRunGate(input) {
|
|
1301
|
+
const payload = await this.sendNamespacedCorrelatedSessionRequest({
|
|
1302
|
+
message: {
|
|
1303
|
+
type: "runs.gate_respond.request",
|
|
1304
|
+
runId: input.runId,
|
|
1305
|
+
phaseId: input.phaseId,
|
|
1306
|
+
approved: input.approved,
|
|
1307
|
+
...(input.note !== undefined ? { note: input.note } : {}),
|
|
1308
|
+
},
|
|
1309
|
+
});
|
|
1310
|
+
return payload.accepted;
|
|
1311
|
+
}
|
|
1312
|
+
/** Orchestration: cancel a run. */
|
|
1313
|
+
async cancelRun(runId) {
|
|
1314
|
+
const payload = await this.sendNamespacedCorrelatedSessionRequest({
|
|
1315
|
+
message: { type: "runs.cancel.request", runId },
|
|
1316
|
+
});
|
|
1317
|
+
return payload.canceled;
|
|
1318
|
+
}
|
|
1319
|
+
/** Orchestration: delete every finished (done/failed/canceled) run. */
|
|
1320
|
+
async clearFinishedRuns() {
|
|
1321
|
+
const payload = await this.sendNamespacedCorrelatedSessionRequest({
|
|
1322
|
+
message: { type: "runs.clear.request" },
|
|
1323
|
+
});
|
|
1324
|
+
return payload.runIds;
|
|
1325
|
+
}
|
|
1259
1326
|
async updateAgent(agentId, updates) {
|
|
1260
1327
|
const requestId = this.createRequestId();
|
|
1261
1328
|
const message = SessionInboundMessageSchema.parse({
|
|
@@ -2990,6 +3057,15 @@ export class DaemonClient {
|
|
|
2990
3057
|
},
|
|
2991
3058
|
});
|
|
2992
3059
|
}
|
|
3060
|
+
/** Daemon-wide "fun stats" — see docs/data-model.md ActivityStatsStore. */
|
|
3061
|
+
async getActivityStats(options) {
|
|
3062
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
3063
|
+
requestId: options?.requestId,
|
|
3064
|
+
message: {
|
|
3065
|
+
type: "stats.activity.get.request",
|
|
3066
|
+
},
|
|
3067
|
+
});
|
|
3068
|
+
}
|
|
2993
3069
|
async getAgentContextUsage(agentId, options) {
|
|
2994
3070
|
return this.sendNamespacedCorrelatedSessionRequest({
|
|
2995
3071
|
requestId: options?.requestId,
|
|
@@ -3528,6 +3604,7 @@ export class DaemonClient {
|
|
|
3528
3604
|
...(options.thinkingOptionId ? { thinkingOptionId: options.thinkingOptionId } : {}),
|
|
3529
3605
|
...(options.systemPrompt ? { systemPrompt: options.systemPrompt } : {}),
|
|
3530
3606
|
...(options.spinner ? { spinner: options.spinner } : {}),
|
|
3607
|
+
...(options.personalityName ? { personalityName: options.personalityName } : {}),
|
|
3531
3608
|
},
|
|
3532
3609
|
responseType: "artifact.create.response",
|
|
3533
3610
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@otto-code/client",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
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.
|
|
39
|
-
"@otto-code/relay": "0.5.
|
|
38
|
+
"@otto-code/protocol": "0.5.5",
|
|
39
|
+
"@otto-code/relay": "0.5.5",
|
|
40
40
|
"zod": "^4.4.3"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|