@benz-ai-x/dsh-research-graph 0.1.7-rc.2 → 0.2.0-rc.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.md CHANGED
@@ -43,7 +43,7 @@ flowchart LR
43
43
  </a>
44
44
  </p>
45
45
 
46
- Version 0.1.7-rc.2 with demo data. Click the image for the full-resolution screenshot.
46
+ Version 0.2.0-rc.2 with demo data. Click the image for the full-resolution screenshot.
47
47
 
48
48
  <a id="features"></a>
49
49
  <a id="what-it-adds"></a>
@@ -66,8 +66,8 @@ Version 0.1.7-rc.2 with demo data. Click the image for the full-resolution scree
66
66
 
67
67
  | Item | Details |
68
68
  | --- | --- |
69
- | Plugin release | [0.1.7-rc.2](https://github.com/benz-ai-x/dsh-research-graph/releases/tag/v0.1.7-rc.2), npm `next` |
70
- | Required Host | **DSH 0.1.7-rc.2 · Web**, Node.js `^22.19.0 \|\| >=24.0.0` |
69
+ | Plugin release | [0.2.0-rc.2](https://github.com/benz-ai-x/dsh-research-graph/releases/tag/v0.2.0-rc.2), npm `next` |
70
+ | Required Host | **DSH 0.2.0-rc.2 · Web**, Node.js `^22.19.0 \|\| >=24.0.0` |
71
71
  | Data | Research records live on the DSH Host; working positions stay in the browser and Topic arrangements require explicit saving |
72
72
  | Model calls | Browsing, manual capture, and export make no model call; AI generation and new discussions use models on demand |
73
73
  | Agent capabilities | DSH provides models, tools, presets, and agent execution; this plugin includes no preset or Agent Team launcher. [Details](docs/user-guide.md#dsh-and-agent-presets) |
@@ -77,10 +77,10 @@ Version 0.1.7-rc.2 with demo data. Click the image for the full-resolution scree
77
77
 
78
78
  ## Quick start
79
79
 
80
- Requires **DSH 0.1.7-rc.2**, with both `dsh` and `pnpm` on your `PATH`. Stop any running `dsh web`, then run:
80
+ Requires **DSH 0.2.0-rc.2**, with both `dsh` and `pnpm` on your `PATH`. Stop any running `dsh web`, then run:
81
81
 
82
82
  ```sh
83
- dsh plugin --profile web add @benz-ai-x/dsh-research-graph@0.1.7-rc.2
83
+ dsh plugin --profile web add @benz-ai-x/dsh-research-graph@0.2.0-rc.2
84
84
  dsh web
85
85
  ```
86
86
 
@@ -88,4 +88,4 @@ Open the login URL printed in the terminal, enter a **non-blank Session**, and s
88
88
 
89
89
  ## Docs and support
90
90
 
91
- [User guide](docs/user-guide.md) · [Troubleshooting](docs/user-guide.md#troubleshooting) · [Development and release](docs/development.md) · [Release acceptance](docs/reviews/release-0.1.7-rc.2.md) · [Report an issue](https://github.com/benz-ai-x/dsh-research-graph/issues)
91
+ [User guide](docs/user-guide.md) · [Troubleshooting](docs/user-guide.md#troubleshooting) · [Development and release](docs/development.md) · [Release acceptance](docs/reviews/release-0.2.0-rc.2.md) · [Report an issue](https://github.com/benz-ai-x/dsh-research-graph/issues)
package/README.zh.md CHANGED
@@ -43,7 +43,7 @@ flowchart LR
43
43
  </a>
44
44
  </p>
45
45
 
46
- 0.1.7-rc.2 的真实界面(演示数据),点击图片查看高清原图。
46
+ 0.2.0-rc.2 的真实界面(演示数据),点击图片查看高清原图。
47
47
 
48
48
  <a id="核心能力"></a>
49
49
 
@@ -65,8 +65,8 @@ flowchart LR
65
65
 
66
66
  | 项目 | 说明 |
67
67
  | --- | --- |
68
- | 当前插件 | [0.1.7-rc.2](https://github.com/benz-ai-x/dsh-research-graph/releases/tag/v0.1.7-rc.2),npm `next` |
69
- | 适配宿主 | **DSH 0.1.7-rc.2 · Web**,Node.js `^22.19.0 \|\| >=24.0.0` |
68
+ | 当前插件 | [0.2.0-rc.2](https://github.com/benz-ai-x/dsh-research-graph/releases/tag/v0.2.0-rc.2),npm `next` |
69
+ | 适配宿主 | **DSH 0.2.0-rc.2 · Web**,Node.js `^22.19.0 \|\| >=24.0.0` |
70
70
  | 数据保存 | 研究数据保存在 DSH Host;工作位置保存在浏览器,主题排列需显式保存 |
71
71
  | 模型调用 | 浏览、手工留卡、导出不调用模型;AI 生成与新讨论按需调用 |
72
72
  | Agent 能力 | 模型、工具、预设与 Agent 执行由 DSH 提供;插件不内置预设或 Agent Team 启动器。[详细说明](docs/user-guide.zh.md#dsh-与-agent-预设) |
@@ -76,10 +76,10 @@ flowchart LR
76
76
 
77
77
  ## 快速开始
78
78
 
79
- 需要 **DSH 0.1.7-rc.2**,并确保 `dsh`、`pnpm` 均在 `PATH` 中。如有正在运行的 `dsh web`,先停止,再执行:
79
+ 需要 **DSH 0.2.0-rc.2**,并确保 `dsh`、`pnpm` 均在 `PATH` 中。如有正在运行的 `dsh web`,先停止,再执行:
80
80
 
81
81
  ```sh
82
- dsh plugin --profile web add @benz-ai-x/dsh-research-graph@0.1.7-rc.2
82
+ dsh plugin --profile web add @benz-ai-x/dsh-research-graph@0.2.0-rc.2
83
83
  dsh web
84
84
  ```
85
85
 
@@ -87,4 +87,4 @@ dsh web
87
87
 
88
88
  ## 文档与支持
89
89
 
90
- [使用指南](docs/user-guide.zh.md) · [故障排查](docs/user-guide.zh.md#故障排查) · [开发与发布](docs/development.zh.md) · [发布验收](docs/reviews/release-0.1.7-rc.2.md) · [问题反馈](https://github.com/benz-ai-x/dsh-research-graph/issues)
90
+ [使用指南](docs/user-guide.zh.md) · [故障排查](docs/user-guide.zh.md#故障排查) · [开发与发布](docs/development.zh.md) · [发布验收](docs/reviews/release-0.2.0-rc.2.md) · [问题反馈](https://github.com/benz-ai-x/dsh-research-graph/issues)
package/lib/client.js CHANGED
@@ -113,9 +113,9 @@ window.__ModuleLoader__.load({
113
113
  /** Published package identity shown in the Graph header tooltip. */
114
114
  const SESSION_GRAPH_PACKAGE_NAME = "@benz-ai-x/dsh-research-graph";
115
115
  /** Package version from package.json at build time. */
116
- const SESSION_GRAPH_VERSION = "0.1.7-rc.2";
116
+ const SESSION_GRAPH_VERSION = "0.2.0-rc.2";
117
117
  /** Content-derived identifier for the exact local browser build. */
118
- const SESSION_GRAPH_BUILD_ID = "local-3920560a";
118
+ const SESSION_GRAPH_BUILD_ID = "local-cfbd9569";
119
119
  /** Compact user-visible version badge. */
120
120
  const SESSION_GRAPH_BUILD_LABEL = `Research Graph v${SESSION_GRAPH_VERSION} · ${SESSION_GRAPH_BUILD_ID}`;
121
121
  /** Complete native-tooltip text for the version badge. */
@@ -1988,7 +1988,7 @@ var Service = class Service {
1988
1988
  }
1989
1989
  };
1990
1990
  //#endregion
1991
- //#region node_modules/.pnpm/@deepseek-ai+dsh-brand@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-brand/lib/index.js
1991
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-brand@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-brand/lib/index.js
1992
1992
  /**
1993
1993
  * Duplicate-install-safe nominal primitive helpers.
1994
1994
  *
@@ -2019,7 +2019,7 @@ function brandNumber(value) {
2019
2019
  return value;
2020
2020
  }
2021
2021
  //#endregion
2022
- //#region node_modules/.pnpm/@deepseek-ai+dsh-util-values@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-util-values/lib/index.js
2022
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-util-values@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-util-values/lib/index.js
2023
2023
  /** Duplicate-install-safe JSON and immutable-value helpers. @module @deepseek-ai/dsh-util-values */
2024
2024
  /**
2025
2025
  * Mark an unreachable closed-union branch.
@@ -2031,12 +2031,12 @@ function assertNever(value, context) {
2031
2031
  const rendered = JSON.stringify(value) ?? String(value);
2032
2032
  throw new Error(`unreachable variant${context ? ` in ${context}` : ""}: ${rendered}`);
2033
2033
  }
2034
- /** Whether a realm-owned intrinsic prototype is backed by its native constructor. */
2034
+ /** Whether a realm-owned intrinsic prototype has a native constructor matching this engine's representation. */
2035
2035
  function hasIntrinsicConstructor(prototype, name) {
2036
2036
  const constructor = Object.getOwnPropertyDescriptor(prototype, "constructor")?.value;
2037
2037
  if (typeof constructor !== "function") return false;
2038
2038
  try {
2039
- return constructor.name === name && constructor.prototype === prototype && Function.prototype.toString.call(constructor) === `function ${name}() { [native code] }`;
2039
+ return constructor.name === name && constructor.prototype === prototype && Function.prototype.toString.call(constructor) === Function.prototype.toString.call(name === "Array" ? Array : Object);
2040
2040
  } catch {
2041
2041
  return false;
2042
2042
  }
@@ -2250,7 +2250,7 @@ function deepFreeze(value) {
2250
2250
  return value;
2251
2251
  }
2252
2252
  //#endregion
2253
- //#region node_modules/.pnpm/@deepseek-ai+dsh-typert-protocol@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-typert-protocol/lib/index.js
2253
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-typert-protocol@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-typert-protocol/lib/index.js
2254
2254
  /** The one Remote failure class shared by owners, the Gateway, and consumers. */
2255
2255
  /**
2256
2256
  * One Remote call failure: a real Error carrying its stable code and typed
@@ -3297,11 +3297,11 @@ defineMethod("transform", [
3297
3297
  "preserve"
3298
3298
  ], ({ inner }, isInner) => inner.toString(isInner));
3299
3299
  //#endregion
3300
- //#region node_modules/.pnpm/@deepseek-ai+dsh-timeout@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-timeout/lib/index.js
3300
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-timeout@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-timeout/lib/index.js
3301
3301
  /** Largest delay Node schedules without clamping it to one millisecond. */
3302
3302
  const MAX_TIMER_DELAY_MS = 2147483647;
3303
3303
  //#endregion
3304
- //#region node_modules/.pnpm/@deepseek-ai+dsh-llm@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-llm/lib/index.js
3304
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-llm@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-llm/lib/index.js
3305
3305
  /**
3306
3306
  * Detach and deep-freeze a message whose identity already exists.
3307
3307
  * @param message - complete message, including its stable identity.
@@ -4581,7 +4581,7 @@ function adapterFailureChunk(error, signal) {
4581
4581
  };
4582
4582
  }
4583
4583
  //#endregion
4584
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2_@deepseek-ai+dsh-scope@0._06a074c3bb2e4e9cc1b714de92d4c1d0/node_modules/@deepseek-ai/dsh-session/lib/index.js
4584
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2_@deepseek-ai+dsh-scope@0._4356adcdb10843233a30579456aae4c9/node_modules/@deepseek-ai/dsh-session/lib/index.js
4585
4585
  /**
4586
4586
  * Brand a string as a {@link SessionId}.
4587
4587
  * @param id - the raw session id string.
@@ -5703,7 +5703,7 @@ var Session = class Session {
5703
5703
  }
5704
5704
  };
5705
5705
  //#endregion
5706
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format/lib/index.js
5706
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format/lib/index.js
5707
5707
  /** Error raised when a durable Session artifact cannot be restored or migrated losslessly. */
5708
5708
  var SessionFormatError = class extends Error {
5709
5709
  name = "SessionFormatError";
@@ -6155,7 +6155,7 @@ function malformed(targetVersion, error, storedVersion) {
6155
6155
  });
6156
6156
  }
6157
6157
  //#endregion
6158
- //#region node_modules/.pnpm/@deepseek-ai+dsh-compaction-image-offload@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2_@deepsee_c23627b9e8ef070eb50adc4fa44b4ccf/node_modules/@deepseek-ai/dsh-compaction-image-offload/lib/types/project-message.js
6158
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-compaction-image-offload@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2_@deepsee_eabbacb679318883141223b71eb8bb72/node_modules/@deepseek-ai/dsh-compaction-image-offload/lib/types/project-message.js
6159
6159
  /** Immutable application of the image occurrences recorded by image/offload. */
6160
6160
  /**
6161
6161
  * Project selected image occurrences to immutable offloaded blocks.
@@ -6195,7 +6195,7 @@ function offloadMessageImages(message, indexes) {
6195
6195
  });
6196
6196
  }
6197
6197
  //#endregion
6198
- //#region node_modules/.pnpm/@deepseek-ai+dsh-compaction-image-offload@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2_@deepsee_c23627b9e8ef070eb50adc4fa44b4ccf/node_modules/@deepseek-ai/dsh-compaction-image-offload/lib/types/projection.js
6198
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-compaction-image-offload@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2_@deepsee_eabbacb679318883141223b71eb8bb72/node_modules/@deepseek-ai/dsh-compaction-image-offload/lib/types/projection.js
6199
6199
  /** Browser-safe durable image selection declaration and pure replay definition. */
6200
6200
  /** Whether a durable value is a JSON object. */
6201
6201
  function isRecord(value) {
@@ -6232,7 +6232,7 @@ const imageOffloadProjection = {
6232
6232
  }
6233
6233
  };
6234
6234
  //#endregion
6235
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v0-to-v1@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v0-to-v1/lib/index.js
6235
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v0-to-v1@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v0-to-v1/lib/index.js
6236
6236
  /**
6237
6237
  * Freeze one exact released payload-member disposition for adjacent format validators.
6238
6238
  * @param required - members that must be present.
@@ -8732,7 +8732,7 @@ function assertCurrentSurfaceSpan(surface, data, type) {
8732
8732
  if (expected.length !== seqs.length || expected.some((seq, index) => seq !== seqs[index])) throw new SessionFormatError(`${type} shadowedSeqs do not name an exact current surface span`);
8733
8733
  }
8734
8734
  //#endregion
8735
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v1-to-v2@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v1-to-v2/lib/index.js
8735
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v1-to-v2@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v1-to-v2/lib/index.js
8736
8736
  const retained = Object.fromEntries(Object.entries(RELEASED_V0_EVENT_DISPOSITIONS).filter(([type]) => type !== "assistant/chunk" && type !== "assistant/message" && type !== "session-log-deepseek/delivery-accepted" && type !== "session/end-seed"));
8737
8737
  /** Exact top-level event and payload-member inventory frozen for released v2. */
8738
8738
  const RELEASED_V2_EVENT_DISPOSITIONS = Object.freeze({
@@ -9556,7 +9556,7 @@ function refusal(message) {
9556
9556
  return new SessionFormatUnsupportedMigrationError(message);
9557
9557
  }
9558
9558
  //#endregion
9559
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v2-to-v3@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v2-to-v3/lib/index.js
9559
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v2-to-v3@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v2-to-v3/lib/index.js
9560
9560
  /** Audited V2 migration admission and V3 payload validation, independent of installed core Session types. */
9561
9561
  /** Audited surface event names; all other admitted events are log-only. */
9562
9562
  const SURFACE_TYPES$1 = /* @__PURE__ */ new Set([
@@ -10410,7 +10410,7 @@ function renameMessageSource(message) {
10410
10410
  };
10411
10411
  }
10412
10412
  //#endregion
10413
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v3-to-v4@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v3-to-v4/lib/index.js
10413
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-v3-to-v4@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2/node_modules/@deepseek-ai/dsh-session-format-v3-to-v4/lib/index.js
10414
10414
  /** Released V3 plugin-source conversion and declared message traversal. */
10415
10415
  /**
10416
10416
  * Visit only messages carried by first-party event payloads.
@@ -11390,7 +11390,7 @@ const sessionFormatV3ToV4 = defineSessionFormatMigration({
11390
11390
  validateTargetHeader: assertReleasedV4Header
11391
11391
  });
11392
11392
  //#endregion
11393
- //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-catalog@0.1.7-rc.2_@deepseek-ai+cordis@4.0.2_@deepseek-_35d8d2dba2ce730bd146db1e7039005f/node_modules/@deepseek-ai/dsh-session-format-catalog/lib/index.js
11393
+ //#region node_modules/.pnpm/@deepseek-ai+dsh-session-format-catalog@0.2.0-rc.2_@deepseek-ai+cordis@4.0.2_@deepseek-_8c1409004a77807bcc4214a537c10961/node_modules/@deepseek-ai/dsh-session-format-catalog/lib/index.js
11394
11394
  /** Pure first-party message interpreters for detached current-format replay, including browser readers. */
11395
11395
  /** Installed interpretation definitions; recovery listeners are mounted separately by their owning plugins. */
11396
11396
  const currentSessionMessageProjections = [imageOffloadProjection];
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "typescript",
22
22
  "react"
23
23
  ],
24
- "version": "0.1.7-rc.2",
24
+ "version": "0.2.0-rc.2",
25
25
  "type": "module",
26
26
  "main": "lib/index.js",
27
27
  "types": "lib/types/index.d.ts",
@@ -94,20 +94,20 @@
94
94
  }
95
95
  },
96
96
  "dependencies": {
97
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2",
97
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
98
98
  "@deepseek-ai/schemastery": "^3.18.4",
99
99
  "clsx": "^2.1.1",
100
100
  "zod": "4.4.3"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "@deepseek-ai/cordis": "^4.0.2",
104
- "@deepseek-ai/dsh-llm": "0.1.7-rc.2"
104
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@deepseek-ai/cordis": "^4.0.2",
108
- "@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
109
- "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
110
- "@deepseek-ai/dsh-session-format-catalog": "0.1.7-rc.2",
108
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
109
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
110
+ "@deepseek-ai/dsh-session-format-catalog": "0.2.0-rc.2",
111
111
  "@testing-library/react": "^16.3.2",
112
112
  "@types/node": "^22.20.0",
113
113
  "@types/react": "~18.3.1",