ds-harness-remote 0.3.8 → 0.3.13

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 (36) hide show
  1. package/README.md +63 -67
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/version.d.ts +1 -1
  5. package/dist/version.d.ts.map +1 -1
  6. package/dist/version.js +1 -1
  7. package/dist/version.js.map +1 -1
  8. package/package.json +20 -12
  9. package/dist/adapters/agent-adapter.d.ts +0 -35
  10. package/dist/adapters/agent-adapter.d.ts.map +0 -1
  11. package/dist/adapters/agent-adapter.js +0 -80
  12. package/dist/adapters/agent-adapter.js.map +0 -1
  13. package/dist/adapters/permission-adapter.d.ts +0 -13
  14. package/dist/adapters/permission-adapter.d.ts.map +0 -1
  15. package/dist/adapters/permission-adapter.js +0 -67
  16. package/dist/adapters/permission-adapter.js.map +0 -1
  17. package/dist/adapters/session-adapter.d.ts +0 -38
  18. package/dist/adapters/session-adapter.d.ts.map +0 -1
  19. package/dist/adapters/session-adapter.js +0 -230
  20. package/dist/adapters/session-adapter.js.map +0 -1
  21. package/dist/adapters/workspace-adapter.d.ts +0 -13
  22. package/dist/adapters/workspace-adapter.d.ts.map +0 -1
  23. package/dist/adapters/workspace-adapter.js +0 -21
  24. package/dist/adapters/workspace-adapter.js.map +0 -1
  25. package/dist/event-sequencer.d.ts +0 -23
  26. package/dist/event-sequencer.d.ts.map +0 -1
  27. package/dist/event-sequencer.js +0 -54
  28. package/dist/event-sequencer.js.map +0 -1
  29. package/dist/pairing-controller.d.ts +0 -52
  30. package/dist/pairing-controller.d.ts.map +0 -1
  31. package/dist/pairing-controller.js +0 -73
  32. package/dist/pairing-controller.js.map +0 -1
  33. package/dist/pending-approvals.d.ts +0 -14
  34. package/dist/pending-approvals.d.ts.map +0 -1
  35. package/dist/pending-approvals.js +0 -52
  36. package/dist/pending-approvals.js.map +0 -1
package/dist/version.d.ts CHANGED
@@ -8,5 +8,5 @@
8
8
  * If they diverge, `npm scripts` checks in `scripts/verify-version-sync.mjs`
9
9
  * will fail fast during build/check/test.
10
10
  */
11
- export declare const PLUGIN_VERSION = "0.3.8";
11
+ export declare const PLUGIN_VERSION = "0.3.13";
12
12
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA"}
package/dist/version.js CHANGED
@@ -8,5 +8,5 @@
8
8
  * If they diverge, `npm scripts` checks in `scripts/verify-version-sync.mjs`
9
9
  * will fail fast during build/check/test.
10
10
  */
11
- export const PLUGIN_VERSION = '0.3.8';
11
+ export const PLUGIN_VERSION = '0.3.13';
12
12
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,15 @@
1
1
  {
2
2
  "name": "ds-harness-remote",
3
- "version": "0.3.8",
3
+ "version": "0.3.13",
4
4
  "description": "DeepSeek 远程连接",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/liguobao/deepseek-harness-remote.git"
8
+ },
9
+ "publishConfig": {
10
+ "access": "public",
11
+ "provenance": true
12
+ },
5
13
  "type": "module",
6
14
  "main": "./dist/index.js",
7
15
  "types": "./public.d.ts",
@@ -37,6 +45,11 @@
37
45
  "platform": "web"
38
46
  }
39
47
  },
48
+ "scripts": {
49
+ "build": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.json && node scripts/build-bundles.mjs",
50
+ "check": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.test.json",
51
+ "test": "node scripts/verify-version-sync.mjs && vitest run"
52
+ },
40
53
  "dependencies": {
41
54
  "@deepseek-ai/schemastery": "^3.18.1",
42
55
  "qrcode": "^1.5.4",
@@ -81,18 +94,13 @@
81
94
  "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.0-rc.6",
82
95
  "@deepseek-ai/dsh-host-apiproxy": "0.1.0-rc.6",
83
96
  "@deepseek-ai/dsh-settings": "0.1.0-rc.6",
97
+ "@dsh-remote/client-core": "workspace:*",
98
+ "@dsh-remote/crypto": "workspace:*",
99
+ "@dsh-remote/protocol": "workspace:*",
100
+ "@dsh-remote/webrtc": "workspace:*",
84
101
  "@types/qrcode": "^1.5.5",
85
102
  "esbuild": "^0.25.0",
86
103
  "typescript": "^5.7.3",
87
- "vitest": "^2.1.8",
88
- "@dsh-remote/crypto": "0.1.0",
89
- "@dsh-remote/webrtc": "0.1.0",
90
- "@dsh-remote/client-core": "0.1.0",
91
- "@dsh-remote/protocol": "0.1.0"
92
- },
93
- "scripts": {
94
- "build": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.json && node scripts/build-bundles.mjs",
95
- "check": "node scripts/verify-version-sync.mjs && tsc -p tsconfig.test.json",
96
- "test": "node scripts/verify-version-sync.mjs && vitest run"
104
+ "vitest": "^2.1.8"
97
105
  }
98
- }
106
+ }
@@ -1,35 +0,0 @@
1
- import { type Session } from '@deepseek-ai/dsh-session';
2
- import type { AgentRegistry } from '@deepseek-ai/dsh-agent';
3
- interface SessionTitleService {
4
- rename(session: Session, title: string): unknown;
5
- }
6
- export declare class AgentAdapter {
7
- private readonly agents;
8
- private readonly titles?;
9
- private readonly created;
10
- private readonly delivered;
11
- constructor(agents: AgentRegistry, titles?: SessionTitleService | undefined);
12
- create(params: {
13
- clientRequestId: string;
14
- cwd?: string;
15
- title?: string | null;
16
- }): Promise<Session>;
17
- send(params: {
18
- sessionId: string;
19
- clientMessageId: string;
20
- text: string;
21
- }): {
22
- accepted: true;
23
- clientMessageId: string;
24
- };
25
- stop(sessionId: string): {
26
- accepted: true;
27
- };
28
- private pruneCreated;
29
- }
30
- export declare class AgentAdapterError extends Error {
31
- readonly code: string;
32
- constructor(code: string, message: string);
33
- }
34
- export {};
35
- //# sourceMappingURL=agent-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/agent-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG3D,UAAU,mBAAmB;IAC3B,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CACjD;AAED,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAiB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAH5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAEjB,MAAM,EAAE,aAAa,EAAmB,MAAM,CAAC,EAAE,mBAAmB,YAAA;IAE3F,MAAM,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBxG,IAAI,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAsBvH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE;IAO3C,OAAO,CAAC,YAAY;CAGrB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACnD"}
@@ -1,80 +0,0 @@
1
- import { createUserMessage } from '@deepseek-ai/dsh-llm';
2
- import { SessionId } from '@deepseek-ai/dsh-session';
3
- import { uuidV7 } from '../ids.js';
4
- export class AgentAdapter {
5
- agents;
6
- titles;
7
- created = new Map();
8
- delivered = new Set();
9
- constructor(agents, titles) {
10
- this.agents = agents;
11
- this.titles = titles;
12
- }
13
- async create(params) {
14
- const existingId = this.created.get(params.clientRequestId);
15
- if (existingId !== undefined) {
16
- const existing = this.agents.get(SessionId(existingId));
17
- if (existing !== undefined)
18
- return existing.session;
19
- this.created.delete(params.clientRequestId);
20
- }
21
- const sessionId = SessionId(`session-${uuidV7()}`);
22
- const handle = await this.agents.create({
23
- sessionId,
24
- ...(params.cwd === undefined ? {} : { meta: { cwd: params.cwd } }),
25
- });
26
- if (params.title !== undefined && params.title !== null)
27
- this.titles?.rename(handle.agent.session, params.title);
28
- this.created.set(params.clientRequestId, String(sessionId));
29
- this.pruneCreated();
30
- return handle.agent.session;
31
- }
32
- send(params) {
33
- const key = `${params.sessionId}\0${params.clientMessageId}`;
34
- if (this.delivered.has(key))
35
- return { accepted: true, clientMessageId: params.clientMessageId };
36
- const agent = this.agents.get(SessionId(params.sessionId));
37
- if (agent === undefined)
38
- throw new AgentAdapterError('SESSION_NOT_FOUND', 'The session is no longer available.');
39
- const message = createUserMessage({
40
- content: [{ type: 'text', text: params.text }],
41
- source: { kind: 'user' },
42
- });
43
- try {
44
- if (agent.status === 'idle')
45
- agent.followup(message);
46
- else if (agent.status === 'running')
47
- agent.steer(message);
48
- else
49
- throw new AgentAdapterError('SESSION_NOT_READY', 'The session is not ready for input.');
50
- }
51
- catch (error) {
52
- if (error instanceof AgentAdapterError)
53
- throw error;
54
- throw new AgentAdapterError('AGENT_BUSY', 'The agent could not accept the message.');
55
- }
56
- this.delivered.add(key);
57
- if (this.delivered.size > 10_000)
58
- this.delivered.delete(this.delivered.values().next().value);
59
- return { accepted: true, clientMessageId: params.clientMessageId };
60
- }
61
- stop(sessionId) {
62
- const agent = this.agents.get(SessionId(sessionId));
63
- if (agent === undefined)
64
- throw new AgentAdapterError('SESSION_NOT_FOUND', 'The session is no longer available.');
65
- agent.cancel({ kind: 'user' }, { keepInbox: true });
66
- return { accepted: true };
67
- }
68
- pruneCreated() {
69
- while (this.created.size > 1_024)
70
- this.created.delete(this.created.keys().next().value);
71
- }
72
- }
73
- export class AgentAdapterError extends Error {
74
- code;
75
- constructor(code, message) {
76
- super(message);
77
- this.code = code;
78
- }
79
- }
80
- //# sourceMappingURL=agent-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-adapter.js","sourceRoot":"","sources":["../../src/adapters/agent-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { ApprovalOutcome, ApprovalRequest } from '@deepseek-ai/dsh-user-approval';
2
- import type { EventSequencer } from '../event-sequencer.js';
3
- import type { PendingApprovals } from '../pending-approvals.js';
4
- export declare class PermissionAdapter {
5
- private readonly pending;
6
- private readonly events;
7
- private readonly isRemoteAvailable;
8
- private readonly emit;
9
- private readonly timeoutMs;
10
- constructor(pending: PendingApprovals, events: EventSequencer, isRemoteAvailable: (sessionId: string) => boolean, emit: (event: ReturnType<EventSequencer['publish']>) => void, timeoutMs: number);
11
- answer(req: ApprovalRequest, next: () => Promise<ApprovalOutcome>): Promise<ApprovalOutcome>;
12
- }
13
- //# sourceMappingURL=permission-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/permission-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJT,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,cAAc,EACtB,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EACjD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAC5D,SAAS,EAAE,MAAM;IAG9B,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CAmBnG"}
@@ -1,67 +0,0 @@
1
- import { uuidV7 } from '../ids.js';
2
- export class PermissionAdapter {
3
- pending;
4
- events;
5
- isRemoteAvailable;
6
- emit;
7
- timeoutMs;
8
- constructor(pending, events, isRemoteAvailable, emit, timeoutMs) {
9
- this.pending = pending;
10
- this.events = events;
11
- this.isRemoteAvailable = isRemoteAvailable;
12
- this.emit = emit;
13
- this.timeoutMs = timeoutMs;
14
- }
15
- async answer(req, next) {
16
- const sessionId = String(req.agent.session.id);
17
- if (!this.isRemoteAvailable(sessionId))
18
- return next();
19
- if (req.signal?.aborted)
20
- return 'cancelled';
21
- const permission = permissionContext(req);
22
- const request = {
23
- requestId: uuidV7(),
24
- sessionId,
25
- toolName: req.toolName,
26
- ...(req.callId === undefined ? {} : { callId: String(req.callId) }),
27
- ...(req.reason === undefined ? {} : { reason: req.reason }),
28
- permission,
29
- status: 'pending',
30
- expiresAt: Date.now() + this.timeoutMs,
31
- };
32
- const outcome = this.pending.open(request, req.signal);
33
- this.emit(this.events.publish('permission.requested', { ...request, sessionId }, sessionId));
34
- return outcome;
35
- }
36
- }
37
- function permissionContext(req) {
38
- const rawCall = req.callId === undefined
39
- ? undefined
40
- : [...req.agent.session.events].reverse().find(event => event.type === 'tool/call' && String(event.data.callId) === String(req.callId));
41
- const input = rawCall?.type === 'tool/call' ? parseObject(rawCall.data.arguments) : undefined;
42
- const command = stringField(input, 'command') ?? stringField(input, 'cmd');
43
- const commandTool = /bash|shell|terminal|pwsh|powershell/i.test(req.toolName);
44
- return {
45
- kind: commandTool || command !== undefined ? 'command' : 'tool',
46
- ...(command === undefined ? {} : { command }),
47
- ...(req.agent.session.header.cwd === undefined ? {} : { cwd: req.agent.session.header.cwd }),
48
- toolName: req.toolName,
49
- ...(req.reason === undefined ? {} : { description: req.reason }),
50
- };
51
- }
52
- function parseObject(value) {
53
- try {
54
- const parsed = JSON.parse(value);
55
- return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)
56
- ? parsed
57
- : undefined;
58
- }
59
- catch {
60
- return undefined;
61
- }
62
- }
63
- function stringField(value, key) {
64
- const field = value?.[key];
65
- return typeof field === 'string' ? field : undefined;
66
- }
67
- //# sourceMappingURL=permission-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-adapter.js","sourceRoot":"","sources":["../../src/adapters/permission-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import type { AgentRegistry } from '@deepseek-ai/dsh-agent';
2
- import { type Session, type SessionEvent, type SessionStore } from '@deepseek-ai/dsh-session';
3
- import type { EventSequencer } from '../event-sequencer.js';
4
- import type { PendingApprovals } from '../pending-approvals.js';
5
- import type { MappedEvent, RemoteSessionSummary, SessionSnapshot } from '../types.js';
6
- import type { WorkspaceAdapter } from './workspace-adapter.js';
7
- interface SessionTitleService {
8
- get(session: Session): {
9
- title: string;
10
- } | undefined;
11
- }
12
- export declare class SessionAdapter {
13
- private readonly sessions;
14
- private readonly agents;
15
- private readonly workspaces;
16
- private readonly pending;
17
- private readonly sequencer;
18
- private readonly titles?;
19
- private readonly streams;
20
- constructor(sessions: SessionStore, agents: AgentRegistry, workspaces: WorkspaceAdapter, pending: PendingApprovals, sequencer: EventSequencer, titles?: SessionTitleService | undefined);
21
- list(cursor?: string | null, limit?: number): {
22
- items: RemoteSessionSummary[];
23
- nextCursor: string | null;
24
- };
25
- get(sessionId: string): SessionSnapshot;
26
- workspace(sessionId?: string): import("./workspace-adapter.js").RemoteWorkspaceInfo | null;
27
- summary(session: Session): RemoteSessionSummary;
28
- mapEvent(session: Session, event: SessionEvent): MappedEvent[];
29
- private mapChunk;
30
- private mapAssistantMessage;
31
- private requireSession;
32
- }
33
- export declare class SessionAdapterError extends Error {
34
- readonly code: string;
35
- constructor(code: string, message: string);
36
- }
37
- export {};
38
- //# sourceMappingURL=session-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/session-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAa,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACxG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAuB,oBAAoB,EAAkB,eAAe,EAAE,MAAM,aAAa,CAAA;AAC1H,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,UAAU,mBAAmB;IAC3B,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CACrD;AAID,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAR1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAGtC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,mBAAmB,YAAA;IAG/C,IAAI,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,KAAK,SAAK,GAAG;QAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAO5G,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAavC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM;IAI5B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB;IAc/C,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,WAAW,EAAE;IAuB9D,OAAO,CAAC,QAAQ;IAyBhB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;CAKvB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACnD"}
@@ -1,230 +0,0 @@
1
- import { SessionId } from '@deepseek-ai/dsh-session';
2
- export class SessionAdapter {
3
- sessions;
4
- agents;
5
- workspaces;
6
- pending;
7
- sequencer;
8
- titles;
9
- streams = new Map();
10
- constructor(sessions, agents, workspaces, pending, sequencer, titles) {
11
- this.sessions = sessions;
12
- this.agents = agents;
13
- this.workspaces = workspaces;
14
- this.pending = pending;
15
- this.sequencer = sequencer;
16
- this.titles = titles;
17
- }
18
- list(cursor = null, limit = 50) {
19
- const all = this.sessions.list().map(session => this.summary(session));
20
- const start = cursor === null ? 0 : Math.max(0, all.findIndex(item => item.id === cursor) + 1);
21
- const items = all.slice(start, start + limit);
22
- return { items, nextCursor: start + limit < all.length ? items.at(-1).id : null };
23
- }
24
- get(sessionId) {
25
- const session = this.requireSession(sessionId);
26
- const { messages, tools } = projectSession(session);
27
- return {
28
- session: this.summary(session),
29
- workspace: this.workspaces.get(session),
30
- messages,
31
- tools,
32
- pendingPermissions: this.pending.snapshot(sessionId),
33
- snapshotSeq: this.sequencer.currentSeq(),
34
- };
35
- }
36
- workspace(sessionId) {
37
- return this.workspaces.get(sessionId === undefined ? undefined : this.requireSession(sessionId));
38
- }
39
- summary(session) {
40
- const agent = this.agents.get(session.id);
41
- const title = this.titles?.get(session)?.title ?? fallbackTitle(session);
42
- return {
43
- id: String(session.id),
44
- title,
45
- ...(session.header.cwd === undefined ? {} : { cwd: session.header.cwd }),
46
- status: agent === undefined ? 'unavailable' : agent.status,
47
- createdAt: session.header.createdAt,
48
- updatedAt: session.events.at(-1)?.time ?? session.header.createdAt,
49
- lastSeq: this.sequencer.currentSeq(),
50
- };
51
- }
52
- mapEvent(session, event) {
53
- const sessionId = String(session.id);
54
- const raw = event;
55
- switch (raw.type) {
56
- case 'user/message':
57
- return [mapped('message.created', sessionId, remoteMessage(raw.data, sessionId, raw.time))];
58
- case 'assistant/chunk':
59
- return this.mapChunk(sessionId, raw);
60
- case 'assistant/message':
61
- return this.mapAssistantMessage(sessionId, raw);
62
- case 'tool/call': {
63
- const tool = runningTool(raw, sessionId);
64
- return [mapped('tool.started', sessionId, tool)];
65
- }
66
- case 'tool/result': {
67
- const tool = finishedTool(raw, session);
68
- return [mapped('tool.finished', sessionId, tool)];
69
- }
70
- default:
71
- return [];
72
- }
73
- }
74
- mapChunk(sessionId, event) {
75
- const chunk = event.data.chunk;
76
- if (chunk?.type !== 'text-delta' && chunk?.type !== 'reasoning-delta')
77
- return [];
78
- const streamId = assistantStreamId(sessionId, event.data.turn, event.data.step);
79
- const state = this.streams.get(streamId) ?? { deltaIndex: 0, started: false };
80
- const events = [];
81
- if (!state.started) {
82
- events.push(mapped('message.created', sessionId, {
83
- id: streamId, messageId: streamId, sessionId, role: 'assistant', content: [], text: '', status: 'streaming', createdAt: event.time,
84
- }));
85
- state.started = true;
86
- }
87
- events.push(mapped('message.delta', sessionId, {
88
- sessionId,
89
- messageId: streamId,
90
- deltaIndex: state.deltaIndex++,
91
- delta: typeof chunk.text === 'string' ? chunk.text : '',
92
- contentType: chunk.type === 'reasoning-delta' ? 'reasoning' : 'text',
93
- final: false,
94
- finishReason: null,
95
- }));
96
- this.streams.set(streamId, state);
97
- return events;
98
- }
99
- mapAssistantMessage(sessionId, event) {
100
- const streamId = assistantStreamId(sessionId, event.data.turn, event.data.step);
101
- const state = this.streams.get(streamId);
102
- this.streams.delete(streamId);
103
- if (state === undefined) {
104
- return [mapped('message.created', sessionId, remoteMessage(event.data.message, sessionId, event.time, streamId))];
105
- }
106
- return [mapped('message.delta', sessionId, {
107
- sessionId,
108
- messageId: streamId,
109
- deltaIndex: state.deltaIndex,
110
- delta: '',
111
- final: true,
112
- finishReason: null,
113
- })];
114
- }
115
- requireSession(sessionId) {
116
- const session = this.sessions.get(SessionId(sessionId));
117
- if (session === undefined)
118
- throw new SessionAdapterError('SESSION_NOT_FOUND', 'The session is no longer available.');
119
- return session;
120
- }
121
- }
122
- export class SessionAdapterError extends Error {
123
- code;
124
- constructor(code, message) {
125
- super(message);
126
- this.code = code;
127
- }
128
- }
129
- function projectSession(session) {
130
- const messages = [];
131
- const tools = new Map();
132
- for (const event of session.events) {
133
- const raw = event;
134
- if (raw.type === 'user/message')
135
- messages.push(remoteMessage(raw.data, String(session.id), raw.time));
136
- if (raw.type === 'assistant/message') {
137
- messages.push(remoteMessage(raw.data.message, String(session.id), raw.time, assistantStreamId(String(session.id), raw.data.turn, raw.data.step)));
138
- }
139
- if (raw.type === 'tool/call')
140
- tools.set(String(raw.data.callId), runningTool(raw, String(session.id)));
141
- if (raw.type === 'tool/result')
142
- tools.set(toolResultCallId(raw), finishedTool(raw, session));
143
- }
144
- return { messages, tools: [...tools.values()] };
145
- }
146
- function remoteMessage(message, sessionId, createdAt, idOverride) {
147
- const content = Array.isArray(message.content) ? structuredClone(message.content) : [];
148
- const id = idOverride ?? String(message.id);
149
- return {
150
- id,
151
- messageId: id,
152
- sessionId,
153
- role: message.role === 'assistant' || message.role === 'system' ? message.role : 'user',
154
- content,
155
- text: textOf(content),
156
- status: 'complete',
157
- createdAt,
158
- };
159
- }
160
- function runningTool(event, sessionId) {
161
- const callId = String(event.data.callId);
162
- return {
163
- callId,
164
- toolCallId: callId,
165
- sessionId,
166
- toolName: String(event.data.name),
167
- title: String(event.data.name),
168
- status: 'running',
169
- input: parseJson(event.data.arguments),
170
- output: null,
171
- isError: false,
172
- };
173
- }
174
- function finishedTool(event, session) {
175
- const callId = toolResultCallId(event);
176
- const started = [...session.events].reverse().find(candidate => candidate.type === 'tool/call' && String(candidate.data.callId) === callId);
177
- const block = event.data.message?.content?.[0];
178
- const isError = Boolean(block?.isError || event.data.error);
179
- return {
180
- callId,
181
- toolCallId: callId,
182
- sessionId: String(session.id),
183
- toolName: String(started?.data?.name ?? 'tool'),
184
- title: String(started?.data?.name ?? 'Tool'),
185
- status: isError ? 'error' : 'success',
186
- input: parseJson(started?.data?.arguments),
187
- output: structuredClone(block?.content ?? event.data.message?.content ?? null),
188
- isError,
189
- };
190
- }
191
- function toolResultCallId(event) {
192
- return String(event.data.message?.source?.callId ?? event.data.message?.content?.[0]?.toolCallId ?? 'unknown');
193
- }
194
- function assistantStreamId(sessionId, turn, step) {
195
- return `assistant:${sessionId}:${String(turn)}:${String(step)}`;
196
- }
197
- function textOf(content) {
198
- return content.flatMap((block) => {
199
- if (typeof block !== 'object' || block === null)
200
- return [];
201
- const record = block;
202
- if ((record.type === 'text' || record.type === 'reasoning') && typeof record.text === 'string')
203
- return [record.text];
204
- return [];
205
- }).join('');
206
- }
207
- function parseJson(value) {
208
- if (typeof value !== 'string')
209
- return value ?? null;
210
- try {
211
- return JSON.parse(value);
212
- }
213
- catch {
214
- return value;
215
- }
216
- }
217
- function fallbackTitle(session) {
218
- for (const event of [...session.events].reverse()) {
219
- const raw = event;
220
- if (raw.type === 'session/title' && typeof raw.data.title === 'string')
221
- return raw.data.title;
222
- }
223
- const firstUser = session.events.find(event => event.type === 'user/message');
224
- const text = textOf(Array.isArray(firstUser?.data?.content) ? firstUser.data.content : []).trim();
225
- return text === '' ? String(session.id) : `${text.slice(0, 57)}${text.length > 57 ? '…' : ''}`;
226
- }
227
- function mapped(event, sessionId, data) {
228
- return { event, sessionId, data };
229
- }
230
- //# sourceMappingURL=session-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-adapter.js","sourceRoot":"","sources":["../../src/adapters/session-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { Session } from '@deepseek-ai/dsh-session';
2
- import type { WorkspaceRegistry } from '@deepseek-ai/dsh-workspace';
3
- export interface RemoteWorkspaceInfo {
4
- id: string | null;
5
- name: string;
6
- cwd: string;
7
- }
8
- export declare class WorkspaceAdapter {
9
- private readonly registry?;
10
- constructor(registry?: WorkspaceRegistry | undefined);
11
- get(session?: Session): RemoteWorkspaceInfo | null;
12
- }
13
- //# sourceMappingURL=workspace-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/workspace-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAT,QAAQ,CAAC,EAAE,iBAAiB,YAAA;IAEzD,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI;CAanD"}
@@ -1,21 +0,0 @@
1
- import { basename } from 'node:path';
2
- export class WorkspaceAdapter {
3
- registry;
4
- constructor(registry) {
5
- this.registry = registry;
6
- }
7
- get(session) {
8
- const cwd = session?.header.cwd;
9
- if (cwd !== undefined) {
10
- const workspace = this.registry?.list().find(candidate => candidate.path === cwd);
11
- return workspace === undefined
12
- ? { id: null, name: basename(cwd) || cwd, cwd }
13
- : { id: String(workspace.id), name: workspace.title, cwd: workspace.path };
14
- }
15
- const workspace = this.registry?.list()[0];
16
- return workspace === undefined
17
- ? null
18
- : { id: String(workspace.id), name: workspace.title, cwd: workspace.path };
19
- }
20
- }
21
- //# sourceMappingURL=workspace-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-adapter.js","sourceRoot":"","sources":["../../src/adapters/workspace-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAUpC,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,QAA4B;QAA5B,aAAQ,GAAR,QAAQ,CAAoB;IAAG,CAAC;IAE7D,GAAG,CAAC,OAAiB;QACnB,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;YACjF,OAAO,SAAS,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE;gBAC/C,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;QAC9E,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1C,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;IAC9E,CAAC;CACF"}