@michengai/dsh-agency-agents 0.1.43 → 0.1.44

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/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@
4
4
 
5
5
  The five most recent published versions are listed below.
6
6
 
7
+ ## 0.1.44 - 2026-09-18
8
+
9
+ - Add compatibility with DSH `0.1.6-alpha.2` while retaining support for previously supported versions.
10
+ - Keep Remote mounting on both alpha.1 and alpha.2 hosts, and resolve the current chat session after `sessions.list.current` was removed.
11
+ - Stop flashing the loading state under the expert search box when the roster is already cached.
12
+
7
13
  ## 0.1.43 - 2026-09-16
8
14
 
9
15
  - Add compatibility with DSH `0.1.6-alpha.1` while retaining support for previously supported RC versions.
@@ -4,6 +4,12 @@
4
4
 
5
5
  以下记录最近发布的五个版本。
6
6
 
7
+ ## 0.1.44 - 2026-09-18
8
+
9
+ - 新增对 DSH `0.1.6-alpha.2` 的兼容支持,保留已支持的旧版本。
10
+ - Remote 同时带上 `create()` 与 `schema`,可在 alpha.1 / alpha.2 挂载;官方去掉 `sessions.list.current` 后改按 mainView 定位当前会话。
11
+ - 修复点「专家」时搜索框下闪一下「正在处理…」。
12
+
7
13
  ## 0.1.43 - 2026-09-16
8
14
 
9
15
  - 新增对 DSH `0.1.6-alpha.1` 的兼容支持,保留已支持的旧 RC 版本。
package/README.md CHANGED
@@ -73,7 +73,7 @@ DSH `dsh.client.inject` controls browser module loading order. Missing graph ent
73
73
 
74
74
  ## Installation
75
75
 
76
- Supported DeepSeek Harness versions: `0.1.0-rc.8`, `0.1.1-rc.2`, `0.1.2-rc.1`, `0.1.5-rc.1`, `0.1.5-rc.2`, and `0.1.6-alpha.1`. The host is supplied by your existing CLI or Desktop installation; the plugin does not install another copy. Future host versions require separate compatibility validation.
76
+ Supported DeepSeek Harness versions: `0.1.0-rc.8`, `0.1.1-rc.2`, `0.1.2-rc.1`, `0.1.5-rc.1`, `0.1.5-rc.2`, `0.1.6-alpha.1`, and `0.1.6-alpha.2`. The host is supplied by your existing CLI or Desktop installation; the plugin does not install another copy. Future host versions require separate compatibility validation.
77
77
 
78
78
  The installation commands below use the official npm registry.
79
79
 
package/README.zh-CN.md CHANGED
@@ -73,7 +73,7 @@ DSH 的 `dsh.client.inject` 声明浏览器模块的加载顺序;宿主模块
73
73
 
74
74
  ## 安装
75
75
 
76
- 支持的 DeepSeek Harness 版本:`0.1.0-rc.8`、`0.1.1-rc.2`、`0.1.2-rc.1`、`0.1.5-rc.1`、`0.1.5-rc.2`、`0.1.6-alpha.1`。主程序由现有 CLI 或 Desktop 提供,插件不会另行安装;后续宿主版本需另行验证兼容性。
76
+ 支持的 DeepSeek Harness 版本:`0.1.0-rc.8`、`0.1.1-rc.2`、`0.1.2-rc.1`、`0.1.5-rc.1`、`0.1.5-rc.2`、`0.1.6-alpha.1`、`0.1.6-alpha.2`。主程序由现有 CLI 或 Desktop 提供,插件不会另行安装;后续宿主版本需另行验证兼容性。
77
77
 
78
78
  以下安装命令使用官方 npm 源。
79
79
 
package/lib/client.js CHANGED
@@ -232,8 +232,8 @@ window.__ModuleLoader__.load({
232
232
  onChange: (event) => props.onQuery(event.target.value)
233
233
  })), react.default.createElement("div", {
234
234
  className: "aag-discovery-results",
235
- "aria-busy": props.busy
236
- }, props.busy ? react.default.createElement("p", {
235
+ "aria-busy": props.busy && props.experts.length === 0
236
+ }, props.busy && props.experts.length === 0 ? react.default.createElement("p", {
237
237
  className: "aag-menu-empty",
238
238
  role: "status"
239
239
  }, props.t("discovery.working")) : null, !props.busy && props.experts.length === 0 ? react.default.createElement("p", {
@@ -7610,6 +7610,26 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7610
7610
  revision: number().int().min(0)
7611
7611
  });
7612
7612
  const expertPromptSchema = object({ prompt: string() });
7613
+ /**
7614
+ * alpha.1 及更早宿主读 `codec.schema.parse`;alpha.2 只接受 `codec.create()`。
7615
+ * 两套字段一起带上,才能在同一 peer 范围内挂载 Remote。
7616
+ */
7617
+ function strictCodec(typeSymbol, schema) {
7618
+ return {
7619
+ mode: "strict",
7620
+ typeSymbol,
7621
+ create: () => schema,
7622
+ schema
7623
+ };
7624
+ }
7625
+ function jsonParameter(name, typeSymbol, schema) {
7626
+ return {
7627
+ name,
7628
+ wire: name,
7629
+ source: "json",
7630
+ codec: strictCodec(typeSymbol, schema)
7631
+ };
7632
+ }
7613
7633
  /** 新接口仍沿用宿主 Typert 严格参数校验与既有鉴权入口。 */
7614
7634
  function catalogMethod(method, parameters) {
7615
7635
  return {
@@ -7619,33 +7639,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7619
7639
  method,
7620
7640
  invocation: { kind: "direct" },
7621
7641
  parameters,
7622
- result: {
7623
- mode: "strict",
7624
- typeSymbol: "AgencyAgentsCatalog",
7625
- schema: catalogSnapshotSchema
7626
- }
7642
+ result: strictCodec("AgencyAgentsCatalog", catalogSnapshotSchema)
7627
7643
  };
7628
7644
  }
7629
- const revisionParameter = {
7630
- name: "expectedRevision",
7631
- wire: "expectedRevision",
7632
- source: "json",
7633
- codec: {
7634
- mode: "strict",
7635
- typeSymbol: "number",
7636
- schema: number().int().min(0)
7637
- }
7638
- };
7639
- const customSlugParameter = {
7640
- name: "slug",
7641
- wire: "slug",
7642
- source: "json",
7643
- codec: {
7644
- mode: "strict",
7645
- typeSymbol: "string",
7646
- schema: string().regex(CUSTOM_EXPERT_SLUG)
7647
- }
7648
- };
7645
+ const revisionParameter = jsonParameter("expectedRevision", "number", number().int().min(0));
7646
+ const customSlugParameter = jsonParameter("slug", "string", string().regex(CUSTOM_EXPERT_SLUG));
7649
7647
  //#endregion
7650
7648
  //#region src/client/remote.ts
7651
7649
  const TYPERT_REMOTE = {
@@ -7653,26 +7651,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7653
7651
  descriptors: [
7654
7652
  catalogMethod("getCatalog", []),
7655
7653
  catalogMethod("saveCustomExpert", [
7656
- {
7657
- name: "expert",
7658
- wire: "expert",
7659
- source: "json",
7660
- codec: {
7661
- mode: "strict",
7662
- typeSymbol: "CustomExpertInput",
7663
- schema: customExpertInputSchema
7664
- }
7665
- },
7666
- {
7667
- name: "enabled",
7668
- wire: "enabled",
7669
- source: "json",
7670
- codec: {
7671
- mode: "strict",
7672
- typeSymbol: "boolean",
7673
- schema: boolean()
7674
- }
7675
- },
7654
+ jsonParameter("expert", "CustomExpertInput", customExpertInputSchema),
7655
+ jsonParameter("enabled", "boolean", boolean()),
7676
7656
  revisionParameter
7677
7657
  ]),
7678
7658
  catalogMethod("deleteCustomExpert", [customSlugParameter, revisionParameter]),
@@ -7683,11 +7663,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7683
7663
  method: "getCustomExpert",
7684
7664
  invocation: { kind: "direct" },
7685
7665
  parameters: [customSlugParameter],
7686
- result: {
7687
- mode: "strict",
7688
- typeSymbol: "CustomExpertInput",
7689
- schema: expertEditSchema
7690
- }
7666
+ result: strictCodec("CustomExpertInput", expertEditSchema)
7691
7667
  },
7692
7668
  {
7693
7669
  id: "@michengai/dsh-agency-agents#agencyAgents/getEnabled",
@@ -7696,11 +7672,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7696
7672
  method: "getEnabled",
7697
7673
  invocation: { kind: "direct" },
7698
7674
  parameters: [],
7699
- result: {
7700
- mode: "strict",
7701
- typeSymbol: "AgencyAgentsEnabledState",
7702
- schema: enabledStateSchema
7703
- }
7675
+ result: strictCodec("AgencyAgentsEnabledState", enabledStateSchema)
7704
7676
  },
7705
7677
  {
7706
7678
  id: "@michengai/dsh-agency-agents#agencyAgents/setEnabled",
@@ -7708,30 +7680,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7708
7680
  namespace: "agencyAgents",
7709
7681
  method: "setEnabled",
7710
7682
  invocation: { kind: "direct" },
7711
- parameters: [{
7712
- name: "enabled",
7713
- wire: "enabled",
7714
- source: "json",
7715
- codec: {
7716
- mode: "strict",
7717
- typeSymbol: "string[]",
7718
- schema: enabledArraySchema
7719
- }
7720
- }, {
7721
- name: "expectedRevision",
7722
- wire: "expectedRevision",
7723
- source: "json",
7724
- codec: {
7725
- mode: "strict",
7726
- typeSymbol: "number",
7727
- schema: number().int().min(0)
7728
- }
7729
- }],
7730
- result: {
7731
- mode: "strict",
7732
- typeSymbol: "AgencyAgentsEnabledState",
7733
- schema: enabledStateSchema
7734
- }
7683
+ parameters: [jsonParameter("enabled", "string[]", enabledArraySchema), jsonParameter("expectedRevision", "number", number().int().min(0))],
7684
+ result: strictCodec("AgencyAgentsEnabledState", enabledStateSchema)
7735
7685
  },
7736
7686
  {
7737
7687
  id: "@michengai/dsh-agency-agents#agencyAgents/getPrompt",
@@ -7739,30 +7689,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7739
7689
  namespace: "agencyAgents",
7740
7690
  method: "getPrompt",
7741
7691
  invocation: { kind: "direct" },
7742
- parameters: [{
7743
- name: "slug",
7744
- wire: "slug",
7745
- source: "json",
7746
- codec: {
7747
- mode: "strict",
7748
- typeSymbol: "string",
7749
- schema: string().min(1).max(128)
7750
- }
7751
- }, {
7752
- name: "division",
7753
- wire: "division",
7754
- source: "json",
7755
- codec: {
7756
- mode: "strict",
7757
- typeSymbol: "string",
7758
- schema: string().min(1).max(64)
7759
- }
7760
- }],
7761
- result: {
7762
- mode: "strict",
7763
- typeSymbol: "AgencyAgentsPrompt",
7764
- schema: expertPromptSchema
7765
- }
7692
+ parameters: [jsonParameter("slug", "string", string().min(1).max(128)), jsonParameter("division", "string", string().min(1).max(64))],
7693
+ result: strictCodec("AgencyAgentsPrompt", expertPromptSchema)
7766
7694
  }
7767
7695
  ]
7768
7696
  };
@@ -9048,8 +8976,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9048
8976
  maxHeight: below
9049
8977
  };
9050
8978
  }
8979
+ /** slot 未给 sessionId 时:先认旧宿主的 `current`,再按官方主视图 retain 反查。 */
8980
+ function resolveTargetSessionId(sessions, sessionId) {
8981
+ if (sessionId !== void 0) return sessionId;
8982
+ const snapshot = sessions.list?.getSnapshot();
8983
+ if (snapshot?.current !== void 0) return snapshot.current;
8984
+ if (snapshot?.byId === void 0) return void 0;
8985
+ const match = Object.entries(snapshot.byId).find(([, session]) => (session.retainedBy?.mainView ?? 0) > 0);
8986
+ return match === void 0 ? void 0 : match[1].id ?? match[0];
8987
+ }
9051
8988
  function resolveReferenceInsertionTarget(sessions, sessionId, getConversation) {
9052
- const targetSessionId = sessionId ?? sessions.list?.getSnapshot().current;
8989
+ const targetSessionId = resolveTargetSessionId(sessions, sessionId);
9053
8990
  if (targetSessionId === void 0) return void 0;
9054
8991
  const actx = sessions.scope?.(targetSessionId) ?? sessions.binding?.(targetSessionId)?.ctx;
9055
8992
  return actx === void 0 ? void 0 : getConversation?.(actx)?.input.for(actx);
@@ -9177,7 +9114,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9177
9114
  if (working.current) return;
9178
9115
  const request = epoch.current;
9179
9116
  setInsertError(null);
9180
- setBusy(true);
9117
+ if (catalog.experts.length === 0) setBusy(true);
9181
9118
  working.current = true;
9182
9119
  readEnabled(props.remote).then((current) => {
9183
9120
  if (request !== epoch.current) return;
@@ -9802,7 +9739,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9802
9739
  const insertTask = (current, reference, sessionId, span) => {
9803
9740
  if (current === void 0) return false;
9804
9741
  const sessions = ctx.sessions;
9805
- const id = sessionId ?? sessions.list?.getSnapshot().current;
9742
+ const id = resolveTargetSessionId(sessions, sessionId);
9806
9743
  const actx = id === void 0 ? void 0 : sessions.scope?.(id) ?? sessions.binding?.(id)?.ctx;
9807
9744
  const expert = catalogState(remote).experts.find((item) => item.slug === reference.ref);
9808
9745
  const example = expert === void 0 ? void 0 : expertTaskExample(expert, getActive());
@@ -9964,6 +9901,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9964
9901
  exports.normalizeExpertQuery = normalizeExpertQuery;
9965
9902
  exports.resolveExpertMenuPosition = resolveExpertMenuPosition;
9966
9903
  exports.resolveReferenceInsertionTarget = resolveReferenceInsertionTarget;
9904
+ exports.resolveTargetSessionId = resolveTargetSessionId;
9967
9905
  exports.sortExpertsByEnabled = sortExpertsByEnabled;
9968
9906
  exports.sortExpertsByOrder = sortExpertsByOrder;
9969
9907
  exports.writeEnabled = writeEnabled;
package/lib/remote.js CHANGED
@@ -8,6 +8,26 @@ const enabledStateSchema = z.object({
8
8
  revision: z.number().int().min(0)
9
9
  });
10
10
  const expertPromptSchema = z.object({ prompt: z.string() });
11
+ /**
12
+ * alpha.1 及更早宿主读 `codec.schema.parse`;alpha.2 只接受 `codec.create()`。
13
+ * 两套字段一起带上,才能在同一 peer 范围内挂载 Remote。
14
+ */
15
+ function strictCodec(typeSymbol, schema) {
16
+ return {
17
+ mode: "strict",
18
+ typeSymbol,
19
+ create: () => schema,
20
+ schema
21
+ };
22
+ }
23
+ function jsonParameter(name, typeSymbol, schema) {
24
+ return {
25
+ name,
26
+ wire: name,
27
+ source: "json",
28
+ codec: strictCodec(typeSymbol, schema)
29
+ };
30
+ }
11
31
  /** 新接口仍沿用宿主 Typert 严格参数校验与既有鉴权入口。 */
12
32
  function catalogMethod(method, parameters) {
13
33
  return {
@@ -17,57 +37,17 @@ function catalogMethod(method, parameters) {
17
37
  method,
18
38
  invocation: { kind: "direct" },
19
39
  parameters,
20
- result: {
21
- mode: "strict",
22
- typeSymbol: "AgencyAgentsCatalog",
23
- schema: catalogSnapshotSchema
24
- }
40
+ result: strictCodec("AgencyAgentsCatalog", catalogSnapshotSchema)
25
41
  };
26
42
  }
27
- const revisionParameter = {
28
- name: "expectedRevision",
29
- wire: "expectedRevision",
30
- source: "json",
31
- codec: {
32
- mode: "strict",
33
- typeSymbol: "number",
34
- schema: z.number().int().min(0)
35
- }
36
- };
37
- const customSlugParameter = {
38
- name: "slug",
39
- wire: "slug",
40
- source: "json",
41
- codec: {
42
- mode: "strict",
43
- typeSymbol: "string",
44
- schema: z.string().regex(CUSTOM_EXPERT_SLUG)
45
- }
46
- };
43
+ const revisionParameter = jsonParameter("expectedRevision", "number", z.number().int().min(0));
44
+ const customSlugParameter = jsonParameter("slug", "string", z.string().regex(CUSTOM_EXPERT_SLUG));
47
45
  /** Host 与 Client 共用的专家启用状态 Remote 严格契约。 */
48
46
  const AGENCY_AGENTS_DESCRIPTORS = [
49
47
  catalogMethod("getCatalog", []),
50
48
  catalogMethod("saveCustomExpert", [
51
- {
52
- name: "expert",
53
- wire: "expert",
54
- source: "json",
55
- codec: {
56
- mode: "strict",
57
- typeSymbol: "CustomExpertInput",
58
- schema: customExpertInputSchema
59
- }
60
- },
61
- {
62
- name: "enabled",
63
- wire: "enabled",
64
- source: "json",
65
- codec: {
66
- mode: "strict",
67
- typeSymbol: "boolean",
68
- schema: z.boolean()
69
- }
70
- },
49
+ jsonParameter("expert", "CustomExpertInput", customExpertInputSchema),
50
+ jsonParameter("enabled", "boolean", z.boolean()),
71
51
  revisionParameter
72
52
  ]),
73
53
  catalogMethod("deleteCustomExpert", [customSlugParameter, revisionParameter]),
@@ -78,11 +58,7 @@ const AGENCY_AGENTS_DESCRIPTORS = [
78
58
  method: "getCustomExpert",
79
59
  invocation: { kind: "direct" },
80
60
  parameters: [customSlugParameter],
81
- result: {
82
- mode: "strict",
83
- typeSymbol: "CustomExpertInput",
84
- schema: expertEditSchema
85
- }
61
+ result: strictCodec("CustomExpertInput", expertEditSchema)
86
62
  },
87
63
  {
88
64
  id: "@michengai/dsh-agency-agents#agencyAgents/getEnabled",
@@ -91,11 +67,7 @@ const AGENCY_AGENTS_DESCRIPTORS = [
91
67
  method: "getEnabled",
92
68
  invocation: { kind: "direct" },
93
69
  parameters: [],
94
- result: {
95
- mode: "strict",
96
- typeSymbol: "AgencyAgentsEnabledState",
97
- schema: enabledStateSchema
98
- }
70
+ result: strictCodec("AgencyAgentsEnabledState", enabledStateSchema)
99
71
  },
100
72
  {
101
73
  id: "@michengai/dsh-agency-agents#agencyAgents/setEnabled",
@@ -103,30 +75,8 @@ const AGENCY_AGENTS_DESCRIPTORS = [
103
75
  namespace: "agencyAgents",
104
76
  method: "setEnabled",
105
77
  invocation: { kind: "direct" },
106
- parameters: [{
107
- name: "enabled",
108
- wire: "enabled",
109
- source: "json",
110
- codec: {
111
- mode: "strict",
112
- typeSymbol: "string[]",
113
- schema: enabledArraySchema
114
- }
115
- }, {
116
- name: "expectedRevision",
117
- wire: "expectedRevision",
118
- source: "json",
119
- codec: {
120
- mode: "strict",
121
- typeSymbol: "number",
122
- schema: z.number().int().min(0)
123
- }
124
- }],
125
- result: {
126
- mode: "strict",
127
- typeSymbol: "AgencyAgentsEnabledState",
128
- schema: enabledStateSchema
129
- }
78
+ parameters: [jsonParameter("enabled", "string[]", enabledArraySchema), jsonParameter("expectedRevision", "number", z.number().int().min(0))],
79
+ result: strictCodec("AgencyAgentsEnabledState", enabledStateSchema)
130
80
  },
131
81
  {
132
82
  id: "@michengai/dsh-agency-agents#agencyAgents/getPrompt",
@@ -134,30 +84,8 @@ const AGENCY_AGENTS_DESCRIPTORS = [
134
84
  namespace: "agencyAgents",
135
85
  method: "getPrompt",
136
86
  invocation: { kind: "direct" },
137
- parameters: [{
138
- name: "slug",
139
- wire: "slug",
140
- source: "json",
141
- codec: {
142
- mode: "strict",
143
- typeSymbol: "string",
144
- schema: z.string().min(1).max(128)
145
- }
146
- }, {
147
- name: "division",
148
- wire: "division",
149
- source: "json",
150
- codec: {
151
- mode: "strict",
152
- typeSymbol: "string",
153
- schema: z.string().min(1).max(64)
154
- }
155
- }],
156
- result: {
157
- mode: "strict",
158
- typeSymbol: "AgencyAgentsPrompt",
159
- schema: expertPromptSchema
160
- }
87
+ parameters: [jsonParameter("slug", "string", z.string().min(1).max(128)), jsonParameter("division", "string", z.string().min(1).max(64))],
88
+ result: strictCodec("AgencyAgentsPrompt", expertPromptSchema)
161
89
  }
162
90
  ];
163
91
  //#endregion
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@michengai/dsh-agency-agents",
3
3
  "description": "Agency Experts — a summonable domain-expert roster for DSH (expert mode)",
4
- "version": "0.1.43",
4
+ "version": "0.1.44",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.22.0",
7
7
  "engines": {
@@ -78,23 +78,23 @@
78
78
  },
79
79
  "peerDependencies": {
80
80
  "@deepseek-ai/cordis": "^4.0.1",
81
- "@deepseek-ai/dsh": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
82
- "@deepseek-ai/dsh-api-remotes": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
83
- "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
84
- "@deepseek-ai/dsh-client-locale": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
81
+ "@deepseek-ai/dsh": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
82
+ "@deepseek-ai/dsh-api-remotes": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
83
+ "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
84
+ "@deepseek-ai/dsh-client-locale": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
85
85
  "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8 || 0.1.1-rc.2",
86
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
87
- "@deepseek-ai/dsh-client-ui-input-trigger": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
88
- "@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
89
- "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
90
- "@deepseek-ai/dsh-host-webserver": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
91
- "@deepseek-ai/dsh-llm": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
92
- "@deepseek-ai/dsh-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
93
- "@deepseek-ai/dsh-subagent": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
94
- "@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
95
- "@deepseek-ai/dsh-tools": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
96
- "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
97
- "@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1",
86
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
87
+ "@deepseek-ai/dsh-client-ui-input-trigger": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
88
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
89
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
90
+ "@deepseek-ai/dsh-host-webserver": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
91
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
92
+ "@deepseek-ai/dsh-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
93
+ "@deepseek-ai/dsh-subagent": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
94
+ "@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
95
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
96
+ "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
97
+ "@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2",
98
98
  "@deepseek-ai/schemastery": "^3.18.1",
99
99
  "react": "^18.2.0"
100
100
  },
@@ -111,33 +111,33 @@
111
111
  },
112
112
  "devDependencies": {
113
113
  "@deepseek-ai/cordis": "^4.0.2",
114
- "@deepseek-ai/dsh-agent": "0.1.6-alpha.1",
115
- "@deepseek-ai/dsh-api-remotes": "0.1.6-alpha.1",
116
- "@deepseek-ai/dsh-attachment": "0.1.6-alpha.1",
117
- "@deepseek-ai/dsh-brand": "0.1.6-alpha.1",
118
- "@deepseek-ai/dsh-client-connection": "0.1.6-alpha.1",
119
- "@deepseek-ai/dsh-client-locale": "0.1.6-alpha.1",
120
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.6-alpha.1",
121
- "@deepseek-ai/dsh-client-ui-input-trigger": "0.1.6-alpha.1",
122
- "@deepseek-ai/dsh-client-ui-settings": "0.1.6-alpha.1",
123
- "@deepseek-ai/dsh-client-ui-slots": "0.1.6-alpha.1",
124
- "@deepseek-ai/dsh-host-webserver": "0.1.6-alpha.1",
125
- "@deepseek-ai/dsh-invariants": "0.1.6-alpha.1",
126
- "@deepseek-ai/dsh-llm": "0.1.6-alpha.1",
127
- "@deepseek-ai/dsh-ptc-runtime": "0.1.6-alpha.1",
128
- "@deepseek-ai/dsh-sandbox": "0.1.6-alpha.1",
129
- "@deepseek-ai/dsh-sandbox-policy": "0.1.6-alpha.1",
130
- "@deepseek-ai/dsh-scope": "0.1.6-alpha.1",
131
- "@deepseek-ai/dsh-session": "0.1.6-alpha.1",
132
- "@deepseek-ai/dsh-session-projection": "0.1.6-alpha.1",
133
- "@deepseek-ai/dsh-settings": "0.1.6-alpha.1",
134
- "@deepseek-ai/dsh-subagent": "0.1.6-alpha.1",
135
- "@deepseek-ai/dsh-system-prompt": "0.1.6-alpha.1",
136
- "@deepseek-ai/dsh-tools": "0.1.6-alpha.1",
137
- "@deepseek-ai/dsh-typert-protocol": "0.1.6-alpha.1",
138
- "@deepseek-ai/dsh-typert-registry": "0.1.6-alpha.1",
139
- "@deepseek-ai/dsh-user-approval": "0.1.6-alpha.1",
140
- "@deepseek-ai/dsh-util-time": "0.1.6-alpha.1",
114
+ "@deepseek-ai/dsh-agent": "0.1.6-alpha.2",
115
+ "@deepseek-ai/dsh-api-remotes": "0.1.6-alpha.2",
116
+ "@deepseek-ai/dsh-attachment": "0.1.6-alpha.2",
117
+ "@deepseek-ai/dsh-brand": "0.1.6-alpha.2",
118
+ "@deepseek-ai/dsh-client-connection": "0.1.6-alpha.2",
119
+ "@deepseek-ai/dsh-client-locale": "0.1.6-alpha.2",
120
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.6-alpha.2",
121
+ "@deepseek-ai/dsh-client-ui-input-trigger": "0.1.6-alpha.2",
122
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.6-alpha.2",
123
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.6-alpha.2",
124
+ "@deepseek-ai/dsh-host-webserver": "0.1.6-alpha.2",
125
+ "@deepseek-ai/dsh-invariants": "0.1.6-alpha.2",
126
+ "@deepseek-ai/dsh-llm": "0.1.6-alpha.2",
127
+ "@deepseek-ai/dsh-ptc-runtime": "0.1.6-alpha.2",
128
+ "@deepseek-ai/dsh-sandbox": "0.1.6-alpha.2",
129
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.6-alpha.2",
130
+ "@deepseek-ai/dsh-scope": "0.1.6-alpha.2",
131
+ "@deepseek-ai/dsh-session": "0.1.6-alpha.2",
132
+ "@deepseek-ai/dsh-session-projection": "0.1.6-alpha.2",
133
+ "@deepseek-ai/dsh-settings": "0.1.6-alpha.2",
134
+ "@deepseek-ai/dsh-subagent": "0.1.6-alpha.2",
135
+ "@deepseek-ai/dsh-system-prompt": "0.1.6-alpha.2",
136
+ "@deepseek-ai/dsh-tools": "0.1.6-alpha.2",
137
+ "@deepseek-ai/dsh-typert-protocol": "0.1.6-alpha.2",
138
+ "@deepseek-ai/dsh-typert-registry": "0.1.6-alpha.2",
139
+ "@deepseek-ai/dsh-user-approval": "0.1.6-alpha.2",
140
+ "@deepseek-ai/dsh-util-time": "0.1.6-alpha.2",
141
141
  "@deepseek-ai/schemastery": "^3.18.2",
142
142
  "@playwright/test": "1.63.0",
143
143
  "@types/node": "^22.20.0",