dsh-advisor 0.5.2 → 0.5.4
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/README.md +8 -4
- package/README.zh.md +8 -4
- package/lib/advisor-runtime.d.ts +111 -4
- package/lib/advisor-runtime.js +172 -10
- package/lib/advisor-runtime.js.map +1 -1
- package/lib/client/advisor-card.d.ts +2 -1
- package/lib/client/advisor-store.d.ts +32 -1
- package/lib/client/locales.d.ts +4 -0
- package/lib/client.js +77 -6
- package/lib/commands.d.ts +34 -1
- package/lib/commands.js +34 -1
- package/lib/commands.js.map +1 -1
- package/lib/config.d.ts +37 -2
- package/lib/config.js +10 -3
- package/lib/config.js.map +1 -1
- package/lib/gateway.d.ts +7 -5
- package/lib/gateway.js +17 -5
- package/lib/gateway.js.map +1 -1
- package/lib/index.js +46 -10
- package/lib/index.js.map +1 -1
- package/lib/tui-settings.d.ts +11 -6
- package/lib/tui-settings.js +36 -6
- package/lib/tui-settings.js.map +1 -1
- package/package.json +21 -21
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* beneath it: provider select, model select (ALWAYS rendered — there is no
|
|
12
12
|
* enable checkbox to gate them; the config-level `enabled` switch was removed
|
|
13
13
|
* and the plugin-row toggle is the master switch), system-prompt textarea,
|
|
14
|
-
* and the paired `immuneTurns`/`maxDeltaMessages` numbers
|
|
14
|
+
* and the paired `immuneTurns`/`maxDeltaMessages` numbers (joined by
|
|
15
|
+
* `maxTokens`, issue #102) plus the `proseFallback` checkbox; then the footer
|
|
15
16
|
* with the failed message + Discard/Save carrying the upstream disabled
|
|
16
17
|
* semantics — save = `!dirty || invalid || saving`, discard = `!dirty ||
|
|
17
18
|
* saving` (KD-U1, Global Constraints). Save additionally carries `!writable`
|
|
@@ -99,6 +99,17 @@ export interface AdvisorConfigView {
|
|
|
99
99
|
immuneTurns: number;
|
|
100
100
|
/** Delta window; integer ≥ 0, 0 = unbounded. */
|
|
101
101
|
maxDeltaMessages: number;
|
|
102
|
+
/**
|
|
103
|
+
* Token budget for one advisor call (KD-I1, issue #102); integer
|
|
104
|
+
* 128..16384. Absent on plain-object entries → the runtime default
|
|
105
|
+
* `ADVISOR_MAX_TOKENS` (768), mirroring src/config.ts.
|
|
106
|
+
*/
|
|
107
|
+
maxTokens?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Opt-in prose fallback switch (KD-I2, issue #102). Absent on plain-object
|
|
110
|
+
* entries → the runtime default false, mirroring src/config.ts.
|
|
111
|
+
*/
|
|
112
|
+
proseFallback?: boolean;
|
|
102
113
|
/** Present iff the advisor is disabled by the explicit model gate. */
|
|
103
114
|
disabledReason?: string;
|
|
104
115
|
}
|
|
@@ -129,7 +140,10 @@ export type ModelsEmptyReason =
|
|
|
129
140
|
| 'catalog-empty'
|
|
130
141
|
/** No profile models; the catalog has no group for this provider. */
|
|
131
142
|
| 'unavailable';
|
|
132
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* The user-layer draft the form edits
|
|
145
|
+
* (provider/model/systemPrompt/immuneTurns/maxDeltaMessages/maxTokens/proseFallback).
|
|
146
|
+
*/
|
|
133
147
|
export interface AdvisorDraft {
|
|
134
148
|
/** Provider route; required (non-empty). */
|
|
135
149
|
provider?: string;
|
|
@@ -141,6 +155,14 @@ export interface AdvisorDraft {
|
|
|
141
155
|
immuneTurns?: number;
|
|
142
156
|
/** Delta window; integer ≥ 0, default 60, 0 = unbounded. Cleared input → undefined (left unchanged on apply). */
|
|
143
157
|
maxDeltaMessages?: number;
|
|
158
|
+
/**
|
|
159
|
+
* Token budget for one advisor call (KD-I1, issue #102); integer
|
|
160
|
+
* 128..16384, default 768. Cleared input → undefined (left unchanged on
|
|
161
|
+
* apply).
|
|
162
|
+
*/
|
|
163
|
+
maxTokens?: number;
|
|
164
|
+
/** Opt-in prose fallback (KD-I2, issue #102); default false. */
|
|
165
|
+
proseFallback?: boolean;
|
|
144
166
|
}
|
|
145
167
|
/** Why an Apply failed (copy keys resolve in the card; raw text passes through). */
|
|
146
168
|
export type ApplyFailure = {
|
|
@@ -286,6 +308,14 @@ export declare class AdvisorSettingsStore {
|
|
|
286
308
|
setImmuneTurns(value: number | undefined): void;
|
|
287
309
|
/** Set the delta-message window (int ≥ 0; non-numeric input keeps the current value; undefined clears → omitted from patch). */
|
|
288
310
|
setMaxDeltaMessages(value: number | undefined): void;
|
|
311
|
+
/**
|
|
312
|
+
* Set the advisor token budget (KD-I1, issue #102: int clamped into
|
|
313
|
+
* 128..16384 — the schema bounds; non-numeric input keeps the current
|
|
314
|
+
* value; undefined clears → omitted from patch).
|
|
315
|
+
*/
|
|
316
|
+
setMaxTokens(value: number | undefined): void;
|
|
317
|
+
/** Set the opt-in prose fallback (KD-I2, issue #102). */
|
|
318
|
+
setProseFallback(value: boolean): void;
|
|
289
319
|
/**
|
|
290
320
|
* Refuse in a read-only environment (store-side defense-in-depth for the
|
|
291
321
|
* W-1 invariant — a write must never be issued when the UI declares the
|
|
@@ -340,6 +370,7 @@ export declare class AdvisorSettingsStore {
|
|
|
340
370
|
private setField;
|
|
341
371
|
/** Remove one optional draft field via the settings schema path writer. */
|
|
342
372
|
private clearField;
|
|
373
|
+
/** A bounded integer clamp (int ≥ min, ≤ max); a non-finite input keeps the fallback. */
|
|
343
374
|
private clampInt;
|
|
344
375
|
}
|
|
345
376
|
/**
|
package/lib/client/locales.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export declare const en: {
|
|
|
28
28
|
systemPromptHint: string;
|
|
29
29
|
immuneTurns: string;
|
|
30
30
|
maxDeltaMessages: string;
|
|
31
|
+
maxTokens: string;
|
|
32
|
+
maxTokensHint: string;
|
|
33
|
+
proseFallback: string;
|
|
34
|
+
proseFallbackHint: string;
|
|
31
35
|
save: string;
|
|
32
36
|
saving: string;
|
|
33
37
|
discard: string;
|
package/lib/client.js
CHANGED
|
@@ -48,7 +48,7 @@ Reply with EXACTLY ONE JSON object and nothing else:
|
|
|
48
48
|
- If there is genuinely nothing worth advising, respond with {"note": "Nothing to add"}.
|
|
49
49
|
- Do not include prose, markdown fences, or anything outside the JSON object.`;
|
|
50
50
|
|
|
51
|
-
var css = `.kPHV8a_readOnly{color:var(--dsw-alias-label-tertiary);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_notice{color:var(--dsw-alias-state-warn-label);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_savedNotice{color:var(--dsw-alias-state-success-primary);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_error{color:var(--dsw-alias-state-error-primary);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_form{flex-direction:column;display:flex}.kPHV8a_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.kPHV8a_form>.kPHV8a_field+.kPHV8a_field{border-top:.5px solid var(--dsw-alias-border-l2)}.kPHV8a_fieldLabel{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:1.5}.kPHV8a_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;height:34px;font:inherit;background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);padding:0 12px;font-size:13px;line-height:1.5}select.kPHV8a_input{cursor:pointer;max-width:240px}.kPHV8a_input:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.kPHV8a_input::placeholder{color:var(--dsw-alias-label-dimmed)}.kPHV8a_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.kPHV8a_selectInput{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}.kPHV8a_textarea{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;min-height:96px;font:inherit;background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);resize:vertical;padding:8px 12px;font-size:13px;line-height:1.5}.kPHV8a_textarea:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.kPHV8a_textarea::placeholder{color:var(--dsw-alias-label-dimmed)}.kPHV8a_textarea:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.kPHV8a_numberFields{border-top:.5px solid var(--dsw-alias-border-l2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px 0;display:grid}.kPHV8a_numberFields .kPHV8a_field{padding:0}.kPHV8a_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.kPHV8a_warnHint{color:var(--dsw-alias-state-warn-label);margin:0;font-size:12px;line-height:1.5}.kPHV8a_footer{align-items:center;gap:8px;padding-top:16px;display:flex}.kPHV8a_failed{min-width:0;color:var(--dsw-alias-label-error);flex:1;margin:0;font-size:12px;line-height:1.5}.kPHV8a_discard,.kPHV8a_save{appearance:none;border-radius:var(--dsw-radius-md);font:inherit;cursor:pointer;border:1px solid #0000;padding:5px 14px;font-size:13px;line-height:1.5}.kPHV8a_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}.kPHV8a_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.kPHV8a_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.kPHV8a_discard:disabled,.kPHV8a_save:disabled{opacity:.4;cursor:default}.kPHV8a_discard:focus-visible,.kPHV8a_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}`;
|
|
51
|
+
var css = `.kPHV8a_readOnly{color:var(--dsw-alias-label-tertiary);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_notice{color:var(--dsw-alias-state-warn-label);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_savedNotice{color:var(--dsw-alias-state-success-primary);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_error{color:var(--dsw-alias-state-error-primary);margin:0 0 12px;font-size:12px;line-height:1.5}.kPHV8a_form{flex-direction:column;display:flex}.kPHV8a_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.kPHV8a_form>.kPHV8a_field+.kPHV8a_field{border-top:.5px solid var(--dsw-alias-border-l2)}.kPHV8a_fieldLabel{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:1.5}.kPHV8a_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;height:34px;font:inherit;background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);padding:0 12px;font-size:13px;line-height:1.5}select.kPHV8a_input{cursor:pointer;max-width:240px}.kPHV8a_input:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.kPHV8a_input::placeholder{color:var(--dsw-alias-label-dimmed)}.kPHV8a_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.kPHV8a_selectInput{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}.kPHV8a_textarea{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;min-height:96px;font:inherit;background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);resize:vertical;padding:8px 12px;font-size:13px;line-height:1.5}.kPHV8a_textarea:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.kPHV8a_textarea::placeholder{color:var(--dsw-alias-label-dimmed)}.kPHV8a_textarea:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.kPHV8a_numberFields{border-top:.5px solid var(--dsw-alias-border-l2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px 0;display:grid}.kPHV8a_numberFields .kPHV8a_field{padding:0}.kPHV8a_checkboxInput{width:auto;accent-color:var(--dsw-alias-state-business-primary);align-self:flex-start;margin:0}.kPHV8a_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.kPHV8a_warnHint{color:var(--dsw-alias-state-warn-label);margin:0;font-size:12px;line-height:1.5}.kPHV8a_footer{align-items:center;gap:8px;padding-top:16px;display:flex}.kPHV8a_failed{min-width:0;color:var(--dsw-alias-label-error);flex:1;margin:0;font-size:12px;line-height:1.5}.kPHV8a_discard,.kPHV8a_save{appearance:none;border-radius:var(--dsw-radius-md);font:inherit;cursor:pointer;border:1px solid #0000;padding:5px 14px;font-size:13px;line-height:1.5}.kPHV8a_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}.kPHV8a_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.kPHV8a_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.kPHV8a_discard:disabled,.kPHV8a_save:disabled{opacity:.4;cursor:default}.kPHV8a_discard:focus-visible,.kPHV8a_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}`;
|
|
52
52
|
var tagId = "dsh-advisor/advisor-card.module.css";
|
|
53
53
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
54
54
|
const tag = document.createElement("style");
|
|
@@ -57,7 +57,7 @@ if (typeof document !== "undefined" && document.querySelector("style[data-plugin
|
|
|
57
57
|
tag.textContent = css;
|
|
58
58
|
document.head.appendChild(tag);
|
|
59
59
|
}
|
|
60
|
-
var advisor_card_module_css_default = { "discard": "kPHV8a_discard", "error": "kPHV8a_error", "failed": "kPHV8a_failed", "field": "kPHV8a_field", "fieldLabel": "kPHV8a_fieldLabel", "footer": "kPHV8a_footer", "form": "kPHV8a_form", "hint": "kPHV8a_hint", "input": "kPHV8a_input", "notice": "kPHV8a_notice", "numberFields": "kPHV8a_numberFields", "readOnly": "kPHV8a_readOnly", "save": "kPHV8a_save", "savedNotice": "kPHV8a_savedNotice", "selectInput": "kPHV8a_selectInput", "textarea": "kPHV8a_textarea", "warnHint": "kPHV8a_warnHint" };
|
|
60
|
+
var advisor_card_module_css_default = { "checkboxInput": "kPHV8a_checkboxInput", "discard": "kPHV8a_discard", "error": "kPHV8a_error", "failed": "kPHV8a_failed", "field": "kPHV8a_field", "fieldLabel": "kPHV8a_fieldLabel", "footer": "kPHV8a_footer", "form": "kPHV8a_form", "hint": "kPHV8a_hint", "input": "kPHV8a_input", "notice": "kPHV8a_notice", "numberFields": "kPHV8a_numberFields", "readOnly": "kPHV8a_readOnly", "save": "kPHV8a_save", "savedNotice": "kPHV8a_savedNotice", "selectInput": "kPHV8a_selectInput", "textarea": "kPHV8a_textarea", "warnHint": "kPHV8a_warnHint" };
|
|
61
61
|
|
|
62
62
|
// src/client/advisor-card.tsx
|
|
63
63
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -177,6 +177,24 @@ function AdvisorCard(props) {
|
|
|
177
177
|
),
|
|
178
178
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: advisor_card_module_css_default["hint"], children: t("systemPromptHint") })
|
|
179
179
|
] }),
|
|
180
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: advisor_card_module_css_default["field"], children: [
|
|
181
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { htmlFor: "advisor-prose-fallback", className: advisor_card_module_css_default["fieldLabel"], children: t("proseFallback") }),
|
|
182
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
183
|
+
"input",
|
|
184
|
+
{
|
|
185
|
+
id: "advisor-prose-fallback",
|
|
186
|
+
"aria-label": t("proseFallback"),
|
|
187
|
+
className: advisor_card_module_css_default["checkboxInput"],
|
|
188
|
+
type: "checkbox",
|
|
189
|
+
checked: draft.proseFallback ?? false,
|
|
190
|
+
disabled: busy,
|
|
191
|
+
onChange: (event) => {
|
|
192
|
+
controller.setProseFallback(event.target.checked);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
),
|
|
196
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: advisor_card_module_css_default["hint"], children: t("proseFallbackHint") })
|
|
197
|
+
] }),
|
|
180
198
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: advisor_card_module_css_default["numberFields"], children: [
|
|
181
199
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: advisor_card_module_css_default["field"], children: [
|
|
182
200
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { htmlFor: "advisor-immune-turns", className: advisor_card_module_css_default["fieldLabel"], children: t("immuneTurns") }),
|
|
@@ -215,6 +233,27 @@ function AdvisorCard(props) {
|
|
|
215
233
|
}
|
|
216
234
|
}
|
|
217
235
|
)
|
|
236
|
+
] }),
|
|
237
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: advisor_card_module_css_default["field"], children: [
|
|
238
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { htmlFor: "advisor-max-tokens", className: advisor_card_module_css_default["fieldLabel"], children: t("maxTokens") }),
|
|
239
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
240
|
+
"input",
|
|
241
|
+
{
|
|
242
|
+
id: "advisor-max-tokens",
|
|
243
|
+
"aria-label": t("maxTokens"),
|
|
244
|
+
className: advisor_card_module_css_default["input"],
|
|
245
|
+
type: "number",
|
|
246
|
+
min: 128,
|
|
247
|
+
max: 16384,
|
|
248
|
+
step: 1,
|
|
249
|
+
value: draft.maxTokens ?? "",
|
|
250
|
+
disabled: busy,
|
|
251
|
+
onChange: (event) => {
|
|
252
|
+
controller.setMaxTokens(event.target.value === "" ? void 0 : Number(event.target.value));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
),
|
|
256
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: advisor_card_module_css_default["hint"], children: t("maxTokensHint") })
|
|
218
257
|
] })
|
|
219
258
|
] })
|
|
220
259
|
] }),
|
|
@@ -407,7 +446,14 @@ function draftOfConfig(config) {
|
|
|
407
446
|
model: stringField(config?.model),
|
|
408
447
|
systemPrompt: typeof config?.systemPrompt === "string" ? config.systemPrompt : "",
|
|
409
448
|
immuneTurns: numberField(config?.immuneTurns, 3),
|
|
410
|
-
maxDeltaMessages: numberField(config?.maxDeltaMessages, 60)
|
|
449
|
+
maxDeltaMessages: numberField(config?.maxDeltaMessages, 60),
|
|
450
|
+
// The scalar fields show the effective values: the gateway returns the
|
|
451
|
+
// resolved config, so the wire carries both keys whenever the resolver
|
|
452
|
+
// defined them (the schema defaults fill 768/false on the normal path);
|
|
453
|
+
// these fallbacks cover the containment wires whose raw entry omitted
|
|
454
|
+
// the keys (the gateway's S1 fallback mirrors the raw source verbatim).
|
|
455
|
+
maxTokens: numberField(config?.maxTokens, 768),
|
|
456
|
+
proseFallback: typeof config?.proseFallback === "boolean" ? config.proseFallback : false
|
|
411
457
|
};
|
|
412
458
|
}
|
|
413
459
|
function gateFailure(draft) {
|
|
@@ -689,6 +735,22 @@ var AdvisorSettingsStore = class {
|
|
|
689
735
|
}
|
|
690
736
|
this.setField("maxDeltaMessages", this.clampInt(value, this.store.getSnapshot().draft.maxDeltaMessages ?? 0));
|
|
691
737
|
}
|
|
738
|
+
/**
|
|
739
|
+
* Set the advisor token budget (KD-I1, issue #102: int clamped into
|
|
740
|
+
* 128..16384 — the schema bounds; non-numeric input keeps the current
|
|
741
|
+
* value; undefined clears → omitted from patch).
|
|
742
|
+
*/
|
|
743
|
+
setMaxTokens(value) {
|
|
744
|
+
if (value === void 0) {
|
|
745
|
+
this.clearField("maxTokens");
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
this.setField("maxTokens", this.clampInt(value, this.store.getSnapshot().draft.maxTokens ?? 768, 128, 16384));
|
|
749
|
+
}
|
|
750
|
+
/** Set the opt-in prose fallback (KD-I2, issue #102). */
|
|
751
|
+
setProseFallback(value) {
|
|
752
|
+
this.setField("proseFallback", value);
|
|
753
|
+
}
|
|
692
754
|
/**
|
|
693
755
|
* Refuse in a read-only environment (store-side defense-in-depth for the
|
|
694
756
|
* W-1 invariant — a write must never be issued when the UI declares the
|
|
@@ -788,7 +850,7 @@ var AdvisorSettingsStore = class {
|
|
|
788
850
|
*/
|
|
789
851
|
patchFor(draft) {
|
|
790
852
|
const patch = {};
|
|
791
|
-
const always = ["systemPrompt", "immuneTurns", "maxDeltaMessages"];
|
|
853
|
+
const always = ["systemPrompt", "immuneTurns", "maxDeltaMessages", "maxTokens", "proseFallback"];
|
|
792
854
|
for (const key of always) {
|
|
793
855
|
const next = draft[key];
|
|
794
856
|
if (next === void 0) continue;
|
|
@@ -835,8 +897,9 @@ var AdvisorSettingsStore = class {
|
|
|
835
897
|
s.dirty = this.recomputeDirty(s.draft);
|
|
836
898
|
});
|
|
837
899
|
}
|
|
838
|
-
|
|
839
|
-
|
|
900
|
+
/** A bounded integer clamp (int ≥ min, ≤ max); a non-finite input keeps the fallback. */
|
|
901
|
+
clampInt(value, fallback, min = 0, max = Number.MAX_SAFE_INTEGER) {
|
|
902
|
+
return Number.isFinite(value) ? Math.min(max, Math.max(min, Math.floor(value))) : fallback;
|
|
840
903
|
}
|
|
841
904
|
};
|
|
842
905
|
function refreshIfLoaded(controller) {
|
|
@@ -1018,6 +1081,10 @@ var en = {
|
|
|
1018
1081
|
systemPromptHint: "Leave empty to use the default system prompt",
|
|
1019
1082
|
immuneTurns: "Immune turns",
|
|
1020
1083
|
maxDeltaMessages: "Max delta messages",
|
|
1084
|
+
maxTokens: "Max tokens",
|
|
1085
|
+
maxTokensHint: "Token budget for one advisor review (128\u201316384, default 768). Raise it if a thinking model returns empty replies.",
|
|
1086
|
+
proseFallback: "Prose fallback",
|
|
1087
|
+
proseFallbackHint: "When no JSON frame is found, deliver the prose reply as a low-severity note \u2014 for models that answer in prose instead of JSON.",
|
|
1021
1088
|
save: "Save",
|
|
1022
1089
|
saving: "Saving\u2026",
|
|
1023
1090
|
discard: "Discard",
|
|
@@ -1059,6 +1126,10 @@ var zh = {
|
|
|
1059
1126
|
systemPromptHint: "\u7559\u7A7A\u5219\u4F7F\u7528\u9ED8\u8BA4\u7CFB\u7EDF\u63D0\u793A\u8BCD",
|
|
1060
1127
|
immuneTurns: "\u514D\u75AB\u8F6E\u6B21",
|
|
1061
1128
|
maxDeltaMessages: "\u6700\u5927\u589E\u91CF\u6D88\u606F\u6570",
|
|
1129
|
+
maxTokens: "\u6700\u5927 token \u6570",
|
|
1130
|
+
maxTokensHint: "\u5355\u6B21\u8BC4\u5BA1\u7684 token \u9884\u7B97\uFF08128\u201316384\uFF0C\u9ED8\u8BA4 768\uFF09\u3002\u601D\u8003\u578B\u6A21\u578B\u8FD4\u56DE\u7A7A\u56DE\u590D\u65F6\u8BF7\u8C03\u9AD8\u3002",
|
|
1131
|
+
proseFallback: "\u6563\u6587\u56DE\u9000",
|
|
1132
|
+
proseFallbackHint: "\u672A\u627E\u5230 JSON \u5E27\u65F6\uFF0C\u5C06\u6563\u6587\u56DE\u590D\u4F5C\u4E3A\u4F4E\u4E25\u91CD\u7EA7\u5EFA\u8BAE\u6295\u9012\u2014\u2014\u9002\u7528\u4E8E\u4EE5\u6563\u6587\u800C\u975E JSON \u4F5C\u7B54\u7684\u6A21\u578B\u3002",
|
|
1062
1133
|
save: "\u4FDD\u5B58",
|
|
1063
1134
|
saving: "\u4FDD\u5B58\u4E2D\u2026",
|
|
1064
1135
|
discard: "\u653E\u5F03\u4FEE\u6539",
|
package/lib/commands.d.ts
CHANGED
|
@@ -223,11 +223,32 @@ export interface AdvisorSessionStatus {
|
|
|
223
223
|
readonly pendingCount: number;
|
|
224
224
|
/** Epoch-ms of the last accepted note; undefined before the first (T4). */
|
|
225
225
|
readonly lastActivityAt?: number;
|
|
226
|
+
/**
|
|
227
|
+
* Empty replies dropped since the runtime was created (KD-I3, issue #102) —
|
|
228
|
+
* the classic case is a thinking model exhausting the token budget (empty
|
|
229
|
+
* body, finish: max-tokens). 0 for a session without a live runtime.
|
|
230
|
+
*/
|
|
231
|
+
readonly emptyReplies: number;
|
|
232
|
+
/**
|
|
233
|
+
* Replies dropped since the runtime was created because they carried a body
|
|
234
|
+
* but no parseable JSON note and the opt-in prose fallback did not rescue
|
|
235
|
+
* them (KD-I3, issue #102). 0 for a session without a live runtime.
|
|
236
|
+
*/
|
|
237
|
+
readonly unparsedReplies: number;
|
|
238
|
+
/** Epoch-ms of the last empty-reply drop; undefined before the first. */
|
|
239
|
+
readonly lastEmptyReplyAt?: number;
|
|
240
|
+
/** Epoch-ms of the last unparsed-reply drop; undefined before the first. */
|
|
241
|
+
readonly lastUnparsedReplyAt?: number;
|
|
226
242
|
}
|
|
227
243
|
/**
|
|
228
244
|
* Render the status surface. Kept minimal and truthful: state, the S4 reason
|
|
229
245
|
* when the gate blocks, the resolved provider/model, the runtime status with
|
|
230
|
-
* the pending count,
|
|
246
|
+
* the pending count, the last accepted-note activity (ISO, or `never`), and —
|
|
247
|
+
* ONLY when a drop counter is non-zero (KD-I3, issue #102) — one `Dropped:`
|
|
248
|
+
* line with the per-class counts, the ISO timestamp of each class's last drop
|
|
249
|
+
* when present, and the same repair hints the runtime's warn-once logs carry
|
|
250
|
+
* (empty → raise maxTokens; unparsed → enable proseFallback). The zero-drop
|
|
251
|
+
* output stays byte-identical to the pre-issue-#102 surface.
|
|
231
252
|
*/
|
|
232
253
|
export declare function advisorStatusText(status: AdvisorSessionStatus): string;
|
|
233
254
|
/** Validation deadline for one `/advisor model set` lookup (60 s — matches
|
|
@@ -297,6 +318,18 @@ export interface AdvisorComposedConfig {
|
|
|
297
318
|
readonly immuneTurns: number;
|
|
298
319
|
/** Delta window; 0 = unbounded (KD-3). */
|
|
299
320
|
readonly maxDeltaMessages: number;
|
|
321
|
+
/**
|
|
322
|
+
* Token budget for one advisor call (KD-I1, issue #102). Present when the
|
|
323
|
+
* composed read carries the key (the schema default fills 768 on the
|
|
324
|
+
* resolved path); absent on a fallback-shaped read — the renderer shows the
|
|
325
|
+
* line only when present, never a defaulted value for an absent key.
|
|
326
|
+
*/
|
|
327
|
+
readonly maxTokens?: number;
|
|
328
|
+
/**
|
|
329
|
+
* Opt-in prose fallback switch (KD-I2, issue #102); same presence rule as
|
|
330
|
+
* {@link AdvisorComposedConfig.maxTokens}.
|
|
331
|
+
*/
|
|
332
|
+
readonly proseFallback?: boolean;
|
|
300
333
|
/** True when the composed config carries a custom system prompt ("" = unset). */
|
|
301
334
|
readonly systemPromptSet: boolean;
|
|
302
335
|
/**
|
package/lib/commands.js
CHANGED
|
@@ -211,7 +211,12 @@ export class AdvisorSessionOverrides {
|
|
|
211
211
|
/**
|
|
212
212
|
* Render the status surface. Kept minimal and truthful: state, the S4 reason
|
|
213
213
|
* when the gate blocks, the resolved provider/model, the runtime status with
|
|
214
|
-
* the pending count,
|
|
214
|
+
* the pending count, the last accepted-note activity (ISO, or `never`), and —
|
|
215
|
+
* ONLY when a drop counter is non-zero (KD-I3, issue #102) — one `Dropped:`
|
|
216
|
+
* line with the per-class counts, the ISO timestamp of each class's last drop
|
|
217
|
+
* when present, and the same repair hints the runtime's warn-once logs carry
|
|
218
|
+
* (empty → raise maxTokens; unparsed → enable proseFallback). The zero-drop
|
|
219
|
+
* output stays byte-identical to the pre-issue-#102 surface.
|
|
215
220
|
*/
|
|
216
221
|
export function advisorStatusText(status) {
|
|
217
222
|
const lines = [];
|
|
@@ -226,6 +231,25 @@ export function advisorStatusText(status) {
|
|
|
226
231
|
const pending = status.pendingCount > 0 ? ` (${status.pendingCount} pending)` : '';
|
|
227
232
|
lines.push(`Runtime: ${status.runtimeStatus}${pending}`);
|
|
228
233
|
lines.push(`Last activity: ${status.lastActivityAt === undefined ? 'never' : new Date(status.lastActivityAt).toISOString()}`);
|
|
234
|
+
// KD-I3 (issue #102): drop visibility — ONE line, only when something was
|
|
235
|
+
// actually dropped, so the zero-drop surface stays byte-identical ("minimal
|
|
236
|
+
// and truthful"). Per class: count, the ISO timestamp of the last drop when
|
|
237
|
+
// the class has fired, and the repair hint matching the runtime's warn-once.
|
|
238
|
+
const dropped = [];
|
|
239
|
+
if (status.emptyReplies > 0) {
|
|
240
|
+
const last = status.lastEmptyReplyAt === undefined
|
|
241
|
+
? ''
|
|
242
|
+
: ` (last ${new Date(status.lastEmptyReplyAt).toISOString()})`;
|
|
243
|
+
dropped.push(`${status.emptyReplies} empty${last} — consider raising the maxTokens setting`);
|
|
244
|
+
}
|
|
245
|
+
if (status.unparsedReplies > 0) {
|
|
246
|
+
const last = status.lastUnparsedReplyAt === undefined
|
|
247
|
+
? ''
|
|
248
|
+
: ` (last ${new Date(status.lastUnparsedReplyAt).toISOString()})`;
|
|
249
|
+
dropped.push(`${status.unparsedReplies} unparsed${last} — consider enabling the proseFallback setting`);
|
|
250
|
+
}
|
|
251
|
+
if (dropped.length > 0)
|
|
252
|
+
lines.push(`Dropped: ${dropped.join('; ')}`);
|
|
229
253
|
return lines.join('\n');
|
|
230
254
|
}
|
|
231
255
|
// ---------------------------------------------------------------------------
|
|
@@ -310,6 +334,15 @@ export function advisorConfigText(config) {
|
|
|
310
334
|
}
|
|
311
335
|
lines.push(`immuneTurns: ${config.immuneTurns}`);
|
|
312
336
|
lines.push(`maxDeltaMessages: ${config.maxDeltaMessages === 0 ? 'unbounded' : config.maxDeltaMessages}`);
|
|
337
|
+
// The issue-#102 keys (qc1 S-1) render only when the composed read carries
|
|
338
|
+
// them: a fallback-shaped read omits the optional keys, and inventing a
|
|
339
|
+
// default marker there would misreport a store whose real values differ —
|
|
340
|
+
// the same lie class the gateway wire fix (qc1 W-1) removes. Absent = no
|
|
341
|
+
// line, matching the Model/Reason lines' conditional style.
|
|
342
|
+
if (config.maxTokens !== undefined)
|
|
343
|
+
lines.push(`maxTokens: ${config.maxTokens}`);
|
|
344
|
+
if (config.proseFallback !== undefined)
|
|
345
|
+
lines.push(`proseFallback: ${config.proseFallback ? 'on' : 'off'}`);
|
|
313
346
|
// The set-vs-default signal is systemPromptSet, NOT the summary: a custom
|
|
314
347
|
// prompt whose first line is empty (e.g. '\nsecond line') summarizes to ''
|
|
315
348
|
// but must still read as set, not <default> (qc2 F-3).
|
package/lib/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/lib/config.d.ts
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The exported schemastery `Config` schema is what the cordis Loader uses to
|
|
5
5
|
* validate the plugin row config: it applies defaults (`immuneTurns` 3,
|
|
6
|
-
* `maxDeltaMessages` 60, `systemPrompt` ""
|
|
7
|
-
*
|
|
6
|
+
* `maxDeltaMessages` 60, `systemPrompt` "", `maxTokens` 768,
|
|
7
|
+
* `proseFallback` false) and enforces types/bounds (integers ≥ 0; maxTokens
|
|
8
|
+
* 128..16384). All seven live fields are declared `.volatile()`:
|
|
8
9
|
* the Loader commits edits to them into the running fiber's references WITHOUT
|
|
9
10
|
* a remount (dsh 0.1.7-rc.1 — the settings.yaml user layer is gone), so
|
|
10
11
|
* `apply` receives each field as a `{ get() }` reference and every read must
|
|
@@ -40,6 +41,28 @@ export interface AdvisorConfig {
|
|
|
40
41
|
readonly immuneTurns: number;
|
|
41
42
|
/** Delta window; integer ≥ 0, default 60, 0 = unbounded (KD-3). */
|
|
42
43
|
readonly maxDeltaMessages: number;
|
|
44
|
+
/**
|
|
45
|
+
* Token budget for one advisor call; integer 128..16384, default 768
|
|
46
|
+
* (KD-I1, issue #102 — the 2026-09-29 user-directed supersession of KD-6's
|
|
47
|
+
* code invariant: a thinking model behind a third-party gateway can exhaust
|
|
48
|
+
* a fixed budget on reasoning and come back empty, so the operator raises
|
|
49
|
+
* the budget via Settings instead). Optional in the raw contract: the
|
|
50
|
+
* schema default (768) fills it on the Loader path and plain-object entries
|
|
51
|
+
* may omit it — the runtime falls back to `ADVISOR_MAX_TOKENS`
|
|
52
|
+
* (src/advisor-runtime.ts), keeping the default behavior byte-identical.
|
|
53
|
+
*/
|
|
54
|
+
readonly maxTokens?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Opt-in prose fallback (KD-I2, issue #102): when true, a reply with no
|
|
57
|
+
* parseable JSON frame but non-empty text is delivered as a `nit` note
|
|
58
|
+
* (trimmed, surrounding fence stripped, capped at the note-char bound)
|
|
59
|
+
* instead of being dropped. JSON-frame priority is unchanged — the fallback
|
|
60
|
+
* applies ONLY when no frame was found. Optional in the raw contract: the
|
|
61
|
+
* schema default (false) fills it on the Loader path and plain-object
|
|
62
|
+
* entries may omit it — the runtime falls back to false (the KD-2 drop
|
|
63
|
+
* semantics), keeping the default behavior byte-identical.
|
|
64
|
+
*/
|
|
65
|
+
readonly proseFallback?: boolean;
|
|
43
66
|
}
|
|
44
67
|
/** Config after the explicit model gate (spec §5.2) — consumed by T4/T6. */
|
|
45
68
|
export interface ResolvedAdvisorConfig {
|
|
@@ -54,6 +77,10 @@ export interface ResolvedAdvisorConfig {
|
|
|
54
77
|
readonly systemPrompt: string;
|
|
55
78
|
readonly immuneTurns: number;
|
|
56
79
|
readonly maxDeltaMessages: number;
|
|
80
|
+
/** Token budget (KD-I1); absent on plain-object entries → runtime default 768. */
|
|
81
|
+
readonly maxTokens?: number;
|
|
82
|
+
/** Prose fallback switch (KD-I2); absent on plain-object entries → runtime default false. */
|
|
83
|
+
readonly proseFallback?: boolean;
|
|
57
84
|
/** Present iff the advisor is disabled by the explicit model gate. */
|
|
58
85
|
readonly disabledReason?: string;
|
|
59
86
|
}
|
|
@@ -85,12 +112,16 @@ export declare const Config: z<Schemastery.ObjectS<NoInfer<{
|
|
|
85
112
|
systemPrompt: z<string, string, "volatile-defined">;
|
|
86
113
|
immuneTurns: z<number, number, "volatile-defined">;
|
|
87
114
|
maxDeltaMessages: z<number, number, "volatile-defined">;
|
|
115
|
+
maxTokens: z<number, number, "volatile-defined">;
|
|
116
|
+
proseFallback: z<boolean, boolean, "volatile-defined">;
|
|
88
117
|
}>>, Schemastery.ObjectT<NoInfer<{
|
|
89
118
|
provider: z<string, string, "volatile">;
|
|
90
119
|
model: z<string, string, "volatile">;
|
|
91
120
|
systemPrompt: z<string, string, "volatile-defined">;
|
|
92
121
|
immuneTurns: z<number, number, "volatile-defined">;
|
|
93
122
|
maxDeltaMessages: z<number, number, "volatile-defined">;
|
|
123
|
+
maxTokens: z<number, number, "volatile-defined">;
|
|
124
|
+
proseFallback: z<boolean, boolean, "volatile-defined">;
|
|
94
125
|
}>>, "plain">;
|
|
95
126
|
/**
|
|
96
127
|
* The entry config as the runtime hands it to `apply` (dsh 0.1.7-rc.1): every
|
|
@@ -107,6 +138,10 @@ export interface VolatileAdvisorConfig {
|
|
|
107
138
|
readonly systemPrompt: unknown;
|
|
108
139
|
readonly immuneTurns: unknown;
|
|
109
140
|
readonly maxDeltaMessages: unknown;
|
|
141
|
+
/** Optional like {@link AdvisorConfig.maxTokens}: plain entries may omit it; the Loader path always carries it. */
|
|
142
|
+
readonly maxTokens?: unknown;
|
|
143
|
+
/** Optional like {@link AdvisorConfig.proseFallback}: plain entries may omit it; the Loader path always carries it. */
|
|
144
|
+
readonly proseFallback?: unknown;
|
|
110
145
|
}
|
|
111
146
|
/**
|
|
112
147
|
* Snapshot the live entry config into a plain {@link AdvisorConfig}: every
|
package/lib/config.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The exported schemastery `Config` schema is what the cordis Loader uses to
|
|
5
5
|
* validate the plugin row config: it applies defaults (`immuneTurns` 3,
|
|
6
|
-
* `maxDeltaMessages` 60, `systemPrompt` ""
|
|
7
|
-
*
|
|
6
|
+
* `maxDeltaMessages` 60, `systemPrompt` "", `maxTokens` 768,
|
|
7
|
+
* `proseFallback` false) and enforces types/bounds (integers ≥ 0; maxTokens
|
|
8
|
+
* 128..16384). All seven live fields are declared `.volatile()`:
|
|
8
9
|
* the Loader commits edits to them into the running fiber's references WITHOUT
|
|
9
10
|
* a remount (dsh 0.1.7-rc.1 — the settings.yaml user layer is gone), so
|
|
10
11
|
* `apply` receives each field as a `{ get() }` reference and every read must
|
|
@@ -40,6 +41,8 @@ const CONFIG_KEYS = new Set([
|
|
|
40
41
|
'systemPrompt',
|
|
41
42
|
'immuneTurns',
|
|
42
43
|
'maxDeltaMessages',
|
|
44
|
+
'maxTokens',
|
|
45
|
+
'proseFallback',
|
|
43
46
|
]);
|
|
44
47
|
/**
|
|
45
48
|
* Removed config keys the strict unknown-key rejection TOLERATES — accepted
|
|
@@ -82,6 +85,8 @@ export const Config = z.object({
|
|
|
82
85
|
systemPrompt: z.string().default('').volatile(),
|
|
83
86
|
immuneTurns: z.number().step(1).min(0).default(3).volatile(),
|
|
84
87
|
maxDeltaMessages: z.number().step(1).min(0).default(60).volatile(),
|
|
88
|
+
maxTokens: z.number().step(1).min(128).max(16384).default(768).volatile(),
|
|
89
|
+
proseFallback: z.boolean().default(false).volatile(),
|
|
85
90
|
});
|
|
86
91
|
function isNonEmptyString(value) {
|
|
87
92
|
// Trim before checking: a whitespace-only value (" ") is empty in effect
|
|
@@ -123,7 +128,7 @@ export function unwrapAdvisorConfig(raw) {
|
|
|
123
128
|
// The raw side is loose on purpose: the schema-removed `enabled` is not a
|
|
124
129
|
// VolatileAdvisorConfig member but can arrive on any plain entry — the cast
|
|
125
130
|
// widens only to let the destructure strip it.
|
|
126
|
-
const { enabled, provider, model, systemPrompt, immuneTurns, maxDeltaMessages, ...rest } = raw;
|
|
131
|
+
const { enabled, provider, model, systemPrompt, immuneTurns, maxDeltaMessages, maxTokens, proseFallback, ...rest } = raw;
|
|
127
132
|
return {
|
|
128
133
|
...rest,
|
|
129
134
|
provider: unwrapReference(provider) ?? undefined,
|
|
@@ -131,6 +136,8 @@ export function unwrapAdvisorConfig(raw) {
|
|
|
131
136
|
systemPrompt: unwrapReference(systemPrompt),
|
|
132
137
|
immuneTurns: unwrapReference(immuneTurns),
|
|
133
138
|
maxDeltaMessages: unwrapReference(maxDeltaMessages),
|
|
139
|
+
maxTokens: unwrapReference(maxTokens),
|
|
140
|
+
proseFallback: unwrapReference(proseFallback),
|
|
134
141
|
};
|
|
135
142
|
}
|
|
136
143
|
/**
|
package/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/lib/gateway.d.ts
CHANGED
|
@@ -31,9 +31,10 @@
|
|
|
31
31
|
* resolvable from a fiber that declares it.
|
|
32
32
|
*
|
|
33
33
|
* The returned config is normalized to the typertGateway JSON wire boundary:
|
|
34
|
-
* absent keys (provider/model/disabledReason
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* absent keys (provider/model/disabledReason, and maxTokens/proseFallback
|
|
35
|
+
* when the raw entry omits them on the S1 containment path) are OMITTED,
|
|
36
|
+
* never present-as-undefined (the gateway's result validation rejects
|
|
37
|
+
* undefined values).
|
|
37
38
|
*
|
|
38
39
|
* @module dsh-advisor/gateway
|
|
39
40
|
*/
|
|
@@ -215,8 +216,9 @@ export declare class AdvisorConfigGateway extends TypertRemoteService {
|
|
|
215
216
|
* disabled-with-reason carrying the message — the gateway never fails the
|
|
216
217
|
* RPC on a bad config, and gate semantics hold (no model call can start).
|
|
217
218
|
* S1: when the raw source is still readable, the fallback seeds its scalar
|
|
218
|
-
* latches (systemPrompt / immuneTurns / maxDeltaMessages
|
|
219
|
-
* hardcoded defaults, so an invalid config only
|
|
219
|
+
* latches (systemPrompt / immuneTurns / maxDeltaMessages / maxTokens /
|
|
220
|
+
* proseFallback) instead of hardcoded defaults, so an invalid config only
|
|
221
|
+
* drops the offending keys.
|
|
220
222
|
*/
|
|
221
223
|
private readConfig;
|
|
222
224
|
}
|