dsh-code 0.9.1 → 1.0.1
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.en.md +278 -249
- package/README.md +131 -102
- package/bin/deepseek.mjs +100 -6
- package/cordis.patch.yml +36 -1
- package/lib/index.mjs +3055 -819
- package/lib/startup.mjs +21 -11
- package/lib/{theme-BEi4i_aN.mjs → theme-DCT8Y2xf.mjs} +13 -9
- package/lib/types/app.d.ts +84 -16
- package/lib/types/attachments.d.ts +20 -0
- package/lib/types/authorization-panel.d.ts +22 -0
- package/lib/types/authorization.d.ts +36 -0
- package/lib/types/editor.d.ts +6 -0
- package/lib/types/fork.d.ts +8 -0
- package/lib/types/git-workflow.d.ts +23 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/kernel-panels.d.ts +39 -0
- package/lib/types/keyboard.d.ts +41 -0
- package/lib/types/mentions.d.ts +30 -38
- package/lib/types/models.d.ts +3 -1
- package/lib/types/permissions.d.ts +4 -14
- package/lib/types/presets.d.ts +5 -20
- package/lib/types/provider-settings.d.ts +16 -0
- package/lib/types/render/animations.d.ts +10 -39
- package/lib/types/render/editor.d.ts +137 -0
- package/lib/types/render/export.d.ts +1 -1
- package/lib/types/render/lines.d.ts +6 -2
- package/lib/types/render/markdown.d.ts +3 -1
- package/lib/types/render/projection.d.ts +29 -3
- package/lib/types/render/status.d.ts +6 -13
- package/lib/types/session-directory.d.ts +1 -3
- package/lib/types/startup.d.ts +14 -11
- package/lib/types/store.d.ts +11 -9
- package/lib/types/subagents.d.ts +3 -3
- package/lib/types/theme.d.ts +14 -1
- package/lib/types/version.d.ts +15 -2
- package/package.json +159 -141
- package/src/app.ts +1490 -663
- package/src/attachments.ts +128 -0
- package/src/authorization-panel.ts +285 -0
- package/src/authorization.ts +147 -0
- package/src/editor.ts +51 -0
- package/src/fork.ts +31 -0
- package/src/git-workflow.ts +87 -0
- package/src/index.ts +1523 -1374
- package/src/internals.ts +14 -1
- package/src/kernel-panels.ts +914 -798
- package/src/keyboard.ts +126 -0
- package/src/mentions.ts +78 -117
- package/src/models.ts +20 -14
- package/src/permissions.ts +5 -13
- package/src/presets.ts +6 -22
- package/src/provider-settings.ts +95 -1
- package/src/render/animations.ts +420 -450
- package/src/render/editor.ts +398 -0
- package/src/render/export.ts +79 -79
- package/src/render/lines.ts +342 -236
- package/src/render/markdown.ts +99 -26
- package/src/render/projection.ts +106 -19
- package/src/render/status.ts +713 -650
- package/src/render/text.ts +150 -150
- package/src/render/tool-detail.ts +3 -1
- package/src/session-directory.ts +4 -4
- package/src/startup.ts +136 -119
- package/src/store.ts +23 -11
- package/src/subagents.ts +13 -5
- package/src/theme.ts +214 -206
- package/src/version.ts +58 -1
|
@@ -50,10 +50,8 @@ export interface SessionRow {
|
|
|
50
50
|
readonly preset: string;
|
|
51
51
|
readonly title?: string;
|
|
52
52
|
}
|
|
53
|
-
/** True
|
|
53
|
+
/** True only for delegated subagents; ordinary forks also carry lineage. */
|
|
54
54
|
export declare function isSubagentSession(header: SessionHeader): boolean;
|
|
55
|
-
/** Platform-consistent path equality for session cwd comparisons. */
|
|
56
|
-
export declare function samePath(left: string | undefined, right: string): boolean;
|
|
57
55
|
/**
|
|
58
56
|
* Unique header match by exact id or unique id prefix (root and subagent
|
|
59
57
|
* headers alike); the caller applies any lineage gate.
|
package/lib/types/startup.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The interactive terminal app's command-line provider: parses `--resume`,
|
|
3
|
-
* `--continue`, `--session`, `--mode`, `--theme`,
|
|
3
|
+
* `--continue`, `--session`, `--mode`, `--theme`, `--image`, an optional
|
|
4
|
+
* initial prompt, and `--help`, then
|
|
4
5
|
* publishes {@link TUI_STARTUP_SERVICE} for the runner to consume lazily.
|
|
5
6
|
* Follows the headless bundle's startup shape (a commander action publishing
|
|
6
7
|
* a service through {@link parseCmdline}).
|
|
@@ -25,32 +26,33 @@ import { type ThemeName } from './theme.ts';
|
|
|
25
26
|
export declare const name = "tui-startup";
|
|
26
27
|
/** Services required before the invocation can be resolved. */
|
|
27
28
|
export declare const inject: string[];
|
|
28
|
-
/** Service provided by this plugin and injected by the terminal runner. */
|
|
29
|
-
export declare const TUI_STARTUP_SERVICE = "tuiStartup";
|
|
30
29
|
/** How the runner obtains its session identity. */
|
|
31
|
-
export type TuiStartup = {
|
|
30
|
+
export type TuiStartup = ({
|
|
32
31
|
readonly kind: 'fresh';
|
|
33
32
|
readonly mode?: string;
|
|
34
|
-
|
|
35
|
-
} | {
|
|
33
|
+
} & TuiStartupInput) | ({
|
|
36
34
|
readonly kind: 'named';
|
|
37
35
|
readonly sessionId: string;
|
|
38
36
|
readonly mode?: string;
|
|
39
|
-
|
|
40
|
-
} | {
|
|
37
|
+
} & TuiStartupInput) | ({
|
|
41
38
|
readonly kind: 'resume';
|
|
42
39
|
readonly sessionId: string;
|
|
43
|
-
|
|
44
|
-
} | {
|
|
40
|
+
} & TuiStartupInput) | ({
|
|
45
41
|
readonly kind: 'latest';
|
|
42
|
+
} & TuiStartupInput);
|
|
43
|
+
interface TuiStartupInput {
|
|
46
44
|
readonly theme?: ThemeName;
|
|
47
|
-
|
|
45
|
+
readonly prompt?: string;
|
|
46
|
+
readonly images?: readonly string[];
|
|
47
|
+
}
|
|
48
48
|
export interface TuiStartupOptions {
|
|
49
49
|
readonly resume?: string;
|
|
50
50
|
readonly continue?: boolean;
|
|
51
51
|
readonly session?: string;
|
|
52
52
|
readonly mode?: string;
|
|
53
53
|
readonly theme?: ThemeName;
|
|
54
|
+
readonly prompt?: string;
|
|
55
|
+
readonly images?: readonly string[];
|
|
54
56
|
}
|
|
55
57
|
/** Pure option policy shared by Commander and tests. */
|
|
56
58
|
export declare function resolveTuiStartup(options: TuiStartupOptions): TuiStartup;
|
|
@@ -60,3 +62,4 @@ export declare function resolveTuiStartup(options: TuiStartupOptions): TuiStartu
|
|
|
60
62
|
* @param ctx - plugin context carrying the command line and exit request.
|
|
61
63
|
*/
|
|
62
64
|
export declare function apply(ctx: Context): void;
|
|
65
|
+
export {};
|
package/lib/types/store.d.ts
CHANGED
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Notification coalescing: the fold stays synchronous — `getView()` always
|
|
7
7
|
* returns the latest state the moment `apply` returns — but listener
|
|
8
|
-
* notification is
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
8
|
+
* notification is frame-throttled (~16ms) and deduplicated. The zai/GLM
|
|
9
|
+
* adapter delivers tokens as a sustained stream of sub-millisecond,
|
|
10
|
+
* microtask-spaced bursts: per-burst notification renders at microtask
|
|
11
|
+
* cadence, which chained SyncLane `useSyncExternalStore` rerenders past
|
|
12
|
+
* React's nested-update limit ("Maximum update depth exceeded"), while a
|
|
13
|
+
* bare `setImmediate` merges a whole macrotask turn's bursts into one
|
|
14
|
+
* chunky repaint (streaming text visibly staggers). The frame budget gives
|
|
15
|
+
* both: an event ≥16ms after the last paint notifies via `setImmediate`
|
|
16
|
+
* (sub-millisecond latency for sparse/first tokens), and anything denser
|
|
17
|
+
* defers to the next 16ms boundary — a 60fps render cap that also breaks
|
|
18
|
+
* the nesting chain by construction.
|
|
17
19
|
*
|
|
18
20
|
* @module @deepseek-ai/dsh-tui/store
|
|
19
21
|
*/
|
package/lib/types/subagents.d.ts
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
* running state, bounded last-activity text), capped at
|
|
10
10
|
* {@link MAX_SUBAGENT_ROWS}. Rows are advisory display state, rebuilt from
|
|
11
11
|
* live events; nothing here persists or replays. Notification is coalesced
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* by the same ~16ms frame throttle as the transcript store (per-burst
|
|
13
|
+
* microtask notify chained SyncLane rerenders past React's nested update
|
|
14
|
+
* limit; a bare macrotask merge repaints a whole turn's bursts at once).
|
|
15
15
|
*
|
|
16
16
|
* @module @deepseek-ai/dsh-code/subagents
|
|
17
17
|
*/
|
package/lib/types/theme.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
/** One RGB triple for a palette token. */
|
|
18
18
|
export type RgbTriple = readonly [number, number, number];
|
|
19
19
|
/** Palette token keys shared by every theme. */
|
|
20
|
-
export type ThemeToken = 'brand' | 'brandBright' | 'brandMid' | 'brandDeep' | 'dim' | 'success' | 'error' | 'warn' | 'text' | 'code';
|
|
20
|
+
export type ThemeToken = 'brand' | 'brandBright' | 'brandMid' | 'brandDeep' | 'dim' | 'success' | 'error' | 'warn' | 'text' | 'code' | 'composerBand';
|
|
21
21
|
/** One full color palette: every token key mapped to an RGB triple. */
|
|
22
22
|
export type ThemePalette = Readonly<Record<ThemeToken, RgbTriple>>;
|
|
23
23
|
/** Selectable theme names: dark, light, or auto (terminal-sensed). */
|
|
@@ -50,6 +50,8 @@ export declare const DARK_PALETTE: {
|
|
|
50
50
|
readonly text: readonly [236, 240, 246];
|
|
51
51
|
/** Inline/fenced code — soft sky blue, distinct from brand accents. */
|
|
52
52
|
readonly code: readonly [125, 211, 252];
|
|
53
|
+
/** Composer three-row band base — neutral light gray, hue-free so wave tints read on it. */
|
|
54
|
+
readonly composerBand: readonly [46, 48, 52];
|
|
53
55
|
};
|
|
54
56
|
/**
|
|
55
57
|
* Light palette tuned for white terminals: the same token keys as dark with
|
|
@@ -78,6 +80,8 @@ export declare const LIGHT_PALETTE: {
|
|
|
78
80
|
readonly text: readonly [21, 21, 23];
|
|
79
81
|
/** Inline/fenced code — Tailwind cyan-700, distinct from brand accents. */
|
|
80
82
|
readonly code: readonly [14, 116, 144];
|
|
83
|
+
/** Composer three-row band base — neutral light gray, hue-free so wave tints read on it. */
|
|
84
|
+
readonly composerBand: readonly [229, 231, 235];
|
|
81
85
|
};
|
|
82
86
|
/** Every palette by theme name; auto resolves through {@link resolveTheme}. */
|
|
83
87
|
export declare const PALETTES: {
|
|
@@ -102,6 +106,8 @@ export declare const PALETTES: {
|
|
|
102
106
|
readonly text: readonly [236, 240, 246];
|
|
103
107
|
/** Inline/fenced code — soft sky blue, distinct from brand accents. */
|
|
104
108
|
readonly code: readonly [125, 211, 252];
|
|
109
|
+
/** Composer three-row band base — neutral light gray, hue-free so wave tints read on it. */
|
|
110
|
+
readonly composerBand: readonly [46, 48, 52];
|
|
105
111
|
};
|
|
106
112
|
readonly light: {
|
|
107
113
|
/** Primary brand blue — unchanged, ≈4.9:1 AA on white. */
|
|
@@ -124,6 +130,8 @@ export declare const PALETTES: {
|
|
|
124
130
|
readonly text: readonly [21, 21, 23];
|
|
125
131
|
/** Inline/fenced code — Tailwind cyan-700, distinct from brand accents. */
|
|
126
132
|
readonly code: readonly [14, 116, 144];
|
|
133
|
+
/** Composer three-row band base — neutral light gray, hue-free so wave tints read on it. */
|
|
134
|
+
readonly composerBand: readonly [229, 231, 235];
|
|
127
135
|
};
|
|
128
136
|
};
|
|
129
137
|
/**
|
|
@@ -131,6 +139,9 @@ export declare const PALETTES: {
|
|
|
131
139
|
* two-palette switch keep compiling and painting identically (the default
|
|
132
140
|
* theme IS dark). New code should read the active palette through
|
|
133
141
|
* {@link getPalette} so a theme switch reaches it.
|
|
142
|
+
*
|
|
143
|
+
* @deprecated Read the active palette through {@link getPalette}; this
|
|
144
|
+
* compatibility alias is removed in the next minor release.
|
|
134
145
|
*/
|
|
135
146
|
export declare const TUI_RGB: {
|
|
136
147
|
/** Primary brand blue — `--dsw-static-deepseek-500`. */
|
|
@@ -153,6 +164,8 @@ export declare const TUI_RGB: {
|
|
|
153
164
|
readonly text: readonly [236, 240, 246];
|
|
154
165
|
/** Inline/fenced code — soft sky blue, distinct from brand accents. */
|
|
155
166
|
readonly code: readonly [125, 211, 252];
|
|
167
|
+
/** Composer three-row band base — neutral light gray, hue-free so wave tints read on it. */
|
|
168
|
+
readonly composerBand: readonly [46, 48, 52];
|
|
156
169
|
};
|
|
157
170
|
/**
|
|
158
171
|
* Resolve a theme name to the palette actually in use. `auto` detection
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
/** Installed dsh-code version exposed by the terminal header. */
|
|
2
|
-
/** Read one package manifest version without making terminal startup depend on it. */
|
|
3
|
-
export declare function readPackageVersion(manifest?: import("url").URL): string;
|
|
4
2
|
/** Version of the installed dsh-code package. */
|
|
5
3
|
export declare const DSH_CODE_VERSION: string;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the running dsh CLI host's version from its entry file
|
|
6
|
+
* (`process.argv[1]`, e.g. `.../@deepseek-ai/dsh/lib/bin.js`). Only a manifest
|
|
7
|
+
* literally named `@deepseek-ai/dsh` counts, so an unrelated entry (vitest, a
|
|
8
|
+
* plain node script) resolves to undefined instead of faking a kernel version.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveDshHostVersion(entry?: string | undefined): string | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* The dsh kernel version the TUI runs on, memoized after the first probe: the
|
|
13
|
+
* host process never changes within a run, and the header reads this on every
|
|
14
|
+
* Static replay.
|
|
15
|
+
*/
|
|
16
|
+
export declare function dshKernelVersion(): string | undefined;
|
|
17
|
+
/** Test-only: forget the memoized kernel version so a new argv can be probed. */
|
|
18
|
+
export declare function _resetDshKernelVersionForTests(): void;
|
package/package.json
CHANGED
|
@@ -1,141 +1,159 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "dsh-code",
|
|
3
|
-
"description": "
|
|
4
|
-
"version": "0.
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"deepseek": "./bin/deepseek.mjs",
|
|
8
|
-
"dsh-code": "./bin/deepseek.mjs"
|
|
9
|
-
},
|
|
10
|
-
"main": "lib/index.mjs",
|
|
11
|
-
"types": "lib/types/index.d.ts",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"types": "./lib/types/index.d.ts",
|
|
15
|
-
"default": "./lib/index.mjs"
|
|
16
|
-
},
|
|
17
|
-
"./startup": {
|
|
18
|
-
"types": "./lib/types/startup.d.ts",
|
|
19
|
-
"default": "./lib/startup.mjs"
|
|
20
|
-
},
|
|
21
|
-
"./invariant": {
|
|
22
|
-
"types": "./lib/types/invariant.d.ts",
|
|
23
|
-
"default": "./lib/invariant.mjs"
|
|
24
|
-
},
|
|
25
|
-
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
26
|
-
"./src/*": "./src/*",
|
|
27
|
-
"./package.json": "./package.json"
|
|
28
|
-
},
|
|
29
|
-
"files": [
|
|
30
|
-
"lib",
|
|
31
|
-
"cordis.patch.yml",
|
|
32
|
-
"src"
|
|
33
|
-
],
|
|
34
|
-
"license": "MIT",
|
|
35
|
-
"keywords": [
|
|
36
|
-
"deepseek",
|
|
37
|
-
"dsh",
|
|
38
|
-
"deepseek-harness",
|
|
39
|
-
"tui",
|
|
40
|
-
"terminal",
|
|
41
|
-
"claude-code",
|
|
42
|
-
"agent",
|
|
43
|
-
"ink"
|
|
44
|
-
],
|
|
45
|
-
"repository": {
|
|
46
|
-
"type": "git",
|
|
47
|
-
"url": "git+https://github.com/unlinearity/dsh-code.git"
|
|
48
|
-
},
|
|
49
|
-
"dsh": {
|
|
50
|
-
"bundle": {
|
|
51
|
-
"patch": "./cordis.patch.yml"
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
"scripts": {
|
|
55
|
-
"build": "tsdown && tsc -p tsconfig.json",
|
|
56
|
-
"test": "vitest run",
|
|
57
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
58
|
-
"gen:whale": "tsx scripts/gen-whale-glyph.ts",
|
|
59
|
-
"prepare": "pnpm build",
|
|
60
|
-
"prepublishOnly": "pnpm typecheck && pnpm test && pnpm build"
|
|
61
|
-
},
|
|
62
|
-
"engines": {
|
|
63
|
-
"node": "^22.19 || >=24"
|
|
64
|
-
},
|
|
65
|
-
"dependencies": {
|
|
66
|
-
"@deepseek-ai/
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"@deepseek-ai/
|
|
76
|
-
"@deepseek-ai/
|
|
77
|
-
"@deepseek-ai/dsh-
|
|
78
|
-
"@deepseek-ai/dsh-
|
|
79
|
-
"@deepseek-ai/dsh-
|
|
80
|
-
"@deepseek-ai/dsh-
|
|
81
|
-
"@deepseek-ai/dsh-
|
|
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-
|
|
90
|
-
"@deepseek-ai/dsh-
|
|
91
|
-
"@deepseek-ai/dsh-
|
|
92
|
-
"@deepseek-ai/dsh-
|
|
93
|
-
"@deepseek-ai/dsh-
|
|
94
|
-
"@deepseek-ai/dsh-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
"@deepseek-ai/
|
|
98
|
-
"@deepseek-ai/
|
|
99
|
-
"@deepseek-ai/dsh-
|
|
100
|
-
"@deepseek-ai/dsh-
|
|
101
|
-
"@deepseek-ai/dsh-
|
|
102
|
-
"@deepseek-ai/dsh-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
"@deepseek-ai/
|
|
106
|
-
"@deepseek-ai/
|
|
107
|
-
"@deepseek-ai/dsh-
|
|
108
|
-
"@deepseek-ai/dsh-
|
|
109
|
-
"@deepseek-ai/dsh-
|
|
110
|
-
"@deepseek-ai/dsh-
|
|
111
|
-
"@deepseek-ai/dsh-
|
|
112
|
-
"@deepseek-ai/dsh-
|
|
113
|
-
"@deepseek-ai/dsh-
|
|
114
|
-
"@deepseek-ai/dsh-
|
|
115
|
-
"@deepseek-ai/dsh-
|
|
116
|
-
"@deepseek-ai/dsh-
|
|
117
|
-
"@deepseek-ai/dsh-
|
|
118
|
-
"@deepseek-ai/dsh-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
"@deepseek-ai/dsh-
|
|
122
|
-
"@deepseek-ai/dsh-
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
124
|
-
"@deepseek-ai/dsh-
|
|
125
|
-
"@deepseek-ai/dsh-
|
|
126
|
-
"@deepseek-ai/dsh-
|
|
127
|
-
"@deepseek-ai/dsh-
|
|
128
|
-
"@deepseek-ai/dsh-session-
|
|
129
|
-
"@deepseek-ai/dsh-session-
|
|
130
|
-
"@deepseek-ai/dsh-
|
|
131
|
-
"@deepseek-ai/dsh-
|
|
132
|
-
"@deepseek-ai/dsh-user-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
"@
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-code",
|
|
3
|
+
"description": "DeepSeek Harness CLI core bundle: interactive coding terminal, durable sessions, and model management for dsh --profile cli",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"deepseek": "./bin/deepseek.mjs",
|
|
8
|
+
"dsh-code": "./bin/deepseek.mjs"
|
|
9
|
+
},
|
|
10
|
+
"main": "lib/index.mjs",
|
|
11
|
+
"types": "lib/types/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./lib/types/index.d.ts",
|
|
15
|
+
"default": "./lib/index.mjs"
|
|
16
|
+
},
|
|
17
|
+
"./startup": {
|
|
18
|
+
"types": "./lib/types/startup.d.ts",
|
|
19
|
+
"default": "./lib/startup.mjs"
|
|
20
|
+
},
|
|
21
|
+
"./invariant": {
|
|
22
|
+
"types": "./lib/types/invariant.d.ts",
|
|
23
|
+
"default": "./lib/invariant.mjs"
|
|
24
|
+
},
|
|
25
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
26
|
+
"./src/*": "./src/*",
|
|
27
|
+
"./package.json": "./package.json"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"lib",
|
|
31
|
+
"cordis.patch.yml",
|
|
32
|
+
"src"
|
|
33
|
+
],
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"keywords": [
|
|
36
|
+
"deepseek",
|
|
37
|
+
"dsh",
|
|
38
|
+
"deepseek-harness",
|
|
39
|
+
"tui",
|
|
40
|
+
"terminal",
|
|
41
|
+
"claude-code",
|
|
42
|
+
"agent",
|
|
43
|
+
"ink"
|
|
44
|
+
],
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "git+https://github.com/unlinearity/dsh-code.git"
|
|
48
|
+
},
|
|
49
|
+
"dsh": {
|
|
50
|
+
"bundle": {
|
|
51
|
+
"patch": "./cordis.patch.yml"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsdown && tsc -p tsconfig.json",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
58
|
+
"gen:whale": "tsx scripts/gen-whale-glyph.ts",
|
|
59
|
+
"prepare": "pnpm build",
|
|
60
|
+
"prepublishOnly": "pnpm typecheck && pnpm test && pnpm build"
|
|
61
|
+
},
|
|
62
|
+
"engines": {
|
|
63
|
+
"node": "^22.19 || >=24"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"@deepseek-ai/dsh-authorization": "0.1.1-rc.2",
|
|
67
|
+
"@deepseek-ai/dsh-web-fetch-http": "0.1.1-rc.2",
|
|
68
|
+
"@deepseek-ai/schemastery": "^3.18.1",
|
|
69
|
+
"chalk": "^5.6.2",
|
|
70
|
+
"commander": "^15.0.0",
|
|
71
|
+
"ink": "^5.2.1",
|
|
72
|
+
"react": "^18.3.1"
|
|
73
|
+
},
|
|
74
|
+
"peerDependencies": {
|
|
75
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
76
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.2",
|
|
77
|
+
"@deepseek-ai/dsh-attachment": "0.1.1-rc.2",
|
|
78
|
+
"@deepseek-ai/dsh-agent": "0.1.1-rc.2",
|
|
79
|
+
"@deepseek-ai/dsh-agent-default-model": "0.1.1-rc.2",
|
|
80
|
+
"@deepseek-ai/dsh-agent-presets": "0.1.1-rc.2",
|
|
81
|
+
"@deepseek-ai/dsh-cmdline": "0.1.1-rc.2",
|
|
82
|
+
"@deepseek-ai/dsh-code-runtime-worker-thread": "0.1.1-rc.2",
|
|
83
|
+
"@deepseek-ai/dsh-commands": "0.1.1-rc.2",
|
|
84
|
+
"@deepseek-ai/dsh-compaction": "0.1.1-rc.2",
|
|
85
|
+
"@deepseek-ai/dsh-cordis-host-runner": "0.1.1-rc.2",
|
|
86
|
+
"@deepseek-ai/dsh-credentials": "0.1.1-rc.2",
|
|
87
|
+
"@deepseek-ai/dsh-file-reference-local": "0.1.1-rc.2",
|
|
88
|
+
"@deepseek-ai/dsh-goal": "0.1.1-rc.2",
|
|
89
|
+
"@deepseek-ai/dsh-invariants": "0.1.1-rc.2",
|
|
90
|
+
"@deepseek-ai/dsh-jobs": "0.1.1-rc.2",
|
|
91
|
+
"@deepseek-ai/dsh-llm": "0.1.1-rc.2",
|
|
92
|
+
"@deepseek-ai/dsh-llm-retry": "0.1.1-rc.2",
|
|
93
|
+
"@deepseek-ai/dsh-permission-presets": "0.1.1-rc.2",
|
|
94
|
+
"@deepseek-ai/dsh-plan-mode": "0.1.1-rc.2",
|
|
95
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.1-rc.2",
|
|
96
|
+
"@deepseek-ai/dsh-session": "0.1.1-rc.2",
|
|
97
|
+
"@deepseek-ai/dsh-session-persistence": "0.1.1-rc.2",
|
|
98
|
+
"@deepseek-ai/dsh-session-reference": "0.1.1-rc.2",
|
|
99
|
+
"@deepseek-ai/dsh-session-title": "0.1.1-rc.2",
|
|
100
|
+
"@deepseek-ai/dsh-skill": "0.1.1-rc.2",
|
|
101
|
+
"@deepseek-ai/dsh-user-approval": "0.1.1-rc.2",
|
|
102
|
+
"@deepseek-ai/dsh-user-questions": "0.1.1-rc.2"
|
|
103
|
+
},
|
|
104
|
+
"peerDependenciesMeta": {
|
|
105
|
+
"@deepseek-ai/cordis": { "optional": true },
|
|
106
|
+
"@deepseek-ai/cordis-plugin-loader": { "optional": true },
|
|
107
|
+
"@deepseek-ai/dsh-agent": { "optional": true },
|
|
108
|
+
"@deepseek-ai/dsh-attachment": { "optional": true },
|
|
109
|
+
"@deepseek-ai/dsh-agent-default-model": { "optional": true },
|
|
110
|
+
"@deepseek-ai/dsh-agent-presets": { "optional": true },
|
|
111
|
+
"@deepseek-ai/dsh-cmdline": { "optional": true },
|
|
112
|
+
"@deepseek-ai/dsh-cordis-host-runner": { "optional": true },
|
|
113
|
+
"@deepseek-ai/dsh-credentials": { "optional": true },
|
|
114
|
+
"@deepseek-ai/dsh-file-reference-local": { "optional": true },
|
|
115
|
+
"@deepseek-ai/dsh-code-runtime-worker-thread": { "optional": true },
|
|
116
|
+
"@deepseek-ai/dsh-commands": { "optional": true },
|
|
117
|
+
"@deepseek-ai/dsh-compaction": { "optional": true },
|
|
118
|
+
"@deepseek-ai/dsh-goal": { "optional": true },
|
|
119
|
+
"@deepseek-ai/dsh-invariants": { "optional": true },
|
|
120
|
+
"@deepseek-ai/dsh-jobs": { "optional": true },
|
|
121
|
+
"@deepseek-ai/dsh-llm": { "optional": true },
|
|
122
|
+
"@deepseek-ai/dsh-llm-retry": { "optional": true },
|
|
123
|
+
"@deepseek-ai/dsh-permission-presets": { "optional": true },
|
|
124
|
+
"@deepseek-ai/dsh-plan-mode": { "optional": true },
|
|
125
|
+
"@deepseek-ai/dsh-sandbox-policy": { "optional": true },
|
|
126
|
+
"@deepseek-ai/dsh-session": { "optional": true },
|
|
127
|
+
"@deepseek-ai/dsh-session-persistence": { "optional": true },
|
|
128
|
+
"@deepseek-ai/dsh-session-reference": { "optional": true },
|
|
129
|
+
"@deepseek-ai/dsh-session-title": { "optional": true },
|
|
130
|
+
"@deepseek-ai/dsh-skill": { "optional": true },
|
|
131
|
+
"@deepseek-ai/dsh-user-approval": { "optional": true },
|
|
132
|
+
"@deepseek-ai/dsh-user-questions": { "optional": true }
|
|
133
|
+
},
|
|
134
|
+
"devDependencies": {
|
|
135
|
+
"@deepseek-ai/dsh-agent-presets": "0.1.1-rc.2",
|
|
136
|
+
"@deepseek-ai/dsh-attachment": "0.1.1-rc.2",
|
|
137
|
+
"@deepseek-ai/dsh-compaction": "0.1.1-rc.2",
|
|
138
|
+
"@deepseek-ai/dsh-commands": "0.1.1-rc.2",
|
|
139
|
+
"@deepseek-ai/dsh-credentials": "0.1.1-rc.2",
|
|
140
|
+
"@deepseek-ai/dsh-goal": "0.1.1-rc.2",
|
|
141
|
+
"@deepseek-ai/dsh-jobs": "0.1.1-rc.2",
|
|
142
|
+
"@deepseek-ai/dsh-llm-retry": "0.1.1-rc.2",
|
|
143
|
+
"@deepseek-ai/dsh-permission-presets": "0.1.1-rc.2",
|
|
144
|
+
"@deepseek-ai/dsh-plan-mode": "0.1.1-rc.2",
|
|
145
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.1-rc.2",
|
|
146
|
+
"@deepseek-ai/dsh-session-persistence": "0.1.1-rc.2",
|
|
147
|
+
"@deepseek-ai/dsh-session-reference": "0.1.1-rc.2",
|
|
148
|
+
"@deepseek-ai/dsh-session-title": "0.1.1-rc.2",
|
|
149
|
+
"@deepseek-ai/dsh-skill": "0.1.1-rc.2",
|
|
150
|
+
"@deepseek-ai/dsh-user-approval": "0.1.1-rc.2",
|
|
151
|
+
"@deepseek-ai/dsh-user-questions": "0.1.1-rc.2",
|
|
152
|
+
"@types/node": "^24.0.0",
|
|
153
|
+
"@types/react": "~18.3.1",
|
|
154
|
+
"tsdown": "^0.22.2",
|
|
155
|
+
"tsx": "^4.22.4",
|
|
156
|
+
"typescript": "^5.9.0",
|
|
157
|
+
"vitest": "^3.0.0"
|
|
158
|
+
}
|
|
159
|
+
}
|