@getpaseo/client 0.1.97 → 0.1.98

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 { AgentRefreshedStatusPayloadSchema, CheckoutRenameBranchResponseSchema, RenameTerminalResponseSchema, RestartRequestedStatusPayloadSchema, ShutdownRequestedStatusPayloadSchema, type ServerInfoStatusPayload } from "@getpaseo/protocol/messages";
3
- import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreatePaseoWorktreeRequest, FileDownloadTokenResponse, FileUploadResponse, FileExplorerResponse, FetchAgentTimelineResponseMessage, 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, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, PaseoConfigRaw, PaseoConfigRevision, WorkspaceCreateRequest } from "@getpaseo/protocol/messages";
4
- import type { AgentPermissionRequest, AgentPermissionResponse, AgentPersistenceHandle, AgentProvider, AgentSessionConfig } from "@getpaseo/protocol/agent-types";
3
+ import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreatePaseoWorktreeRequest, FileDownloadTokenResponse, FileUploadResponse, FileExplorerResponse, FetchAgentTimelineResponseMessage, 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, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, PaseoConfigRaw, PaseoConfigRevision, WorkspaceCreateRequest } from "@getpaseo/protocol/messages";
4
+ import type { AgentPermissionRequest, AgentPermissionResponse, AgentPersistenceHandle, AgentProviderNotice, AgentProvider, AgentSessionConfig } from "@getpaseo/protocol/agent-types";
5
5
  import type { MutableDaemonConfig, MutableDaemonConfigPatch } from "@getpaseo/protocol/messages";
6
6
  import { type DaemonTransportFactory, type WebSocketFactory } from "./daemon-client-transport.js";
7
7
  import { type TerminalStreamEvent } from "./terminal-stream-router.js";
@@ -205,6 +205,7 @@ type ListAvailableProvidersPayload = ListAvailableProvidersResponse["payload"];
205
205
  type GetProvidersSnapshotPayload = GetProvidersSnapshotResponseMessage["payload"];
206
206
  type RefreshProvidersSnapshotPayload = RefreshProvidersSnapshotResponseMessage["payload"];
207
207
  type ProviderDiagnosticPayload = ProviderDiagnosticResponseMessage["payload"];
208
+ type ProviderUsageListPayload = ProviderUsageListResponseMessage["payload"];
208
209
  type DaemonStatusPayload = DaemonGetStatusResponse["payload"];
209
210
  type DaemonPairingOfferPayload = DaemonGetPairingOfferResponse["payload"];
210
211
  type ReadProjectConfigPayload = Extract<SessionOutboundMessage, {
@@ -497,6 +498,7 @@ export interface RenameTerminalInput {
497
498
  requestId?: string;
498
499
  }
499
500
  type OpenProjectPayload = OpenProjectResponseMessage["payload"];
501
+ type ProjectAddPayload = ProjectAddResponse["payload"];
500
502
  type ArchiveWorkspacePayload = ArchiveWorkspaceResponseMessage["payload"];
501
503
  type WorkspaceSetupStatusPayload = WorkspaceSetupStatusResponseMessage["payload"];
502
504
  export interface FetchAgentResult {
@@ -628,6 +630,7 @@ export declare class DaemonClient {
628
630
  fetchRecentProviderSessions(options?: FetchRecentProviderSessionsOptions): Promise<FetchRecentProviderSessionsPayload>;
629
631
  fetchWorkspaces(options?: FetchWorkspacesOptions): Promise<FetchWorkspacesPayload>;
630
632
  openProject(cwd: string, requestId?: string): Promise<OpenProjectPayload>;
633
+ addProject(cwd: string, requestId?: string): Promise<ProjectAddPayload>;
631
634
  startWorkspaceScript(workspaceId: string, scriptName: string, requestId?: string): Promise<Extract<SessionOutboundMessage, {
632
635
  type: "start_workspace_script_response";
633
636
  }>["payload"]>;
@@ -641,6 +644,7 @@ export declare class DaemonClient {
641
644
  archiveAgent(agentId: string): Promise<{
642
645
  archivedAt: string;
643
646
  }>;
647
+ detachAgent(agentId: string): Promise<void>;
644
648
  updateAgent(agentId: string, updates: {
645
649
  name?: string;
646
650
  labels?: Record<string, string>;
@@ -662,10 +666,10 @@ export declare class DaemonClient {
662
666
  sendMessage(agentId: string, text: string, options?: SendMessageOptions): Promise<void>;
663
667
  rewindAgent(agentId: string, messageId: string, mode: "conversation" | "files" | "both"): Promise<AgentRewindResponseMessage["payload"]>;
664
668
  cancelAgent(agentId: string): Promise<void>;
665
- setAgentMode(agentId: string, modeId: string): Promise<void>;
669
+ setAgentMode(agentId: string, modeId: string): Promise<AgentProviderNotice | null>;
666
670
  setAgentModel(agentId: string, modelId: string | null): Promise<void>;
667
671
  setAgentFeature(agentId: string, featureId: string, value: unknown): Promise<void>;
668
- setAgentThinkingOption(agentId: string, thinkingOptionId: string | null): Promise<void>;
672
+ setAgentThinkingOption(agentId: string, thinkingOptionId: string | null): Promise<AgentProviderNotice | null>;
669
673
  restartServer(reason?: string, requestId?: string): Promise<RestartRequestedStatusPayload>;
670
674
  shutdownServer(requestId?: string): Promise<ShutdownRequestedStatusPayload>;
671
675
  setVoiceMode(enabled: boolean, agentId?: string): Promise<SetVoiceModePayload>;
@@ -834,6 +838,9 @@ export declare class DaemonClient {
834
838
  getProviderDiagnostic(provider: AgentProvider, options?: {
835
839
  requestId?: string;
836
840
  }): Promise<ProviderDiagnosticPayload>;
841
+ listProviderUsage(options?: {
842
+ requestId?: string;
843
+ }): Promise<ProviderUsageListPayload>;
837
844
  listCommands(agentId: string, requestId?: string): Promise<ListCommandsPayload>;
838
845
  listCommands(agentId: string, options?: ListCommandsOptions): Promise<ListCommandsPayload>;
839
846
  respondToPermission(agentId: string, requestId: string, response: AgentPermissionResponse): Promise<void>;
@@ -992,6 +992,17 @@ export class DaemonClient {
992
992
  timeout: 10000,
993
993
  });
994
994
  }
995
+ async addProject(cwd, requestId) {
996
+ return this.sendCorrelatedSessionRequest({
997
+ requestId,
998
+ message: {
999
+ type: "project.add.request",
1000
+ cwd,
1001
+ },
1002
+ responseType: "project.add.response",
1003
+ timeout: 10000,
1004
+ });
1005
+ }
995
1006
  async startWorkspaceScript(workspaceId, scriptName, requestId) {
996
1007
  return this.sendCorrelatedSessionRequest({
997
1008
  requestId,
@@ -1184,6 +1195,18 @@ export class DaemonClient {
1184
1195
  });
1185
1196
  return { archivedAt: result.archivedAt };
1186
1197
  }
1198
+ async detachAgent(agentId) {
1199
+ const payload = await this.sendNamespacedCorrelatedSessionRequest({
1200
+ message: {
1201
+ type: "agent.detach.request",
1202
+ agentId,
1203
+ },
1204
+ timeout: 10000,
1205
+ });
1206
+ if (!payload.accepted) {
1207
+ throw new Error(payload.error ?? "detachAgent rejected");
1208
+ }
1209
+ }
1187
1210
  async updateAgent(agentId, updates) {
1188
1211
  const requestId = this.createRequestId();
1189
1212
  const message = SessionInboundMessageSchema.parse({
@@ -1492,6 +1515,7 @@ export class DaemonClient {
1492
1515
  if (!payload.accepted) {
1493
1516
  throw new Error(payload.error ?? "setAgentMode rejected");
1494
1517
  }
1518
+ return payload.notice ?? null;
1495
1519
  }
1496
1520
  async setAgentModel(agentId, modelId) {
1497
1521
  const requestId = this.createRequestId();
@@ -1574,6 +1598,7 @@ export class DaemonClient {
1574
1598
  if (!payload.accepted) {
1575
1599
  throw new Error(payload.error ?? "setAgentThinkingOption rejected");
1576
1600
  }
1601
+ return payload.notice ?? null;
1577
1602
  }
1578
1603
  async restartServer(reason, requestId) {
1579
1604
  const resolvedRequestId = this.createRequestId(requestId);
@@ -2553,6 +2578,15 @@ export class DaemonClient {
2553
2578
  timeout: 30000,
2554
2579
  });
2555
2580
  }
2581
+ async listProviderUsage(options) {
2582
+ return this.sendNamespacedCorrelatedSessionRequest({
2583
+ requestId: options?.requestId,
2584
+ message: {
2585
+ type: "provider.usage.list.request",
2586
+ },
2587
+ timeout: 30000,
2588
+ });
2589
+ }
2556
2590
  async listCommands(agentId, requestIdOrOptions) {
2557
2591
  const requestId = typeof requestIdOrOptions === "string" ? requestIdOrOptions : requestIdOrOptions?.requestId;
2558
2592
  const draftConfig = typeof requestIdOrOptions === "string" ? undefined : requestIdOrOptions?.draftConfig;
package/dist/index.d.ts CHANGED
@@ -182,6 +182,7 @@ export interface PaseoAgentHandle {
182
182
  archive(): Promise<{
183
183
  archivedAt: string;
184
184
  }>;
185
+ detach(): Promise<void>;
185
186
  subscribe(handler: (update: PaseoAgentUpdate) => void): () => void;
186
187
  }
187
188
  export interface PaseoAgentActions {
package/dist/index.js CHANGED
@@ -129,6 +129,9 @@ function createAgentHandleFactory(daemonClient) {
129
129
  }
130
130
  return result;
131
131
  },
132
+ detach: async () => {
133
+ await daemonClient.detachAgent(id);
134
+ },
132
135
  subscribe: (handler) => daemonClient.on("agent_update", (message) => {
133
136
  const update = message.payload;
134
137
  if (update.kind === "upsert" && update.agent.id === id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpaseo/client",
3
- "version": "0.1.97",
3
+ "version": "0.1.98",
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.97",
39
- "@getpaseo/relay": "0.1.97",
38
+ "@getpaseo/protocol": "0.1.98",
39
+ "@getpaseo/relay": "0.1.98",
40
40
  "zod": "^4.4.3"
41
41
  },
42
42
  "devDependencies": {