@otto-code/client 0.7.0 → 0.7.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.
- package/dist/daemon-client.d.ts +40 -1
- package/dist/daemon-client.js +50 -0
- package/package.json +3 -3
package/dist/daemon-client.d.ts
CHANGED
|
@@ -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, CodeDefinitionLocation, CodeDefinitionStatus, CodeRenameApplyStatus, CodeRenameFileOutcome, CodeRenameUndoFile, CodeRenameUndoStatus, CodeHoverRange, CodeRenameEdit, CodeRenameFilePlan, LspLanguageState, LspRunningServer, CodeSolutionGetTreeResponse, CodeSolutionLoadProjectResponse, SolutionFormat, SolutionRef, SolutionTreeFolder, SolutionTreeProject, SolutionProjectNode, SolutionProjectStatus, SolutionPackageReference, FileCreateResult, FileDeleteResult, FileDownloadTokenResponse, FileEntryKind, FileEol, FileRenameResult, FileReplaceFileResult, FileReplaceRequest, FileReplaceResponse, FileSearchResultPayload, FileSearchSummary, FileUploadResponse, FileExplorerResponse, FileWatchEventPayload, FileWriteResult, FileRefineResult, FileRefineDocument, FileRefineReference, 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, ContextFindingsFixResponseMessage, PersonalityMemoryListResponseMessage, PersonalityMemoryUpdateResponseMessage, PersonalityMemoryTransferResponseMessage, PersonalityMemoryStatsResponseMessage, ProjectAddResponse, ProjectScaffoldGit, ProjectScaffoldProgress, ProjectScaffoldResponse, HostingListRepositoriesResponse, HostingListOwnersResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceArchivePreflightResponse, WorktreeBaseRefSetResponse, WorktreeReattachListResponse, WorktreeReattachResponse, WorktreeReattachTarget, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, StatsActivityResetResponseMessage, UsageLogGetResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, HistoryAgentsClearArchivedResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, AgentPromptDelivery, TasksSuggestedStartMode, OttoConfigRaw, OttoConfigRevision, WorkspaceCreateRequest } from "@otto-code/protocol/messages";
|
|
4
|
+
import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreateOttoWorktreeRequest, CodeListFilesResponse, CodeSymbolLocation, CodeDefinitionLocation, CodeDefinitionStatus, CodeRenameApplyStatus, CodeRenameFileOutcome, CodeRenameUndoFile, CodeRenameUndoStatus, CodeHoverRange, CodeRenameEdit, CodeRenameFilePlan, LspLanguageState, LspRunningServer, CodeSolutionGetTreeResponse, CodeSolutionLoadProjectResponse, SolutionFormat, SolutionRef, SolutionTreeFolder, SolutionTreeProject, SolutionProjectNode, SolutionProjectStatus, SolutionPackageReference, FileCreateResult, FileDeleteResult, FileDownloadTokenResponse, FileEntryKind, FileEol, FileRenameResult, FileReplaceFileResult, FileReplaceRequest, FileReplaceResponse, FileSearchResultPayload, FileSearchSummary, FileUploadResponse, FileExplorerResponse, FileWatchEventPayload, FileWriteResult, FileRefineResult, FileRefineDocument, FileRefineReference, 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, ContextCategory, ContextPromptPreviewGetResponseMessage, ContextReportGetResponseMessage, ContextEdgeConvertResponseMessage, ContextFindingsFixResponseMessage, PersonalityMemoryListResponseMessage, PersonalityMemoryUpdateResponseMessage, PersonalityMemoryTransferResponseMessage, PersonalityMemoryStatsResponseMessage, ProjectAddResponse, ProjectScaffoldGit, ProjectScaffoldProgress, ProjectScaffoldResponse, HostingListRepositoriesResponse, HostingListOwnersResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceArchivePreflightResponse, WorktreeBaseRefSetResponse, WorktreeReattachListResponse, WorktreeReattachResponse, WorktreeReattachTarget, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, StatsActivityResetResponseMessage, UsageLogGetResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, AttachmentsImagesClearResponse, AttachmentsImagesStatsResponse, HistoryAgentsClearArchivedResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, AgentPromptDelivery, 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 { OrchestrationGraph, PromptTemplate, Run } from "@otto-code/protocol/orchestration";
|
|
7
7
|
import type { CueMoment, MutableDaemonConfig, MutableDaemonConfigPatch, ProjectLink, SpeechSettingsOptions, SpeechTtsPreviewResult, SpeechTtsSpeakResult, SpeechTtsSpeakCancelResult, VisualizerVoiceCuesResult } from "@otto-code/protocol/messages";
|
|
@@ -17,6 +17,12 @@ export interface Logger {
|
|
|
17
17
|
}
|
|
18
18
|
interface ImportAgentInputBase {
|
|
19
19
|
cwd?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Workspace the import was requested from. Supply it whenever the caller has
|
|
22
|
+
* one, so the imported session lands in that workspace instead of the daemon
|
|
23
|
+
* resolving (or minting) another workspace for the same directory.
|
|
24
|
+
*/
|
|
25
|
+
workspaceId?: string;
|
|
20
26
|
labels?: Record<string, string>;
|
|
21
27
|
}
|
|
22
28
|
export type ImportAgentInput = (ImportAgentInputBase & {
|
|
@@ -947,6 +953,27 @@ export declare class DaemonClient {
|
|
|
947
953
|
olderThanDays?: number;
|
|
948
954
|
requestId?: string;
|
|
949
955
|
}): Promise<HistoryAgentsClearArchivedResponse["payload"]>;
|
|
956
|
+
/**
|
|
957
|
+
* How much disk the images agents produced occupy on this host, plus the
|
|
958
|
+
* retention policy currently ageing them out. Gated by
|
|
959
|
+
* `server_info.features.attachmentStorage`.
|
|
960
|
+
*/
|
|
961
|
+
getAttachmentImageStats(requestId?: string): Promise<AttachmentsImagesStatsResponse["payload"]>;
|
|
962
|
+
/**
|
|
963
|
+
* Reclaims the materialized image store. Call once with `dryRun: true` for
|
|
964
|
+
* the count and size the confirm dialog quotes, then again with
|
|
965
|
+
* `dryRun: false` to delete.
|
|
966
|
+
*
|
|
967
|
+
* Cleared images do not come back: a message that referenced one renders its
|
|
968
|
+
* alt text from then on. Scope is the whole host — filenames are a content
|
|
969
|
+
* hash, so per-chat or per-workspace scope does not exist. Gated by
|
|
970
|
+
* `server_info.features.attachmentStorage`.
|
|
971
|
+
*/
|
|
972
|
+
clearAttachmentImages(options: {
|
|
973
|
+
dryRun: boolean;
|
|
974
|
+
olderThanDays?: number;
|
|
975
|
+
requestId?: string;
|
|
976
|
+
}): Promise<AttachmentsImagesClearResponse["payload"]>;
|
|
950
977
|
archiveAgent(agentId: string): Promise<{
|
|
951
978
|
archivedAt: string;
|
|
952
979
|
}>;
|
|
@@ -1393,6 +1420,18 @@ export declare class DaemonClient {
|
|
|
1393
1420
|
windowTokens?: number;
|
|
1394
1421
|
personalityId?: string;
|
|
1395
1422
|
}, requestId?: string): Promise<ContextReportGetResponseMessage["payload"]>;
|
|
1423
|
+
/**
|
|
1424
|
+
* The assembled prompt, for reading. Takes the same what-if inputs as the
|
|
1425
|
+
* report so the text on screen always matches the numbers beside it.
|
|
1426
|
+
*/
|
|
1427
|
+
requestContextPromptPreview(input: {
|
|
1428
|
+
workspaceId: string;
|
|
1429
|
+
provider?: string;
|
|
1430
|
+
windowTokens?: number;
|
|
1431
|
+
personalityId?: string;
|
|
1432
|
+
/** Assemble only this section; omitted means the whole prompt. */
|
|
1433
|
+
category?: ContextCategory;
|
|
1434
|
+
}, requestId?: string): Promise<ContextPromptPreviewGetResponseMessage["payload"]>;
|
|
1396
1435
|
/**
|
|
1397
1436
|
* A personality's accrued lessons plus the EXACT brief the daemon would inject
|
|
1398
1437
|
* for `projectRoot`. The brief is returned rather than rebuilt client-side
|
package/dist/daemon-client.js
CHANGED
|
@@ -1341,6 +1341,37 @@ export class DaemonClient {
|
|
|
1341
1341
|
},
|
|
1342
1342
|
});
|
|
1343
1343
|
}
|
|
1344
|
+
/**
|
|
1345
|
+
* How much disk the images agents produced occupy on this host, plus the
|
|
1346
|
+
* retention policy currently ageing them out. Gated by
|
|
1347
|
+
* `server_info.features.attachmentStorage`.
|
|
1348
|
+
*/
|
|
1349
|
+
async getAttachmentImageStats(requestId) {
|
|
1350
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
1351
|
+
requestId,
|
|
1352
|
+
message: { type: "attachments.images.get_stats.request" },
|
|
1353
|
+
});
|
|
1354
|
+
}
|
|
1355
|
+
/**
|
|
1356
|
+
* Reclaims the materialized image store. Call once with `dryRun: true` for
|
|
1357
|
+
* the count and size the confirm dialog quotes, then again with
|
|
1358
|
+
* `dryRun: false` to delete.
|
|
1359
|
+
*
|
|
1360
|
+
* Cleared images do not come back: a message that referenced one renders its
|
|
1361
|
+
* alt text from then on. Scope is the whole host — filenames are a content
|
|
1362
|
+
* hash, so per-chat or per-workspace scope does not exist. Gated by
|
|
1363
|
+
* `server_info.features.attachmentStorage`.
|
|
1364
|
+
*/
|
|
1365
|
+
async clearAttachmentImages(options) {
|
|
1366
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
1367
|
+
requestId: options.requestId,
|
|
1368
|
+
message: {
|
|
1369
|
+
type: "attachments.images.clear.request",
|
|
1370
|
+
dryRun: options.dryRun,
|
|
1371
|
+
olderThanDays: options.olderThanDays ?? 0,
|
|
1372
|
+
},
|
|
1373
|
+
});
|
|
1374
|
+
}
|
|
1344
1375
|
async archiveAgent(agentId) {
|
|
1345
1376
|
const requestId = this.createRequestId();
|
|
1346
1377
|
const message = SessionInboundMessageSchema.parse({
|
|
@@ -1736,6 +1767,7 @@ export class DaemonClient {
|
|
|
1736
1767
|
? { providerId: input.providerId, providerHandleId: input.providerHandleId }
|
|
1737
1768
|
: { provider: input.provider, sessionId: input.sessionId }),
|
|
1738
1769
|
...(input.cwd ? { cwd: input.cwd } : {}),
|
|
1770
|
+
...(input.workspaceId ? { workspaceId: input.workspaceId } : {}),
|
|
1739
1771
|
...(input.labels && Object.keys(input.labels).length > 0 ? { labels: input.labels } : {}),
|
|
1740
1772
|
});
|
|
1741
1773
|
const status = await this.sendRequest({
|
|
@@ -3660,6 +3692,24 @@ export class DaemonClient {
|
|
|
3660
3692
|
responseType: "context.report.get.response",
|
|
3661
3693
|
});
|
|
3662
3694
|
}
|
|
3695
|
+
/**
|
|
3696
|
+
* The assembled prompt, for reading. Takes the same what-if inputs as the
|
|
3697
|
+
* report so the text on screen always matches the numbers beside it.
|
|
3698
|
+
*/
|
|
3699
|
+
async requestContextPromptPreview(input, requestId) {
|
|
3700
|
+
return this.sendCorrelatedSessionRequest({
|
|
3701
|
+
requestId,
|
|
3702
|
+
message: {
|
|
3703
|
+
type: "context.prompt.preview.get.request",
|
|
3704
|
+
workspaceId: input.workspaceId,
|
|
3705
|
+
...(input.provider ? { provider: input.provider } : {}),
|
|
3706
|
+
...(typeof input.windowTokens === "number" ? { windowTokens: input.windowTokens } : {}),
|
|
3707
|
+
...(input.personalityId ? { personalityId: input.personalityId } : {}),
|
|
3708
|
+
...(input.category ? { category: input.category } : {}),
|
|
3709
|
+
},
|
|
3710
|
+
responseType: "context.prompt.preview.get.response",
|
|
3711
|
+
});
|
|
3712
|
+
}
|
|
3663
3713
|
// ============================================================================
|
|
3664
3714
|
// Personality memory
|
|
3665
3715
|
// ============================================================================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@otto-code/client",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
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.7.
|
|
40
|
-
"@otto-code/relay": "0.7.
|
|
39
|
+
"@otto-code/protocol": "0.7.2",
|
|
40
|
+
"@otto-code/relay": "0.7.2",
|
|
41
41
|
"zod": "^4.4.3"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|