dsh-remote-local-plugin 0.8.2 → 0.8.4

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.
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import type { Context } from '@deepseek-ai/cordis';
15
15
  import type { Session, SessionId } from '@deepseek-ai/dsh-session';
16
- import type { PromptDeliveryMode } from '@dsh-remote/protocol';
16
+ import type { RemoteAssistantFrame, PromptDeliveryMode } from '@dsh-remote/protocol';
17
17
  import type { ResolvedConfig } from '../config.ts';
18
18
  import type { RemoteHostsService } from '../service.ts';
19
19
  interface MirrorRecord {
@@ -30,6 +30,14 @@ interface MirrorRuntime {
30
30
  readonly agent: MirrorAgent;
31
31
  readonly session: Session;
32
32
  timer: NodeJS.Timeout | undefined;
33
+ stream: AbortController | undefined;
34
+ assistant: AbortController | undefined;
35
+ remoteToLocalSeq: Map<number, number>;
36
+ pendingAssistantEnds: Map<number, RemoteAssistantFrame>;
37
+ latestTurn: number;
38
+ awaitingTurn: number | null;
39
+ awaitingStarted: boolean;
40
+ applyingRemote: boolean;
33
41
  running: boolean;
34
42
  stopped: boolean;
35
43
  lastError: string | null;
@@ -81,7 +89,7 @@ export declare class RemoteMirrorService {
81
89
  ensureRemoteSession(hostId: string, remoteSessionId: string): Promise<string | undefined>;
82
90
  /** Route one prompt from the local Agent façade to the remote session. */
83
91
  prompt(runtime: MirrorRuntime, message: unknown, mode: PromptDeliveryMode): void;
84
- /** Route cancellation to the remote session. */
92
+ /** Route cancellation to the remote session only after the remote accepts it. */
85
93
  cancel(runtime: MirrorRuntime): void;
86
94
  }
87
95
  export {};
@@ -9,7 +9,7 @@
9
9
  * @module dsh-remote-local/service
10
10
  */
11
11
  import type { Context } from '@deepseek-ai/cordis';
12
- import { type AcceptedResult, type ApprovalOutcome, type RemoteApprovalFrame, type CreateSessionRequest, type CreateSessionResult, type CreateWorkspaceRequest, type ListSessionsResult, type PromptDeliveryMode, type RemoteWorkspace, type SessionSnapshot } from '@dsh-remote/protocol';
12
+ import { type AcceptedResult, type ApprovalOutcome, type RemoteApprovalFrame, type RemoteAssistantFrame, type CreateSessionRequest, type CreateSessionResult, type CreateWorkspaceRequest, type ListSessionsResult, type PromptDeliveryMode, type RemoteWorkspace, type SessionSnapshot, type SessionStreamFrame } from '@dsh-remote/protocol';
13
13
  import type { ResolvedConfig } from './config.ts';
14
14
  import { type AddHostInput, type HostView } from './hosts/types.ts';
15
15
  /** Snapshot returned to the Settings page. */
@@ -59,12 +59,22 @@ export declare class RemoteHostsService {
59
59
  workspaces(id: string): Promise<readonly RemoteWorkspace[]>;
60
60
  /** List remote sessions, optionally within one workspace. */
61
61
  sessions(id: string, workspaceId?: string): Promise<ListSessionsResult>;
62
+ /** Follow a live remote session from a cursor as an SSE-backed stream. */
63
+ followSessionEvents(id: string, sessionId: string, cursor: number, signal: AbortSignal): AsyncGenerator<SessionStreamFrame>;
62
64
  /** Read one session snapshot. */
63
65
  snapshot(id: string, sessionId: string, limit?: number): Promise<SessionSnapshot>;
66
+ /** Follow dense remote Assistant frames for one live Session. */
67
+ followAssistantFrames(id: string, sessionId: string, signal: AbortSignal): AsyncGenerator<RemoteAssistantFrame>;
64
68
  /** Register a remote workspace. */
65
69
  createWorkspace(id: string, request: CreateWorkspaceRequest): Promise<RemoteWorkspace>;
66
70
  /** Create a remote session. */
67
71
  createSession(id: string, request: CreateSessionRequest): Promise<CreateSessionResult>;
72
+ /** Install a model/reasoning-effort selection on a remote session. */
73
+ selectModel(id: string, sessionId: string, selection: {
74
+ provider: string;
75
+ model: string;
76
+ reasoningEffort?: string;
77
+ }): Promise<void>;
68
78
  /** Send a prompt to a remote session. */
69
79
  promptSession(id: string, sessionId: string, text: string, mode?: PromptDeliveryMode, selection?: {
70
80
  provider: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-remote-local-plugin",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "description": "DSH remote-development local plugin: host registry, SSH tunnels, remote workspace/session discovery, an authenticated Connection RPC surface, agent tools, and a Settings page.",
5
5
  "keywords": [
6
6
  "dsh",
Binary file