@getpaseo/client 0.1.106 → 0.1.108
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 +43 -1
- package/dist/daemon-client.js +104 -1
- 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 "@getpaseo/protocol/client-capabilities";
|
|
3
3
|
import { AgentRefreshedStatusPayloadSchema, CheckoutRenameBranchResponseSchema, RenameTerminalResponseSchema, RestartRequestedStatusPayloadSchema, ShutdownRequestedStatusPayloadSchema, DaemonUpdateResponseSchema, type ServerInfoStatusPayload } from "@getpaseo/protocol/messages";
|
|
4
|
-
import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreatePaseoWorktreeRequest, FileDownloadTokenResponse, FileUploadResponse, FileExplorerResponse, FetchAgentTimelineResponseMessage, AgentForkContextResponseMessage, GitSetupOptions, CheckoutStatusResponse, CheckoutCommitResponse, CheckoutMergeResponse, CheckoutMergeFromBaseResponse, CheckoutPullResponse, CheckoutPushResponse, CheckoutRefreshResponse, CheckoutPrCreateResponse, CheckoutPrMergeResponse, CheckoutPrMergeMethod, CheckoutGithubSetAutoMergeResponse, CheckoutGithubGetCheckDetailsResponse, CheckoutPrStatusResponse, PullRequestTimelineResponse, CheckoutSwitchBranchResponse, StashSaveResponse, StashPopResponse, StashListResponse, ValidateBranchResponse, BranchSuggestionsResponse, GitHubSearchResponse, GitHubSearchRequest, DirectorySuggestionsResponse, PaseoWorktreeListResponse, PaseoWorktreeArchiveResponse, ProjectIconResponse, ProjectAddResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, PaseoConfigRaw, PaseoConfigRevision, WorkspaceCreateRequest } from "@getpaseo/protocol/messages";
|
|
4
|
+
import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreatePaseoWorktreeRequest, FileDownloadTokenResponse, FileUploadResponse, FileExplorerResponse, FetchAgentTimelineResponseMessage, AgentForkContextResponseMessage, GitSetupOptions, CheckoutStatusResponse, CheckoutCommitResponse, CheckoutMergeResponse, CheckoutMergeFromBaseResponse, CheckoutPullResponse, CheckoutPushResponse, CheckoutRefreshResponse, CheckoutPrCreateResponse, CheckoutPrMergeResponse, CheckoutPrMergeMethod, CheckoutGithubSetAutoMergeResponse, CheckoutGithubGetCheckDetailsResponse, CheckoutPrStatusResponse, PullRequestTimelineResponse, CheckoutSwitchBranchResponse, StashSaveResponse, StashPopResponse, StashListResponse, ValidateBranchResponse, BranchSuggestionsResponse, GitHubSearchResponse, GitHubSearchRequest, DirectorySuggestionsResponse, PaseoWorktreeListResponse, PaseoWorktreeArchiveResponse, ProjectIconResponse, ProjectAddResponse, ProjectCreateDirectoryResponse, OpenProjectResponseMessage, WorkspaceGithubSearchRepositoriesResponse, ProjectGithubCloneProtocol, ProjectGithubCloneResponse, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, PaseoConfigRaw, PaseoConfigRevision, WorkspaceCreateRequest } from "@getpaseo/protocol/messages";
|
|
5
5
|
import type { AgentPermissionRequest, AgentPermissionResponse, AgentPersistenceHandle, AgentProviderNotice, AgentProvider, AgentSessionConfig } from "@getpaseo/protocol/agent-types";
|
|
6
6
|
import type { MutableDaemonConfig, MutableDaemonConfigPatch } from "@getpaseo/protocol/messages";
|
|
7
7
|
import { type DaemonTransportFactory, type WebSocketFactory } from "./daemon-client-transport.js";
|
|
@@ -327,7 +327,21 @@ export interface FetchAgentTimelineOptions {
|
|
|
327
327
|
requestId?: string;
|
|
328
328
|
timeout?: number;
|
|
329
329
|
}
|
|
330
|
+
export type ProviderSubagentListPayload = Extract<SessionOutboundMessage, {
|
|
331
|
+
type: "agent.provider_subagents.list.response";
|
|
332
|
+
}>["payload"];
|
|
333
|
+
export type ProviderSubagentTimelinePayload = Extract<SessionOutboundMessage, {
|
|
334
|
+
type: "agent.provider_subagents.timeline.get.response";
|
|
335
|
+
}>["payload"];
|
|
336
|
+
export interface FetchProviderSubagentTimelineOptions {
|
|
337
|
+
direction?: ProviderSubagentTimelinePayload["direction"];
|
|
338
|
+
cursor?: FetchAgentTimelineCursor;
|
|
339
|
+
limit?: number;
|
|
340
|
+
requestId?: string;
|
|
341
|
+
timeout?: number;
|
|
342
|
+
}
|
|
330
343
|
export interface AgentForkContextOptions {
|
|
344
|
+
boundaryCursor?: FetchAgentTimelineCursor;
|
|
331
345
|
boundaryMessageId?: string;
|
|
332
346
|
requestId?: string;
|
|
333
347
|
}
|
|
@@ -539,6 +553,9 @@ export interface RenameTerminalInput {
|
|
|
539
553
|
}
|
|
540
554
|
type OpenProjectPayload = OpenProjectResponseMessage["payload"];
|
|
541
555
|
type ProjectAddPayload = ProjectAddResponse["payload"];
|
|
556
|
+
export type ProjectCreateDirectoryPayload = ProjectCreateDirectoryResponse["payload"];
|
|
557
|
+
export type WorkspaceGithubSearchRepositoriesPayload = WorkspaceGithubSearchRepositoriesResponse["payload"];
|
|
558
|
+
type ProjectGithubClonePayload = ProjectGithubCloneResponse["payload"];
|
|
542
559
|
type ArchiveWorkspacePayload = ArchiveWorkspaceResponseMessage["payload"];
|
|
543
560
|
type WorkspaceSetupStatusPayload = WorkspaceSetupStatusResponseMessage["payload"];
|
|
544
561
|
export interface FetchAgentResult {
|
|
@@ -671,6 +688,19 @@ export declare class DaemonClient {
|
|
|
671
688
|
fetchWorkspaces(options?: FetchWorkspacesOptions): Promise<FetchWorkspacesPayload>;
|
|
672
689
|
openProject(cwd: string, requestId?: string): Promise<OpenProjectPayload>;
|
|
673
690
|
addProject(cwd: string, requestId?: string): Promise<ProjectAddPayload>;
|
|
691
|
+
createProjectDirectory(input: {
|
|
692
|
+
parentPath: string;
|
|
693
|
+
name: string;
|
|
694
|
+
}, requestId?: string): Promise<ProjectCreateDirectoryPayload>;
|
|
695
|
+
searchGithubRepositories(input: {
|
|
696
|
+
query: string;
|
|
697
|
+
limit?: number;
|
|
698
|
+
}, requestId?: string): Promise<WorkspaceGithubSearchRepositoriesPayload>;
|
|
699
|
+
cloneGithubProject(input: {
|
|
700
|
+
repo: string;
|
|
701
|
+
targetDirectory: string;
|
|
702
|
+
cloneProtocol?: ProjectGithubCloneProtocol;
|
|
703
|
+
}, requestId?: string): Promise<ProjectGithubClonePayload>;
|
|
674
704
|
startWorkspaceScript(workspaceId: string, scriptName: string, requestId?: string): Promise<Extract<SessionOutboundMessage, {
|
|
675
705
|
type: "start_workspace_script_response";
|
|
676
706
|
}>["payload"]>;
|
|
@@ -700,10 +730,18 @@ export declare class DaemonClient {
|
|
|
700
730
|
setWorkspaceTitle(workspaceId: string, title: string | null, requestId?: string): Promise<{
|
|
701
731
|
title: string | null;
|
|
702
732
|
}>;
|
|
733
|
+
setWorkspacePinned(workspaceId: string, pinned: boolean, requestId?: string): Promise<{
|
|
734
|
+
pinnedAt: string | null;
|
|
735
|
+
}>;
|
|
703
736
|
resumeAgent(handle: AgentPersistenceHandle, overrides?: Partial<AgentSessionConfig>): Promise<AgentSnapshotPayload>;
|
|
704
737
|
importAgent(input: ImportAgentInput): Promise<AgentSnapshotPayload>;
|
|
705
738
|
refreshAgent(agentId: string, requestId?: string): Promise<AgentRefreshedStatusPayload>;
|
|
706
739
|
fetchAgentTimeline(agentId: string, options?: FetchAgentTimelineOptions): Promise<FetchAgentTimelinePayload>;
|
|
740
|
+
listProviderSubagents(parentAgentId: string, options?: {
|
|
741
|
+
requestId?: string;
|
|
742
|
+
timeout?: number;
|
|
743
|
+
}): Promise<ProviderSubagentListPayload>;
|
|
744
|
+
fetchProviderSubagentTimeline(parentAgentId: string, subagentId: string, options?: FetchProviderSubagentTimelineOptions): Promise<ProviderSubagentTimelinePayload>;
|
|
707
745
|
buildAgentForkContext(agentId: string, options?: AgentForkContextOptions): Promise<AgentForkContextPayload>;
|
|
708
746
|
sendAgentMessage(agentId: string, text: string, options?: SendMessageOptions): Promise<void>;
|
|
709
747
|
sendMessage(agentId: string, text: string, options?: SendMessageOptions): Promise<void>;
|
|
@@ -910,6 +948,10 @@ export declare class DaemonClient {
|
|
|
910
948
|
command?: string;
|
|
911
949
|
args?: string[];
|
|
912
950
|
workspaceId?: string;
|
|
951
|
+
size?: {
|
|
952
|
+
rows: number;
|
|
953
|
+
cols: number;
|
|
954
|
+
};
|
|
913
955
|
}): Promise<CreateTerminalPayload>;
|
|
914
956
|
renameTerminal(input: RenameTerminalInput): Promise<RenameTerminalResult>;
|
|
915
957
|
subscribeTerminal(terminalId: string, optionsOrRequestId?: {
|
package/dist/daemon-client.js
CHANGED
|
@@ -17,6 +17,7 @@ const consoleLogger = {
|
|
|
17
17
|
const perfNow = typeof performance !== "undefined" && typeof performance.now === "function"
|
|
18
18
|
? () => performance.now()
|
|
19
19
|
: () => Date.now();
|
|
20
|
+
const PROJECT_GITHUB_CLONE_TIMEOUT_MS = 5 * 60 * 1000;
|
|
20
21
|
function normalizePassword(value) {
|
|
21
22
|
if (typeof value !== "string") {
|
|
22
23
|
return null;
|
|
@@ -1020,6 +1021,39 @@ export class DaemonClient {
|
|
|
1020
1021
|
responseType: "project.add.response",
|
|
1021
1022
|
});
|
|
1022
1023
|
}
|
|
1024
|
+
async createProjectDirectory(input, requestId) {
|
|
1025
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
1026
|
+
requestId,
|
|
1027
|
+
message: {
|
|
1028
|
+
type: "project.create_directory.request",
|
|
1029
|
+
parentPath: input.parentPath,
|
|
1030
|
+
name: input.name,
|
|
1031
|
+
},
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
1034
|
+
async searchGithubRepositories(input, requestId) {
|
|
1035
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
1036
|
+
requestId,
|
|
1037
|
+
message: {
|
|
1038
|
+
type: "workspace.github.search_repositories.request",
|
|
1039
|
+
query: input.query,
|
|
1040
|
+
limit: input.limit,
|
|
1041
|
+
},
|
|
1042
|
+
});
|
|
1043
|
+
}
|
|
1044
|
+
async cloneGithubProject(input, requestId) {
|
|
1045
|
+
const message = {
|
|
1046
|
+
type: "project.github.clone.request",
|
|
1047
|
+
repo: input.repo,
|
|
1048
|
+
targetDirectory: input.targetDirectory,
|
|
1049
|
+
...(input.cloneProtocol ? { cloneProtocol: input.cloneProtocol } : {}),
|
|
1050
|
+
};
|
|
1051
|
+
return this.sendNamespacedCorrelatedSessionRequest({
|
|
1052
|
+
requestId,
|
|
1053
|
+
message,
|
|
1054
|
+
timeout: PROJECT_GITHUB_CLONE_TIMEOUT_MS,
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1023
1057
|
async startWorkspaceScript(workspaceId, scriptName, requestId) {
|
|
1024
1058
|
return this.sendCorrelatedSessionRequest({
|
|
1025
1059
|
requestId,
|
|
@@ -1290,6 +1324,21 @@ export class DaemonClient {
|
|
|
1290
1324
|
}
|
|
1291
1325
|
return { title: payload.title };
|
|
1292
1326
|
}
|
|
1327
|
+
async setWorkspacePinned(workspaceId, pinned, requestId) {
|
|
1328
|
+
const payload = await this.sendCorrelatedSessionRequest({
|
|
1329
|
+
requestId,
|
|
1330
|
+
message: {
|
|
1331
|
+
type: "workspace.pin.set.request",
|
|
1332
|
+
workspaceId,
|
|
1333
|
+
pinned,
|
|
1334
|
+
},
|
|
1335
|
+
responseType: "workspace.pin.set.response",
|
|
1336
|
+
});
|
|
1337
|
+
if (!payload.accepted) {
|
|
1338
|
+
throw new Error(payload.error ?? "setWorkspacePinned rejected");
|
|
1339
|
+
}
|
|
1340
|
+
return { pinnedAt: payload.pinnedAt };
|
|
1341
|
+
}
|
|
1293
1342
|
async resumeAgent(handle, overrides) {
|
|
1294
1343
|
const requestId = this.createRequestId();
|
|
1295
1344
|
const message = SessionInboundMessageSchema.parse({
|
|
@@ -1404,12 +1453,61 @@ export class DaemonClient {
|
|
|
1404
1453
|
}
|
|
1405
1454
|
return payload;
|
|
1406
1455
|
}
|
|
1456
|
+
async listProviderSubagents(parentAgentId, options = {}) {
|
|
1457
|
+
const requestId = this.createRequestId(options.requestId);
|
|
1458
|
+
const message = SessionInboundMessageSchema.parse({
|
|
1459
|
+
type: "agent.provider_subagents.list.request",
|
|
1460
|
+
parentAgentId,
|
|
1461
|
+
requestId,
|
|
1462
|
+
});
|
|
1463
|
+
const payload = await this.sendRequest({
|
|
1464
|
+
requestId,
|
|
1465
|
+
message,
|
|
1466
|
+
timeout: options.timeout,
|
|
1467
|
+
options: { skipQueue: true },
|
|
1468
|
+
select: (response) => response.type === "agent.provider_subagents.list.response" &&
|
|
1469
|
+
response.payload.requestId === requestId
|
|
1470
|
+
? response.payload
|
|
1471
|
+
: null,
|
|
1472
|
+
});
|
|
1473
|
+
if (payload.error) {
|
|
1474
|
+
throw new Error(payload.error);
|
|
1475
|
+
}
|
|
1476
|
+
return payload;
|
|
1477
|
+
}
|
|
1478
|
+
async fetchProviderSubagentTimeline(parentAgentId, subagentId, options = {}) {
|
|
1479
|
+
const requestId = this.createRequestId(options.requestId);
|
|
1480
|
+
const message = SessionInboundMessageSchema.parse({
|
|
1481
|
+
type: "agent.provider_subagents.timeline.get.request",
|
|
1482
|
+
parentAgentId,
|
|
1483
|
+
subagentId,
|
|
1484
|
+
requestId,
|
|
1485
|
+
...(options.direction ? { direction: options.direction } : {}),
|
|
1486
|
+
...(options.cursor ? { cursor: options.cursor } : {}),
|
|
1487
|
+
...(typeof options.limit === "number" ? { limit: options.limit } : {}),
|
|
1488
|
+
});
|
|
1489
|
+
const payload = await this.sendRequest({
|
|
1490
|
+
requestId,
|
|
1491
|
+
message,
|
|
1492
|
+
timeout: options.timeout,
|
|
1493
|
+
options: { skipQueue: true },
|
|
1494
|
+
select: (response) => response.type === "agent.provider_subagents.timeline.get.response" &&
|
|
1495
|
+
response.payload.requestId === requestId
|
|
1496
|
+
? response.payload
|
|
1497
|
+
: null,
|
|
1498
|
+
});
|
|
1499
|
+
if (payload.error) {
|
|
1500
|
+
throw new Error(payload.error);
|
|
1501
|
+
}
|
|
1502
|
+
return payload;
|
|
1503
|
+
}
|
|
1407
1504
|
async buildAgentForkContext(agentId, options = {}) {
|
|
1408
1505
|
const resolvedRequestId = this.createRequestId(options.requestId);
|
|
1409
1506
|
const message = SessionInboundMessageSchema.parse({
|
|
1410
1507
|
type: "agent.fork_context.request",
|
|
1411
1508
|
agentId,
|
|
1412
1509
|
requestId: resolvedRequestId,
|
|
1510
|
+
...(options.boundaryCursor ? { boundaryCursor: options.boundaryCursor } : {}),
|
|
1413
1511
|
...(options.boundaryMessageId ? { boundaryMessageId: options.boundaryMessageId } : {}),
|
|
1414
1512
|
});
|
|
1415
1513
|
const payload = await this.sendRequest({
|
|
@@ -1503,7 +1601,7 @@ export class DaemonClient {
|
|
|
1503
1601
|
agentId,
|
|
1504
1602
|
requestId,
|
|
1505
1603
|
});
|
|
1506
|
-
await this.sendRequest({
|
|
1604
|
+
const payload = await this.sendRequest({
|
|
1507
1605
|
requestId,
|
|
1508
1606
|
message,
|
|
1509
1607
|
options: { skipQueue: true },
|
|
@@ -1517,6 +1615,9 @@ export class DaemonClient {
|
|
|
1517
1615
|
return msg.payload;
|
|
1518
1616
|
},
|
|
1519
1617
|
});
|
|
1618
|
+
if (payload.error) {
|
|
1619
|
+
throw new Error(payload.error);
|
|
1620
|
+
}
|
|
1520
1621
|
}
|
|
1521
1622
|
async setAgentMode(agentId, modeId) {
|
|
1522
1623
|
const requestId = this.createRequestId();
|
|
@@ -2828,6 +2929,7 @@ export class DaemonClient {
|
|
|
2828
2929
|
command: options?.command,
|
|
2829
2930
|
args: options?.args,
|
|
2830
2931
|
...(options?.workspaceId !== undefined ? { workspaceId: options.workspaceId } : {}),
|
|
2932
|
+
...(options?.size !== undefined ? { size: options.size } : {}),
|
|
2831
2933
|
requestId: resolvedRequestId,
|
|
2832
2934
|
});
|
|
2833
2935
|
return this.sendCorrelatedRequest({
|
|
@@ -3235,6 +3337,7 @@ export class DaemonClient {
|
|
|
3235
3337
|
[CLIENT_CAPS.customModeIcons]: true,
|
|
3236
3338
|
[CLIENT_CAPS.reasoningMergeEnum]: true,
|
|
3237
3339
|
[CLIENT_CAPS.terminalReflowableSnapshot]: true,
|
|
3340
|
+
[CLIENT_CAPS.providerSubagents]: true,
|
|
3238
3341
|
...this.config.capabilities,
|
|
3239
3342
|
},
|
|
3240
3343
|
...(this.config.appVersion ? { appVersion: this.config.appVersion } : {}),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.108",
|
|
4
4
|
"description": "Paseo client SDK package",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"test": "vitest run"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@getpaseo/protocol": "0.1.
|
|
39
|
-
"@getpaseo/relay": "0.1.
|
|
38
|
+
"@getpaseo/protocol": "0.1.108",
|
|
39
|
+
"@getpaseo/relay": "0.1.108",
|
|
40
40
|
"zod": "^4.4.3"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|