@hyperdrive.bot/fleet-client 0.3.185 → 0.3.187

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.
@@ -4,7 +4,7 @@ import { type AgentSnoozeState, AgentRefreshedStatusPayloadSchema, CheckoutRenam
4
4
  import type { SourceKind } from "@hyperdrive.bot/fleet-protocol/ingestion/types";
5
5
  import type { FilterDraft, FilterPatch } from "@hyperdrive.bot/fleet-protocol/ingestion/rpc-schemas";
6
6
  import type { ScheduleCadence } from "@hyperdrive.bot/fleet-protocol/schedule/types";
7
- import type { AgentStreamEventPayload, InstalledExtension, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreatePaseoWorktreeRequest, FileDownloadTokenResponse, 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, CaptureAgentPaneResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, PaseoConfigRaw, PaseoConfigRevision, ProjectRenameResponse, BackgroundTaskPayload, ReferenceEnrichment, SessionDigest, SessionDigestLink, WatchNotificationActionMessage, WatchSessionSearchMessage, WatchComposerDictateMessage, WorkflowAgentPreset, WorkflowSnapshot, WorkflowStatus, WorkflowTaskGraph, WorkspaceCreateRequest, PendingDecision } from "@hyperdrive.bot/fleet-protocol/messages";
7
+ import type { AgentStreamEventPayload, InstalledExtension, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreatePaseoWorktreeRequest, FileDownloadTokenResponse, 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, CaptureAgentPaneResponse, CaptureTerminalResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, PaseoConfigRaw, PaseoConfigRevision, ProjectRenameResponse, BackgroundTaskPayload, ReferenceEnrichment, SessionDigest, SessionDigestLink, WatchNotificationActionMessage, WatchSessionSearchMessage, WatchComposerDictateMessage, WorkflowAgentPreset, WorkflowSnapshot, WorkflowStatus, WorkflowTaskGraph, WorkspaceCreateRequest, PendingDecision, ExpiredDecisionRow } from "@hyperdrive.bot/fleet-protocol/messages";
8
8
  import type { AgentPermissionRequest, AgentPermissionResponse, AgentPersistenceHandle, AgentProviderNotice, AgentProvider, AgentSessionConfig } from "@hyperdrive.bot/fleet-protocol/agent-types";
9
9
  import type { MutableDaemonConfig, MutableDaemonConfigPatch, ProvidersReloadConfigPayload } from "@hyperdrive.bot/fleet-protocol/messages";
10
10
  import type { FileUploadErrorCode } from "@hyperdrive.bot/fleet-protocol/messages";
@@ -196,6 +196,13 @@ type CheckoutGithubGetCheckDetailsPayload = CheckoutGithubGetCheckDetailsRespons
196
196
  type CheckoutPrStatusPayload = CheckoutPrStatusResponse["payload"];
197
197
  type PullRequestTimelinePayload = PullRequestTimelineResponse["payload"];
198
198
  type CheckoutSwitchBranchPayload = CheckoutSwitchBranchResponse["payload"];
199
+ export interface AgentDecisionsExpireResult {
200
+ dryRun: boolean;
201
+ expired: ExpiredDecisionRow[];
202
+ agents: number;
203
+ archivedAgents: number;
204
+ written: number;
205
+ }
199
206
  export type RenameBranchResult = z.infer<typeof CheckoutRenameBranchResponseSchema>["payload"];
200
207
  type StashSavePayload = StashSaveResponse["payload"];
201
208
  type StashPopPayload = StashPopResponse["payload"];
@@ -1197,6 +1204,20 @@ export declare class DaemonClient {
1197
1204
  answerAgentDecision(agentId: string, decisionId: string, optionId: string | null, note: string | null, requestId?: string): Promise<{
1198
1205
  decision: PendingDecision | null;
1199
1206
  }>;
1207
+ /**
1208
+ * Expire decisions nobody answered, recorded as `answeredBy: "timeout"` with a
1209
+ * note. Unlike `answerAgentDecision` this never records the user as the
1210
+ * writer and never prompts the agent. Pass `agentId` + `decisionId` for one
1211
+ * decision (any age), or neither to sweep every stored agent past
1212
+ * `olderThanMs`. `dryRun` reports without writing.
1213
+ */
1214
+ expireAgentDecisions(input: {
1215
+ olderThanMs?: number | null;
1216
+ agentId?: string | null;
1217
+ decisionId?: string | null;
1218
+ dryRun?: boolean;
1219
+ note?: string | null;
1220
+ }, requestId?: string): Promise<AgentDecisionsExpireResult>;
1200
1221
  /**
1201
1222
  * Fold sessions into one that already exists: the winner keeps its transcript,
1202
1223
  * the sources are linked both ways and then archived.
@@ -2154,6 +2154,37 @@ export class DaemonClient {
2154
2154
  }
2155
2155
  return { decision: payload.decision };
2156
2156
  }
2157
+ /**
2158
+ * Expire decisions nobody answered, recorded as `answeredBy: "timeout"` with a
2159
+ * note. Unlike `answerAgentDecision` this never records the user as the
2160
+ * writer and never prompts the agent. Pass `agentId` + `decisionId` for one
2161
+ * decision (any age), or neither to sweep every stored agent past
2162
+ * `olderThanMs`. `dryRun` reports without writing.
2163
+ */
2164
+ async expireAgentDecisions(input, requestId) {
2165
+ const payload = await this.sendCorrelatedSessionRequest({
2166
+ requestId,
2167
+ message: {
2168
+ type: "agent.decisions.expire.request",
2169
+ olderThanMs: input.olderThanMs ?? null,
2170
+ agentId: input.agentId ?? null,
2171
+ decisionId: input.decisionId ?? null,
2172
+ dryRun: input.dryRun ?? false,
2173
+ note: input.note ?? null,
2174
+ },
2175
+ responseType: "agent.decisions.expire.response",
2176
+ });
2177
+ if (!payload.accepted) {
2178
+ throw new Error(payload.error ?? "expireAgentDecisions rejected");
2179
+ }
2180
+ return {
2181
+ dryRun: payload.dryRun,
2182
+ expired: payload.expired,
2183
+ agents: payload.agents,
2184
+ archivedAgents: payload.archivedAgents,
2185
+ written: payload.written,
2186
+ };
2187
+ }
2157
2188
  /**
2158
2189
  * Fold sessions into one that already exists: the winner keeps its transcript,
2159
2190
  * the sources are linked both ways and then archived.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperdrive.bot/fleet-client",
3
- "version": "0.3.185",
3
+ "version": "0.3.187",
4
4
  "description": "Paseo client SDK package",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
@@ -36,8 +36,8 @@
36
36
  "test": "vitest run"
37
37
  },
38
38
  "dependencies": {
39
- "@hyperdrive.bot/fleet-protocol": "0.3.185",
40
- "@hyperdrive.bot/fleet-relay": "0.3.185",
39
+ "@hyperdrive.bot/fleet-protocol": "0.3.187",
40
+ "@hyperdrive.bot/fleet-relay": "0.3.187",
41
41
  "zod": "^4.4.3"
42
42
  },
43
43
  "devDependencies": {