@sema-agent/settings-schema 1.8.0 → 1.9.0
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 +9 -0
- package/dist/types.d.ts +32 -0
- package/dist/types.js +6 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
> `@sema-agent/registry-core`(更早还曾是 `@sema-ai/registry-core`)。本档 `0.19.0` 以下各节里的
|
|
7
7
|
> 包名是**历史记录**,如实保留不追改。
|
|
8
8
|
|
|
9
|
+
## 1.9.0 — 2026-09-08 — `mcp.servers[].toolFaces` 覆盖层声明面(core 7.8.0 design/388 片 1 F7;新键=minor)
|
|
10
|
+
|
|
11
|
+
- core 7.8.0 起 `McpServerSpec.toolFaces?: Record<remoteToolName, { family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }>`
|
|
12
|
+
是工具名册的 face 覆盖层。本仓只加**解析透明**的键(`z.unknown().optional()`),与 1.7.2 `source` 同一条规矩:形的校验属 core 摄入侧
|
|
13
|
+
(不合 schema 的工具**不挂**并通告一次 `config.tool_face_invalid`),本仓不复述那张表——这一域 all-or-nothing,任一字段解析拒都会让整套
|
|
14
|
+
mcp 服务器静默消失(S-144 类病)。缺席 = 不铸键。
|
|
15
|
+
- 红先:`test/mcp-tool-faces-1.9.test.ts`(1.8.0 上「带 toolFaces 的 server 键原样到消费方」红)。
|
|
16
|
+
- 消费方:sema-server(MCP 配置面三腿透传,随 7.66.0)、cli(settings 面)。
|
|
17
|
+
|
|
9
18
|
## 1.8.0 — 2026-09-07 — `ModelRole` 闭集对齐 core:加 `classifier` / `consolidate`(新词=minor)
|
|
10
19
|
|
|
11
20
|
- cli [6554] 真案:core `ModelRole` 早有 `classifier`(auto 权限分类器,FALLBACK classifier→summarize→default、tier 缺省 flash)
|
package/dist/types.d.ts
CHANGED
|
@@ -7334,6 +7334,12 @@ export declare const McpServerSpec: z.ZodObject<{
|
|
|
7334
7334
|
* both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
|
|
7335
7335
|
* (ticket B-036 / S-143), the projection half lives in the consumer. */
|
|
7336
7336
|
source: z.ZodOptional<z.ZodUnknown>;
|
|
7337
|
+
/** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
|
|
7338
|
+
* (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
|
|
7339
|
+
* 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
|
|
7340
|
+
* 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
|
|
7341
|
+
* 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
|
|
7342
|
+
toolFaces: z.ZodOptional<z.ZodUnknown>;
|
|
7337
7343
|
notes: z.ZodOptional<z.ZodString>;
|
|
7338
7344
|
}, "strip", z.ZodTypeAny, {
|
|
7339
7345
|
name: string;
|
|
@@ -7356,6 +7362,7 @@ export declare const McpServerSpec: z.ZodObject<{
|
|
|
7356
7362
|
allowTools?: string[] | undefined;
|
|
7357
7363
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7358
7364
|
source?: unknown;
|
|
7365
|
+
toolFaces?: unknown;
|
|
7359
7366
|
}, {
|
|
7360
7367
|
name: string;
|
|
7361
7368
|
transport: {
|
|
@@ -7377,6 +7384,7 @@ export declare const McpServerSpec: z.ZodObject<{
|
|
|
7377
7384
|
elicitation?: boolean | undefined;
|
|
7378
7385
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7379
7386
|
source?: unknown;
|
|
7387
|
+
toolFaces?: unknown;
|
|
7380
7388
|
}>;
|
|
7381
7389
|
export type McpServerSpec = z.infer<typeof McpServerSpec>;
|
|
7382
7390
|
export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
@@ -7465,6 +7473,12 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7465
7473
|
* both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
|
|
7466
7474
|
* (ticket B-036 / S-143), the projection half lives in the consumer. */
|
|
7467
7475
|
source: z.ZodOptional<z.ZodUnknown>;
|
|
7476
|
+
/** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
|
|
7477
|
+
* (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
|
|
7478
|
+
* 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
|
|
7479
|
+
* 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
|
|
7480
|
+
* 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
|
|
7481
|
+
toolFaces: z.ZodOptional<z.ZodUnknown>;
|
|
7468
7482
|
notes: z.ZodOptional<z.ZodString>;
|
|
7469
7483
|
}, "strip", z.ZodTypeAny, {
|
|
7470
7484
|
name: string;
|
|
@@ -7487,6 +7501,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7487
7501
|
allowTools?: string[] | undefined;
|
|
7488
7502
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7489
7503
|
source?: unknown;
|
|
7504
|
+
toolFaces?: unknown;
|
|
7490
7505
|
}, {
|
|
7491
7506
|
name: string;
|
|
7492
7507
|
transport: {
|
|
@@ -7508,6 +7523,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7508
7523
|
elicitation?: boolean | undefined;
|
|
7509
7524
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7510
7525
|
source?: unknown;
|
|
7526
|
+
toolFaces?: unknown;
|
|
7511
7527
|
}>, "many">>;
|
|
7512
7528
|
}, "strip", z.ZodTypeAny, {
|
|
7513
7529
|
servers: {
|
|
@@ -7531,6 +7547,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7531
7547
|
allowTools?: string[] | undefined;
|
|
7532
7548
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7533
7549
|
source?: unknown;
|
|
7550
|
+
toolFaces?: unknown;
|
|
7534
7551
|
}[];
|
|
7535
7552
|
}, {
|
|
7536
7553
|
servers?: {
|
|
@@ -7554,6 +7571,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7554
7571
|
elicitation?: boolean | undefined;
|
|
7555
7572
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7556
7573
|
source?: unknown;
|
|
7574
|
+
toolFaces?: unknown;
|
|
7557
7575
|
}[] | undefined;
|
|
7558
7576
|
}>, {
|
|
7559
7577
|
servers: {
|
|
@@ -7577,6 +7595,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7577
7595
|
allowTools?: string[] | undefined;
|
|
7578
7596
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7579
7597
|
source?: unknown;
|
|
7598
|
+
toolFaces?: unknown;
|
|
7580
7599
|
}[];
|
|
7581
7600
|
}, {
|
|
7582
7601
|
servers?: {
|
|
@@ -7600,6 +7619,7 @@ export declare const McpConfig: z.ZodEffects<z.ZodObject<{
|
|
|
7600
7619
|
elicitation?: boolean | undefined;
|
|
7601
7620
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
7602
7621
|
source?: unknown;
|
|
7622
|
+
toolFaces?: unknown;
|
|
7603
7623
|
}[] | undefined;
|
|
7604
7624
|
}>;
|
|
7605
7625
|
export type McpConfig = z.infer<typeof McpConfig>;
|
|
@@ -10138,6 +10158,12 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10138
10158
|
* both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
|
|
10139
10159
|
* (ticket B-036 / S-143), the projection half lives in the consumer. */
|
|
10140
10160
|
source: z.ZodOptional<z.ZodUnknown>;
|
|
10161
|
+
/** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
|
|
10162
|
+
* (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
|
|
10163
|
+
* 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
|
|
10164
|
+
* 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
|
|
10165
|
+
* 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
|
|
10166
|
+
toolFaces: z.ZodOptional<z.ZodUnknown>;
|
|
10141
10167
|
notes: z.ZodOptional<z.ZodString>;
|
|
10142
10168
|
}, "strip", z.ZodTypeAny, {
|
|
10143
10169
|
name: string;
|
|
@@ -10160,6 +10186,7 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10160
10186
|
allowTools?: string[] | undefined;
|
|
10161
10187
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
10162
10188
|
source?: unknown;
|
|
10189
|
+
toolFaces?: unknown;
|
|
10163
10190
|
}, {
|
|
10164
10191
|
name: string;
|
|
10165
10192
|
transport: {
|
|
@@ -10181,6 +10208,7 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10181
10208
|
elicitation?: boolean | undefined;
|
|
10182
10209
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
10183
10210
|
source?: unknown;
|
|
10211
|
+
toolFaces?: unknown;
|
|
10184
10212
|
}>, "many">>;
|
|
10185
10213
|
}, "strip", z.ZodTypeAny, {
|
|
10186
10214
|
servers: {
|
|
@@ -10204,6 +10232,7 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10204
10232
|
allowTools?: string[] | undefined;
|
|
10205
10233
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
10206
10234
|
source?: unknown;
|
|
10235
|
+
toolFaces?: unknown;
|
|
10207
10236
|
}[];
|
|
10208
10237
|
}, {
|
|
10209
10238
|
servers?: {
|
|
@@ -10227,6 +10256,7 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10227
10256
|
elicitation?: boolean | undefined;
|
|
10228
10257
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
10229
10258
|
source?: unknown;
|
|
10259
|
+
toolFaces?: unknown;
|
|
10230
10260
|
}[] | undefined;
|
|
10231
10261
|
}>, {
|
|
10232
10262
|
servers: {
|
|
@@ -10250,6 +10280,7 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10250
10280
|
allowTools?: string[] | undefined;
|
|
10251
10281
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
10252
10282
|
source?: unknown;
|
|
10283
|
+
toolFaces?: unknown;
|
|
10253
10284
|
}[];
|
|
10254
10285
|
}, {
|
|
10255
10286
|
servers?: {
|
|
@@ -10273,6 +10304,7 @@ export declare const DOMAIN_SCHEMAS: {
|
|
|
10273
10304
|
elicitation?: boolean | undefined;
|
|
10274
10305
|
contentOrigin?: "local" | "execution" | "external" | undefined;
|
|
10275
10306
|
source?: unknown;
|
|
10307
|
+
toolFaces?: unknown;
|
|
10276
10308
|
}[] | undefined;
|
|
10277
10309
|
}>;
|
|
10278
10310
|
readonly plugins: z.ZodEffects<z.ZodObject<{
|
package/dist/types.js
CHANGED
|
@@ -1912,6 +1912,12 @@ export const McpServerSpec = z.object({
|
|
|
1912
1912
|
* both legs stripped it (default-strip object); this is the declaration half of the consumer-side fix
|
|
1913
1913
|
* (ticket B-036 / S-143), the projection half lives in the consumer. */
|
|
1914
1914
|
source: z.unknown().optional(),
|
|
1915
|
+
/** 1.9.0 —— core 7.8.0(design/388 片 1 F7)`toolFaces` 覆盖层:按远端工具名 key 的 face 声明
|
|
1916
|
+
* (`{ family?, pathTarget?: {param, aliases?, access, skillScopeEligible?}, renderHints?, ruleFace? }`)。
|
|
1917
|
+
* 与 `source` 同一条规矩:**解析透明**(`z.unknown()`),形的校验属 core 摄入侧(不合 schema 的工具**不挂**并
|
|
1918
|
+
* 通告一次 `config.tool_face_invalid`);本仓不复述那张表 —— 这一域 all-or-nothing,任一字段解析拒都会
|
|
1919
|
+
* 让整套 mcp 服务器静默消失。缺席 = 不铸键。 */
|
|
1920
|
+
toolFaces: z.unknown().optional(),
|
|
1915
1921
|
notes: z.string().optional(),
|
|
1916
1922
|
});
|
|
1917
1923
|
export const McpConfig = z
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/settings-schema",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Sema settings schema — pure config contract (zod domains + effective-config + roster resolution + ref-integrity + remoteExec) shared by sema-registry, sema-server, and the TOC desktop/CLI. One source of truth. (Renamed at 1.0.0 from @sema-agent/registry-core — name and docs only, no behavior change; note the range moves 0.19.0 -> 1.0.0, so a dependency must become ^1.0.0. The old names @sema-agent/registry-core <=0.19.0 and @sema-ai/registry-core remain published, frozen, for migration.)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|