dsh-rewind-plugin 0.14.0-beta.3 → 0.15.0-beta.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/docs/compat/audit.md +2 -2
- package/docs/compat/tracking-boundary.md +1 -1
- package/docs/compat/tracking-boundary.zh.md +1 -1
- package/docs/release/release.md +2 -2
- package/docs/release/release.zh.md +2 -2
- package/lib/client.js +9 -4
- package/lib/index.js +5 -3
- package/lib/types/client/styles.d.ts +1 -1
- package/lib/types/locales.d.ts +1 -0
- package/package.json +52 -54
package/docs/compat/audit.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
> compatibility invariants. A probe failure is a finding; it enters the
|
|
9
9
|
> fix/pin/record loop.
|
|
10
10
|
>
|
|
11
|
-
> Targeted version: npm `@deepseek-ai/*@0.
|
|
11
|
+
> Targeted version: npm `@deepseek-ai/*@0.2.0-rc.1` (the peers declare the matching range).
|
|
12
12
|
> Source reference: the upstream [github.com/deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness).
|
|
13
13
|
>
|
|
14
14
|
> Version alignment: one peer tuple per DSH line, declaring only what was verified — the
|
|
@@ -64,7 +64,7 @@ legacy branch).
|
|
|
64
64
|
- **marker vs `/compact`**: the checkpoint shape is unchanged on this line — a `user/message` replace (`surfaceOp {replace, startSeq, endSeq}` + `sourceEventSeqs`); `assistant/message` still cannot carry `sourceEventSeqs`.
|
|
65
65
|
- **`image/offload` projection**: the alpha line's first `SessionMessageProjection` changes derived content without touching surface node membership; candidate listing and target resolution tolerate it. Pin: `tests/image-offload-projection.test.ts`.
|
|
66
66
|
- **session-cwd**: the fs tools no longer canonicalize a parent-traversing cwd, so `src/session-cwd.ts` returns `header.cwd` verbatim. Pin: `tests/session-cwd.test.ts`.
|
|
67
|
-
- **startup admission (`0.1.7-rc.1`)**: the gate reads the manifest's own `@deepseek-ai/dsh-*` peers and requires each to satisfy the runtime with `includePrerelease`; it runs for a profile bundle and again for every row its patch inserts, and a denial skips the bundle or disables the row. This plugin's declarations all satisfy
|
|
67
|
+
- **startup admission (`0.1.7-rc.1`)**: the gate reads the manifest's own `@deepseek-ai/dsh-*` peers and requires each to satisfy the runtime with `includePrerelease`; it runs for a profile bundle and again for every row its patch inserts, and a denial skips the bundle or disables the row. This plugin's declarations all satisfy the targeted version above, so it is admitted with no exemption — a skipped bundle on a later line is a peer mismatch, not a load failure.
|
|
68
68
|
|
|
69
69
|
## Known behavior boundaries (deterministic differences, non-crash, documented)
|
|
70
70
|
|
|
@@ -179,7 +179,7 @@ recorded the state after it — in case 1 nothing was recorded at all.
|
|
|
179
179
|
| Msg | In the turn | File content | Backup |
|
|
180
180
|
| :---: | --- | :---: | --- |
|
|
181
181
|
| 1 | `write` creates it | `—` → `A` | `null` |
|
|
182
|
-
| 2 |
|
|
182
|
+
| 2 | the edit grows it past the cap | `A` → `G1` | `A` (differs from the previous backup `null`) |
|
|
183
183
|
| 3 | a write-class tool or an external edit | `G1` → `G2` | (none: over the cap, not backed up) |
|
|
184
184
|
| 4 | shrinks back to `B` | `G2` → `B` | (none: still over the cap on arrival, so the re-check skipped it) |
|
|
185
185
|
| 5 | `edit` | `B` → `X` | `B` (a before-write backup; tracking resumes) |
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
| 消息 | 回合内发生 | 文件内容 | 备份 |
|
|
112
112
|
| :---: | --- | :---: | --- |
|
|
113
113
|
| 1 | `write` 新建 | `—` → `A` | `null` |
|
|
114
|
-
| 2 |
|
|
114
|
+
| 2 | 文件扩充 | `A` → `G1` | `A`(与上一份备份 `null` 不一致) |
|
|
115
115
|
| 3 | 写类工具或外部修改 | `G1` → `G2` | (无:超过上限,不备份) |
|
|
116
116
|
| 4 | 缩回 `B` | `G2` → `B` | (无:消息到达时仍超限,跳过复查) |
|
|
117
117
|
| 5 | `edit` | `B` → `X` | `B`(写前备份,重新追踪) |
|
package/docs/release/release.md
CHANGED
|
@@ -93,8 +93,8 @@ outside it.
|
|
|
93
93
|
- **After DSH goes final**: final releases are not bound by the prerelease
|
|
94
94
|
tuple rule, so the peers can converge to a single stable range (e.g.
|
|
95
95
|
`^0.1.x`); this section can then be deleted.
|
|
96
|
-
- **Declared minimum (`
|
|
97
|
-
release declares the DSH runtime floor under `
|
|
96
|
+
- **Declared minimum (`engines.dsh`)**: alongside the peer tuple, each
|
|
97
|
+
release declares the DSH runtime floor under `engines.dsh` (e.g.
|
|
98
98
|
`>=0.1.2-rc.1`). Nothing reads it on the current line yet, so it is a
|
|
99
99
|
forward-looking declaration rather than an enforced guard. Bump it in
|
|
100
100
|
the same release that changes the peer range; never leave code raised while
|
|
@@ -81,8 +81,8 @@ DSH 仍在 rc 阶段,npm 的 prerelease 匹配规则要求 peer 范围与宿
|
|
|
81
81
|
范围 → `npm install` → `npm run check` → 发版。
|
|
82
82
|
- **正式版后收敛**:DSH 发布 final 版本后,正式版不受 prerelease 元组规则
|
|
83
83
|
限制,peer 可收敛为稳定的 `^0.1.x` 单范围,此节即可删除。
|
|
84
|
-
- **声明的最低运行时(`
|
|
85
|
-
`
|
|
84
|
+
- **声明的最低运行时(`engines.dsh`)**:与 peer 元组一起,每个发布在
|
|
85
|
+
`engines.dsh` 声明 DSH 运行时下限(如 `>=0.1.2-rc.1`)。当前线上还没有
|
|
86
86
|
任何读取方,因此它只是前置声明、尚未被强制执行。**与 peer 范围持平的同一发布里
|
|
87
87
|
一并 bump**;不可只升代码、声明下限停留在旧值。仅使用 `>=X.Y.Z[-pre]` 形式。
|
|
88
88
|
- **peer 在启动时会被强制执行(`0.1.7-rc.1`)**:DSH 会拿 bundle 自身的
|
package/lib/client.js
CHANGED
|
@@ -259,8 +259,9 @@ var STYLE = `
|
|
|
259
259
|
display: inline-flex;
|
|
260
260
|
align-items: center;
|
|
261
261
|
justify-content: center;
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
/* The neighbouring action buttons scale by this delta too. */
|
|
263
|
+
width: calc(28px + var(--dsh-content-font-delta, 0px));
|
|
264
|
+
height: calc(28px + var(--dsh-content-font-delta, 0px));
|
|
264
265
|
padding: 6px;
|
|
265
266
|
border: none;
|
|
266
267
|
border-radius: var(--dsw-radius-sm, 8px);
|
|
@@ -268,6 +269,10 @@ var STYLE = `
|
|
|
268
269
|
color: var(--dsw-alias-label-tertiary);
|
|
269
270
|
cursor: pointer;
|
|
270
271
|
}
|
|
272
|
+
.dsh-rewind-btn svg {
|
|
273
|
+
width: calc(15px + var(--dsh-content-font-delta, 0px));
|
|
274
|
+
height: calc(15px + var(--dsh-content-font-delta, 0px));
|
|
275
|
+
}
|
|
271
276
|
.dsh-rewind-btn:hover {
|
|
272
277
|
background: var(--dsw-alias-interactive-bg-hover);
|
|
273
278
|
color: var(--dsw-alias-label-secondary);
|
|
@@ -1271,9 +1276,9 @@ function createRewindBridge(deps) {
|
|
|
1271
1276
|
}
|
|
1272
1277
|
|
|
1273
1278
|
// src/client/build-info.ts
|
|
1274
|
-
var PLUGIN_VERSION = true ? "0.
|
|
1279
|
+
var PLUGIN_VERSION = true ? "0.15.0-beta.1" : "dev";
|
|
1275
1280
|
var PLUGIN_PACKAGE = "dsh-rewind-plugin";
|
|
1276
|
-
var BUILD_HASH = true ? "
|
|
1281
|
+
var BUILD_HASH = true ? "ebac409a" : "dev";
|
|
1277
1282
|
|
|
1278
1283
|
// src/client/locales.ts
|
|
1279
1284
|
var zh = {
|
package/lib/index.js
CHANGED
|
@@ -38,7 +38,8 @@ var en = {
|
|
|
38
38
|
"success": "Withdrawn seq {targetSeq} and everything after it (conversation returned to earlier){restore}.",
|
|
39
39
|
"noUserMessages": "This session has no rewindable user messages yet.",
|
|
40
40
|
"chooseMode": "Rewind to {target}. Choose a mode:\n /rewind {target} chat conversation only\n /rewind {target} both conversation + file restore",
|
|
41
|
-
"command.description": "Rewind the conversation
|
|
41
|
+
"command.description": "Rewind the conversation and/or code to a previous point",
|
|
42
|
+
"command.undoDescription": "Alias of /rewind",
|
|
42
43
|
"cleanup.description": "Manage automatic cleanup of session snapshot backups",
|
|
43
44
|
"cleanup.inputHint": "on | off | max-age <days> | run [--apply] [--current]",
|
|
44
45
|
"cleanup.status": "Auto-cleanup: {state}. Max age: {days} day(s).",
|
|
@@ -90,7 +91,8 @@ var zh = {
|
|
|
90
91
|
"success": "\u5DF2\u64A4\u56DE seq {targetSeq} \u53CA\u4E4B\u540E\u5185\u5BB9\uFF08\u5BF9\u8BDD\u5DF2\u56DE\u5230\u6B64\u524D\uFF09{restore}\u3002",
|
|
91
92
|
"noUserMessages": "\u5F53\u524D\u4F1A\u8BDD\u8FD8\u6CA1\u6709\u53EF\u56DE\u9000\u7684\u7528\u6237\u6D88\u606F\u3002",
|
|
92
93
|
"chooseMode": "\u5C06\u56DE\u9000\u5230 {target}\u3002\u9009\u62E9\u6A21\u5F0F\uFF1A\n /rewind {target} chat \u4EC5\u56DE\u9000\u5BF9\u8BDD\n /rewind {target} both \u56DE\u9000\u5BF9\u8BDD\u5E76\u8FD8\u539F\u6587\u4EF6",
|
|
93
|
-
"command.description": "\
|
|
94
|
+
"command.description": "\u56DE\u9000\u5BF9\u8BDD\u548C/\u6216\u4EE3\u7801\u5230\u4E4B\u524D\u7684\u67D0\u6761\u6D88\u606F",
|
|
95
|
+
"command.undoDescription": "/rewind \u7684\u522B\u540D",
|
|
94
96
|
"cleanup.description": "\u7BA1\u7406\u4F1A\u8BDD\u5FEB\u7167\u5907\u4EFD\u7684\u81EA\u52A8\u6E05\u7406",
|
|
95
97
|
"cleanup.inputHint": "on | off | max-age <\u5929\u6570> | run [--apply] [--current]",
|
|
96
98
|
"cleanup.status": "\u81EA\u52A8\u6E05\u7406\uFF1A{state}\u3002\u6700\u5927\u4FDD\u7559\u5929\u6570\uFF1A{days} \u5929\u3002",
|
|
@@ -2887,7 +2889,7 @@ function apply(ctx, config) {
|
|
|
2887
2889
|
});
|
|
2888
2890
|
yield ctx.commands.register({
|
|
2889
2891
|
name: "undo",
|
|
2890
|
-
description: t("command.
|
|
2892
|
+
description: t("command.undoDescription"),
|
|
2891
2893
|
handler: rewindHandler
|
|
2892
2894
|
});
|
|
2893
2895
|
yield ctx.commands.register({
|
|
@@ -31,4 +31,4 @@ export declare const CLASS: {
|
|
|
31
31
|
*/
|
|
32
32
|
export declare const REWIND_ICON_SVG: string;
|
|
33
33
|
/** One injected stylesheet (scoped under `.dsh-rewind-*`). */
|
|
34
|
-
export declare const STYLE = "\n.dsh-rewind-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 6px;\n border: none;\n border-radius: var(--dsw-radius-sm, 8px);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n.dsh-rewind-btn:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-rewind-popover {\n position: fixed;\n z-index: 1000;\n width: 288px;\n padding: 12px;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 12px;\n background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-3));\n box-shadow: var(--dsw-shadow-lv3);\n font-size: 14px;\n line-height: 20px;\n color: var(--dsw-alias-label-primary);\n}\n.dsh-rewind-popover-title {\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n}\n.dsh-rewind-popover-target {\n margin: 4px 0 10px;\n font-size: 12px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n word-break: break-all;\n}\n.dsh-rewind-popover-option {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin: 0 0 6px;\n padding: 8px 10px;\n border: 1px solid transparent;\n border-radius: 8px;\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n}\n.dsh-rewind-popover-option:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n/* Arrow navigation moves real focus, so the focused row carries the pointer's\n fill and the browser ring is suppressed: in dark mode the UA two-tone ring\n draws its dark half against the filled row and reads as a residue edge (the\n harness Menu suppresses it the same way). */\n.dsh-rewind-popover-option:focus-visible:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n outline: none;\n}\n.dsh-rewind-popover-option:disabled {\n opacity: 0.5;\n cursor: default;\n}\n.dsh-rewind-popover-option-label {\n font-weight: 500;\n}\n.dsh-rewind-popover-option-hint {\n font-size: 12px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n}\n.dsh-rewind-popover-impact {\n margin: 4px 0 10px;\n padding: 8px 10px;\n border-radius: 8px;\n background: var(--dsw-alias-interactive-bg-hover);\n font-size: 12px;\n line-height: 16px;\n color: var(--dsw-alias-label-secondary);\n white-space: pre-wrap;\n max-height: 160px;\n overflow: auto;\n}\n.dsh-rewind-popover-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n.dsh-rewind-popover-primary,\n.dsh-rewind-popover-ghost {\n padding: 5px 12px;\n border: none;\n border-radius: 8px;\n font: inherit;\n font-size: 13px;\n line-height: 18px;\n cursor: pointer;\n}\n.dsh-rewind-popover-primary {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.dsh-rewind-popover-primary:hover:not(:disabled) {\n background: var(--dsw-alias-button-primary-hover);\n}\n.dsh-rewind-popover-primary:disabled {\n opacity: 0.5;\n cursor: default;\n}\n.dsh-rewind-popover-ghost {\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n}\n.dsh-rewind-popover-ghost:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dsh-rewind-guard-hint {\n position: fixed;\n z-index: 1000;\n max-width: min(440px, calc(100vw - 24px));\n padding: 8px 12px;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 10px;\n background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-3));\n box-shadow: var(--dsw-shadow-lv3);\n font-size: 13px;\n line-height: 18px;\n color: var(--dsw-alias-label-primary);\n pointer-events: none;\n}\n\n/* ---- Snapshot-cleanup configuration form ---- */\n/* The Plugins page draws the bundle's title, icon, crumb, description, and the\n shared settings form frame (labels, save, read-only and failure lines); this\n styles only the one control the card owns: the auto-cleanup toggle row. */\n.dsh-rewind-cleanup-permission {\n display: grid;\n gap: 6px;\n padding: 12px 0;\n}\n.dsh-rewind-cleanup-toggle-row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n font-size: 13px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n.dsh-rewind-cleanup-toggle-label {\n flex: 1;\n min-width: 0;\n}\n.dsh-rewind-cleanup-hint {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n";
|
|
34
|
+
export declare const STYLE = "\n.dsh-rewind-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n /* The neighbouring action buttons scale by this delta too. */\n width: calc(28px + var(--dsh-content-font-delta, 0px));\n height: calc(28px + var(--dsh-content-font-delta, 0px));\n padding: 6px;\n border: none;\n border-radius: var(--dsw-radius-sm, 8px);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n.dsh-rewind-btn svg {\n width: calc(15px + var(--dsh-content-font-delta, 0px));\n height: calc(15px + var(--dsh-content-font-delta, 0px));\n}\n.dsh-rewind-btn:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n.dsh-rewind-popover {\n position: fixed;\n z-index: 1000;\n width: 288px;\n padding: 12px;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 12px;\n background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-3));\n box-shadow: var(--dsw-shadow-lv3);\n font-size: 14px;\n line-height: 20px;\n color: var(--dsw-alias-label-primary);\n}\n.dsh-rewind-popover-title {\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n}\n.dsh-rewind-popover-target {\n margin: 4px 0 10px;\n font-size: 12px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n word-break: break-all;\n}\n.dsh-rewind-popover-option {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin: 0 0 6px;\n padding: 8px 10px;\n border: 1px solid transparent;\n border-radius: 8px;\n background: transparent;\n color: inherit;\n font: inherit;\n text-align: left;\n cursor: pointer;\n}\n.dsh-rewind-popover-option:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n/* Arrow navigation moves real focus, so the focused row carries the pointer's\n fill and the browser ring is suppressed: in dark mode the UA two-tone ring\n draws its dark half against the filled row and reads as a residue edge (the\n harness Menu suppresses it the same way). */\n.dsh-rewind-popover-option:focus-visible:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n outline: none;\n}\n.dsh-rewind-popover-option:disabled {\n opacity: 0.5;\n cursor: default;\n}\n.dsh-rewind-popover-option-label {\n font-weight: 500;\n}\n.dsh-rewind-popover-option-hint {\n font-size: 12px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n}\n.dsh-rewind-popover-impact {\n margin: 4px 0 10px;\n padding: 8px 10px;\n border-radius: 8px;\n background: var(--dsw-alias-interactive-bg-hover);\n font-size: 12px;\n line-height: 16px;\n color: var(--dsw-alias-label-secondary);\n white-space: pre-wrap;\n max-height: 160px;\n overflow: auto;\n}\n.dsh-rewind-popover-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n.dsh-rewind-popover-primary,\n.dsh-rewind-popover-ghost {\n padding: 5px 12px;\n border: none;\n border-radius: 8px;\n font: inherit;\n font-size: 13px;\n line-height: 18px;\n cursor: pointer;\n}\n.dsh-rewind-popover-primary {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.dsh-rewind-popover-primary:hover:not(:disabled) {\n background: var(--dsw-alias-button-primary-hover);\n}\n.dsh-rewind-popover-primary:disabled {\n opacity: 0.5;\n cursor: default;\n}\n.dsh-rewind-popover-ghost {\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n}\n.dsh-rewind-popover-ghost:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.dsh-rewind-guard-hint {\n position: fixed;\n z-index: 1000;\n max-width: min(440px, calc(100vw - 24px));\n padding: 8px 12px;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 10px;\n background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-3));\n box-shadow: var(--dsw-shadow-lv3);\n font-size: 13px;\n line-height: 18px;\n color: var(--dsw-alias-label-primary);\n pointer-events: none;\n}\n\n/* ---- Snapshot-cleanup configuration form ---- */\n/* The Plugins page draws the bundle's title, icon, crumb, description, and the\n shared settings form frame (labels, save, read-only and failure lines); this\n styles only the one control the card owns: the auto-cleanup toggle row. */\n.dsh-rewind-cleanup-permission {\n display: grid;\n gap: 6px;\n padding: 12px 0;\n}\n.dsh-rewind-cleanup-toggle-row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n font-size: 13px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n.dsh-rewind-cleanup-toggle-label {\n flex: 1;\n min-width: 0;\n}\n.dsh-rewind-cleanup-hint {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n";
|
package/lib/types/locales.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-rewind-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0-beta.1",
|
|
4
4
|
"description": "In-window conversation rewind with workspace file restore · 同窗口内对话回退并可还原工作区文件",
|
|
5
5
|
"icon": "./assets/icon.svg",
|
|
6
6
|
"keywords": [
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"homepage": "https://github.com/SiriLee/dsh-rewind#readme",
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"engines": {
|
|
22
|
-
"node": "^22.19.0 || >=24.0.0"
|
|
22
|
+
"node": "^22.19.0 || >=24.0.0",
|
|
23
|
+
"dsh": ">=0.2.0-rc.1"
|
|
23
24
|
},
|
|
24
25
|
"type": "module",
|
|
25
26
|
"main": "lib/index.js",
|
|
@@ -52,9 +53,6 @@
|
|
|
52
53
|
"bundle": {
|
|
53
54
|
"patch": "./cordis.patch.yml"
|
|
54
55
|
},
|
|
55
|
-
"engines": {
|
|
56
|
-
"dsh": ">=0.1.7-rc.2"
|
|
57
|
-
},
|
|
58
56
|
"client": {
|
|
59
57
|
"inject": [
|
|
60
58
|
"@deepseek-ai/dsh-client-locale",
|
|
@@ -78,20 +76,20 @@
|
|
|
78
76
|
},
|
|
79
77
|
"peerDependencies": {
|
|
80
78
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
81
|
-
"@deepseek-ai/dsh-client-locale": "^0.
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-commands": "^0.
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-primitives": "^0.
|
|
85
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.
|
|
86
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.
|
|
87
|
-
"@deepseek-ai/dsh-commands": "^0.
|
|
88
|
-
"@deepseek-ai/dsh-fs": "^0.
|
|
89
|
-
"@deepseek-ai/dsh-home-paths": "^0.
|
|
90
|
-
"@deepseek-ai/dsh-llm": "^0.
|
|
91
|
-
"@deepseek-ai/dsh-sandbox": "^0.
|
|
92
|
-
"@deepseek-ai/dsh-session": "^0.
|
|
93
|
-
"@deepseek-ai/dsh-settings": "^0.
|
|
94
|
-
"@deepseek-ai/dsh-tools": "^0.
|
|
79
|
+
"@deepseek-ai/dsh-client-locale": "^0.2.0-rc.1",
|
|
80
|
+
"@deepseek-ai/dsh-client-ui-commands": "^0.2.0-rc.1",
|
|
81
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.2.0-rc.1",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.2.0-rc.1",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.2.0-rc.1",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.1",
|
|
85
|
+
"@deepseek-ai/dsh-commands": "^0.2.0-rc.1",
|
|
86
|
+
"@deepseek-ai/dsh-fs": "^0.2.0-rc.1",
|
|
87
|
+
"@deepseek-ai/dsh-home-paths": "^0.2.0-rc.1",
|
|
88
|
+
"@deepseek-ai/dsh-llm": "^0.2.0-rc.1",
|
|
89
|
+
"@deepseek-ai/dsh-sandbox": "^0.2.0-rc.1",
|
|
90
|
+
"@deepseek-ai/dsh-session": "^0.2.0-rc.1",
|
|
91
|
+
"@deepseek-ai/dsh-settings": "^0.2.0-rc.1",
|
|
92
|
+
"@deepseek-ai/dsh-tools": "^0.2.0-rc.1",
|
|
95
93
|
"@deepseek-ai/schemastery": "^3.18.4"
|
|
96
94
|
},
|
|
97
95
|
"peerDependenciesMeta": {
|
|
@@ -147,41 +145,41 @@
|
|
|
147
145
|
"devDependencies": {
|
|
148
146
|
"@deepseek-ai/cordis": "4.0.3",
|
|
149
147
|
"@deepseek-ai/cosmokit": "1.8.4",
|
|
150
|
-
"@deepseek-ai/dsh-agent": "0.
|
|
151
|
-
"@deepseek-ai/dsh-api-session-controller": "0.
|
|
152
|
-
"@deepseek-ai/dsh-attachment": "0.
|
|
153
|
-
"@deepseek-ai/dsh-client-connection": "0.
|
|
154
|
-
"@deepseek-ai/dsh-client-locale": "0.
|
|
155
|
-
"@deepseek-ai/dsh-client-store": "0.
|
|
156
|
-
"@deepseek-ai/dsh-client-ui-commands": "0.
|
|
157
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.
|
|
158
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.
|
|
159
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.
|
|
160
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.
|
|
161
|
-
"@deepseek-ai/dsh-client-ui-session": "0.
|
|
162
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.
|
|
163
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.
|
|
164
|
-
"@deepseek-ai/dsh-command-compact": "0.
|
|
165
|
-
"@deepseek-ai/dsh-commands": "0.
|
|
166
|
-
"@deepseek-ai/dsh-compaction": "0.
|
|
167
|
-
"@deepseek-ai/dsh-compaction-basic": "0.
|
|
168
|
-
"@deepseek-ai/dsh-compaction-image-offload": "0.
|
|
169
|
-
"@deepseek-ai/dsh-fs": "0.
|
|
170
|
-
"@deepseek-ai/dsh-goal": "0.
|
|
171
|
-
"@deepseek-ai/dsh-home-paths": "0.
|
|
172
|
-
"@deepseek-ai/dsh-llm": "0.
|
|
173
|
-
"@deepseek-ai/dsh-plan-mode": "0.
|
|
174
|
-
"@deepseek-ai/dsh-sandbox": "0.
|
|
175
|
-
"@deepseek-ai/dsh-scope": "0.
|
|
176
|
-
"@deepseek-ai/dsh-session": "0.
|
|
177
|
-
"@deepseek-ai/dsh-session-projection": "0.
|
|
178
|
-
"@deepseek-ai/dsh-session-stats": "0.
|
|
179
|
-
"@deepseek-ai/dsh-session-title": "0.
|
|
180
|
-
"@deepseek-ai/dsh-settings": "0.
|
|
181
|
-
"@deepseek-ai/dsh-token-meter": "0.
|
|
182
|
-
"@deepseek-ai/dsh-tools": "0.
|
|
183
|
-
"@deepseek-ai/dsh-typert-protocol": "0.
|
|
184
|
-
"@deepseek-ai/dsh-user-questions": "0.
|
|
148
|
+
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
|
|
149
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.1",
|
|
150
|
+
"@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
|
|
151
|
+
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
|
|
152
|
+
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
|
|
153
|
+
"@deepseek-ai/dsh-client-store": "0.2.0-rc.1",
|
|
154
|
+
"@deepseek-ai/dsh-client-ui-commands": "0.2.0-rc.1",
|
|
155
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.1",
|
|
156
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.2.0-rc.1",
|
|
157
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.1",
|
|
158
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.1",
|
|
159
|
+
"@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.1",
|
|
160
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.1",
|
|
161
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.1",
|
|
162
|
+
"@deepseek-ai/dsh-command-compact": "0.2.0-rc.1",
|
|
163
|
+
"@deepseek-ai/dsh-commands": "0.2.0-rc.1",
|
|
164
|
+
"@deepseek-ai/dsh-compaction": "0.2.0-rc.1",
|
|
165
|
+
"@deepseek-ai/dsh-compaction-basic": "0.2.0-rc.1",
|
|
166
|
+
"@deepseek-ai/dsh-compaction-image-offload": "0.2.0-rc.1",
|
|
167
|
+
"@deepseek-ai/dsh-fs": "0.2.0-rc.1",
|
|
168
|
+
"@deepseek-ai/dsh-goal": "0.2.0-rc.1",
|
|
169
|
+
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.1",
|
|
170
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
|
|
171
|
+
"@deepseek-ai/dsh-plan-mode": "0.2.0-rc.1",
|
|
172
|
+
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1",
|
|
173
|
+
"@deepseek-ai/dsh-scope": "0.2.0-rc.1",
|
|
174
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.1",
|
|
175
|
+
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
|
|
176
|
+
"@deepseek-ai/dsh-session-stats": "0.2.0-rc.1",
|
|
177
|
+
"@deepseek-ai/dsh-session-title": "0.2.0-rc.1",
|
|
178
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
|
|
179
|
+
"@deepseek-ai/dsh-token-meter": "0.2.0-rc.1",
|
|
180
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
|
|
181
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.1",
|
|
182
|
+
"@deepseek-ai/dsh-user-questions": "0.2.0-rc.1",
|
|
185
183
|
"@deepseek-ai/schemastery": "3.18.4",
|
|
186
184
|
"@types/node": "^24.0.0",
|
|
187
185
|
"@types/react": "^18.3.31",
|