@y9931666/dsh-plugin-roundtable 1.0.0-rc.4 → 1.0.0-rc.6

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/lib/index.js CHANGED
@@ -89,7 +89,7 @@ async function evaluateKbDigests(entries) {
89
89
  * @module dsh-plugin-roundtable/version
90
90
  */
91
91
  /** 当前插件版本(必须与 package.json 的 version 逐字一致)。 */
92
- const PLUGIN_VERSION = "1.0.0-rc.4";
92
+ const PLUGIN_VERSION = "1.0.0-rc.6";
93
93
  /** 导出物头部使用的插件标识行。 */
94
94
  const PLUGIN_ID = `@y9931666/dsh-plugin-roundtable v${PLUGIN_VERSION}`;
95
95
  /** DeepSeek Harness 版本区间(导出头部展示用)。
@@ -98,7 +98,7 @@ const PLUGIN_ID = `@y9931666/dsh-plugin-roundtable v${PLUGIN_VERSION}`;
98
98
  * `test/compatibility.test.mjs` 强制,`scripts/compatibility.mjs` 参与发布门禁。
99
99
  * 此前这里是硬编码字符串,与 devDependencies 一起漂到了 rc.2 而无人发现;
100
100
  * 0.2.0-rc.2 这次跨大版本升级同样由这两道闸门兜住。 */
101
- const HARNESS_RANGE = "DeepSeek Harness 0.2.0-rc.2+";
101
+ const HARNESS_RANGE = "DeepSeek Harness 0.2.1-rc.5+";
102
102
 
103
103
  //#endregion
104
104
  //#region src/charter.ts
@@ -863,8 +863,6 @@ async function spawnNode(ctx, config, meeting, node, captain, stateDir, signal,
863
863
  const provider = ctx.subagents.getProvider(config.provider);
864
864
  if (provider === void 0) throw new Error(`roundtable: no subagent provider "${config.provider}" is registered (available: ${ctx.subagents.list().join(", ") || "none"}) — check that the subagent provider row (e.g. subagent-spawn) is mounted in the composition`);
865
865
  if (provider.prepareContinuable === void 0) throw new Error(`roundtable: provider "${config.provider}" does not support continuable nodes`);
866
- if (!provider.capabilities.persona) throw new Error(`roundtable: provider "${config.provider}" cannot apply a node persona`);
867
- if (!provider.capabilities.toolFilter) throw new Error(`roundtable: provider "${config.provider}" cannot restrict captain-only tools for nodes`);
868
866
  const label = `${NODE_LABEL_PREFIX}${meeting.id}:${node.key}`;
869
867
  const agentOptions = {};
870
868
  if (node.provider !== void 0 && node.model !== void 0) {
@@ -876,27 +874,47 @@ async function spawnNode(ctx, config, meeting, node, captain, stateDir, signal,
876
874
  if (limits.maxTokens !== void 0 && limits.maxTokens > 0) agentOptions.maxTokens = limits.maxTokens;
877
875
  const delivery = skill.delivery ?? meeting.skillDelivery ?? "relay";
878
876
  const skillToolAvailable = ctx.tools.get("skill", captain) !== void 0;
879
- const started = await ctx.subagents.startContinuable({
877
+ const persona = nodePersona(meeting, node, stateDir, limits, {
878
+ ...skill,
879
+ delivery,
880
+ skillToolAvailable
881
+ });
882
+ const prompt = [{
883
+ type: "text",
884
+ text: nodeWelcome(meeting, node)
885
+ }];
886
+ const request = {
887
+ prompt,
888
+ parent: captain,
889
+ ...Object.keys(agentOptions).length > 0 ? { agentOptions } : {},
890
+ ...config.maxDepth !== void 0 ? { maxDepth: config.maxDepth } : {}
891
+ };
892
+ const subagents = ctx.subagents;
893
+ let childId;
894
+ if (typeof subagents.startActivation === "function") {
895
+ request.prompt = [...prompt, {
896
+ type: "text",
897
+ text: persona
898
+ }];
899
+ childId = (await subagents.startActivation({
900
+ provider: config.provider,
901
+ label,
902
+ request,
903
+ signal,
904
+ delivery: "parent"
905
+ })).childId;
906
+ } else if (typeof subagents.startContinuable === "function") childId = (await subagents.startContinuable({
880
907
  provider: config.provider,
881
908
  label,
882
909
  request: {
883
- prompt: [{
884
- type: "text",
885
- text: nodeWelcome(meeting, node)
886
- }],
887
- parent: captain,
888
- persona: nodePersona(meeting, node, stateDir, limits, {
889
- ...skill,
890
- delivery,
891
- skillToolAvailable
892
- }),
893
- toolFilter: nodeToolRestriction(delivery),
894
- ...Object.keys(agentOptions).length > 0 ? { agentOptions } : {},
895
- ...config.maxDepth !== void 0 ? { maxDepth: config.maxDepth } : {}
910
+ ...request,
911
+ persona,
912
+ toolFilter: nodeToolRestriction(delivery)
896
913
  },
897
914
  signal
898
- });
899
- node.id = String(started.childId);
915
+ })).childId;
916
+ else throw new Error("roundtable: the host exposes neither startActivation (0.2.1+) nor startContinuable (older) — cannot spawn a node");
917
+ node.id = String(childId);
900
918
  }
901
919
  /**
902
920
  * Deliver one message to a node as its next FIFO turn. Best effort: a failure
@@ -9,13 +9,13 @@
9
9
  * @module dsh-plugin-roundtable/version
10
10
  */
11
11
  /** 当前插件版本(必须与 package.json 的 version 逐字一致)。 */
12
- export declare const PLUGIN_VERSION = "1.0.0-rc.4";
12
+ export declare const PLUGIN_VERSION = "1.0.0-rc.6";
13
13
  /** 导出物头部使用的插件标识行。 */
14
- export declare const PLUGIN_ID = "@y9931666/dsh-plugin-roundtable v1.0.0-rc.4";
14
+ export declare const PLUGIN_ID = "@y9931666/dsh-plugin-roundtable v1.0.0-rc.6";
15
15
  /** DeepSeek Harness 版本区间(导出头部展示用)。
16
16
  *
17
17
  * 必须与 `compatibility.json` 的 `recommendedHost` 一致 —— 由
18
18
  * `test/compatibility.test.mjs` 强制,`scripts/compatibility.mjs` 参与发布门禁。
19
19
  * 此前这里是硬编码字符串,与 devDependencies 一起漂到了 rc.2 而无人发现;
20
20
  * 0.2.0-rc.2 这次跨大版本升级同样由这两道闸门兜住。 */
21
- export declare const HARNESS_RANGE = "DeepSeek Harness 0.2.0-rc.2+";
21
+ export declare const HARNESS_RANGE = "DeepSeek Harness 0.2.1-rc.5+";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@y9931666/dsh-plugin-roundtable",
3
- "version": "1.0.0-rc.4",
3
+ "version": "1.0.0-rc.6",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -68,7 +68,7 @@
68
68
  }
69
69
  },
70
70
  "roundtable": {
71
- "hostBaseline": "0.2.0-rc.2"
71
+ "hostBaseline": "0.2.1-rc.5"
72
72
  },
73
73
  "scripts": {
74
74
  "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.client.json --noEmit",
@@ -84,25 +84,25 @@
84
84
  "publish:guard": "node scripts/compatibility.mjs && node scripts/verify-package.mjs --strict && node scripts/release.mjs"
85
85
  },
86
86
  "peerDependencies": {
87
- "@deepseek-ai/cordis": "^4.0.4",
88
- "@deepseek-ai/schemastery": "^3.18.4",
89
- "@deepseek-ai/dsh-agent": "^0.2.0-rc.2",
90
- "@deepseek-ai/dsh-atomic-write": "^0.2.0-rc.2",
91
- "@deepseek-ai/dsh-client-connection": "^0.2.0-rc.2",
92
- "@deepseek-ai/dsh-client-locale": "^0.2.0-rc.2",
93
- "@deepseek-ai/dsh-client-ui-conversation": "^0.2.0-rc.2",
94
- "@deepseek-ai/dsh-client-ui-renderer": "^0.2.0-rc.2",
95
- "@deepseek-ai/dsh-client-ui-settings": "^0.2.0-rc.2",
96
- "@deepseek-ai/dsh-client-ui-tool": "^0.2.0-rc.2",
97
- "@deepseek-ai/dsh-host-webserver": "^0.2.0-rc.2",
98
- "@deepseek-ai/dsh-llm": "^0.2.0-rc.2",
99
- "@deepseek-ai/dsh-session": "^0.2.0-rc.2",
100
- "@deepseek-ai/dsh-skill": "^0.2.0-rc.2",
101
- "@deepseek-ai/dsh-subagent": "^0.2.0-rc.2",
102
- "@deepseek-ai/dsh-system-prompt": "^0.2.0-rc.2",
103
- "@deepseek-ai/dsh-tools": "^0.2.0-rc.2",
104
- "@deepseek-ai/dsh-user-questions": "^0.2.0-rc.2",
105
- "@deepseek-ai/dsh-workspace": "^0.2.0-rc.2",
87
+ "@deepseek-ai/cordis": "^4.0.5",
88
+ "@deepseek-ai/schemastery": "^3.18.5",
89
+ "@deepseek-ai/dsh-agent": "^0.2.1-rc.5",
90
+ "@deepseek-ai/dsh-atomic-write": "^0.2.1-rc.5",
91
+ "@deepseek-ai/dsh-client-connection": "^0.2.1-rc.5",
92
+ "@deepseek-ai/dsh-client-locale": "^0.2.1-rc.5",
93
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.2.1-rc.5",
94
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.2.1-rc.5",
95
+ "@deepseek-ai/dsh-client-ui-settings": "^0.2.1-rc.5",
96
+ "@deepseek-ai/dsh-client-ui-tool": "^0.2.1-rc.5",
97
+ "@deepseek-ai/dsh-host-webserver": "^0.2.1-rc.5",
98
+ "@deepseek-ai/dsh-llm": "^0.2.1-rc.5",
99
+ "@deepseek-ai/dsh-session": "^0.2.1-rc.5",
100
+ "@deepseek-ai/dsh-skill": "^0.2.1-rc.5",
101
+ "@deepseek-ai/dsh-subagent": "^0.2.1-rc.5",
102
+ "@deepseek-ai/dsh-system-prompt": "^0.2.1-rc.5",
103
+ "@deepseek-ai/dsh-tools": "^0.2.1-rc.5",
104
+ "@deepseek-ai/dsh-user-questions": "^0.2.1-rc.5",
105
+ "@deepseek-ai/dsh-workspace": "^0.2.1-rc.5",
106
106
  "react": "^18.2.0"
107
107
  },
108
108
  "peerDependenciesMeta": {
@@ -128,25 +128,25 @@
128
128
  "react": { "optional": true }
129
129
  },
130
130
  "devDependencies": {
131
- "@deepseek-ai/cordis": "4.0.4",
132
- "@deepseek-ai/schemastery": "3.18.4",
133
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
134
- "@deepseek-ai/dsh-atomic-write": "0.2.0-rc.2",
135
- "@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
136
- "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
137
- "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
138
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
139
- "@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
140
- "@deepseek-ai/dsh-client-ui-tool": "0.2.0-rc.2",
141
- "@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
142
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
143
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
144
- "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
145
- "@deepseek-ai/dsh-subagent": "0.2.0-rc.2",
146
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
147
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
148
- "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
149
- "@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
131
+ "@deepseek-ai/cordis": "4.0.5",
132
+ "@deepseek-ai/schemastery": "3.18.5",
133
+ "@deepseek-ai/dsh-agent": "0.2.1-rc.5",
134
+ "@deepseek-ai/dsh-atomic-write": "0.2.1-rc.5",
135
+ "@deepseek-ai/dsh-client-connection": "0.2.1-rc.5",
136
+ "@deepseek-ai/dsh-client-locale": "0.2.1-rc.5",
137
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.5",
138
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.5",
139
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.5",
140
+ "@deepseek-ai/dsh-client-ui-tool": "0.2.1-rc.5",
141
+ "@deepseek-ai/dsh-host-webserver": "0.2.1-rc.5",
142
+ "@deepseek-ai/dsh-llm": "0.2.1-rc.5",
143
+ "@deepseek-ai/dsh-session": "0.2.1-rc.5",
144
+ "@deepseek-ai/dsh-skill": "0.2.1-rc.5",
145
+ "@deepseek-ai/dsh-subagent": "0.2.1-rc.5",
146
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.5",
147
+ "@deepseek-ai/dsh-tools": "0.2.1-rc.5",
148
+ "@deepseek-ai/dsh-user-questions": "0.2.1-rc.5",
149
+ "@deepseek-ai/dsh-workspace": "0.2.1-rc.5",
150
150
  "@types/node": "^22.0.0",
151
151
  "@types/react": "~18.3.1",
152
152
  "@types/react-dom": "^18.3.7",