@aiwayds/dsh-tui-pi 2.9.1 → 2.11.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.
@@ -55,6 +55,7 @@ export function narrowCacheHitMode(value) {
55
55
  export const DEFAULT_SUBAGENT_LIMITS = Object.freeze({
56
56
  maxAgents: 4,
57
57
  maxRounds: 75,
58
+ maxRoundsGrace: 7,
58
59
  disableSubagent: true,
59
60
  });
60
61
  /** Schema of the `dsh-tui` settings section. */
@@ -80,6 +81,11 @@ const THEME_SETTINGS_SCHEMA = z.object({
80
81
  .natural()
81
82
  .default(DEFAULT_SUBAGENT_LIMITS.maxRounds)
82
83
  .description('Max assistant messages per subagent before the TUI sends a summary request (0 = unlimited)'),
84
+ maxRoundsGrace: z
85
+ .natural()
86
+ .default(DEFAULT_SUBAGENT_LIMITS.maxRoundsGrace)
87
+ .description('Rounds a subagent may keep running after the summary request before the '
88
+ + 'TUI force-stops it (0 = warn only, never force-stop)'),
83
89
  disableSubagent: z
84
90
  .boolean()
85
91
  .default(DEFAULT_SUBAGENT_LIMITS.disableSubagent)
@@ -111,6 +117,12 @@ const THEME_SETTINGS_SCHEMA = z.object({
111
117
  + "is detected at startup, plain otherwise; 'nerdfont' = powerline PUA "
112
118
  + 'glyphs (U+E0B0 separator, stop, heavy circle); plain = safe Unicode '
113
119
  + 'stand-ins (▸ ■ ●) — auto is the recommended default)'),
120
+ rememberPreset: z
121
+ .boolean()
122
+ .default(true)
123
+ .description('Remember the last /preset selection per workspace and start the next '
124
+ + 'launch in the same directory on it (instead of the server default). '
125
+ + 'false always starts on the server-side default preset'),
114
126
  favoriteModels: z
115
127
  .array(z.string())
116
128
  .default([])
@@ -172,10 +184,12 @@ const THEME_SETTINGS_ENTRY = {
172
184
  panelHeight: DEFAULT_PANEL_HEIGHT,
173
185
  maxAgents: DEFAULT_SUBAGENT_LIMITS.maxAgents,
174
186
  maxRounds: DEFAULT_SUBAGENT_LIMITS.maxRounds,
187
+ maxRoundsGrace: DEFAULT_SUBAGENT_LIMITS.maxRoundsGrace,
175
188
  disableSubagent: DEFAULT_SUBAGENT_LIMITS.disableSubagent,
176
189
  footerHints: { ...DEFAULT_FOOTER_HINTS },
177
190
  cacheHitMode: DEFAULT_CACHE_HIT_MODE,
178
191
  iconSet: 'auto',
192
+ rememberPreset: true,
179
193
  favoriteModels: [],
180
194
  hiddenModels: [],
181
195
  retention: {
@@ -271,6 +285,10 @@ function narrowFooterHints(value) {
271
285
  function narrowIconSet(value) {
272
286
  return value === 'nerdfont' || value === 'plain' ? value : 'auto';
273
287
  }
288
+ /** Validate an unknown `rememberPreset` value (anything else narrows to true). */
289
+ function narrowRememberPreset(value) {
290
+ return typeof value === 'boolean' ? value : true;
291
+ }
274
292
  /**
275
293
  * The `dsh-tui` namespace descriptor, after waiting for the in-flight
276
294
  * registration — the shared plumbing of every async reader below.
@@ -360,6 +378,33 @@ export async function readFooterHintsPreference(ctx) {
360
378
  export async function readIconSetPreference(ctx) {
361
379
  return narrowIconSet((await readResolvedSection(ctx))?.iconSet);
362
380
  }
381
+ /**
382
+ * Read the persisted preset-memory toggle (the startup snapshot). Default
383
+ * TRUE: remembering is the out-of-the-box behavior; only an explicit
384
+ * `dsh-tui.rememberPreset: false` turns it off.
385
+ *
386
+ * @param ctx - plugin context.
387
+ * @returns the resolved boolean, or `true` when the settings service is
388
+ * absent or the namespace/value cannot be read.
389
+ */
390
+ export async function readRememberPreset(ctx) {
391
+ return narrowRememberPreset((await readResolvedSection(ctx))?.rememberPreset);
392
+ }
393
+ /**
394
+ * Read the currently persisted preset-memory toggle, synchronously. Unlike
395
+ * `readRememberPreset` (the startup snapshot), this describes whatever the
396
+ * settings service exposes right now — the /preset switch path calls it at
397
+ * every commit, so a `/settings` toggle applies without a restart.
398
+ * @returns `true` when the service, namespace, or value is absent.
399
+ */
400
+ export function currentRememberPreset(ctx) {
401
+ const settings = ctx.get('settings');
402
+ if (settings === undefined)
403
+ return true;
404
+ return narrowRememberPreset(settings
405
+ .describe()
406
+ .find((descriptor) => descriptor.ns === THEME_SETTINGS_NAMESPACE)?.value?.rememberPreset);
407
+ }
363
408
  /**
364
409
  * Read the explicit `dsh-tui.retention` / `dsh-tui.resume` sections from
365
410
  * the settings document's user layer (see `SessionManagementExplicit`).
@@ -509,6 +554,7 @@ export function readSubagentLimits(ctx) {
509
554
  return {
510
555
  maxAgents: natural(section?.maxAgents, DEFAULT_SUBAGENT_LIMITS.maxAgents),
511
556
  maxRounds: natural(section?.maxRounds, DEFAULT_SUBAGENT_LIMITS.maxRounds),
557
+ maxRoundsGrace: natural(section?.maxRoundsGrace, DEFAULT_SUBAGENT_LIMITS.maxRoundsGrace),
512
558
  disableSubagent: typeof section?.disableSubagent === 'boolean'
513
559
  ? section.disableSubagent
514
560
  : DEFAULT_SUBAGENT_LIMITS.disableSubagent,
@@ -1 +1 @@
1
- {"version":3,"file":"theme-settings.js","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,qBAAqB,GAItB,MAAM,2BAA2B,CAAA;AAClC,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAoB,MAAM,eAAe,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACtG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AASjD,sEAAsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAiB,aAAa,CAAA;AAEjE,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAA;AACjE,CAAC;AAqBD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAmB,MAAM,CAAC,MAAM,CAAC;IACnE,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,IAAI;CACtB,CAAC,CAAA;AAEF,gDAAgD;AAChD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SAChC,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6CAA6C,CAAC;IAC7D,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,4EAA4E;UAC1E,mFAAmF;UACnF,yEAAyE;UACzE,iCAAiC,CACpC;IACH,uEAAuE;IACvE,0EAA0E;IAC1E,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC;SAC1C,WAAW,CAAC,oDAAoD,CAAC;IACpE,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC;SAC1C,WAAW,CAAC,4FAA4F,CAAC;IAC5G,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC;SAChD,WAAW,CACV,uEAAuE;UACrE,oEAAoE;UACpE,sBAAsB,CACzB;IACH,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC;QACxF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC;QACzF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC;QAC5F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC;QACtG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,iDAAiD,CAAC;QACnG,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC;QACnG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC;KAC5F,CAAC;SACD,OAAO,CAAC,EAAE,GAAG,oBAAoB,EAAE,CAAC;SACpC,WAAW,CAAC,2DAA2D,CAAC;IAC3E,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SACjC,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CACV,oFAAoF;UAClF,8FAA8F;UAC9F,oCAAoC,CACvC;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;SACpC,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,yEAAyE;UACvE,sEAAsE;UACtE,sEAAsE;UACtE,sDAAsD,CACzD;IACH,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,EAAE,CAAC;SACX,WAAW,CAAC,2EAA2E,CAAC;IAC3F,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,EAAE,CAAC;SACX,WAAW,CAAC,mFAAmF,CAAC;IACnG,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,yEAAyE;IACzE,yEAAyE;IACzE,qDAAqD;IACrD,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,mBAAmB,CAAC;aAC5B,WAAW,CACV,sFAAsF;cACpF,+DAA+D,CAClE;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,OAAO,CAAC,sBAAsB,CAAC;aAC/B,WAAW,CACV,mFAAmF;cACjF,kEAAkE,CACrE;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,OAAO,CAAC,wBAAwB,CAAC;aACjC,WAAW,CACV,qEAAqE;cACnE,oEAAoE,CACvE;KACJ,CAAC;SACD,OAAO,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAC7B,UAAU,EAAE,sBAAsB;QAClC,YAAY,EAAE,wBAAwB;KACvC,CAAC;SACD,WAAW,CAAC,iHAAiH,CAAC;IACjI,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,OAAO,CAAC,mBAAmB,CAAC;aAC5B,WAAW,CACV,qFAAqF;cACnF,sCAAsC,CACzC;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,gBAAgB,CAAC;aACzB,WAAW,CACV,+DAA+D;cAC7D,mCAAmC,CACtC;KACJ,CAAC;SACD,OAAO,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;SACxE,WAAW,CAAC,2FAA2F,CAAC;CAC5G,CAAC,CAAA;AAEF,yEAAyE;AACzE,MAAM,oBAAoB,GAatB;IACF,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,oBAAoB;IACjC,SAAS,EAAE,uBAAuB,CAAC,SAAS;IAC5C,SAAS,EAAE,uBAAuB,CAAC,SAAS;IAC5C,eAAe,EAAE,uBAAuB,CAAC,eAAe;IACxD,WAAW,EAAE,EAAE,GAAG,oBAAoB,EAAE;IACxC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE;QACT,QAAQ,EAAE,mBAAmB;QAC7B,UAAU,EAAE,sBAAsB;QAClC,YAAY,EAAE,wBAAwB;KACvC;IACD,MAAM,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CACxE,CAAA;AAED;;;;;GAKG;AACH,IAAI,mBAA8C,CAAA;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAY,EACZ,kBAA0H;IAE1H,mBAAmB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAChD,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC;gBACH,uEAAuE;gBACvE,uEAAuE;gBACvE,mEAAmE;gBACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,CAAC;oBAC9F,OAAO,EAAE,CAAA;oBACT,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,EAAE,qBAAqB,EAAE;oBACpF,IAAI,EAAE,oBAAoB;oBAC1B,gEAAgE;oBAChE,kEAAkE;oBAClE,mEAAmE;oBACnE,8BAA8B;oBAC9B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAA;gBACF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACrC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;wBACnB,2DAA2D;wBAC3D,kEAAkE;wBAClE,mBAAmB;wBACnB,MAAM,OAAO,GAAG,IAA4F,CAAA;wBAC5G,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;wBAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;wBACvC,kBAAkB,CAChB,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EACtD,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,EAC/D,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EACtC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAC/B,CAAA;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,+DAA+D;gBAC/D,6DAA6D;gBAC7D,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,qBAAqB;gBACrB,UAAU,CACR,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpG,CAAA;YACH,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACnF,MAAM,OAAO,GAAG,KAAoD,CAAA;IACpE,MAAM,KAAK,GAAgB,EAAE,GAAG,oBAAoB,EAAE,CAAA;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAA0B,EAAE,CAAC;QAC7E,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;AACnE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,oBAAoB,CAAC,GAAY;IAC9C,IAAI,mBAAmB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvD,IAAI,QAAmD,CAAA;IACvD,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,mBAAmB;QACnB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;KACvE,CAAC,CAAA;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5C,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAAC,GAAY;IAQ7C,yDAAyD;IACzD,8EAA8E;IAC9E,gEAAgE;IAChE,OAAO,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,KAS7B,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAY;IACpD,MAAM,IAAI,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAA;IACpD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACpD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAY;IAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAA;IAC5D,IAAI,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAA;IACxC,OAAO,oBAAoB,CAAA;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAY;IAC1D,OAAO,iBAAiB,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAY;IACtD,OAAO,aAAa,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAoBD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAY;IAEZ,MAAM,IAAI,GAAG,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAA;IACpD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,IAAiD,CAAA;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,OAAO;QACL,SAAS,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;YACvF,CAAC,CAAC,SAAmD;YACrD,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;YAC3E,CAAC,CAAC,MAA6C;YAC/C,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAC9D,MAAM,KAAK,GAAI,QAAQ;SACpB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAEvD,EAAE,WAAW,CAAA;IAC3B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,sBAAsB,CAAA;IACzD,MAAM,IAAI,GAAI,QAAQ;SACnB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAEvD,EAAE,YAAY,CAAA;IAC5B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACzC,MAAM,IAAI,GAAI,QAAQ;SACnB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAEvD,EAAE,KAAK,CAAA;IACrB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACpD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAY,EACZ,GACqC,EACrC,KAA2C;IAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,oCAAoC,CAAA;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,GAAG,GAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,wBAAwB,CAAC,CAAA;QACrF,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;YAC1E,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,qBAAqB;gBAAE,SAAQ;YACrE,OAAO,KAAK,YAAY,qBAAqB;gBAC3C,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAY,EAAE,IAAqB;IAC5E,OAAO,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,uBAAuB,EAAE,CAAA;IACjE,yDAAyD;IACzD,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,OAAO,GAAG,QAAQ;SACrB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAExD,CAAA;IACb,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,QAAgB,EAAU,EAAE,CAC3D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;IACvF,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC;QACzE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC;QACzE,eAAe,EAAE,OAAO,OAAO,EAAE,eAAe,KAAK,SAAS;YAC5D,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,uBAAuB,CAAC,eAAe;KAC5C,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAY,EACZ,GAAkD,EAClD,KAAuB;IAEvB,OAAO,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAUD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAY;IAC/C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC9C,OAAO;QACL,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC;QACzD,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC;KACtD,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAY,EACZ,GAAsC,EACtC,KAAwB;IAExB,OAAO,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"theme-settings.js","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Per-workspace preset memory — the last `/preset` selection of a directory,
3
+ * so the next TUI launch in the same workspace starts on it instead of the
4
+ * server-side default.
5
+ *
6
+ * dsh presets compose a session at CREATION time, and before the user ever
7
+ * switches the server default governs — which means a `/preset cordis`
8
+ * choice died with the session: every fresh launch silently fell back to
9
+ * `standard`. This store closes that gap: the switch path records the
10
+ * committed preset under the workspace's project key (the same
11
+ * `projectKeyFor(cwd)` grouping the session log backend uses), and startup
12
+ * reads it back into both the footer selection AND the session-creation
13
+ * preset (`bridge.setAgentPreset`), so the first prompt composes under the
14
+ * remembered preset exactly as the last session did.
15
+ *
16
+ * Storage is a plugin-owned JSON document at `$DSH_HOME/workspace-presets.json`
17
+ * — the model-profiles.json precedent (atomic tmp+rename, self-healing
18
+ * normalize, never fatal): the host settings document is deliberately NOT
19
+ * used, because it is global user config and this state is per-workspace
20
+ * runtime memory. The toggle lives in settings (`dsh-tui.rememberPreset`,
21
+ * default true): when off, startup ignores the store and the switch path
22
+ * stops recording — the file itself is left alone, so flipping the toggle
23
+ * back restores the last remembered choices.
24
+ *
25
+ * The module is pure except for the two fs functions; both take an explicit
26
+ * path so tests stay hermetic.
27
+ */
28
+ /** Bump when the document shape changes (a mismatch resets to the seed). */
29
+ export declare const WORKSPACE_PRESETS_VERSION = 1;
30
+ /** The whole stored document: workspace project key → last committed preset id. */
31
+ export interface WorkspacePresetsDoc {
32
+ version: number;
33
+ presets: Record<string, string>;
34
+ }
35
+ /** `$DSH_HOME/workspace-presets.json` (or an explicit home override). */
36
+ export declare function workspacePresetsPath(home?: string): string;
37
+ /** A fresh empty document. */
38
+ export declare function seedWorkspacePresetsDoc(): WorkspacePresetsDoc;
39
+ /**
40
+ * Validate an unknown parsed document. A wrong version, a non-object, or
41
+ * garbage entries degrade to the seed (an empty map) — the store is
42
+ * self-healing, never fatal. Keys and values must be non-empty trimmed
43
+ * strings; duplicates collapse (later JSON keys win, per JSON.parse).
44
+ */
45
+ export declare function normalizeWorkspacePresets(raw: unknown): WorkspacePresetsDoc;
46
+ /** Read + validate the store; any failure degrades to the empty document. */
47
+ export declare function loadWorkspacePresets(path: string): WorkspacePresetsDoc;
48
+ /**
49
+ * Atomically persist the document (tmp sibling + rename). Creates the
50
+ * directory when missing. Returns an error message on failure, or
51
+ * `undefined` on success — callers flash it, never throw.
52
+ */
53
+ export declare function saveWorkspacePresets(path: string, doc: WorkspacePresetsDoc): string | undefined;
54
+ /** The remembered preset id for one workspace key, or `undefined`. */
55
+ export declare function rememberedPresetFor(doc: WorkspacePresetsDoc, workspaceKey: string): string | undefined;
56
+ /**
57
+ * Pure merge: the document with `presetId` recorded for `workspaceKey`.
58
+ * Returns a NEW document (the input is never mutated) so callers can retry
59
+ * a failed save from a clean base.
60
+ */
61
+ export declare function withRememberedPreset(doc: WorkspacePresetsDoc, workspaceKey: string, presetId: string): WorkspacePresetsDoc;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Per-workspace preset memory — the last `/preset` selection of a directory,
3
+ * so the next TUI launch in the same workspace starts on it instead of the
4
+ * server-side default.
5
+ *
6
+ * dsh presets compose a session at CREATION time, and before the user ever
7
+ * switches the server default governs — which means a `/preset cordis`
8
+ * choice died with the session: every fresh launch silently fell back to
9
+ * `standard`. This store closes that gap: the switch path records the
10
+ * committed preset under the workspace's project key (the same
11
+ * `projectKeyFor(cwd)` grouping the session log backend uses), and startup
12
+ * reads it back into both the footer selection AND the session-creation
13
+ * preset (`bridge.setAgentPreset`), so the first prompt composes under the
14
+ * remembered preset exactly as the last session did.
15
+ *
16
+ * Storage is a plugin-owned JSON document at `$DSH_HOME/workspace-presets.json`
17
+ * — the model-profiles.json precedent (atomic tmp+rename, self-healing
18
+ * normalize, never fatal): the host settings document is deliberately NOT
19
+ * used, because it is global user config and this state is per-workspace
20
+ * runtime memory. The toggle lives in settings (`dsh-tui.rememberPreset`,
21
+ * default true): when off, startup ignores the store and the switch path
22
+ * stops recording — the file itself is left alone, so flipping the toggle
23
+ * back restores the last remembered choices.
24
+ *
25
+ * The module is pure except for the two fs functions; both take an explicit
26
+ * path so tests stay hermetic.
27
+ */
28
+ import { mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
29
+ import { dirname, join } from 'node:path';
30
+ import { dshHome } from "./append-system.js";
31
+ /** Bump when the document shape changes (a mismatch resets to the seed). */
32
+ export const WORKSPACE_PRESETS_VERSION = 1;
33
+ /** `$DSH_HOME/workspace-presets.json` (or an explicit home override). */
34
+ export function workspacePresetsPath(home = dshHome()) {
35
+ return join(home, 'workspace-presets.json');
36
+ }
37
+ /** A fresh empty document. */
38
+ export function seedWorkspacePresetsDoc() {
39
+ return { version: WORKSPACE_PRESETS_VERSION, presets: {} };
40
+ }
41
+ /**
42
+ * Validate an unknown parsed document. A wrong version, a non-object, or
43
+ * garbage entries degrade to the seed (an empty map) — the store is
44
+ * self-healing, never fatal. Keys and values must be non-empty trimmed
45
+ * strings; duplicates collapse (later JSON keys win, per JSON.parse).
46
+ */
47
+ export function normalizeWorkspacePresets(raw) {
48
+ const doc = seedWorkspacePresetsDoc();
49
+ if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
50
+ return doc;
51
+ const { version, presets } = raw;
52
+ if (version !== WORKSPACE_PRESETS_VERSION)
53
+ return doc;
54
+ if (presets === null || typeof presets !== 'object' || Array.isArray(presets))
55
+ return doc;
56
+ for (const [key, value] of Object.entries(presets)) {
57
+ const trimmedKey = key.trim();
58
+ if (typeof value !== 'string' || trimmedKey === '' || value.trim() === '')
59
+ continue;
60
+ doc.presets[trimmedKey] = value.trim();
61
+ }
62
+ return doc;
63
+ }
64
+ /** Read + validate the store; any failure degrades to the empty document. */
65
+ export function loadWorkspacePresets(path) {
66
+ let text;
67
+ try {
68
+ text = readFileSync(path, 'utf8');
69
+ }
70
+ catch {
71
+ return seedWorkspacePresetsDoc();
72
+ }
73
+ try {
74
+ return normalizeWorkspacePresets(JSON.parse(text));
75
+ }
76
+ catch {
77
+ return seedWorkspacePresetsDoc();
78
+ }
79
+ }
80
+ /**
81
+ * Atomically persist the document (tmp sibling + rename). Creates the
82
+ * directory when missing. Returns an error message on failure, or
83
+ * `undefined` on success — callers flash it, never throw.
84
+ */
85
+ export function saveWorkspacePresets(path, doc) {
86
+ try {
87
+ mkdirSync(dirname(path), { recursive: true });
88
+ const tmp = `${path}.tmp-${process.pid}`;
89
+ writeFileSync(tmp, `${JSON.stringify(doc, null, 2)}\n`);
90
+ renameSync(tmp, path);
91
+ return undefined;
92
+ }
93
+ catch (error) {
94
+ return error instanceof Error ? error.message : String(error);
95
+ }
96
+ }
97
+ /** The remembered preset id for one workspace key, or `undefined`. */
98
+ export function rememberedPresetFor(doc, workspaceKey) {
99
+ const id = doc.presets[workspaceKey];
100
+ return id !== undefined && id !== '' ? id : undefined;
101
+ }
102
+ /**
103
+ * Pure merge: the document with `presetId` recorded for `workspaceKey`.
104
+ * Returns a NEW document (the input is never mutated) so callers can retry
105
+ * a failed save from a clean base.
106
+ */
107
+ export function withRememberedPreset(doc, workspaceKey, presetId) {
108
+ return { version: doc.version, presets: { ...doc.presets, [workspaceKey]: presetId } };
109
+ }
110
+ //# sourceMappingURL=workspace-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-presets.js","sourceRoot":"","sources":["../src/workspace-presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAA;AAQ1C,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,OAAe,OAAO,EAAE;IAC3D,OAAO,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAA;AAC7C,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,uBAAuB;IACrC,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,MAAM,GAAG,GAAG,uBAAuB,EAAE,CAAA;IACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAC7E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAA8B,CAAA;IAC3D,IAAI,OAAO,KAAK,yBAAyB;QAAE,OAAO,GAAG,CAAA;IACrD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAA;IACzF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAQ;QACnF,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,uBAAuB,EAAE,CAAA;IAClC,CAAC;IACD,IAAI,CAAC;QACH,OAAO,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,uBAAuB,EAAE,CAAA;IAClC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAwB;IACzE,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAA;QACxC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACvD,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,GAAwB,EAAE,YAAoB;IAChF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACpC,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAwB,EACxB,YAAoB,EACpB,QAAgB;IAEhB,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAA;AACxF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiwayds/dsh-tui-pi",
3
- "version": "2.9.1",
3
+ "version": "2.11.0",
4
4
  "description": "A fully-featured pi-style terminal UI for DeepSeek Harness (dsh) — history look-back & fork-at-turn, guided preset switching, live subagent steering, model profiles & themes",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dsh-tui-pi-config
3
- description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南。凡涉及 TUI 主题/面板/footer、子代理并发与轮数限制、模型收藏与隐藏、会话保留清理与 /resume 过滤,或要配置 dsh-tui 段时先读本指南:settings.yaml 顶层 `dsh-tui:` 段 12 键(theme/panelHeight/maxAgents/maxRounds/disableSubagent/footerHints/cacheHitMode/iconSet/favoriteModels/hiddenModels/retention/resume)、DSH_TUI_* 环境变量、ask_user_question 快速上手向导、keybindings.json 与 /hotkeys。触发词:tui、主题、theme、面板、footer、收藏模型、隐藏模型、保留策略、panelHeight、resume。"
3
+ description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南。凡涉及 TUI 主题/面板/footer、子代理并发与轮数限制、模型收藏与隐藏、会话保留清理与 /resume 过滤、preset 记忆,或要配置 dsh-tui 段时先读本指南:settings.yaml 顶层 `dsh-tui:` 段 14 键(theme/panelHeight/maxAgents/maxRounds/maxRoundsGrace/disableSubagent/footerHints/cacheHitMode/iconSet/rememberPreset/favoriteModels/hiddenModels/retention/resume)、DSH_TUI_* 环境变量、ask_user_question 快速上手向导、keybindings.json 与 /hotkeys。触发词:tui、主题、theme、面板、footer、收藏模型、隐藏模型、保留策略、panelHeight、resume、preset。"
4
4
  ---
5
5
 
6
6
  # dsh-tui-pi 使用指南(TUI 主题 / 子代理治理 / 会话管理)
@@ -20,10 +20,12 @@ description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南
20
20
  | `panelHeight` | `'1'\|'5'\|'7'\|'10'\|'all'` | `'1'` | think/tool 固定面板高度;`all` = 完整内容(推理 200 行尾随、工具结果 2000 行封顶) |
21
21
  | `maxAgents` | 非负整数 | `4` | 并发子代理上限,`0` = 不限 |
22
22
  | `maxRounds` | 非负整数 | `75` | 每个子代理 assistant 消息数上限,到达后注入收尾请求;`0` = 不限 |
23
+ | `maxRoundsGrace` | 非负整数 | `7` | 收尾请求后的宽限轮数,超出即强制终止(one-shot cancel / continuable 保留会话可续聊);`0` = 仅警告不终止 |
23
24
  | `disableSubagent` | 布尔 | `true` | 禁原生 `subagent` 工具,委派改走 `~/.dsh/agents/*.md` 注册代理(`use_agent`);`subagent_fork`/`workflow`/`ralph` 不受影响 |
24
25
  | `footerHints` | 7 个布尔 | 全 `true` | footer 快捷键提示分段开关:`send`/`stop`/`quit`/`quitEmpty`/`subagents`/`search`/`history` |
25
26
  | `cacheHitMode` | `'lastMessage'\|'session'` | `lastMessage` | footer CH 段口径:最新一条消息的命中率(pi-tui 语义)或全会话累计 |
26
27
  | `iconSet` | `'auto'\|'nerdfont'\|'plain'` | `auto` | 风险字形集;`auto` 按启动时字体探测选 nerdfont/plain |
28
+ | `rememberPreset` | 布尔 | `true` | 记住每个工作区(目录)最后一次 `/preset` 的选择,下次在同目录启动直接用它(替代服务端默认);`false` 恢复始终用服务端默认。记忆存 `$DSH_HOME/workspace-presets.json` |
27
29
  | `favoriteModels` | string[] | `[]` | 收藏模型(`provider/id` 键),钉在 `/model` 选择器顶部 |
28
30
  | `hiddenModels` | string[] | `[]` | 隐藏模型(`provider/id` 键),移入 `/model` 的 Hidden 区 |
29
31
  | `retention.maxCount` | 数字 | `100` | 启动清理器:最多保留这么多会话日志,`<= 0` 关闭清理器;下次启动生效 |
@@ -68,10 +70,10 @@ favoriteModels/hiddenModels、retention/resume。
68
70
  | `/theme` | 选配色,写入 `dsh-tui.theme` 并即时生效 |
69
71
  | `/hotkeys` | 按键重映射浏览器,写 `~/.dsh/keybindings.json`(部分 JSON 映射,实时应用) |
70
72
  | `/model` | 模型/think 选择器;`f` 收藏、`h` 隐藏即写 `favoriteModels`/`hiddenModels`(收藏行拒绝 `h`,先取消收藏) |
71
- | `/preset` | 切换 agent preset(确认对话框:fork 携带历史 / 全新开始 / 取消;`/preset next` 循环) |
73
+ | `/preset` | 切换 agent preset(确认对话框:fork 携带历史 / 全新开始 / 取消;`/preset next` 循环);默认按工作区记忆上次选择(`rememberPreset`) |
72
74
  | `/history` | 只读回看会话逐轮历史;`f` 在选中轮 fork 新会话,`/history <id>` 冷读任意存档 |
73
75
  | `/resume` | 恢复持久会话(受 `resume.*` 显示窗口过滤;`--resume <id>` 启动参数同源) |
74
- | `/agents` | 管理 `~/.dsh/agents/*.md`;`l` 进 limits 面板热调 `maxAgents`/`maxRounds`/`disableSubagent` |
76
+ | `/agents` | 管理 `~/.dsh/agents/*.md`;`l` 进 limits 面板热调 `maxAgents`/`maxRounds`/`maxRoundsGrace`/`disableSubagent` |
75
77
  | `/profile-switch` / `/profile-cfg` | 模型配置档,存储于 `$DSH_HOME/model-profiles.json` |
76
78
  | `~/.dsh/APPEND_SYSTEM.md` | 用户可编辑的主 agent system prompt 追加文件(不作用于子代理) |
77
79
 
@@ -84,3 +86,8 @@ favoriteModels/hiddenModels、retention/resume。
84
86
  与 resume 的"只隐藏"是两回事。
85
87
  4. **/model 选择器太长** → 把不用的挑进 `hiddenModels`;常用的钉顶 `favoriteModels`。
86
88
  5. **footer 提示太多/太少** → `footerHints` 七段各自独立开关。
89
+ 6. **双 Esc 后还在烧 token** → 双 Esc 现弹"停止一切"确认框(列明正在跑的主 turn 与子代理数),
90
+ Enter 才真停,Esc 维持运行;后台子代理会被逐个取消。单个子代理的停止入口在
91
+ Ctrl+G 查看器里按 `x ×2`。
92
+ 7. **/preset 每次启动都回到默认** → 检查 `rememberPreset` 是否被设为 `false`;记忆按工作区
93
+ 目录各自独立,存于 `$DSH_HOME/workspace-presets.json`,关掉再开不会丢。