@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 +6 -0
- package/CHANGELOG.zh-CN.md +6 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/lib/client.js +46 -108
- package/lib/remote.js +31 -103
- package/package.json +44 -44
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.
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
115
|
-
"@deepseek-ai/dsh-api-remotes": "0.1.6-alpha.
|
|
116
|
-
"@deepseek-ai/dsh-attachment": "0.1.6-alpha.
|
|
117
|
-
"@deepseek-ai/dsh-brand": "0.1.6-alpha.
|
|
118
|
-
"@deepseek-ai/dsh-client-connection": "0.1.6-alpha.
|
|
119
|
-
"@deepseek-ai/dsh-client-locale": "0.1.6-alpha.
|
|
120
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.1.6-alpha.
|
|
121
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.6-alpha.
|
|
122
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.1.6-alpha.
|
|
123
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.6-alpha.
|
|
124
|
-
"@deepseek-ai/dsh-host-webserver": "0.1.6-alpha.
|
|
125
|
-
"@deepseek-ai/dsh-invariants": "0.1.6-alpha.
|
|
126
|
-
"@deepseek-ai/dsh-llm": "0.1.6-alpha.
|
|
127
|
-
"@deepseek-ai/dsh-ptc-runtime": "0.1.6-alpha.
|
|
128
|
-
"@deepseek-ai/dsh-sandbox": "0.1.6-alpha.
|
|
129
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.1.6-alpha.
|
|
130
|
-
"@deepseek-ai/dsh-scope": "0.1.6-alpha.
|
|
131
|
-
"@deepseek-ai/dsh-session": "0.1.6-alpha.
|
|
132
|
-
"@deepseek-ai/dsh-session-projection": "0.1.6-alpha.
|
|
133
|
-
"@deepseek-ai/dsh-settings": "0.1.6-alpha.
|
|
134
|
-
"@deepseek-ai/dsh-subagent": "0.1.6-alpha.
|
|
135
|
-
"@deepseek-ai/dsh-system-prompt": "0.1.6-alpha.
|
|
136
|
-
"@deepseek-ai/dsh-tools": "0.1.6-alpha.
|
|
137
|
-
"@deepseek-ai/dsh-typert-protocol": "0.1.6-alpha.
|
|
138
|
-
"@deepseek-ai/dsh-typert-registry": "0.1.6-alpha.
|
|
139
|
-
"@deepseek-ai/dsh-user-approval": "0.1.6-alpha.
|
|
140
|
-
"@deepseek-ai/dsh-util-time": "0.1.6-alpha.
|
|
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",
|