@getpaseo/server 0.1.98 → 0.1.100

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.
Files changed (59) hide show
  1. package/dist/server/server/agent/agent-manager.js +2 -2
  2. package/dist/server/server/agent/agent-sdk-types.d.ts +11 -6
  3. package/dist/server/server/agent/provider-registry.d.ts +6 -3
  4. package/dist/server/server/agent/provider-registry.js +49 -22
  5. package/dist/server/server/agent/provider-snapshot-manager.js +26 -14
  6. package/dist/server/server/agent/providers/acp-agent.d.ts +23 -3
  7. package/dist/server/server/agent/providers/acp-agent.js +139 -9
  8. package/dist/server/server/agent/providers/claude/agent.d.ts +2 -2
  9. package/dist/server/server/agent/providers/claude/agent.js +41 -77
  10. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +3 -2
  11. package/dist/server/server/agent/providers/codex-app-server-agent.js +6 -25
  12. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +2 -1
  13. package/dist/server/server/agent/providers/copilot-acp-agent.js +11 -31
  14. package/dist/server/server/agent/providers/generic-acp-agent.d.ts +0 -1
  15. package/dist/server/server/agent/providers/generic-acp-agent.js +2 -108
  16. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +2 -3
  17. package/dist/server/server/agent/providers/mock-load-test-agent.js +5 -5
  18. package/dist/server/server/agent/providers/mock-slow-provider.d.ts +2 -3
  19. package/dist/server/server/agent/providers/mock-slow-provider.js +2 -5
  20. package/dist/server/server/agent/providers/opencode/server-manager.d.ts +14 -11
  21. package/dist/server/server/agent/providers/opencode/server-manager.js +149 -91
  22. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +6 -5
  23. package/dist/server/server/agent/providers/opencode/test-server-manager.js +13 -3
  24. package/dist/server/server/agent/providers/opencode/test-utils/{test-opencode-runtime.d.ts → test-opencode-harness.d.ts} +11 -11
  25. package/dist/server/server/agent/providers/opencode/test-utils/{test-opencode-runtime.js → test-opencode-harness.js} +23 -10
  26. package/dist/server/server/agent/providers/opencode-agent.d.ts +13 -6
  27. package/dist/server/server/agent/providers/opencode-agent.js +74 -137
  28. package/dist/server/server/agent/providers/pi/agent.d.ts +4 -4
  29. package/dist/server/server/agent/providers/pi/agent.js +13 -76
  30. package/dist/server/server/agent/providers/pi/cli-runtime.d.ts +3 -0
  31. package/dist/server/server/agent/providers/pi/cli-runtime.js +8 -5
  32. package/dist/server/server/agent/providers/pi/rpc-types.d.ts +2 -1
  33. package/dist/server/server/agent/providers/pi/runtime.d.ts +1 -1
  34. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts +1 -1
  35. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js +1 -1
  36. package/dist/server/server/session/agent-config/agent-config-session.d.ts +50 -0
  37. package/dist/server/server/session/agent-config/agent-config-session.js +98 -0
  38. package/dist/server/server/session/chat/chat-schedule-loop-session.d.ts +120 -0
  39. package/dist/server/server/session/chat/chat-schedule-loop-session.js +489 -0
  40. package/dist/server/server/session/checkout/checkout-session.d.ts +142 -0
  41. package/dist/server/server/session/checkout/checkout-session.js +925 -0
  42. package/dist/server/server/session/daemon/daemon-session.d.ts +50 -0
  43. package/dist/server/server/session/daemon/daemon-session.js +98 -0
  44. package/dist/server/server/session/files/workspace-files-session.d.ts +43 -0
  45. package/dist/server/server/session/files/workspace-files-session.js +218 -0
  46. package/dist/server/server/session/project-config/project-config-session.d.ts +34 -0
  47. package/dist/server/server/session/project-config/project-config-session.js +125 -0
  48. package/dist/server/server/session/provider/provider-catalog-session.d.ts +74 -0
  49. package/dist/server/server/session/provider/provider-catalog-session.js +339 -0
  50. package/dist/server/server/session/voice/voice-session.d.ts +166 -0
  51. package/dist/server/server/session/voice/voice-session.js +893 -0
  52. package/dist/server/server/{voice → session/voice}/voice-turn-controller.d.ts +2 -2
  53. package/dist/server/server/{voice → session/voice}/voice-turn-controller.js +2 -2
  54. package/dist/server/server/session.d.ts +13 -208
  55. package/dist/server/server/session.js +2132 -5105
  56. package/dist/server/utils/checkout-git.d.ts +6 -0
  57. package/package.json +5 -5
  58. package/dist/server/server/agent/providers/opencode/runtime.d.ts +0 -28
  59. package/dist/server/server/agent/providers/opencode/runtime.js +0 -5
@@ -1,6 +1,6 @@
1
1
  import type { Logger } from "pino";
2
- import type { SpeechToTextProvider } from "../speech/speech-provider.js";
3
- import type { TurnDetectionProvider } from "../speech/turn-detection-provider.js";
2
+ import type { SpeechToTextProvider } from "../../speech/speech-provider.js";
3
+ import type { TurnDetectionProvider } from "../../speech/turn-detection-provider.js";
4
4
  export interface VoiceTurnControllerCallbacks {
5
5
  onSpeechStarted(): Promise<void>;
6
6
  onSpeechStopped(): Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  import { v4 as uuidv4 } from "uuid";
3
- import { Pcm16MonoResampler } from "../agent/pcm16-resampler.js";
4
- import { parsePcmRateFromFormat } from "../speech/audio.js";
3
+ import { Pcm16MonoResampler } from "../../agent/pcm16-resampler.js";
4
+ import { parsePcmRateFromFormat } from "../../speech/audio.js";
5
5
  const VOICE_FINAL_TRANSCRIPT_TIMEOUT_MS = 10000;
6
6
  const FILLER_PARTIAL_WORDS = new Set([
7
7
  "uh",
@@ -1,7 +1,7 @@
1
1
  import { type ClientCapability } from "@getpaseo/protocol/client-capabilities";
2
2
  import { type AgentSnapshotPayload, type SessionInboundMessage, type SessionOutboundMessage, type WorkspaceSetupSnapshot } from "./messages.js";
3
3
  import type { TerminalManager } from "../terminal/terminal-manager.js";
4
- import { type BinaryFrame } from "@getpaseo/protocol/binary-frames/index";
4
+ import type { BinaryFrame } from "@getpaseo/protocol/binary-frames/index";
5
5
  import type { SpeechToTextProvider, TextToSpeechProvider } from "./speech/speech-provider.js";
6
6
  import type { TurnDetectionProvider } from "./speech/turn-detection-provider.js";
7
7
  import type { VoiceCallerContext, VoiceSpeakHandler } from "./voice-types.js";
@@ -13,12 +13,13 @@ import { AgentManager } from "./agent/agent-manager.js";
13
13
  import { ProviderSnapshotManager } from "./agent/provider-snapshot-manager.js";
14
14
  import type { AgentStorage } from "./agent/agent-storage.js";
15
15
  import { type PersistedWorkspaceRecord, type ProjectRegistry, type WorkspaceRegistry } from "./workspace-registry.js";
16
+ import { type DaemonRuntimeConfig } from "./session/daemon/daemon-session.js";
16
17
  import { DownloadTokenStore } from "./file-download/token-store.js";
17
18
  import { PushTokenStore } from "./push/token-store.js";
18
19
  import type { ServiceProxySubsystem } from "./service-proxy.js";
19
20
  import { renameCurrentBranch as renameCurrentBranchDefault } from "../utils/checkout-git.js";
20
- import { CheckoutDiffManager } from "./checkout-diff-manager.js";
21
- import { type Resolvable } from "./speech/provider-resolver.js";
21
+ import type { CheckoutDiffManager } from "./checkout-diff-manager.js";
22
+ import type { Resolvable } from "./speech/provider-resolver.js";
22
23
  import type { SpeechReadinessSnapshot } from "./speech/speech-runtime.js";
23
24
  import type pino from "pino";
24
25
  import { FileBackedChatService } from "./chat/chat-service.js";
@@ -101,17 +102,7 @@ export interface SessionOptions {
101
102
  };
102
103
  serverId?: string;
103
104
  daemonVersion?: string;
104
- daemonRuntimeConfig?: {
105
- listen: string | null;
106
- appBaseUrl?: string;
107
- relay: {
108
- enabled: boolean;
109
- endpoint: string;
110
- publicEndpoint: string;
111
- useTls: boolean;
112
- publicUseTls: boolean;
113
- } | null;
114
- };
105
+ daemonRuntimeConfig?: DaemonRuntimeConfig;
115
106
  }
116
107
  export type SessionLifecycleIntent = {
117
108
  type: "shutdown";
@@ -140,22 +131,6 @@ export declare class Session {
140
131
  private readonly sessionLogger;
141
132
  private readonly paseoHome;
142
133
  private readonly worktreesRoot;
143
- private abortController;
144
- private processingPhase;
145
- private isVoiceMode;
146
- private speechInProgress;
147
- private dictationStreamManager;
148
- private resolveVoiceTurnDetection;
149
- private voiceTurnController;
150
- private voiceInputChunkCount;
151
- private voiceInputBytes;
152
- private voiceInputWindowStartedAt;
153
- private pendingAudioSegments;
154
- private bufferTimeout;
155
- private audioBuffer;
156
- private readonly ttsDebugStreams;
157
- private ttsManager;
158
- private sttManager;
159
134
  private agentMcpClient;
160
135
  private agentTools;
161
136
  private agentManager;
@@ -163,17 +138,12 @@ export declare class Session {
163
138
  private readonly projectRegistry;
164
139
  private readonly workspaceRegistry;
165
140
  private readonly filesystem;
166
- private readonly chatService;
167
- private readonly scheduleService;
168
- private readonly loopService;
169
- private readonly checkoutDiffManager;
170
141
  private readonly github;
171
142
  private readonly renameCurrentBranch;
172
143
  private readonly generateWorkspaceName;
173
144
  private readonly workspaceGitService;
174
145
  private readonly daemonConfigStore;
175
146
  private readonly mcpBaseUrl;
176
- private readonly downloadTokenStore;
177
147
  private readonly pushTokenStore;
178
148
  private unsubscribeAgentEvents;
179
149
  private unsubscribeTerminalWorkspaceContributionEvents;
@@ -182,8 +152,6 @@ export declare class Session {
182
152
  private clientActivity;
183
153
  private readonly terminalManager;
184
154
  private readonly providerSnapshotManager;
185
- private readonly providerUsageService;
186
- private unsubscribeProviderSnapshotEvents;
187
155
  private readonly serviceProxy;
188
156
  private readonly scriptRuntimeStore;
189
157
  private readonly onBranchChanged?;
@@ -194,31 +162,24 @@ export declare class Session {
194
162
  private readonly terminalController;
195
163
  private inflightRequests;
196
164
  private peakInflightRequests;
197
- private readonly checkoutDiffSubscriptions;
198
165
  private readonly workspaceGitWatchTargets;
199
166
  private readonly workspaceSetupSnapshots;
200
167
  private readonly workspaceGitFetchSubscriptions;
201
168
  private readonly workspaceGitSubscriptions;
202
- private readonly fileUploads;
203
169
  private readonly workspaceDirectory;
204
- private registerVoiceSpeakHandler?;
205
- private unregisterVoiceSpeakHandler?;
206
- private registerVoiceCallerContext?;
207
- private unregisterVoiceCallerContext?;
208
- private getSpeechReadiness?;
209
- private readonly sttLanguage;
210
- private readonly serverId;
211
- private readonly daemonVersion;
212
- private readonly daemonRuntimeConfig;
170
+ private readonly voiceSession;
171
+ private readonly checkoutSession;
172
+ private readonly chatScheduleLoopSession;
173
+ private readonly providerCatalogSession;
174
+ private readonly workspaceFilesSession;
175
+ private readonly agentConfigSession;
176
+ private readonly projectConfigSession;
177
+ private readonly daemonSession;
213
178
  private readonly createAgentLifecycleDispatch;
214
- private voiceModeAgentId;
215
- private voiceModeBaseConfig;
216
179
  constructor(options: SessionOptions);
217
180
  updateAppVersion(appVersion: string | null): void;
218
181
  updateClientCapabilities(capabilities: Record<string, unknown> | null): void;
219
182
  supports(capability: ClientCapability): boolean;
220
- private downgradeModeIconsForClient;
221
- private downgradeEntryModesForClient;
222
183
  syncWorkspaceGitObserverForWorkspace(workspace: PersistedWorkspaceRecord): Promise<void>;
223
184
  emitWorkspaceUpdateForWorkspaceId(workspaceId: string): Promise<void>;
224
185
  archiveWorkspaceRecordForExternalMutation(workspaceId: string): Promise<void>;
@@ -264,8 +225,6 @@ export declare class Session {
264
225
  * Subscribe to AgentManager events and forward them to the client
265
226
  */
266
227
  private subscribeToOptionalManagers;
267
- private bindVoiceBridges;
268
- private initializePerSessionManagers;
269
228
  private subscribeToAgentEvents;
270
229
  private buildAgentStreamPayload;
271
230
  private buildAgentPayload;
@@ -292,19 +251,13 @@ export declare class Session {
292
251
  private dispatchVoiceAndControlMessage;
293
252
  private dispatchAgentRewindMessage;
294
253
  private dispatchAgentRelationshipMessage;
295
- private handleDictationStreamStart;
296
254
  private dispatchAgentLifecycleMessage;
297
255
  private dispatchAgentConfigMessage;
298
- private handleReadProjectConfigRequest;
299
- private handleWriteProjectConfigRequest;
300
- private emitProjectConfigReadFailure;
301
- private emitProjectConfigWriteFailure;
302
256
  private dispatchCheckoutMessage;
303
257
  private dispatchWorkspaceAndProjectMessage;
304
258
  private dispatchProviderMessage;
305
259
  private dispatchTerminalMessage;
306
260
  private dispatchChatScheduleLoopMessage;
307
- private dispatchScheduleMessage;
308
261
  private dispatchMiscMessage;
309
262
  resetPeakInflight(): void;
310
263
  handleBinaryFrame(binaryFrame: BinaryFrame): Promise<void>;
@@ -321,21 +274,6 @@ export declare class Session {
321
274
  private handleProjectRenameRequest;
322
275
  private handleProjectRemoveRequest;
323
276
  private handleWorkspaceTitleSetRequest;
324
- private toVoiceFeatureUnavailableContext;
325
- private resolveModeReadinessState;
326
- private getVoiceFeatureUnavailableResponseMetadata;
327
- private resolveVoiceFeatureUnavailableContext;
328
- /**
329
- * Handle voice mode toggle
330
- */
331
- private handleSetVoiceMode;
332
- private parseVoiceTargetAgentId;
333
- private enableVoiceModeForAgent;
334
- private disableVoiceModeForActiveAgent;
335
- private handleDictationManagerMessage;
336
- private startVoiceTurnController;
337
- private stopVoiceTurnController;
338
- private handleVoiceSpeechStopped;
339
277
  /**
340
278
  * Handle text message to agent (with optional image attachments)
341
279
  */
@@ -357,19 +295,6 @@ export declare class Session {
357
295
  private generateWorkspaceTitleFromContext;
358
296
  private maybeAutoNameDirectoryWorkspaceTitle;
359
297
  private scheduleAutoNameLocalWorkspaceTitleForFirstAgent;
360
- private emitProviderDisabledResponse;
361
- private handleListProviderModelsRequest;
362
- private handleListProviderModesRequest;
363
- private getProviderSnapshotEntryForRead;
364
- private buildDraftAgentSessionConfig;
365
- private handleListProviderFeaturesRequest;
366
- private handleDaemonGetStatusRequest;
367
- private handleDaemonGetPairingOfferRequest;
368
- private handleListAvailableProvidersRequest;
369
- private handleGetProvidersSnapshotRequest;
370
- private handleRefreshProvidersSnapshotRequest;
371
- private handleProviderDiagnosticRequest;
372
- private handleProviderUsageListRequest;
373
298
  private assertSafeGitRef;
374
299
  private isPathWithinRoot;
375
300
  private generateCommitMessage;
@@ -380,13 +305,6 @@ export declare class Session {
380
305
  private createBranchFromBase;
381
306
  private doesLocalBranchExist;
382
307
  private notifyGitMutation;
383
- /**
384
- * Handle set agent mode request
385
- */
386
- private handleSetAgentModeRequest;
387
- private handleSetAgentModelRequest;
388
- private handleSetAgentFeatureRequest;
389
- private handleSetAgentThinkingRequest;
390
308
  /**
391
309
  * Handle clearing agent attention flag
392
310
  */
@@ -408,10 +326,6 @@ export declare class Session {
408
326
  * Handle agent permission response from user
409
327
  */
410
328
  private handleAgentPermissionResponse;
411
- private handleCheckoutStatusRequest;
412
- private handleValidateBranchRequest;
413
- private handleBranchSuggestionsRequest;
414
- private handleGitHubSearchRequest;
415
329
  private handleDirectorySuggestionsRequest;
416
330
  private closeWorkspaceGitWatchTarget;
417
331
  private removeWorkspaceGitWatchTarget;
@@ -423,45 +337,8 @@ export declare class Session {
423
337
  private handleWorkspaceGitBranchSnapshot;
424
338
  private syncWorkspaceGitObservers;
425
339
  private syncWorkspaceGitObserver;
426
- private handleSubscribeCheckoutDiffRequest;
427
- private handleUnsubscribeCheckoutDiffRequest;
428
- private emitCheckoutStatusUpdate;
429
- private handleCheckoutSwitchBranchRequest;
430
- private handleCheckoutRenameBranchRequest;
431
- private static readonly PASEO_STASH_PREFIX;
432
- private handleStashSaveRequest;
433
- private handleStashPopRequest;
434
- private handleStashListRequest;
435
- private handleCheckoutCommitRequest;
436
- private handleCheckoutMergeRequest;
437
- private handleCheckoutMergeFromBaseRequest;
438
- private handleCheckoutPullRequest;
439
- private handleCheckoutPushRequest;
440
- private handleCheckoutRefreshRequest;
441
- private handleCheckoutPrCreateRequest;
442
- private handleCheckoutPrMergeRequest;
443
- private assertCurrentPullRequestHasGithubMergeFacts;
444
- private handleCheckoutGithubSetAutoMergeRequest;
445
- private resolveCurrentPullRequest;
446
- private handleCheckoutPrStatusRequest;
447
- private handlePullRequestTimelineRequest;
448
- private handleCheckoutGithubGetCheckDetailsRequest;
449
340
  private handlePaseoWorktreeListRequest;
450
341
  private handlePaseoWorktreeArchiveRequest;
451
- /**
452
- * Handle read-only file explorer requests scoped to a workspace cwd
453
- */
454
- private handleFileExplorerRequest;
455
- private handleFileUploadRequest;
456
- private handleFileTransferFrame;
457
- /**
458
- * Handle project icon request for a given cwd
459
- */
460
- private handleProjectIconRequest;
461
- /**
462
- * Handle file download token request scoped to a workspace cwd
463
- */
464
- private handleFileDownloadTokenRequest;
465
342
  private listTerminalActivityContributions;
466
343
  /**
467
344
  * Build the current agent list payload (live + persisted), optionally filtered by labels.
@@ -543,53 +420,6 @@ export declare class Session {
543
420
  private handleFetchAgentTimelineRequest;
544
421
  private handleSendAgentMessageRequest;
545
422
  private handleWaitForFinish;
546
- /**
547
- * Handle audio chunk for buffering and transcription
548
- */
549
- private ensureAudioBufferForFormat;
550
- private forwardAudioChunkToVoiceTurn;
551
- private handleAudioChunk;
552
- private finalizeBufferedAudio;
553
- private processCompletedAudio;
554
- private flushPendingAudioSegments;
555
- /**
556
- * Process audio through STT and then LLM
557
- */
558
- private processAudio;
559
- private handleTranscriptionResultPayload;
560
- private registerVoiceBridgeForAgent;
561
- /**
562
- * Handle abort request from client
563
- */
564
- private handleAbort;
565
- /**
566
- * Handle audio playback confirmation from client
567
- */
568
- private handleAudioPlayed;
569
- /**
570
- * Mark speech detection start and abort any active playback/agent run.
571
- */
572
- private handleVoiceSpeechStart;
573
- /**
574
- * Clear speech-in-progress flag once the user turn has completed
575
- */
576
- private clearSpeechInProgress;
577
- /**
578
- * Create new AbortController, aborting the previous one
579
- */
580
- private createAbortController;
581
- /**
582
- * Set the processing phase
583
- */
584
- private setPhase;
585
- /**
586
- * Set timeout to process buffered audio segments
587
- */
588
- private setBufferTimeout;
589
- /**
590
- * Clear buffer timeout
591
- */
592
- private clearBufferTimeout;
593
423
  /**
594
424
  * Emit a message to the client
595
425
  */
@@ -599,31 +429,6 @@ export declare class Session {
599
429
  * Clean up session resources
600
430
  */
601
431
  cleanup(): Promise<void>;
602
- private emitChatRpcError;
603
- private handleChatCreateRequest;
604
- private handleChatListRequest;
605
- private handleChatInspectRequest;
606
- private handleChatDeleteRequest;
607
- private handleChatPostRequest;
608
- private handleChatReadRequest;
609
- private handleChatWaitRequest;
610
- private toScheduleSummary;
611
- private emitScheduleRpcError;
612
- private handleScheduleCreateRequest;
613
- private handleScheduleListRequest;
614
- private handleScheduleInspectRequest;
615
- private handleScheduleLogsRequest;
616
- private handleSchedulePauseRequest;
617
- private handleScheduleResumeRequest;
618
- private handleScheduleDeleteRequest;
619
- private handleScheduleRunOnceRequest;
620
- private handleScheduleUpdateRequest;
621
- private emitLoopRpcError;
622
- private handleLoopRunRequest;
623
- private handleLoopListRequest;
624
- private handleLoopInspectRequest;
625
- private handleLoopLogsRequest;
626
- private handleLoopStopRequest;
627
432
  }
628
433
  export {};
629
434
  //# sourceMappingURL=session.d.ts.map