@lmzhen/dsh-evolution-core 0.19.3 → 0.21.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/lib/index.js +222 -109
- package/lib/types/errors.d.ts +1 -1
- package/lib/types/params.d.ts +18 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -3271,7 +3271,7 @@ const EVOLUTION_ERRORS = Object.freeze({
|
|
|
3271
3271
|
"e-301-approval-service-not-mounted-2": "E-301: approval service not mounted. Next: the evolution-approval row ships with evolution-host/evolution-all — run /evolution doctor to see which services are mounted.",
|
|
3272
3272
|
"e-304-the-mounted-approval-service": "E-304: the mounted approval service predates the release capability — reject the record instead.",
|
|
3273
3273
|
"e-302-curator-service-not-mounted": "E-302: curator service not mounted. Next: mount the evolution-curator row (evolution-host/evolution-all) and run /evolution doctor.",
|
|
3274
|
-
"e-305-the-invocation-agent-exposes": "E-305: the invocation agent exposes neither `followup` nor `inject` —
|
|
3274
|
+
"e-305-the-invocation-agent-exposes": "E-305: the invocation agent exposes neither `followup` nor `inject` — %a1% has no delivery channel.",
|
|
3275
3275
|
"e-306-this-deployment-stages-foreground-2": "E-306: this deployment stages foreground writes, but this invocation carries no agent session — `/evolution restructure` would stage a record with no session attribution. Run it from a session in the GUI or the CLI, or set `stageForeground: false` on the evolution-approval row, then repeat the command.",
|
|
3276
3276
|
"e-303-replay-service-not-mounted": "E-303: replay service not mounted. Next: mount the evolution-replay row (evolution-host/evolution-all) and run /evolution doctor.",
|
|
3277
3277
|
"e-307-the-settings-service-could": "E-307: the settings service could not report its sections (%a1%). /evolution params needs the user layer to tell an override from a deployment value; run /evolution doctor to see which services are mounted.",
|
|
@@ -11860,7 +11860,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11860
11860
|
hint: "每累计多少次工具调用检查一次技能:一轮按该轮工具调用数累加(一轮没有工具调用也算 1 次),本轮本身用到技能则只算 1 次。",
|
|
11861
11861
|
control: "number",
|
|
11862
11862
|
unit: "次",
|
|
11863
|
-
values: ""
|
|
11863
|
+
values: "",
|
|
11864
|
+
card: "evolution-review"
|
|
11864
11865
|
},
|
|
11865
11866
|
{
|
|
11866
11867
|
id: "reviewMemoryInterval",
|
|
@@ -11875,7 +11876,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11875
11876
|
hint: "每累计多少次工具调用检查一次记忆:一轮按该轮工具调用数累加(一轮没有工具调用也算 1 次),本轮本身用到记忆则只算 1 次。",
|
|
11876
11877
|
control: "number",
|
|
11877
11878
|
unit: "次",
|
|
11878
|
-
values: ""
|
|
11879
|
+
values: "",
|
|
11880
|
+
card: "evolution-review"
|
|
11879
11881
|
},
|
|
11880
11882
|
{
|
|
11881
11883
|
id: "skillReviewTrigger",
|
|
@@ -11891,7 +11893,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11891
11893
|
control: "select",
|
|
11892
11894
|
unit: "",
|
|
11893
11895
|
values: "cadence|completion|both",
|
|
11894
|
-
valueLabels: "按间隔|按任务完成|两者"
|
|
11896
|
+
valueLabels: "按间隔|按任务完成|两者",
|
|
11897
|
+
card: "evolution-review"
|
|
11895
11898
|
},
|
|
11896
11899
|
{
|
|
11897
11900
|
id: "skillReviewCompletionMinToolCalls",
|
|
@@ -11906,7 +11909,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11906
11909
|
hint: "选「按任务完成」时,任务至少用了几次工具才检查。",
|
|
11907
11910
|
control: "number",
|
|
11908
11911
|
unit: "次",
|
|
11909
|
-
values: ""
|
|
11912
|
+
values: "",
|
|
11913
|
+
card: "evolution-review"
|
|
11910
11914
|
},
|
|
11911
11915
|
{
|
|
11912
11916
|
id: "reviewEnabled",
|
|
@@ -11921,7 +11925,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11921
11925
|
hint: "关闭后不再自动回顾会话。",
|
|
11922
11926
|
control: "switch",
|
|
11923
11927
|
unit: "",
|
|
11924
|
-
values: ""
|
|
11928
|
+
values: "",
|
|
11929
|
+
card: "evolution-review"
|
|
11925
11930
|
},
|
|
11926
11931
|
{
|
|
11927
11932
|
id: "reviewMode",
|
|
@@ -11937,7 +11942,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11937
11942
|
control: "select",
|
|
11938
11943
|
unit: "",
|
|
11939
11944
|
values: "subagent|inject",
|
|
11940
|
-
valueLabels: "交给子代理|在当前会话里"
|
|
11945
|
+
valueLabels: "交给子代理|在当前会话里",
|
|
11946
|
+
card: "evolution-review"
|
|
11941
11947
|
},
|
|
11942
11948
|
{
|
|
11943
11949
|
id: "reviewWakeInject",
|
|
@@ -11952,7 +11958,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11952
11958
|
hint: "会话空闲时,把延后的检查结果作为一条提醒发给你。",
|
|
11953
11959
|
control: "switch",
|
|
11954
11960
|
unit: "",
|
|
11955
|
-
values: ""
|
|
11961
|
+
values: "",
|
|
11962
|
+
card: "evolution-review"
|
|
11956
11963
|
},
|
|
11957
11964
|
{
|
|
11958
11965
|
id: "reviewProvider",
|
|
@@ -11962,7 +11969,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11962
11969
|
owner: "evolution-review",
|
|
11963
11970
|
applies: "none",
|
|
11964
11971
|
docAnchor: "PARAMETERS.md#review",
|
|
11965
|
-
summary: "LLM provider for review subagents (deployment identity)."
|
|
11972
|
+
summary: "LLM provider for review subagents (deployment identity).",
|
|
11973
|
+
why: "identity"
|
|
11966
11974
|
},
|
|
11967
11975
|
{
|
|
11968
11976
|
id: "reviewTimeoutMs",
|
|
@@ -11972,7 +11980,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11972
11980
|
owner: "evolution-review",
|
|
11973
11981
|
applies: "none",
|
|
11974
11982
|
docAnchor: "PARAMETERS.md#review",
|
|
11975
|
-
summary: "Bound on one review subagent run and its write leg."
|
|
11983
|
+
summary: "Bound on one review subagent run and its write leg.",
|
|
11984
|
+
why: "internal"
|
|
11976
11985
|
},
|
|
11977
11986
|
{
|
|
11978
11987
|
id: "reviewContextMessages",
|
|
@@ -11982,7 +11991,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11982
11991
|
owner: "evolution-review",
|
|
11983
11992
|
applies: "none",
|
|
11984
11993
|
docAnchor: "PARAMETERS.md#review",
|
|
11985
|
-
summary: "Messages of context handed to a review subagent."
|
|
11994
|
+
summary: "Messages of context handed to a review subagent.",
|
|
11995
|
+
why: "internal"
|
|
11986
11996
|
},
|
|
11987
11997
|
{
|
|
11988
11998
|
id: "reviewMessageChars",
|
|
@@ -11992,7 +12002,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
11992
12002
|
owner: "evolution-review",
|
|
11993
12003
|
applies: "none",
|
|
11994
12004
|
docAnchor: "PARAMETERS.md#review",
|
|
11995
|
-
summary: "Per-message character budget of the review context."
|
|
12005
|
+
summary: "Per-message character budget of the review context.",
|
|
12006
|
+
why: "internal"
|
|
11996
12007
|
},
|
|
11997
12008
|
{
|
|
11998
12009
|
id: "reviewMaxDepth",
|
|
@@ -12002,7 +12013,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12002
12013
|
owner: "evolution-review",
|
|
12003
12014
|
applies: "none",
|
|
12004
12015
|
docAnchor: "PARAMETERS.md#review",
|
|
12005
|
-
summary: "Absolute delegation-depth cap of the review subagent."
|
|
12016
|
+
summary: "Absolute delegation-depth cap of the review subagent.",
|
|
12017
|
+
why: "internal"
|
|
12006
12018
|
},
|
|
12007
12019
|
{
|
|
12008
12020
|
id: "reviewToolAllow",
|
|
@@ -12012,7 +12024,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12012
12024
|
owner: "evolution-review",
|
|
12013
12025
|
applies: "none",
|
|
12014
12026
|
docAnchor: "PARAMETERS.md#review",
|
|
12015
|
-
summary: "Tools the review subagent may use (safety surface)."
|
|
12027
|
+
summary: "Tools the review subagent may use (safety surface).",
|
|
12028
|
+
why: "security"
|
|
12016
12029
|
},
|
|
12017
12030
|
{
|
|
12018
12031
|
id: "skillContentChars",
|
|
@@ -12027,7 +12040,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12027
12040
|
hint: "技能 Markdown 正文最多多少字符(只能调小)。",
|
|
12028
12041
|
control: "number",
|
|
12029
12042
|
unit: "字符",
|
|
12030
|
-
values: ""
|
|
12043
|
+
values: "",
|
|
12044
|
+
card: "tool-skill-manage"
|
|
12031
12045
|
},
|
|
12032
12046
|
{
|
|
12033
12047
|
id: "maxSkillFileBytes",
|
|
@@ -12042,7 +12056,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12042
12056
|
hint: "技能附带文件单个最大多少字节(只能调小)。",
|
|
12043
12057
|
control: "number",
|
|
12044
12058
|
unit: "字节",
|
|
12045
|
-
values: ""
|
|
12059
|
+
values: "",
|
|
12060
|
+
card: "tool-skill-manage"
|
|
12046
12061
|
},
|
|
12047
12062
|
{
|
|
12048
12063
|
id: "maxSkillNameLength",
|
|
@@ -12057,7 +12072,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12057
12072
|
hint: "技能名最多多少字符(只能调小)。",
|
|
12058
12073
|
control: "number",
|
|
12059
12074
|
unit: "字符",
|
|
12060
|
-
values: ""
|
|
12075
|
+
values: "",
|
|
12076
|
+
card: "tool-skill-manage"
|
|
12061
12077
|
},
|
|
12062
12078
|
{
|
|
12063
12079
|
id: "maxDescriptionLength",
|
|
@@ -12072,7 +12088,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12072
12088
|
hint: "技能描述最多多少字符(只能调小)。",
|
|
12073
12089
|
control: "number",
|
|
12074
12090
|
unit: "字符",
|
|
12075
|
-
values: ""
|
|
12091
|
+
values: "",
|
|
12092
|
+
card: "tool-skill-manage"
|
|
12076
12093
|
},
|
|
12077
12094
|
{
|
|
12078
12095
|
id: "descriptionStrict",
|
|
@@ -12087,7 +12104,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12087
12104
|
hint: "描述不符合要求时直接拒绝写入(默认只提醒)。",
|
|
12088
12105
|
control: "switch",
|
|
12089
12106
|
unit: "",
|
|
12090
|
-
values: ""
|
|
12107
|
+
values: "",
|
|
12108
|
+
card: "tool-skill-manage"
|
|
12091
12109
|
},
|
|
12092
12110
|
{
|
|
12093
12111
|
id: "strictCrossSource",
|
|
@@ -12102,7 +12120,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12102
12120
|
hint: "技能引用了本插件之外的文件时拒绝写入。",
|
|
12103
12121
|
control: "switch",
|
|
12104
12122
|
unit: "",
|
|
12105
|
-
values: ""
|
|
12123
|
+
values: "",
|
|
12124
|
+
card: "tool-skill-manage"
|
|
12106
12125
|
},
|
|
12107
12126
|
{
|
|
12108
12127
|
id: "citationPolicy",
|
|
@@ -12118,7 +12137,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12118
12137
|
control: "select",
|
|
12119
12138
|
unit: "",
|
|
12120
12139
|
values: "verify|refuse",
|
|
12121
|
-
valueLabels: "先检查|直接拒绝"
|
|
12140
|
+
valueLabels: "先检查|直接拒绝",
|
|
12141
|
+
card: "tool-skill-manage"
|
|
12122
12142
|
},
|
|
12123
12143
|
{
|
|
12124
12144
|
id: "referenceRewrite",
|
|
@@ -12128,7 +12148,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12128
12148
|
owner: "tool-skill-manage",
|
|
12129
12149
|
applies: "none",
|
|
12130
12150
|
docAnchor: "PARAMETERS.md#write-caps",
|
|
12131
|
-
summary: "Re-home support files and rewrite references during a merge (plan or apply)."
|
|
12151
|
+
summary: "Re-home support files and rewrite references during a merge (plan or apply).",
|
|
12152
|
+
why: "internal"
|
|
12132
12153
|
},
|
|
12133
12154
|
{
|
|
12134
12155
|
id: "archiveRetention",
|
|
@@ -12138,7 +12159,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12138
12159
|
owner: "tool-skill-manage",
|
|
12139
12160
|
applies: "none",
|
|
12140
12161
|
docAnchor: "PARAMETERS.md#write-caps",
|
|
12141
|
-
summary: "Report expired archives, or prune them."
|
|
12162
|
+
summary: "Report expired archives, or prune them.",
|
|
12163
|
+
why: "internal"
|
|
12142
12164
|
},
|
|
12143
12165
|
{
|
|
12144
12166
|
id: "skillVersionKeep",
|
|
@@ -12148,7 +12170,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12148
12170
|
owner: "tool-skill-manage",
|
|
12149
12171
|
applies: "none",
|
|
12150
12172
|
docAnchor: "PARAMETERS.md#write-caps",
|
|
12151
|
-
summary: "Content versions retained per skill; older ones leave the index. Their stored blobs stay on disk — no automatic sweep exists yet, so a long-lived library grows by the distinct bodies it has written."
|
|
12173
|
+
summary: "Content versions retained per skill; older ones leave the index. Their stored blobs stay on disk — no automatic sweep exists yet, so a long-lived library grows by the distinct bodies it has written.",
|
|
12174
|
+
why: "internal"
|
|
12152
12175
|
},
|
|
12153
12176
|
{
|
|
12154
12177
|
id: "supportFileCharPolicy",
|
|
@@ -12164,7 +12187,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12164
12187
|
control: "select",
|
|
12165
12188
|
unit: "",
|
|
12166
12189
|
values: "report|enforce",
|
|
12167
|
-
valueLabels: "只提醒|拒绝写入"
|
|
12190
|
+
valueLabels: "只提醒|拒绝写入",
|
|
12191
|
+
card: "tool-skill-manage"
|
|
12168
12192
|
},
|
|
12169
12193
|
{
|
|
12170
12194
|
id: "skillWriteConfirm",
|
|
@@ -12180,7 +12204,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12180
12204
|
control: "select",
|
|
12181
12205
|
unit: "",
|
|
12182
12206
|
values: "auto|ask|timeout",
|
|
12183
|
-
valueLabels: "不弹窗直接写入|一直等待回答|超时自动取消"
|
|
12207
|
+
valueLabels: "不弹窗直接写入|一直等待回答|超时自动取消",
|
|
12208
|
+
card: "tool-skill-manage"
|
|
12184
12209
|
},
|
|
12185
12210
|
{
|
|
12186
12211
|
id: "skillWriteConfirmTimeoutSeconds",
|
|
@@ -12195,7 +12220,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12195
12220
|
hint: "选「超时自动取消」时,等多少秒没人回答就取消这次写入。",
|
|
12196
12221
|
control: "number",
|
|
12197
12222
|
unit: "秒",
|
|
12198
|
-
values: ""
|
|
12223
|
+
values: "",
|
|
12224
|
+
card: "tool-skill-manage"
|
|
12199
12225
|
},
|
|
12200
12226
|
{
|
|
12201
12227
|
id: "memoryChars",
|
|
@@ -12210,7 +12236,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12210
12236
|
hint: "长期记忆文件(MEMORY.md)最多多少字符。",
|
|
12211
12237
|
control: "number",
|
|
12212
12238
|
unit: "字符",
|
|
12213
|
-
values: ""
|
|
12239
|
+
values: "",
|
|
12240
|
+
card: "memory-files"
|
|
12214
12241
|
},
|
|
12215
12242
|
{
|
|
12216
12243
|
id: "userChars",
|
|
@@ -12225,7 +12252,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12225
12252
|
hint: "用户画像文件(USER.md)最多多少字符。",
|
|
12226
12253
|
control: "number",
|
|
12227
12254
|
unit: "字符",
|
|
12228
|
-
values: ""
|
|
12255
|
+
values: "",
|
|
12256
|
+
card: "memory-files"
|
|
12229
12257
|
},
|
|
12230
12258
|
{
|
|
12231
12259
|
id: "memoryEnabled",
|
|
@@ -12235,7 +12263,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12235
12263
|
owner: "tool-memory",
|
|
12236
12264
|
applies: "none",
|
|
12237
12265
|
docAnchor: "PARAMETERS.md#memory",
|
|
12238
|
-
summary: "Register the memory tool and its prompt section at all (deployment switch)."
|
|
12266
|
+
summary: "Register the memory tool and its prompt section at all (deployment switch).",
|
|
12267
|
+
why: "deployment"
|
|
12239
12268
|
},
|
|
12240
12269
|
{
|
|
12241
12270
|
id: "entryPreviewChars",
|
|
@@ -12250,7 +12279,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12250
12279
|
hint: "列表里每条记忆最多显示多少字符。",
|
|
12251
12280
|
control: "number",
|
|
12252
12281
|
unit: "字符",
|
|
12253
|
-
values: ""
|
|
12282
|
+
values: "",
|
|
12283
|
+
card: "tool-memory"
|
|
12254
12284
|
},
|
|
12255
12285
|
{
|
|
12256
12286
|
id: "addDatePrefix",
|
|
@@ -12265,7 +12295,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12265
12295
|
hint: "写入时在条目开头加上日期。",
|
|
12266
12296
|
control: "switch",
|
|
12267
12297
|
unit: "",
|
|
12268
|
-
values: ""
|
|
12298
|
+
values: "",
|
|
12299
|
+
card: "memory-files"
|
|
12269
12300
|
},
|
|
12270
12301
|
{
|
|
12271
12302
|
id: "maxConsolidationFailures",
|
|
@@ -12280,7 +12311,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12280
12311
|
hint: "合并记忆连续失败多少次后停止。",
|
|
12281
12312
|
control: "number",
|
|
12282
12313
|
unit: "次",
|
|
12283
|
-
values: ""
|
|
12314
|
+
values: "",
|
|
12315
|
+
card: "memory-files"
|
|
12284
12316
|
},
|
|
12285
12317
|
{
|
|
12286
12318
|
id: "curatorIntervalHours",
|
|
@@ -12295,7 +12327,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12295
12327
|
hint: "两次自动整理之间至少间隔多少小时。",
|
|
12296
12328
|
control: "number",
|
|
12297
12329
|
unit: "小时",
|
|
12298
|
-
values: ""
|
|
12330
|
+
values: "",
|
|
12331
|
+
card: "evolution-curator"
|
|
12299
12332
|
},
|
|
12300
12333
|
{
|
|
12301
12334
|
id: "staleAfterDays",
|
|
@@ -12310,7 +12343,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12310
12343
|
hint: "技能连续多少天没被用到就算过时。",
|
|
12311
12344
|
control: "number",
|
|
12312
12345
|
unit: "天",
|
|
12313
|
-
values: ""
|
|
12346
|
+
values: "",
|
|
12347
|
+
card: "evolution-curator"
|
|
12314
12348
|
},
|
|
12315
12349
|
{
|
|
12316
12350
|
id: "archiveAfterDays",
|
|
@@ -12325,22 +12359,19 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12325
12359
|
hint: "过时技能再过多少天移入归档(不能小于上一项)。",
|
|
12326
12360
|
control: "number",
|
|
12327
12361
|
unit: "天",
|
|
12328
|
-
values: ""
|
|
12362
|
+
values: "",
|
|
12363
|
+
card: "evolution-curator"
|
|
12329
12364
|
},
|
|
12330
12365
|
{
|
|
12331
12366
|
id: "qualityWarnStaleAfterDays",
|
|
12332
12367
|
group: "curator",
|
|
12333
|
-
tier: "
|
|
12368
|
+
tier: "E2",
|
|
12334
12369
|
authority: "cordis",
|
|
12335
12370
|
owner: "evolution-curator",
|
|
12336
|
-
applies: "
|
|
12371
|
+
applies: "none",
|
|
12337
12372
|
docAnchor: "PARAMETERS.md#curator",
|
|
12338
|
-
summary: "Age at which a low quality score starts warning.",
|
|
12339
|
-
|
|
12340
|
-
hint: "质量评分偏低时,从多少天开始提醒。",
|
|
12341
|
-
control: "number",
|
|
12342
|
-
unit: "天",
|
|
12343
|
-
values: ""
|
|
12373
|
+
summary: "Age at which a low quality score starts warning (the pair of evolution-feedback.qualityWarnThreshold; both live on the deployment face so one bar is not half user-set).",
|
|
12374
|
+
why: "internal"
|
|
12344
12375
|
},
|
|
12345
12376
|
{
|
|
12346
12377
|
id: "minIdleHours",
|
|
@@ -12355,7 +12386,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12355
12386
|
hint: "你至少多少小时没用,才运行自动整理。",
|
|
12356
12387
|
control: "number",
|
|
12357
12388
|
unit: "小时",
|
|
12358
|
-
values: ""
|
|
12389
|
+
values: "",
|
|
12390
|
+
card: "evolution-curator"
|
|
12359
12391
|
},
|
|
12360
12392
|
{
|
|
12361
12393
|
id: "minIdleFailOpen",
|
|
@@ -12370,7 +12402,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12370
12402
|
hint: "无法判断你是否空闲时,仍然运行自动整理。",
|
|
12371
12403
|
control: "switch",
|
|
12372
12404
|
unit: "",
|
|
12373
|
-
values: ""
|
|
12405
|
+
values: "",
|
|
12406
|
+
card: "evolution-curator"
|
|
12374
12407
|
},
|
|
12375
12408
|
{
|
|
12376
12409
|
id: "llmReview",
|
|
@@ -12385,7 +12418,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12385
12418
|
hint: "在固定规则之外,再用模型挑一遍候选项。",
|
|
12386
12419
|
control: "switch",
|
|
12387
12420
|
unit: "",
|
|
12388
|
-
values: ""
|
|
12421
|
+
values: "",
|
|
12422
|
+
card: "evolution-curator"
|
|
12389
12423
|
},
|
|
12390
12424
|
{
|
|
12391
12425
|
id: "curatorReviewMaxTokens",
|
|
@@ -12400,7 +12434,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12400
12434
|
hint: "每次用模型挑选时最多消耗多少 token。",
|
|
12401
12435
|
control: "number",
|
|
12402
12436
|
unit: "token",
|
|
12403
|
-
values: ""
|
|
12437
|
+
values: "",
|
|
12438
|
+
card: "evolution-curator"
|
|
12404
12439
|
},
|
|
12405
12440
|
{
|
|
12406
12441
|
id: "curatorReviewTimeoutMs",
|
|
@@ -12415,7 +12450,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12415
12450
|
hint: "一次模型挑选最长允许运行多久。",
|
|
12416
12451
|
control: "number",
|
|
12417
12452
|
unit: "毫秒",
|
|
12418
|
-
values: ""
|
|
12453
|
+
values: "",
|
|
12454
|
+
card: "evolution-curator"
|
|
12419
12455
|
},
|
|
12420
12456
|
{
|
|
12421
12457
|
id: "healthSoftBodyChars",
|
|
@@ -12430,7 +12466,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12430
12466
|
hint: "技能正文超过多少字符算偏长(只用于健康提示)。",
|
|
12431
12467
|
control: "number",
|
|
12432
12468
|
unit: "字符",
|
|
12433
|
-
values: ""
|
|
12469
|
+
values: "",
|
|
12470
|
+
card: "evolution-curator"
|
|
12434
12471
|
},
|
|
12435
12472
|
{
|
|
12436
12473
|
id: "healthStampDensityPerKb",
|
|
@@ -12445,7 +12482,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12445
12482
|
hint: "每 KB 出现多少个时间标记,就判为「像日志」。",
|
|
12446
12483
|
control: "number",
|
|
12447
12484
|
unit: "处/KB",
|
|
12448
|
-
values: ""
|
|
12485
|
+
values: "",
|
|
12486
|
+
card: "evolution-curator"
|
|
12449
12487
|
},
|
|
12450
12488
|
{
|
|
12451
12489
|
id: "healthChurnMinPatches",
|
|
@@ -12460,7 +12498,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12460
12498
|
hint: "连续多少次改动都没有被读取,就判为「只写不读」。",
|
|
12461
12499
|
control: "number",
|
|
12462
12500
|
unit: "处",
|
|
12463
|
-
values: ""
|
|
12501
|
+
values: "",
|
|
12502
|
+
card: "evolution-curator"
|
|
12464
12503
|
},
|
|
12465
12504
|
{
|
|
12466
12505
|
id: "evolution-curator.enabled",
|
|
@@ -12470,7 +12509,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12470
12509
|
owner: "evolution-curator",
|
|
12471
12510
|
applies: "none",
|
|
12472
12511
|
docAnchor: "PARAMETERS.md#curator",
|
|
12473
|
-
summary: "Mount the curator plugin at all."
|
|
12512
|
+
summary: "Mount the curator plugin at all.",
|
|
12513
|
+
why: "deployment"
|
|
12474
12514
|
},
|
|
12475
12515
|
{
|
|
12476
12516
|
id: "autoStart",
|
|
@@ -12480,7 +12520,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12480
12520
|
owner: "evolution-curator",
|
|
12481
12521
|
applies: "none",
|
|
12482
12522
|
docAnchor: "PARAMETERS.md#curator",
|
|
12483
|
-
summary: "Arm the hourly due-ness tick with the plugin."
|
|
12523
|
+
summary: "Arm the hourly due-ness tick with the plugin — the STARTUP default only; at runtime /evolution curator pause or resume overrides it (the override is persisted in curation state and wins until cleared). Off keeps curation manual.",
|
|
12524
|
+
why: "deployment"
|
|
12484
12525
|
},
|
|
12485
12526
|
{
|
|
12486
12527
|
id: "bootGraceSeconds",
|
|
@@ -12490,7 +12531,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12490
12531
|
owner: "evolution-curator",
|
|
12491
12532
|
applies: "none",
|
|
12492
12533
|
docAnchor: "PARAMETERS.md#curator",
|
|
12493
|
-
summary: "Grace period before the first automatic pass after a restart."
|
|
12534
|
+
summary: "Grace period before the first automatic pass after a restart.",
|
|
12535
|
+
why: "internal"
|
|
12494
12536
|
},
|
|
12495
12537
|
{
|
|
12496
12538
|
id: "curatorProvider",
|
|
@@ -12500,7 +12542,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12500
12542
|
owner: "evolution-curator",
|
|
12501
12543
|
applies: "none",
|
|
12502
12544
|
docAnchor: "PARAMETERS.md#curator",
|
|
12503
|
-
summary: "LLM provider for curator reviews (deployment identity)."
|
|
12545
|
+
summary: "LLM provider for curator reviews (deployment identity).",
|
|
12546
|
+
why: "identity"
|
|
12504
12547
|
},
|
|
12505
12548
|
{
|
|
12506
12549
|
id: "curatorModel",
|
|
@@ -12510,7 +12553,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12510
12553
|
owner: "evolution-curator",
|
|
12511
12554
|
applies: "none",
|
|
12512
12555
|
docAnchor: "PARAMETERS.md#curator",
|
|
12513
|
-
summary: "Model for curator reviews (deployment identity)."
|
|
12556
|
+
summary: "Model for curator reviews (deployment identity).",
|
|
12557
|
+
why: "identity"
|
|
12514
12558
|
},
|
|
12515
12559
|
{
|
|
12516
12560
|
id: "protectedSkillNames",
|
|
@@ -12520,7 +12564,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12520
12564
|
owner: "evolution-curator",
|
|
12521
12565
|
applies: "none",
|
|
12522
12566
|
docAnchor: "PARAMETERS.md#library",
|
|
12523
|
-
summary: "Skills the lifecycle never archives or rewrites."
|
|
12567
|
+
summary: "Skills the lifecycle never archives or rewrites.",
|
|
12568
|
+
why: "deployment"
|
|
12524
12569
|
},
|
|
12525
12570
|
{
|
|
12526
12571
|
id: "manageUnmanaged",
|
|
@@ -12530,7 +12575,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12530
12575
|
owner: "evolution-curator",
|
|
12531
12576
|
applies: "none",
|
|
12532
12577
|
docAnchor: "PARAMETERS.md#library",
|
|
12533
|
-
summary: "Let curation touch skills with no family metadata."
|
|
12578
|
+
summary: "Let curation touch skills with no family metadata.",
|
|
12579
|
+
why: "deployment"
|
|
12534
12580
|
},
|
|
12535
12581
|
{
|
|
12536
12582
|
id: "pruneBuiltins",
|
|
@@ -12540,7 +12586,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12540
12586
|
owner: "evolution-curator",
|
|
12541
12587
|
applies: "none",
|
|
12542
12588
|
docAnchor: "PARAMETERS.md#library",
|
|
12543
|
-
summary: "Let curation nominate bundled skills for pruning."
|
|
12589
|
+
summary: "Let curation nominate bundled skills for pruning.",
|
|
12590
|
+
why: "deployment"
|
|
12544
12591
|
},
|
|
12545
12592
|
{
|
|
12546
12593
|
id: "referencedSkillNames",
|
|
@@ -12550,7 +12597,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12550
12597
|
owner: "evolution-curator",
|
|
12551
12598
|
applies: "none",
|
|
12552
12599
|
docAnchor: "PARAMETERS.md#library",
|
|
12553
|
-
summary: "Names treated as referenced by external docs (never retired)."
|
|
12600
|
+
summary: "Names treated as referenced by external docs (never retired).",
|
|
12601
|
+
why: "deployment"
|
|
12554
12602
|
},
|
|
12555
12603
|
{
|
|
12556
12604
|
id: "includeSkillNames",
|
|
@@ -12560,7 +12608,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12560
12608
|
owner: "evolution-skill-catalog",
|
|
12561
12609
|
applies: "none",
|
|
12562
12610
|
docAnchor: "PARAMETERS.md#library",
|
|
12563
|
-
summary: "Allow-list of skills the catalog exposes."
|
|
12611
|
+
summary: "Allow-list of skills the catalog exposes.",
|
|
12612
|
+
why: "deployment"
|
|
12564
12613
|
},
|
|
12565
12614
|
{
|
|
12566
12615
|
id: "skill-catalog.excludeSkillNames",
|
|
@@ -12570,7 +12619,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12570
12619
|
owner: "evolution-skill-catalog",
|
|
12571
12620
|
applies: "none",
|
|
12572
12621
|
docAnchor: "PARAMETERS.md#library",
|
|
12573
|
-
summary: "Deny-list of skills the catalog hides (row-local name; see the collision note)."
|
|
12622
|
+
summary: "Deny-list of skills the catalog hides (row-local name; see the collision note).",
|
|
12623
|
+
why: "deployment"
|
|
12574
12624
|
},
|
|
12575
12625
|
{
|
|
12576
12626
|
id: "modelInvocable",
|
|
@@ -12580,7 +12630,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12580
12630
|
owner: "evolution-skill-catalog",
|
|
12581
12631
|
applies: "none",
|
|
12582
12632
|
docAnchor: "PARAMETERS.md#library",
|
|
12583
|
-
summary: "Default for whether the model may invoke a catalog skill."
|
|
12633
|
+
summary: "Default for whether the model may invoke a catalog skill.",
|
|
12634
|
+
why: "deployment"
|
|
12584
12635
|
},
|
|
12585
12636
|
{
|
|
12586
12637
|
id: "userInvocable",
|
|
@@ -12590,7 +12641,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12590
12641
|
owner: "evolution-skill-catalog",
|
|
12591
12642
|
applies: "none",
|
|
12592
12643
|
docAnchor: "PARAMETERS.md#library",
|
|
12593
|
-
summary: "Default for whether the user may invoke a catalog skill."
|
|
12644
|
+
summary: "Default for whether the user may invoke a catalog skill.",
|
|
12645
|
+
why: "deployment"
|
|
12594
12646
|
},
|
|
12595
12647
|
{
|
|
12596
12648
|
id: "maxItems",
|
|
@@ -12600,7 +12652,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12600
12652
|
owner: "evolution-activity",
|
|
12601
12653
|
applies: "none",
|
|
12602
12654
|
docAnchor: "PARAMETERS.md#library",
|
|
12603
|
-
summary: "Entries kept in the activity sidecar window."
|
|
12655
|
+
summary: "Entries kept in the activity sidecar window.",
|
|
12656
|
+
why: "internal"
|
|
12604
12657
|
},
|
|
12605
12658
|
{
|
|
12606
12659
|
id: "sessionScoped",
|
|
@@ -12610,7 +12663,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12610
12663
|
owner: "evolution-review",
|
|
12611
12664
|
applies: "none",
|
|
12612
12665
|
docAnchor: "PARAMETERS.md#library",
|
|
12613
|
-
summary: "Act only on sessions carrying the family model tools."
|
|
12666
|
+
summary: "Act only on sessions carrying the family model tools.",
|
|
12667
|
+
why: "deployment"
|
|
12614
12668
|
},
|
|
12615
12669
|
{
|
|
12616
12670
|
id: "skill-usage.sessionScoped",
|
|
@@ -12620,7 +12674,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12620
12674
|
owner: "skill-usage",
|
|
12621
12675
|
applies: "none",
|
|
12622
12676
|
docAnchor: "PARAMETERS.md#library",
|
|
12623
|
-
summary: "Keep the usage sidecar scoped per session (row-local name)."
|
|
12677
|
+
summary: "Keep the usage sidecar scoped per session (row-local name).",
|
|
12678
|
+
why: "deployment"
|
|
12624
12679
|
},
|
|
12625
12680
|
{
|
|
12626
12681
|
id: "evolution-review.root",
|
|
@@ -12630,7 +12685,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12630
12685
|
owner: "evolution-review",
|
|
12631
12686
|
applies: "none",
|
|
12632
12687
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12633
|
-
summary: "Skill-tree root for review-created skills (empty = shared default)."
|
|
12688
|
+
summary: "Skill-tree root for review-created skills (empty = shared default).",
|
|
12689
|
+
why: "path"
|
|
12634
12690
|
},
|
|
12635
12691
|
{
|
|
12636
12692
|
id: "evolution-review.skillsRoot",
|
|
@@ -12640,7 +12696,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12640
12696
|
owner: "evolution-review",
|
|
12641
12697
|
applies: "none",
|
|
12642
12698
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12643
|
-
summary: "Retired alias of root; a value here fails the load (V27 G2.4)."
|
|
12699
|
+
summary: "Retired alias of root; a value here fails the load (V27 G2.4).",
|
|
12700
|
+
why: "path"
|
|
12644
12701
|
},
|
|
12645
12702
|
{
|
|
12646
12703
|
id: "evolution-curator.root",
|
|
@@ -12650,7 +12707,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12650
12707
|
owner: "evolution-curator",
|
|
12651
12708
|
applies: "none",
|
|
12652
12709
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12653
|
-
summary: "Skill-tree root for curator scope, snapshot and archive."
|
|
12710
|
+
summary: "Skill-tree root for curator scope, snapshot and archive.",
|
|
12711
|
+
why: "path"
|
|
12654
12712
|
},
|
|
12655
12713
|
{
|
|
12656
12714
|
id: "evolution-commands.root",
|
|
@@ -12660,7 +12718,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12660
12718
|
owner: "evolution-commands",
|
|
12661
12719
|
applies: "none",
|
|
12662
12720
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12663
|
-
summary: "Skill-tree root the command surface writes through."
|
|
12721
|
+
summary: "Skill-tree root the command surface writes through.",
|
|
12722
|
+
why: "path"
|
|
12664
12723
|
},
|
|
12665
12724
|
{
|
|
12666
12725
|
id: "evolution-commands.skillsRoot",
|
|
@@ -12670,7 +12729,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12670
12729
|
owner: "evolution-commands",
|
|
12671
12730
|
applies: "none",
|
|
12672
12731
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12673
|
-
summary: "Retired alias of the commands root; a value here fails the load."
|
|
12732
|
+
summary: "Retired alias of the commands root; a value here fails the load.",
|
|
12733
|
+
why: "path"
|
|
12674
12734
|
},
|
|
12675
12735
|
{
|
|
12676
12736
|
id: "evolution-maintenance.root",
|
|
@@ -12680,7 +12740,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12680
12740
|
owner: "evolution-maintenance",
|
|
12681
12741
|
applies: "none",
|
|
12682
12742
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12683
|
-
summary: "Skill-tree root the maintenance probe scans."
|
|
12743
|
+
summary: "Skill-tree root the maintenance probe scans.",
|
|
12744
|
+
why: "path"
|
|
12684
12745
|
},
|
|
12685
12746
|
{
|
|
12686
12747
|
id: "evolution-maintenance.skillsRoot",
|
|
@@ -12690,7 +12751,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12690
12751
|
owner: "evolution-maintenance",
|
|
12691
12752
|
applies: "none",
|
|
12692
12753
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12693
|
-
summary: "Accepted skill-root spelling for the maintenance row."
|
|
12754
|
+
summary: "Accepted skill-root spelling for the maintenance row.",
|
|
12755
|
+
why: "path"
|
|
12694
12756
|
},
|
|
12695
12757
|
{
|
|
12696
12758
|
id: "evolution-skill-catalog.root",
|
|
@@ -12700,7 +12762,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12700
12762
|
owner: "evolution-skill-catalog",
|
|
12701
12763
|
applies: "none",
|
|
12702
12764
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12703
|
-
summary: "Skill-tree root the catalog lists."
|
|
12765
|
+
summary: "Skill-tree root the catalog lists.",
|
|
12766
|
+
why: "path"
|
|
12704
12767
|
},
|
|
12705
12768
|
{
|
|
12706
12769
|
id: "evolution-learning-graph.root",
|
|
@@ -12710,7 +12773,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12710
12773
|
owner: "evolution-learning-graph",
|
|
12711
12774
|
applies: "none",
|
|
12712
12775
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12713
|
-
summary: "Skill-tree root the learning graph reads."
|
|
12776
|
+
summary: "Skill-tree root the learning graph reads.",
|
|
12777
|
+
why: "path"
|
|
12714
12778
|
},
|
|
12715
12779
|
{
|
|
12716
12780
|
id: "skill-usage.root",
|
|
@@ -12720,7 +12784,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12720
12784
|
owner: "skill-usage",
|
|
12721
12785
|
applies: "none",
|
|
12722
12786
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12723
|
-
summary: "Skill-tree root the usage store observes."
|
|
12787
|
+
summary: "Skill-tree root the usage store observes.",
|
|
12788
|
+
why: "path"
|
|
12724
12789
|
},
|
|
12725
12790
|
{
|
|
12726
12791
|
id: "skill-usage.eventsHome",
|
|
@@ -12730,7 +12795,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12730
12795
|
owner: "skill-usage",
|
|
12731
12796
|
applies: "none",
|
|
12732
12797
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12733
|
-
summary: "Directory holding the family event log the usage store reads."
|
|
12798
|
+
summary: "Directory holding the family event log the usage store reads.",
|
|
12799
|
+
why: "path"
|
|
12734
12800
|
},
|
|
12735
12801
|
{
|
|
12736
12802
|
id: "evolution-state-json.root",
|
|
@@ -12740,7 +12806,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12740
12806
|
owner: "evolution-state-json",
|
|
12741
12807
|
applies: "none",
|
|
12742
12808
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12743
|
-
summary: "Directory holding the JSON state store."
|
|
12809
|
+
summary: "Directory holding the JSON state store.",
|
|
12810
|
+
why: "path"
|
|
12744
12811
|
},
|
|
12745
12812
|
{
|
|
12746
12813
|
id: "memory-files.root",
|
|
@@ -12750,7 +12817,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12750
12817
|
owner: "memory-files",
|
|
12751
12818
|
applies: "none",
|
|
12752
12819
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12753
|
-
summary: "Directory holding MEMORY.md and USER.md (empty = $DSH_HOME/memories)."
|
|
12820
|
+
summary: "Directory holding MEMORY.md and USER.md (empty = $DSH_HOME/memories).",
|
|
12821
|
+
why: "path"
|
|
12754
12822
|
},
|
|
12755
12823
|
{
|
|
12756
12824
|
id: "evolution-feedback.path",
|
|
@@ -12760,7 +12828,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12760
12828
|
owner: "evolution-feedback",
|
|
12761
12829
|
applies: "none",
|
|
12762
12830
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12763
|
-
summary: "Event log the feedback scorer reads (empty = family events file)."
|
|
12831
|
+
summary: "Event log the feedback scorer reads (empty = family events file).",
|
|
12832
|
+
why: "path"
|
|
12764
12833
|
},
|
|
12765
12834
|
{
|
|
12766
12835
|
id: "evolution-state.provider",
|
|
@@ -12770,7 +12839,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12770
12839
|
owner: "evolution-state",
|
|
12771
12840
|
applies: "none",
|
|
12772
12841
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12773
|
-
summary: "Registered state-store provider name."
|
|
12842
|
+
summary: "Registered state-store provider name.",
|
|
12843
|
+
why: "identity"
|
|
12774
12844
|
},
|
|
12775
12845
|
{
|
|
12776
12846
|
id: "memory.provider",
|
|
@@ -12780,7 +12850,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12780
12850
|
owner: "memory",
|
|
12781
12851
|
applies: "none",
|
|
12782
12852
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12783
|
-
summary: "Registered memory provider name."
|
|
12853
|
+
summary: "Registered memory provider name.",
|
|
12854
|
+
why: "identity"
|
|
12784
12855
|
},
|
|
12785
12856
|
{
|
|
12786
12857
|
id: "memory-files.providerName",
|
|
@@ -12790,7 +12861,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12790
12861
|
owner: "memory-files",
|
|
12791
12862
|
applies: "none",
|
|
12792
12863
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12793
|
-
summary: "Name this package registers as the memory provider."
|
|
12864
|
+
summary: "Name this package registers as the memory provider.",
|
|
12865
|
+
why: "identity"
|
|
12794
12866
|
},
|
|
12795
12867
|
{
|
|
12796
12868
|
id: "memoryReviewModel",
|
|
@@ -12800,7 +12872,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12800
12872
|
owner: "evolution-review",
|
|
12801
12873
|
applies: "none",
|
|
12802
12874
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12803
|
-
summary: "Model for the memory review channel (deployment identity)."
|
|
12875
|
+
summary: "Model for the memory review channel (deployment identity).",
|
|
12876
|
+
why: "identity"
|
|
12804
12877
|
},
|
|
12805
12878
|
{
|
|
12806
12879
|
id: "skillReviewModel",
|
|
@@ -12810,7 +12883,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12810
12883
|
owner: "evolution-review",
|
|
12811
12884
|
applies: "none",
|
|
12812
12885
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12813
|
-
summary: "Model for the skill review channel (deployment identity)."
|
|
12886
|
+
summary: "Model for the skill review channel (deployment identity).",
|
|
12887
|
+
why: "identity"
|
|
12814
12888
|
},
|
|
12815
12889
|
{
|
|
12816
12890
|
id: "maxOpsPerPlan",
|
|
@@ -12820,7 +12894,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12820
12894
|
owner: "evolution-plan-validator",
|
|
12821
12895
|
applies: "none",
|
|
12822
12896
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12823
|
-
summary: "Operation cap one staged plan may carry."
|
|
12897
|
+
summary: "Operation cap one staged plan may carry.",
|
|
12898
|
+
why: "internal"
|
|
12824
12899
|
},
|
|
12825
12900
|
{
|
|
12826
12901
|
id: "substantiveMinToolCalls",
|
|
@@ -12830,7 +12905,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12830
12905
|
owner: "evolution-review",
|
|
12831
12906
|
applies: "none",
|
|
12832
12907
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12833
|
-
summary: "Tool calls that make a turn count as substantive."
|
|
12908
|
+
summary: "Tool calls that make a turn count as substantive.",
|
|
12909
|
+
why: "internal"
|
|
12834
12910
|
},
|
|
12835
12911
|
{
|
|
12836
12912
|
id: "substantiveMinUserChars",
|
|
@@ -12840,7 +12916,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12840
12916
|
owner: "evolution-review",
|
|
12841
12917
|
applies: "none",
|
|
12842
12918
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12843
|
-
summary: "User characters that make a turn count as substantive."
|
|
12919
|
+
summary: "User characters that make a turn count as substantive.",
|
|
12920
|
+
why: "internal"
|
|
12844
12921
|
},
|
|
12845
12922
|
{
|
|
12846
12923
|
id: "substantiveMinAgentChars",
|
|
@@ -12850,7 +12927,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12850
12927
|
owner: "evolution-review",
|
|
12851
12928
|
applies: "none",
|
|
12852
12929
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12853
|
-
summary: "Assistant characters that make a turn count as substantive."
|
|
12930
|
+
summary: "Assistant characters that make a turn count as substantive.",
|
|
12931
|
+
why: "internal"
|
|
12854
12932
|
},
|
|
12855
12933
|
{
|
|
12856
12934
|
id: "threatExemptLabels",
|
|
@@ -12860,7 +12938,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12860
12938
|
owner: "evolution-threat",
|
|
12861
12939
|
applies: "none",
|
|
12862
12940
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12863
|
-
summary: "Threat labels the deployment declares benign (safety surface, never user-writable)."
|
|
12941
|
+
summary: "Threat labels the deployment declares benign (safety surface, never user-writable).",
|
|
12942
|
+
why: "security"
|
|
12864
12943
|
},
|
|
12865
12944
|
{
|
|
12866
12945
|
id: "evolution-threat.enabled",
|
|
@@ -12870,7 +12949,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12870
12949
|
owner: "evolution-threat",
|
|
12871
12950
|
applies: "none",
|
|
12872
12951
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12873
|
-
summary: "Mount the write-time threat guard at all."
|
|
12952
|
+
summary: "Mount the write-time threat guard at all.",
|
|
12953
|
+
why: "security"
|
|
12874
12954
|
},
|
|
12875
12955
|
{
|
|
12876
12956
|
id: "evolution-threat.maxScanChars",
|
|
@@ -12880,7 +12960,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12880
12960
|
owner: "evolution-threat",
|
|
12881
12961
|
applies: "none",
|
|
12882
12962
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12883
|
-
summary: "Scan window size of the threat guard."
|
|
12963
|
+
summary: "Scan window size of the threat guard.",
|
|
12964
|
+
why: "security"
|
|
12884
12965
|
},
|
|
12885
12966
|
{
|
|
12886
12967
|
id: "evolution-approval.enabled",
|
|
@@ -12890,7 +12971,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12890
12971
|
owner: "evolution-approval",
|
|
12891
12972
|
applies: "none",
|
|
12892
12973
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12893
|
-
summary: "Require approval before a staged write executes."
|
|
12974
|
+
summary: "Require approval before a staged write executes.",
|
|
12975
|
+
why: "security"
|
|
12894
12976
|
},
|
|
12895
12977
|
{
|
|
12896
12978
|
id: "evolution-approval.stageForeground",
|
|
@@ -12900,7 +12982,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12900
12982
|
owner: "evolution-approval",
|
|
12901
12983
|
applies: "none",
|
|
12902
12984
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12903
|
-
summary: "Stage foreground agent writes for approval too."
|
|
12985
|
+
summary: "Stage foreground agent writes for approval too.",
|
|
12986
|
+
why: "security"
|
|
12904
12987
|
},
|
|
12905
12988
|
{
|
|
12906
12989
|
id: "evolution-approval.pendingTtlMs",
|
|
@@ -12915,7 +12998,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12915
12998
|
hint: "一条待批写入最多等多久:超时就按「拒绝」关掉(不会执行,写效果不会落地);0 = 永不过期(默认)。",
|
|
12916
12999
|
control: "number",
|
|
12917
13000
|
unit: "毫秒",
|
|
12918
|
-
values: ""
|
|
13001
|
+
values: "",
|
|
13002
|
+
card: "evolution-approval"
|
|
12919
13003
|
},
|
|
12920
13004
|
{
|
|
12921
13005
|
id: "qualityWarnThreshold",
|
|
@@ -12925,7 +13009,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12925
13009
|
owner: "evolution-feedback",
|
|
12926
13010
|
applies: "none",
|
|
12927
13011
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12928
|
-
summary: "Feedback score below which a skill carries a warning."
|
|
13012
|
+
summary: "Feedback score below which a skill carries a warning.",
|
|
13013
|
+
why: "internal"
|
|
12929
13014
|
},
|
|
12930
13015
|
{
|
|
12931
13016
|
id: "replay.maxPlans",
|
|
@@ -12935,7 +13020,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12935
13020
|
owner: "evolution-replay",
|
|
12936
13021
|
applies: "none",
|
|
12937
13022
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12938
|
-
summary: "Plans compared in one replay report."
|
|
13023
|
+
summary: "Plans compared in one replay report.",
|
|
13024
|
+
why: "internal"
|
|
12939
13025
|
},
|
|
12940
13026
|
{
|
|
12941
13027
|
id: "replay.weights",
|
|
@@ -12945,7 +13031,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12945
13031
|
owner: "evolution-replay",
|
|
12946
13032
|
applies: "none",
|
|
12947
13033
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12948
|
-
summary: "Scoring weights of the replay comparison."
|
|
13034
|
+
summary: "Scoring weights of the replay comparison.",
|
|
13035
|
+
why: "internal"
|
|
12949
13036
|
},
|
|
12950
13037
|
{
|
|
12951
13038
|
id: "evolution-commands.maintainCooldownMs",
|
|
@@ -12955,7 +13042,24 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12955
13042
|
owner: "evolution-commands",
|
|
12956
13043
|
applies: "none",
|
|
12957
13044
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12958
|
-
summary: "Cooldown between maintenance runs from the command surface."
|
|
13045
|
+
summary: "Cooldown between maintenance runs from the command surface.",
|
|
13046
|
+
why: "internal"
|
|
13047
|
+
},
|
|
13048
|
+
{
|
|
13049
|
+
id: "evolution-commands.maintainHandoffOnSettle",
|
|
13050
|
+
group: "deployment",
|
|
13051
|
+
tier: "E3",
|
|
13052
|
+
authority: "cordis",
|
|
13053
|
+
owner: "evolution-commands",
|
|
13054
|
+
applies: "live",
|
|
13055
|
+
docAnchor: "PARAMETERS.md#deployment",
|
|
13056
|
+
summary: "Hand the maintenance report to the model automatically once a scan settles successfully (the same injection as maintain handoff); off by default — enabling it costs one extra model call per successful run.",
|
|
13057
|
+
label: "扫描完成后自动交接",
|
|
13058
|
+
hint: "维护扫描成功结束后,自动把报告交给模型(等同 maintain handoff);默认关闭,每次成功扫描会多花一次模型调用。",
|
|
13059
|
+
control: "switch",
|
|
13060
|
+
unit: "",
|
|
13061
|
+
values: "",
|
|
13062
|
+
card: "evolution-commands"
|
|
12959
13063
|
},
|
|
12960
13064
|
{
|
|
12961
13065
|
id: "evolution-commands.maintainTimeoutMs",
|
|
@@ -12965,7 +13069,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12965
13069
|
owner: "evolution-commands",
|
|
12966
13070
|
applies: "none",
|
|
12967
13071
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12968
|
-
summary: "Timeout of one maintenance run started from the command surface."
|
|
13072
|
+
summary: "Timeout of one maintenance run started from the command surface.",
|
|
13073
|
+
why: "internal"
|
|
12969
13074
|
},
|
|
12970
13075
|
{
|
|
12971
13076
|
id: "evolution-maintenance.probeTimeoutMs",
|
|
@@ -12975,7 +13080,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12975
13080
|
owner: "evolution-maintenance",
|
|
12976
13081
|
applies: "none",
|
|
12977
13082
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12978
|
-
summary: "Model-facing budget of one maintenance_probe call — a hang guard, not a latency budget."
|
|
13083
|
+
summary: "Model-facing budget of one maintenance_probe call — a hang guard, not a latency budget.",
|
|
13084
|
+
why: "internal"
|
|
12979
13085
|
},
|
|
12980
13086
|
{
|
|
12981
13087
|
id: "skill-usage.supportReadToolNames",
|
|
@@ -12985,7 +13091,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12985
13091
|
owner: "skill-usage",
|
|
12986
13092
|
applies: "none",
|
|
12987
13093
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12988
|
-
summary: "Tool names whose file reads are attributed to support files."
|
|
13094
|
+
summary: "Tool names whose file reads are attributed to support files.",
|
|
13095
|
+
why: "internal"
|
|
12989
13096
|
},
|
|
12990
13097
|
{
|
|
12991
13098
|
id: "install.mode",
|
|
@@ -12995,7 +13102,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
12995
13102
|
owner: "scripts",
|
|
12996
13103
|
applies: "restart",
|
|
12997
13104
|
docAnchor: "PARAMETERS.md#deployment",
|
|
12998
|
-
summary: "Install target plane (values host / agent / layered / oneclick; the `layered` form uses the generated preset, the others mount the bundle at profile root)."
|
|
13105
|
+
summary: "Install target plane (values host / agent / layered / oneclick; the `layered` form uses the generated preset, the others mount the bundle at profile root).",
|
|
13106
|
+
why: "install"
|
|
12999
13107
|
},
|
|
13000
13108
|
{
|
|
13001
13109
|
id: "install.basePreset",
|
|
@@ -13005,7 +13113,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
13005
13113
|
owner: "scripts",
|
|
13006
13114
|
applies: "restart",
|
|
13007
13115
|
docAnchor: "PARAMETERS.md#deployment",
|
|
13008
|
-
summary: "Agent-preset base the layered install composes from (--base)."
|
|
13116
|
+
summary: "Agent-preset base the layered install composes from (--base).",
|
|
13117
|
+
why: "install"
|
|
13009
13118
|
},
|
|
13010
13119
|
{
|
|
13011
13120
|
id: "install.home",
|
|
@@ -13015,7 +13124,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
13015
13124
|
owner: "scripts",
|
|
13016
13125
|
applies: "restart",
|
|
13017
13126
|
docAnchor: "PARAMETERS.md#deployment",
|
|
13018
|
-
summary: "Harness home the installer writes into (--home)."
|
|
13127
|
+
summary: "Harness home the installer writes into (--home).",
|
|
13128
|
+
why: "install"
|
|
13019
13129
|
},
|
|
13020
13130
|
{
|
|
13021
13131
|
id: "install.presetRowOverrides",
|
|
@@ -13025,7 +13135,8 @@ const PARAM_EXPOSURE = Object.freeze([
|
|
|
13025
13135
|
owner: "scripts",
|
|
13026
13136
|
applies: "restart",
|
|
13027
13137
|
docAnchor: "PARAMETERS.md#deployment",
|
|
13028
|
-
summary: "Preset row overrides the installer injects (row-overrides.json)."
|
|
13138
|
+
summary: "Preset row overrides the installer injects (row-overrides.json).",
|
|
13139
|
+
why: "install"
|
|
13029
13140
|
}
|
|
13030
13141
|
]);
|
|
13031
13142
|
/** The settings namespace each OWNER PACKAGE registers (design §7.2).
|
|
@@ -13040,7 +13151,9 @@ const PARAM_NAMESPACES = Object.freeze({
|
|
|
13040
13151
|
"memory-files": "evolution-memory",
|
|
13041
13152
|
"tool-memory": "evolution-tool-memory",
|
|
13042
13153
|
"evolution-curator": "evolution-curator",
|
|
13043
|
-
"tool-skill-manage": "evolution-skills"
|
|
13154
|
+
"tool-skill-manage": "evolution-skills",
|
|
13155
|
+
"evolution-approval": "evolution-approval",
|
|
13156
|
+
"evolution-commands": "evolution-commands"
|
|
13044
13157
|
});
|
|
13045
13158
|
/**
|
|
13046
13159
|
* The rows whose settings namespace CHANGED with the platform-line move (G3): the
|
package/lib/types/errors.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare const EVOLUTION_ERRORS: Readonly<{
|
|
|
18
18
|
readonly 'e-301-approval-service-not-mounted-2': "E-301: approval service not mounted. Next: the evolution-approval row ships with evolution-host/evolution-all — run /evolution doctor to see which services are mounted.";
|
|
19
19
|
readonly 'e-304-the-mounted-approval-service': "E-304: the mounted approval service predates the release capability — reject the record instead.";
|
|
20
20
|
readonly 'e-302-curator-service-not-mounted': "E-302: curator service not mounted. Next: mount the evolution-curator row (evolution-host/evolution-all) and run /evolution doctor.";
|
|
21
|
-
readonly 'e-305-the-invocation-agent-exposes': "E-305: the invocation agent exposes neither `followup` nor `inject` —
|
|
21
|
+
readonly 'e-305-the-invocation-agent-exposes': "E-305: the invocation agent exposes neither `followup` nor `inject` — %a1% has no delivery channel.";
|
|
22
22
|
readonly 'e-306-this-deployment-stages-foreground-2': "E-306: this deployment stages foreground writes, but this invocation carries no agent session — `/evolution restructure` would stage a record with no session attribution. Run it from a session in the GUI or the CLI, or set `stageForeground: false` on the evolution-approval row, then repeat the command.";
|
|
23
23
|
readonly 'e-303-replay-service-not-mounted': "E-303: replay service not mounted. Next: mount the evolution-replay row (evolution-host/evolution-all) and run /evolution doctor.";
|
|
24
24
|
readonly 'e-307-the-settings-service-could': "E-307: the settings service could not report its sections (%a1%). /evolution params needs the user layer to tell an override from a deployment value; run /evolution doctor to see which services are mounted.";
|
package/lib/types/params.d.ts
CHANGED
|
@@ -42,7 +42,12 @@ export declare function canonicalWriteId(id: string): string;
|
|
|
42
42
|
* @returns the canonical value when present, else the alias value, else undefined.
|
|
43
43
|
*/
|
|
44
44
|
export declare function readParam(carrier: object | undefined, id: string): unknown;
|
|
45
|
-
/** Exposure group (design §7.2): the unit a developer changes together.
|
|
45
|
+
/** Exposure group (design §7.2): the unit a developer changes together.
|
|
46
|
+
*
|
|
47
|
+
* A DOC-SECTION axis, not the exposure decision: the group says which family of knobs a value
|
|
48
|
+
* belongs to, the tier says who may change it. `internal` here is a group id with no rows today;
|
|
49
|
+
* the `why: 'internal'` a non-E3 row carries is a different value on the other axis (the reason it
|
|
50
|
+
* has no settings card) — the shared spelling is a coincidence, not a routing rule. */
|
|
46
51
|
export type ParamGroup = 'library' | 'write-caps' | 'review' | 'memory' | 'curator' | 'deployment' | 'internal';
|
|
47
52
|
/**
|
|
48
53
|
* Chinese display name per group, one entry per line (the scripts read this block
|
|
@@ -80,6 +85,12 @@ export type ParamAuthority = 'code' | 'cordis' | 'install';
|
|
|
80
85
|
* those values for display, one label per value, in the same order. The stored
|
|
81
86
|
* value is never translated: only what the control shows.
|
|
82
87
|
*/
|
|
88
|
+
/** Why a parameter has NO settings card (the `why` half of the exposure key, 0.21.0 / G2).
|
|
89
|
+
* `internal` = timeouts, retries, cooldowns, weights, caps and windows; `deployment` = mount
|
|
90
|
+
* switches and library-scope policy; `security` = safety surfaces (never user-writable);
|
|
91
|
+
* `identity` = providers/models/registered names; `path` = per-row directories; `install` = what
|
|
92
|
+
* the installer freezes. Exactly one of `card`/`why` rides every row, and the tier decides which. */
|
|
93
|
+
export type ParamWhy = 'deployment' | 'security' | 'identity' | 'path' | 'install' | 'internal';
|
|
83
94
|
export interface ParamExposure {
|
|
84
95
|
id: string;
|
|
85
96
|
group: ParamGroup;
|
|
@@ -95,6 +106,12 @@ export interface ParamExposure {
|
|
|
95
106
|
hint?: string;
|
|
96
107
|
/** Which control the card renders for this field. Required on E3 rows. */
|
|
97
108
|
control?: 'number' | 'switch' | 'select' | 'text';
|
|
109
|
+
/** The settings card this row appears on — its OWN row id (the platform keys a card by the Loader
|
|
110
|
+
* entry id, and a card may only render its own row's Config). Required on E3 rows. */
|
|
111
|
+
card?: string;
|
|
112
|
+
/** The registered reason this row has NO card. Required on every non-E3 row; mutually exclusive
|
|
113
|
+
* with `card`. This is what makes "an E3 row that no card renders" unspellable. */
|
|
114
|
+
why?: ParamWhy;
|
|
98
115
|
/** Unit suffix shown next to a number (empty when it carries none). */
|
|
99
116
|
unit?: string;
|
|
100
117
|
/** Pipe-joined allowed values; non-empty exactly when control is 'select'. */
|
package/package.json
CHANGED