@deepseek-ai/dsh-api-session-controller 0.1.6-alpha.2 → 0.1.7-alpha.2
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.
- package/README.i18n.yaml +2 -2
- package/README.md +34 -9
- package/README.zh.md +34 -9
- package/lib/client.js +774 -641
- package/lib/index.js +318 -143
- package/lib/typert.host.js +384 -186
- package/lib/typert.remote-client.d.ts +10 -5
- package/lib/typert.remote-client.js +225 -125
- package/lib/types/archived-session-gate.d.ts +30 -0
- package/lib/types/archived-session-gate.js +52 -0
- package/lib/types/client/contract/session.d.ts +11 -4
- package/lib/types/client/contract/sessions.d.ts +11 -16
- package/lib/types/client/contract/snapshot.d.ts +1 -1
- package/lib/types/client/index.d.ts +1 -1
- package/lib/types/client/sessions/lineage.d.ts +4 -1
- package/lib/types/client/sessions/lineage.js +2 -1
- package/lib/types/client/sessions/manager.d.ts +66 -59
- package/lib/types/client/sessions/manager.js +249 -277
- package/lib/types/client/sessions/projection-store.d.ts +38 -13
- package/lib/types/client/sessions/projection-store.js +54 -13
- package/lib/types/client/sessions/remotes.d.ts +1 -2
- package/lib/types/client/sessions/service.d.ts +23 -35
- package/lib/types/client/sessions/service.js +35 -47
- package/lib/types/client/sessions/session.d.ts +23 -19
- package/lib/types/client/sessions/session.js +158 -59
- package/lib/types/client/transport.js +5 -2
- package/lib/types/commands.d.ts +4 -2
- package/lib/types/commands.js +72 -36
- package/lib/types/control.d.ts +2 -4
- package/lib/types/control.js +2 -44
- package/lib/types/history.js +25 -10
- package/lib/types/index.d.ts +32 -5
- package/lib/types/index.js +117 -13
- package/lib/types/list.js +24 -15
- package/lib/types/skill-catalog.js +60 -50
- package/lib/types/types.d.ts +45 -25
- package/lib/types/types.js +0 -1
- package/package.json +71 -76
|
@@ -114,72 +114,82 @@ let SessionSkillCatalog = (() => {
|
|
|
114
114
|
* @throws RemoteError when the Session cannot be inspected or no registry can serve it.
|
|
115
115
|
*/
|
|
116
116
|
async list(request, signal) {
|
|
117
|
-
void
|
|
118
|
-
const { sessionId } = request;
|
|
119
|
-
let cwd;
|
|
120
|
-
let agentPreset;
|
|
117
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
121
118
|
try {
|
|
122
|
-
|
|
119
|
+
void signal;
|
|
120
|
+
const { sessionId } = request;
|
|
121
|
+
let cwd;
|
|
122
|
+
let agentPreset;
|
|
123
123
|
try {
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
125
|
+
try {
|
|
126
|
+
const observation = __addDisposableResource(env_2, await this.ctx.sessionQuery.observeSession(sessionId), false);
|
|
127
|
+
if (observation.projections === undefined) {
|
|
128
|
+
throw new Error('skill catalog requires a projected Session observation');
|
|
129
|
+
}
|
|
130
|
+
cwd = observation.header.cwd;
|
|
131
|
+
agentPreset = observation.projections.values.agentPreset ?? undefined;
|
|
132
|
+
}
|
|
133
|
+
catch (e_1) {
|
|
134
|
+
env_2.error = e_1;
|
|
135
|
+
env_2.hasError = true;
|
|
136
|
+
}
|
|
137
|
+
finally {
|
|
138
|
+
__disposeResources(env_2);
|
|
127
139
|
}
|
|
128
|
-
cwd = observation.header.cwd;
|
|
129
|
-
agentPreset = observation.projections.values.agentPreset ?? undefined;
|
|
130
140
|
}
|
|
131
|
-
catch (
|
|
132
|
-
|
|
133
|
-
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (error instanceof SessionQueryError
|
|
143
|
+
&& error.code === 'SESSION_QUERY_SESSION_NOT_FOUND') {
|
|
144
|
+
throw new RemoteError('session/not-found', `session "${sessionId}" not found`, { sessionId });
|
|
145
|
+
}
|
|
146
|
+
throw new RemoteError('gateway/internal', `session "${sessionId}" could not be inspected: ${String(error)}`, {});
|
|
134
147
|
}
|
|
135
|
-
|
|
136
|
-
|
|
148
|
+
if (cwd === undefined) {
|
|
149
|
+
throw new RemoteError('gateway/internal', `session "${sessionId}" has no project cwd`, {});
|
|
137
150
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
151
|
+
const live = this.ctx.agents.get(sessionId);
|
|
152
|
+
const presets = this.ctx.get('agentPresets');
|
|
153
|
+
const scoped = live === undefined ? undefined : presets?.serviceFor(live, 'skills');
|
|
154
|
+
const skillRegistry = scoped ?? this.ctx.get('skills');
|
|
155
|
+
if (skillRegistry === undefined) {
|
|
156
|
+
throw new RemoteError('gateway/internal', 'skill registry is absent: neither this session\'s agent preset nor the host composition mounts @deepseek-ai/dsh-skill', {});
|
|
157
|
+
}
|
|
158
|
+
const lease = __addDisposableResource(env_1, live === undefined ? await this.scopeFor(agentPreset) : undefined, true);
|
|
159
|
+
const scope = live ?? lease?.key;
|
|
160
|
+
try {
|
|
161
|
+
const skills = (await skillRegistry.list({ cwd, scope })).filter(isUserInvocable);
|
|
162
|
+
return {
|
|
163
|
+
skills: skills.map(skill => ({
|
|
164
|
+
name: skill.name,
|
|
165
|
+
...skill.path === undefined ? {} : { path: skill.path },
|
|
166
|
+
description: skill.description,
|
|
167
|
+
...skill.whenToUse === undefined ? {} : { whenToUse: skill.whenToUse },
|
|
168
|
+
modelInvocable: skill.invocation.modelInvocable,
|
|
169
|
+
})),
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
throw new RemoteError('gateway/internal', `skill listing failed: ${String(error)}`, {});
|
|
143
174
|
}
|
|
144
|
-
throw new RemoteError('gateway/internal', `session "${sessionId}" could not be inspected: ${String(error)}`, {});
|
|
145
|
-
}
|
|
146
|
-
if (cwd === undefined) {
|
|
147
|
-
throw new RemoteError('gateway/internal', `session "${sessionId}" has no project cwd`, {});
|
|
148
|
-
}
|
|
149
|
-
const live = this.ctx.agents.get(sessionId);
|
|
150
|
-
const presets = this.ctx.get('agentPresets');
|
|
151
|
-
const scoped = live === undefined ? undefined : presets?.serviceFor(live, 'skills');
|
|
152
|
-
const skillRegistry = scoped ?? this.ctx.get('skills');
|
|
153
|
-
if (skillRegistry === undefined) {
|
|
154
|
-
throw new RemoteError('gateway/internal', 'skill registry is absent: neither this session\'s agent preset nor the host composition mounts @deepseek-ai/dsh-skill', {});
|
|
155
175
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return {
|
|
160
|
-
skills: skills.map(skill => ({
|
|
161
|
-
name: skill.name,
|
|
162
|
-
...skill.path === undefined ? {} : { path: skill.path },
|
|
163
|
-
description: skill.description,
|
|
164
|
-
...skill.whenToUse === undefined ? {} : { whenToUse: skill.whenToUse },
|
|
165
|
-
modelInvocable: skill.invocation.modelInvocable,
|
|
166
|
-
})),
|
|
167
|
-
};
|
|
176
|
+
catch (e_2) {
|
|
177
|
+
env_1.error = e_2;
|
|
178
|
+
env_1.hasError = true;
|
|
168
179
|
}
|
|
169
|
-
|
|
170
|
-
|
|
180
|
+
finally {
|
|
181
|
+
const result_1 = __disposeResources(env_1);
|
|
182
|
+
if (result_1)
|
|
183
|
+
await result_1;
|
|
171
184
|
}
|
|
172
185
|
}
|
|
173
186
|
/** Resolve a live or standing preset scope without creating an Agent. */
|
|
174
|
-
async scopeFor(
|
|
175
|
-
const live = this.ctx.agents.get(sessionId);
|
|
176
|
-
if (live !== undefined)
|
|
177
|
-
return live;
|
|
187
|
+
async scopeFor(agentPreset) {
|
|
178
188
|
const presets = this.ctx.get('agentPresets');
|
|
179
189
|
if (presets === undefined)
|
|
180
190
|
return undefined;
|
|
181
191
|
try {
|
|
182
|
-
return await presets.
|
|
192
|
+
return await presets.acquireScope(agentPreset);
|
|
183
193
|
}
|
|
184
194
|
catch {
|
|
185
195
|
// An unknown or unusable recorded preset falls back to the global registry.
|
package/lib/types/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** Browser-safe request, result, and lifecycle vocabulary for the Session Remote service. */
|
|
2
|
+
import type { NativeFileApplication } from '@deepseek-ai/dsh-native-command/types';
|
|
2
3
|
import type { AttachmentIdType, ImageAttachmentLimits, ImageAttachmentRef, ImageMediaType } from '@deepseek-ai/dsh-attachment';
|
|
3
4
|
import type { Branded } from '@deepseek-ai/dsh-brand';
|
|
4
5
|
import type { LlmAttemptId, MessageId } from '@deepseek-ai/dsh-llm/brand';
|
|
5
|
-
import type {
|
|
6
|
+
import type { TextBlock } from '@deepseek-ai/dsh-llm';
|
|
6
7
|
import type { SessionId, SessionSeqCursor } from '@deepseek-ai/dsh-session/types';
|
|
7
8
|
import type { SessionProjectionMap } from '@deepseek-ai/dsh-session-projection/types';
|
|
8
|
-
import type { JobId } from '@deepseek-ai/dsh-jobs/brand';
|
|
9
9
|
import type { JsonValue } from '@deepseek-ai/dsh-util-values';
|
|
10
10
|
import type { WorkspaceId } from '@deepseek-ai/dsh-workspace/types';
|
|
11
11
|
declare module '@deepseek-ai/dsh-session-projection/types' {
|
|
@@ -42,10 +42,24 @@ export interface SessionListMetadata {
|
|
|
42
42
|
/** Latest human-authored prompt time in the folded prefix. */
|
|
43
43
|
readonly lastPromptAt: number | null;
|
|
44
44
|
}
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Every available wire value a Session-list row carries as partial, possibly
|
|
47
|
+
* stale hints. `kind` and `asOfSeq` are independent facts: `kind` says which
|
|
48
|
+
* sequence space `asOfSeq` belongs to, and therefore how a client may merge
|
|
49
|
+
* the block; `asOfSeq` is the producer's watermark in that space.
|
|
50
|
+
*/
|
|
46
51
|
export interface SessionProjectionHints {
|
|
52
|
+
/**
|
|
53
|
+
* `sequenced`: the Host's live registry produced the block for an attached
|
|
54
|
+
* Session, so `asOfSeq` is comparable with baselines and frames of the same
|
|
55
|
+
* connection. `cached`: a header-only listing viewed the block from the
|
|
56
|
+
* persisted projection cache, so `asOfSeq` is the stored record's own
|
|
57
|
+
* watermark and must not be compared with the connected Session's values.
|
|
58
|
+
*/
|
|
59
|
+
readonly kind: 'cached' | 'sequenced';
|
|
60
|
+
/** Watermark of the block in the sequence space named by `kind`. */
|
|
47
61
|
readonly asOfSeq: number;
|
|
48
|
-
/** Provider-validated values present in the
|
|
62
|
+
/** Provider-validated values present in the block; omitted keys remain unknown. */
|
|
49
63
|
readonly values: SessionProjectionValues;
|
|
50
64
|
}
|
|
51
65
|
/** Complete projection values at an exact Session event cursor. */
|
|
@@ -135,7 +149,7 @@ export interface ModelCatalog {
|
|
|
135
149
|
export type QueueAction = {
|
|
136
150
|
readonly kind: 'edit';
|
|
137
151
|
/** Non-empty text-only replacement content. */
|
|
138
|
-
readonly content: readonly
|
|
152
|
+
readonly content: readonly TextBlock[];
|
|
139
153
|
} | {
|
|
140
154
|
readonly kind: 'remove';
|
|
141
155
|
} | {
|
|
@@ -143,6 +157,8 @@ export type QueueAction = {
|
|
|
143
157
|
};
|
|
144
158
|
/** One Session list entry. */
|
|
145
159
|
export interface SessionSummary {
|
|
160
|
+
/** Whether this Session currently owns a live Agent. */
|
|
161
|
+
readonly agentAvailable: boolean;
|
|
146
162
|
readonly sessionId: SessionId;
|
|
147
163
|
readonly updatedAt: number;
|
|
148
164
|
readonly running: boolean;
|
|
@@ -172,6 +188,7 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
|
|
|
172
188
|
readonly requestedCwd: string;
|
|
173
189
|
readonly existingCwd?: string;
|
|
174
190
|
};
|
|
191
|
+
'session/projections-unavailable': Record<string, never>;
|
|
175
192
|
'session/writer-held': {
|
|
176
193
|
readonly sessionId: SessionId;
|
|
177
194
|
};
|
|
@@ -287,6 +304,7 @@ export interface SessionRenameValue {
|
|
|
287
304
|
/** Session fork request. */
|
|
288
305
|
export interface SessionForkRequest {
|
|
289
306
|
readonly sessionId: SessionId;
|
|
307
|
+
/** Exact inclusive source event seq; omission selects the latest completed-turn prefix. */
|
|
290
308
|
readonly atSeq?: number;
|
|
291
309
|
}
|
|
292
310
|
/** Identity of a newly forked Session. */
|
|
@@ -339,6 +357,8 @@ export interface SessionCancelValue {
|
|
|
339
357
|
export interface SessionOpenWorkspacePathRequest {
|
|
340
358
|
/** File-manager navigation when requested; omission uses the default application. */
|
|
341
359
|
readonly action?: 'reveal';
|
|
360
|
+
/** Registered application identifier; ignored for reveal. Omission preserves the operating system default. */
|
|
361
|
+
readonly application?: string;
|
|
342
362
|
/** Path after best-effort Session workspace resolution, in Host filesystem syntax. */
|
|
343
363
|
readonly path: string;
|
|
344
364
|
}
|
|
@@ -366,8 +386,14 @@ export type SessionAddress = {
|
|
|
366
386
|
readonly kind: 'subagent';
|
|
367
387
|
readonly parentSessionId: SessionId;
|
|
368
388
|
readonly childSessionId: SessionId;
|
|
369
|
-
readonly mode: 'one-shot' | 'continuable';
|
|
389
|
+
readonly mode: 'one-shot' | 'continuable' | 'unknown';
|
|
370
390
|
};
|
|
391
|
+
/** One non-activating Session projection read. */
|
|
392
|
+
export interface SessionProjectionsRequest {
|
|
393
|
+
readonly sessionId: SessionId;
|
|
394
|
+
}
|
|
395
|
+
/** Complete Session projection baseline; null when the Session does not exist. */
|
|
396
|
+
export type SessionProjectionsValue = SessionProjectionBaseline | null;
|
|
371
397
|
/** One raw Session event in the Remote journal. */
|
|
372
398
|
export interface SessionEventEntry {
|
|
373
399
|
readonly type: 'event';
|
|
@@ -417,11 +443,17 @@ export interface SessionPageRequest {
|
|
|
417
443
|
readonly throughSeq: number;
|
|
418
444
|
readonly beforeSeq?: number;
|
|
419
445
|
readonly maxMessages?: number;
|
|
446
|
+
/** Stop at a Turn start after both minima, unless maxMessages or history exhaustion wins. */
|
|
447
|
+
readonly turnWindow?: {
|
|
448
|
+
/** Minimum append-origin user/assistant messages; must not exceed maxMessages. */
|
|
449
|
+
readonly minMessages: number;
|
|
450
|
+
/** Minimum Turn starts crossed, including the partial Turn at beforeSeq. */
|
|
451
|
+
readonly minTurns: number;
|
|
452
|
+
};
|
|
420
453
|
}
|
|
421
454
|
/** One live event request for a durable Session address. */
|
|
422
|
-
export interface SessionFollowRequest {
|
|
455
|
+
export interface SessionFollowRequest extends Pick<SessionPageRequest, 'maxMessages' | 'turnWindow'> {
|
|
423
456
|
readonly address: SessionAddress;
|
|
424
|
-
readonly maxMessages?: number;
|
|
425
457
|
/** Include process-local assistant presentation frames for the Web client. */
|
|
426
458
|
readonly assistantStream?: true;
|
|
427
459
|
}
|
|
@@ -489,19 +521,8 @@ export type SessionFollowFrame = {
|
|
|
489
521
|
readonly type: 'assistant-stream';
|
|
490
522
|
readonly frame: SessionAssistantStreamFrame;
|
|
491
523
|
};
|
|
492
|
-
/** Browser-safe background-job row. */
|
|
493
|
-
export interface SessionJob {
|
|
494
|
-
readonly id: JobId;
|
|
495
|
-
readonly kind: string;
|
|
496
|
-
readonly label: string;
|
|
497
|
-
readonly status: 'running' | 'stopping' | 'completed' | 'killed' | 'failed';
|
|
498
|
-
readonly detail?: string;
|
|
499
|
-
readonly startedAt: number;
|
|
500
|
-
readonly finishedAt?: number;
|
|
501
|
-
}
|
|
502
524
|
/** Complete live control baseline emitted once per control stream generation. */
|
|
503
525
|
export interface SessionControlBaseline {
|
|
504
|
-
readonly jobs: Readonly<Record<SessionId, readonly SessionJob[]>>;
|
|
505
526
|
readonly projections: Readonly<Record<SessionId, SessionProjectionBaseline>>;
|
|
506
527
|
}
|
|
507
528
|
/** One finished projection value and its durable watermark. */
|
|
@@ -515,19 +536,16 @@ export interface SessionProjectionUpdate {
|
|
|
515
536
|
export type SessionControlFrame = {
|
|
516
537
|
readonly type: 'baseline';
|
|
517
538
|
readonly value: SessionControlBaseline;
|
|
518
|
-
} | {
|
|
519
|
-
readonly type: 'jobs';
|
|
520
|
-
readonly sessionId: SessionId;
|
|
521
|
-
readonly jobs: readonly SessionJob[];
|
|
522
539
|
} | ({
|
|
523
540
|
readonly type: 'projection';
|
|
524
541
|
} & SessionProjectionUpdate);
|
|
525
542
|
declare module '@deepseek-ai/cordis' {
|
|
526
543
|
interface Events {
|
|
527
544
|
/**
|
|
528
|
-
* A Session became visible
|
|
545
|
+
* A Session became visible or its Agent was created or disposed.
|
|
546
|
+
* Consumers upsert the summary and replace its current running and availability state.
|
|
529
547
|
* @mode emit
|
|
530
|
-
* @param summary -
|
|
548
|
+
* @param summary - current list row for the Session.
|
|
531
549
|
*/
|
|
532
550
|
'api-session/added'(summary: SessionSummary): void;
|
|
533
551
|
/**
|
|
@@ -561,4 +579,6 @@ declare module '@deepseek-ai/cordis' {
|
|
|
561
579
|
}
|
|
562
580
|
/** JSON-compatible projection value accepted by list consumers. */
|
|
563
581
|
export type SessionProjectionValue = JsonValue;
|
|
582
|
+
/** Application metadata returned by the serving desktop for one file. */
|
|
583
|
+
export type SessionWorkspacePathApplication = NativeFileApplication;
|
|
564
584
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/types/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-api-session-controller",
|
|
3
3
|
"description": "Session Remote commands, cold reads, and live control transport",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.7-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -67,45 +67,41 @@
|
|
|
67
67
|
"dependencies": {
|
|
68
68
|
"mime-types": "^3.0.2",
|
|
69
69
|
"zod": "^4.4.3",
|
|
70
|
-
"@deepseek-ai/
|
|
71
|
-
"@deepseek-ai/dsh-
|
|
72
|
-
"@deepseek-ai/
|
|
70
|
+
"@deepseek-ai/schemastery": "~3.18.4",
|
|
71
|
+
"@deepseek-ai/dsh-brand": "0.1.7-alpha.2",
|
|
72
|
+
"@deepseek-ai/dsh-deque": "0.1.7-alpha.2"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"@deepseek-ai/
|
|
76
|
-
"@deepseek-ai/
|
|
77
|
-
"@deepseek-ai/dsh-agent-default-model": "
|
|
78
|
-
"@deepseek-ai/dsh-agent-
|
|
79
|
-
"@deepseek-ai/dsh-api-gateway": "
|
|
80
|
-
"@deepseek-ai/dsh-attachment": "
|
|
81
|
-
"@deepseek-ai/dsh-client-connection": "
|
|
82
|
-
"@deepseek-ai/dsh-
|
|
83
|
-
"@deepseek-ai/dsh-
|
|
84
|
-
"@deepseek-ai/dsh-
|
|
85
|
-
"@deepseek-ai/dsh-
|
|
86
|
-
"@deepseek-ai/dsh-
|
|
87
|
-
"@deepseek-ai/dsh-
|
|
88
|
-
"@deepseek-ai/dsh-
|
|
89
|
-
"@deepseek-ai/dsh-session-projection
|
|
90
|
-
"@deepseek-ai/dsh-session-
|
|
91
|
-
"@deepseek-ai/dsh-session-query": "
|
|
92
|
-
"@deepseek-ai/dsh-
|
|
93
|
-
"@deepseek-ai/dsh-
|
|
94
|
-
"@deepseek-ai/dsh-
|
|
95
|
-
"@deepseek-ai/dsh-
|
|
96
|
-
"@deepseek-ai/dsh-
|
|
97
|
-
"@deepseek-ai/dsh-
|
|
98
|
-
"@deepseek-ai/dsh-
|
|
99
|
-
"@deepseek-ai/dsh-util-
|
|
100
|
-
"@deepseek-ai/dsh-
|
|
101
|
-
"@deepseek-ai/dsh-workspace": "
|
|
102
|
-
"@deepseek-ai/dsh-
|
|
103
|
-
"@deepseek-ai/dsh-session-persistence": "^0.1.6-alpha.2"
|
|
75
|
+
"@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
|
|
76
|
+
"@deepseek-ai/cordis": "~4.0.4",
|
|
77
|
+
"@deepseek-ai/dsh-agent-default-model": "0.1.7-alpha.2",
|
|
78
|
+
"@deepseek-ai/dsh-agent-preset-registry": "0.1.7-alpha.2",
|
|
79
|
+
"@deepseek-ai/dsh-api-gateway": "0.1.7-alpha.2",
|
|
80
|
+
"@deepseek-ai/dsh-attachment": "0.1.7-alpha.2",
|
|
81
|
+
"@deepseek-ai/dsh-client-connection": "0.1.7-alpha.2",
|
|
82
|
+
"@deepseek-ai/dsh-client-file-upload": "0.1.7-alpha.2",
|
|
83
|
+
"@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
|
|
84
|
+
"@deepseek-ai/dsh-native-command": "0.1.7-alpha.2",
|
|
85
|
+
"@deepseek-ai/dsh-scope": "0.1.7-alpha.2",
|
|
86
|
+
"@deepseek-ai/dsh-session": "0.1.7-alpha.2",
|
|
87
|
+
"@deepseek-ai/dsh-file-reference": "0.1.7-alpha.2",
|
|
88
|
+
"@deepseek-ai/dsh-session-persistence": "0.1.7-alpha.2",
|
|
89
|
+
"@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
|
|
90
|
+
"@deepseek-ai/dsh-session-projection-cache": "0.1.7-alpha.2",
|
|
91
|
+
"@deepseek-ai/dsh-session-query": "0.1.7-alpha.2",
|
|
92
|
+
"@deepseek-ai/dsh-session-title": "0.1.7-alpha.2",
|
|
93
|
+
"@deepseek-ai/dsh-fs": "0.1.7-alpha.2",
|
|
94
|
+
"@deepseek-ai/dsh-commands": "0.1.7-alpha.2",
|
|
95
|
+
"@deepseek-ai/dsh-skill": "0.1.7-alpha.2",
|
|
96
|
+
"@deepseek-ai/dsh-subagent": "0.1.7-alpha.2",
|
|
97
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.7-alpha.2",
|
|
98
|
+
"@deepseek-ai/dsh-typert-registry": "0.1.7-alpha.2",
|
|
99
|
+
"@deepseek-ai/dsh-util-time": "0.1.7-alpha.2",
|
|
100
|
+
"@deepseek-ai/dsh-util-workspace-path": "0.1.7-alpha.2",
|
|
101
|
+
"@deepseek-ai/dsh-workspace": "0.1.7-alpha.2",
|
|
102
|
+
"@deepseek-ai/dsh-util-values": "0.1.7-alpha.2"
|
|
104
103
|
},
|
|
105
104
|
"peerDependenciesMeta": {
|
|
106
|
-
"@deepseek-ai/dsh-jobs": {
|
|
107
|
-
"optional": true
|
|
108
|
-
},
|
|
109
105
|
"@deepseek-ai/dsh-session-persistence": {
|
|
110
106
|
"optional": true
|
|
111
107
|
},
|
|
@@ -115,46 +111,45 @@
|
|
|
115
111
|
},
|
|
116
112
|
"devDependencies": {
|
|
117
113
|
"@types/mime-types": "^3.0.1",
|
|
118
|
-
"@deepseek-ai/cordis": "
|
|
119
|
-
"@deepseek-ai/dsh-agent": "
|
|
120
|
-
"@deepseek-ai/dsh-agent-default-model": "
|
|
121
|
-
"@deepseek-ai/dsh-agent-
|
|
122
|
-
"@deepseek-ai/dsh-agent-loop-testkit": "
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
124
|
-
"@deepseek-ai/dsh-
|
|
125
|
-
"@deepseek-ai/dsh-client-connection": "
|
|
126
|
-
"@deepseek-ai/dsh-
|
|
127
|
-
"@deepseek-ai/dsh-client-
|
|
128
|
-
"@deepseek-ai/dsh-
|
|
129
|
-
"@deepseek-ai/dsh-commands": "
|
|
130
|
-
"@deepseek-ai/dsh-
|
|
131
|
-
"@deepseek-ai/dsh-fs-local": "
|
|
132
|
-
"@deepseek-ai/dsh-
|
|
133
|
-
"@deepseek-ai/dsh-
|
|
134
|
-
"@deepseek-ai/dsh-
|
|
135
|
-
"@deepseek-ai/dsh-
|
|
136
|
-
"@deepseek-ai/dsh-
|
|
137
|
-
"@deepseek-ai/dsh-
|
|
138
|
-
"@deepseek-ai/dsh-
|
|
139
|
-
"@deepseek-ai/dsh-
|
|
140
|
-
"@deepseek-ai/dsh-session-projection-cache": "
|
|
141
|
-
"@deepseek-ai/dsh-session-
|
|
142
|
-
"@deepseek-ai/dsh-session-
|
|
143
|
-
"@deepseek-ai/dsh-
|
|
144
|
-
"@deepseek-ai/dsh-
|
|
145
|
-
"@deepseek-ai/dsh-
|
|
146
|
-
"@deepseek-ai/dsh-storage-domain": "
|
|
147
|
-
"@deepseek-ai/dsh-storage-json": "
|
|
148
|
-
"@deepseek-ai/dsh-
|
|
149
|
-
"@deepseek-ai/dsh-
|
|
150
|
-
"@deepseek-ai/dsh-
|
|
151
|
-
"@deepseek-ai/dsh-
|
|
152
|
-
"@deepseek-ai/dsh-util-
|
|
153
|
-
"@deepseek-ai/dsh-
|
|
154
|
-
"@deepseek-ai/dsh-util-
|
|
155
|
-
"@deepseek-ai/dsh-
|
|
156
|
-
"@deepseek-ai/dsh-
|
|
157
|
-
"@deepseek-ai/dsh-session-persistence": "^0.1.6-alpha.2"
|
|
114
|
+
"@deepseek-ai/cordis": "~4.0.4",
|
|
115
|
+
"@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
|
|
116
|
+
"@deepseek-ai/dsh-agent-default-model": "0.1.7-alpha.2",
|
|
117
|
+
"@deepseek-ai/dsh-agent-loop": "0.1.7-alpha.2",
|
|
118
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-alpha.2",
|
|
119
|
+
"@deepseek-ai/dsh-agent-preset-registry": "0.1.7-alpha.2",
|
|
120
|
+
"@deepseek-ai/dsh-api-gateway": "0.1.7-alpha.2",
|
|
121
|
+
"@deepseek-ai/dsh-client-connection": "0.1.7-alpha.2",
|
|
122
|
+
"@deepseek-ai/dsh-attachment": "0.1.7-alpha.2",
|
|
123
|
+
"@deepseek-ai/dsh-client-test-runtime": "0.1.7-alpha.2",
|
|
124
|
+
"@deepseek-ai/dsh-file-reference": "0.1.7-alpha.2",
|
|
125
|
+
"@deepseek-ai/dsh-commands": "0.1.7-alpha.2",
|
|
126
|
+
"@deepseek-ai/dsh-fs": "0.1.7-alpha.2",
|
|
127
|
+
"@deepseek-ai/dsh-fs-local": "0.1.7-alpha.2",
|
|
128
|
+
"@deepseek-ai/dsh-permission-presets": "0.1.7-alpha.2",
|
|
129
|
+
"@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
|
|
130
|
+
"@deepseek-ai/dsh-remote-mock": "0.1.7-alpha.2",
|
|
131
|
+
"@deepseek-ai/dsh-native-command": "0.1.7-alpha.2",
|
|
132
|
+
"@deepseek-ai/dsh-session": "0.1.7-alpha.2",
|
|
133
|
+
"@deepseek-ai/dsh-session-persistence": "0.1.7-alpha.2",
|
|
134
|
+
"@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
|
|
135
|
+
"@deepseek-ai/dsh-scope": "0.1.7-alpha.2",
|
|
136
|
+
"@deepseek-ai/dsh-session-projection-cache": "0.1.7-alpha.2",
|
|
137
|
+
"@deepseek-ai/dsh-session-query": "0.1.7-alpha.2",
|
|
138
|
+
"@deepseek-ai/dsh-session-title": "0.1.7-alpha.2",
|
|
139
|
+
"@deepseek-ai/dsh-client-store": "0.1.7-alpha.2",
|
|
140
|
+
"@deepseek-ai/dsh-client-file-upload": "0.1.7-alpha.2",
|
|
141
|
+
"@deepseek-ai/dsh-skill": "0.1.7-alpha.2",
|
|
142
|
+
"@deepseek-ai/dsh-storage-domain": "0.1.7-alpha.2",
|
|
143
|
+
"@deepseek-ai/dsh-storage-json": "0.1.7-alpha.2",
|
|
144
|
+
"@deepseek-ai/dsh-storage": "0.1.7-alpha.2",
|
|
145
|
+
"@deepseek-ai/dsh-subagent": "0.1.7-alpha.2",
|
|
146
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.7-alpha.2",
|
|
147
|
+
"@deepseek-ai/dsh-typert-registry": "0.1.7-alpha.2",
|
|
148
|
+
"@deepseek-ai/dsh-util-crypto": "0.1.7-alpha.2",
|
|
149
|
+
"@deepseek-ai/dsh-util-time": "0.1.7-alpha.2",
|
|
150
|
+
"@deepseek-ai/dsh-util-values": "0.1.7-alpha.2",
|
|
151
|
+
"@deepseek-ai/dsh-workspace": "0.1.7-alpha.2",
|
|
152
|
+
"@deepseek-ai/dsh-util-workspace-path": "0.1.7-alpha.2"
|
|
158
153
|
},
|
|
159
154
|
"scripts": {
|
|
160
155
|
"bundle": "tsdown",
|