dsh-ssh-tui 0.7.1 → 0.7.3

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.
Files changed (106) hide show
  1. package/README.en.md +92 -8
  2. package/README.md +64 -8
  3. package/cordis.patch.yml +15 -0
  4. package/docs/terminals.md +113 -0
  5. package/lib/approval-cache.js +12 -9
  6. package/lib/approval-cache.js.map +1 -1
  7. package/lib/color-depth.js +10 -4
  8. package/lib/color-depth.js.map +1 -1
  9. package/lib/diag.js +76 -17
  10. package/lib/diag.js.map +1 -1
  11. package/lib/dialogs.js.map +1 -1
  12. package/lib/display-sock.js +304 -29
  13. package/lib/display-sock.js.map +1 -1
  14. package/lib/doctor.js +71 -37
  15. package/lib/doctor.js.map +1 -1
  16. package/lib/dsh-compat.js +206 -88
  17. package/lib/dsh-compat.js.map +1 -1
  18. package/lib/footer.js +39 -9
  19. package/lib/footer.js.map +1 -1
  20. package/lib/gateway-protocol.js +202 -0
  21. package/lib/gateway-protocol.js.map +1 -0
  22. package/lib/i18n/en.js +79 -41
  23. package/lib/i18n/en.js.map +1 -1
  24. package/lib/i18n/index.js +13 -7
  25. package/lib/i18n/index.js.map +1 -1
  26. package/lib/i18n/zh.js +79 -41
  27. package/lib/i18n/zh.js.map +1 -1
  28. package/lib/index.js +132 -31
  29. package/lib/index.js.map +1 -1
  30. package/lib/job-label.js +99 -17
  31. package/lib/job-label.js.map +1 -1
  32. package/lib/paint.js +5 -2
  33. package/lib/paint.js.map +1 -1
  34. package/lib/picker.js +5 -3
  35. package/lib/picker.js.map +1 -1
  36. package/lib/plan.js +269 -17
  37. package/lib/plan.js.map +1 -1
  38. package/lib/platform.js +373 -0
  39. package/lib/platform.js.map +1 -0
  40. package/lib/preset-authoring.js +10 -14
  41. package/lib/preset-authoring.js.map +1 -1
  42. package/lib/preset-compat.js +100 -0
  43. package/lib/preset-compat.js.map +1 -0
  44. package/lib/preset-picker.js +5 -1
  45. package/lib/preset-picker.js.map +1 -1
  46. package/lib/preset-rows.js +83 -13
  47. package/lib/preset-rows.js.map +1 -1
  48. package/lib/provider-catalog.js +7 -4
  49. package/lib/provider-catalog.js.map +1 -1
  50. package/lib/route-memory.js +11 -4
  51. package/lib/route-memory.js.map +1 -1
  52. package/lib/session-index.js +5 -0
  53. package/lib/session-index.js.map +1 -1
  54. package/lib/session-list.js +18 -1
  55. package/lib/session-list.js.map +1 -1
  56. package/lib/session-lock.js +79 -24
  57. package/lib/session-lock.js.map +1 -1
  58. package/lib/session-route.js +334 -0
  59. package/lib/session-route.js.map +1 -0
  60. package/lib/settings-routes.js +10 -0
  61. package/lib/settings-routes.js.map +1 -0
  62. package/lib/settings-subagent.js +10 -0
  63. package/lib/settings-subagent.js.map +1 -0
  64. package/lib/subagent-model.js +84 -6
  65. package/lib/subagent-model.js.map +1 -1
  66. package/lib/supergrok-token.js +4 -0
  67. package/lib/supergrok-token.js.map +1 -1
  68. package/lib/term-text.js +7 -4
  69. package/lib/term-text.js.map +1 -1
  70. package/lib/terminal-caps.js +358 -0
  71. package/lib/terminal-caps.js.map +1 -0
  72. package/lib/tool-present.js +46 -14
  73. package/lib/tool-present.js.map +1 -1
  74. package/lib/tui.js +1949 -371
  75. package/lib/tui.js.map +1 -1
  76. package/lib/types/color-depth.d.ts +3 -3
  77. package/lib/types/diag.d.ts +18 -1
  78. package/lib/types/dialogs.d.ts +4 -0
  79. package/lib/types/display-sock.d.ts +94 -2
  80. package/lib/types/doctor.d.ts +8 -1
  81. package/lib/types/dsh-compat.d.ts +141 -44
  82. package/lib/types/footer.d.ts +21 -5
  83. package/lib/types/gateway-protocol.d.ts +88 -0
  84. package/lib/types/i18n/index.d.ts +18 -12
  85. package/lib/types/index.d.ts +45 -0
  86. package/lib/types/job-label.d.ts +38 -7
  87. package/lib/types/picker.d.ts +3 -0
  88. package/lib/types/plan.d.ts +94 -4
  89. package/lib/types/platform.d.ts +215 -0
  90. package/lib/types/preset-authoring.d.ts +8 -14
  91. package/lib/types/preset-compat.d.ts +58 -0
  92. package/lib/types/preset-picker.d.ts +1 -1
  93. package/lib/types/preset-rows.d.ts +51 -9
  94. package/lib/types/route-memory.d.ts +17 -22
  95. package/lib/types/session-list.d.ts +5 -0
  96. package/lib/types/session-lock.d.ts +9 -0
  97. package/lib/types/session-route.d.ts +191 -0
  98. package/lib/types/settings-routes.d.ts +16 -0
  99. package/lib/types/settings-subagent.d.ts +24 -0
  100. package/lib/types/subagent-model.d.ts +60 -7
  101. package/lib/types/term-text.d.ts +3 -2
  102. package/lib/types/terminal-caps.d.ts +105 -0
  103. package/lib/types/tool-present.d.ts +2 -17
  104. package/lib/types/transcript-types.d.ts +44 -1
  105. package/lib/types/tui.d.ts +333 -9
  106. package/package.json +82 -55
package/lib/index.js CHANGED
@@ -37,13 +37,16 @@ import { lineModeEnabled } from './line-mode.js';
37
37
  import { writeBootSplash } from './paint.js';
38
38
  import { mountTui } from './tui.js';
39
39
  import { defaultReasoningEffort } from './reasoning.js';
40
- import { createSubagentSelection } from './subagent-model.js';
40
+ import { createSubagentSelection, releaseSessionSubagentSelection, SUBAGENT_SETTINGS_NAMESPACE } from './subagent-model.js';
41
41
  import { acquireSessionLock, inspectLiveHost, releaseSessionLock, sessionLockDisabled, writeSessionLock, } from './session-lock.js';
42
42
  import { captureTerminalInput, isTuiHostProcess, quietTerminalInput, resolveDshHome, runDisplayRelay, spawnDetachedHost, waitForDisplaySock, } from './display-sock.js';
43
43
  import { createAttacher, HOST_START_TIMEOUT_MS, } from './attach.js';
44
44
  import { createLauncherExit } from './launcher-exit.js';
45
45
  import { installRouteMemory, latestRememberedRoute, parseRouteMemory } from './route-memory.js';
46
46
  import { enterSessionCwd } from './session-list.js';
47
+ import { BUILTIN_ROUTABLE_PROVIDERS, providerIsRoutable, resolveLaunchRoute, restoreSessionRoute, sameSessionRoute, saveSessionRoute, sessionRouteInput, } from './session-route.js';
48
+ import { liveField, readSettingsSection, settingsDocument, settingsNamespace, } from './dsh-compat.js';
49
+ import z from '@deepseek-ai/schemastery';
47
50
  import { installUiLocale, t } from './i18n/index.js';
48
51
  export const name = 'ssh-tui';
49
52
  /** Core services required before the terminal channel can drive an agent. */
@@ -52,6 +55,30 @@ export const inject = ['agents', 'agentDefaultModel'];
52
55
  // `launcher-exit.ts` so the picker, `/exit`, the attach recovery and the error
53
56
  // paths all hand the terminal back the same way.
54
57
  export { EXIT_FALLBACK_MS, createLauncherExit } from './launcher-exit.js';
58
+ /**
59
+ * The entry's schema. Everything a launch supplies (`config:` in
60
+ * `cordis.patch.yml`, including its `!!js` expressions) stays ordinary,
61
+ * non-live configuration; the TUI's own settings are the live fields, which is
62
+ * what makes them visible to, and writable through, the 0.1.7 settings service.
63
+ */
64
+ export const Config = z.object({
65
+ sessionId: z.string(),
66
+ showReasoning: z.boolean(),
67
+ maxToolOutputLines: z.number(),
68
+ color: z.boolean(),
69
+ welcome: z.string(),
70
+ resume: z.boolean(),
71
+ resumePicker: z.boolean(),
72
+ provider: z.string(),
73
+ model: z.string(),
74
+ paintIntervalMs: z.number(),
75
+ language: liveField(z.string()),
76
+ skipUpdate: liveField(z.string()),
77
+ view: liveField(z.string()),
78
+ disconnect: liveField(z.string()),
79
+ autoApproval: liveField(z.string()),
80
+ idleExit: liveField(z.number()),
81
+ });
55
82
  /**
56
83
  * Mount the SSH TUI. The `main` agent is created here after the loader
57
84
  * settles, reading the saved default provider/model from
@@ -184,11 +211,11 @@ export function apply(ctx, config) {
184
211
  // default that must survive a restart. The agentDefaultModel service
185
212
  // (or a duplicate settings instance) can report a stale in-memory
186
213
  // selection, so prefer the file when it carries a user section.
187
- const settingsSvc = ctx.get('settings');
188
- const doc = settingsSvc?.document;
189
- const docSection = doc !== null && typeof doc === 'object' && !Array.isArray(doc)
190
- ? doc['agent-default-model']
191
- : undefined;
214
+ // `settingsDocument` reads the user layer on both lines: 0.1.7 removed
215
+ // the service's `document` property, and the descriptor's `user` layer is
216
+ // the same view.
217
+ const doc = settingsDocument(ctx);
218
+ const docSection = doc?.['agent-default-model'];
192
219
  const fileSection = readAgentDefaultFromFile();
193
220
  const authoritative = (fileSection ?? docSection);
194
221
  const savedSelection = authoritative !== undefined
@@ -204,33 +231,78 @@ export function apply(ctx, config) {
204
231
  : serviceSaved;
205
232
  const hasUserDefaultSection = fileSection !== undefined || docSection !== undefined;
206
233
  const rememberedFallback = !hasUserDefaultSection
207
- ? latestRememberedRoute(parseRouteMemory(settingsSvc?.document?.['ssh-tui-routes']))
234
+ ? latestRememberedRoute(parseRouteMemory(doc?.['ssh-tui-routes']))
208
235
  : undefined;
236
+ // Which providers this install can still route to. Permissive on purpose:
237
+ // see `providerIsRoutable` — wrongly keeping a record costs the error the
238
+ // harness already reports, wrongly dropping one loses the session's route.
239
+ const listedProviders = (ctx.get('llm')?.listProviders() ?? []).map(entry => entry.id);
240
+ const piAiSection = readSettingsSection(ctx, settingsNamespace('llm-pi-ai'));
241
+ const configuredProviders = piAiSection?.providers !== null && typeof piAiSection?.providers === 'object'
242
+ ? Object.keys(piAiSection.providers)
243
+ : [];
244
+ const routable = (id) => providerIsRoutable({ provider: id, listed: listedProviders, configured: configuredProviders });
245
+ // A resumed session carries its own route: the supplier it was actually
246
+ // spending on, and the subagent route it was running its children on. A
247
+ // new session has no record, and another session's record is never used.
248
+ // A supplier that has since been removed takes its record with it, and the
249
+ // launch falls back to the app-level defaults.
250
+ // A route restored for an earlier session in this process must not leak
251
+ // into this one; only a readable section may replace it.
252
+ releaseSessionSubagentSelection(subagentSelection, readSettingsSection(ctx, SUBAGENT_SETTINGS_NAMESPACE));
253
+ const sessionPlan = await restoreSessionRoute({
254
+ sessionId: String(sessionId),
255
+ resume,
256
+ subagentSelection,
257
+ routable,
258
+ });
259
+ const sessionRoute = sessionPlan.route;
260
+ const launchNotices = [];
209
261
  // An explicit in-process change (/setup or /model) wins over launch-time
210
262
  // CLI overrides for every session created or resumed later in this process.
211
- const provider = liveSelection?.provider
212
- ?? config.provider
213
- ?? savedSelection?.provider
214
- ?? rememberedFallback?.provider
215
- ?? 'deepseek-official';
216
- const model = liveSelection?.model
217
- ?? config.model
218
- ?? savedSelection?.model
219
- ?? rememberedFallback?.model
220
- ?? 'deepseek-v4-flash';
221
- // Reasoning effort is only meaningful for the exact provider/model it
222
- // belongs to. CLI overrides that change either route must not inherit the
223
- // saved effort of a different model.
224
- let reasoningEffort = liveSelection?.reasoningEffort;
225
- if (reasoningEffort === undefined && liveSelection === undefined) {
226
- const sameSavedRoute = (savedSelection ?? rememberedFallback) !== undefined
227
- && (config.provider === undefined || config.provider === (savedSelection ?? rememberedFallback)?.provider)
228
- && (config.model === undefined || config.model === (savedSelection ?? rememberedFallback)?.model);
229
- if (sameSavedRoute) {
230
- const rawEffort = (savedSelection ?? rememberedFallback)?.reasoningEffort;
231
- reasoningEffort = rawEffort === undefined ? undefined : ReasoningEffortId(String(rawEffort));
232
- }
263
+ const launch = resolveLaunchRoute({
264
+ ...(liveSelection === undefined ? {} : { live: liveSelection }),
265
+ cli: {
266
+ ...(config.provider === undefined ? {} : { provider: config.provider }),
267
+ ...(config.model === undefined ? {} : { model: config.model }),
268
+ },
269
+ ...(sessionRoute === undefined ? {} : { session: sessionRoute }),
270
+ ...(savedSelection === undefined ? {} : { saved: savedSelection }),
271
+ ...(rememberedFallback === undefined ? {} : { remembered: rememberedFallback }),
272
+ });
273
+ const provider = launch.provider;
274
+ const model = launch.model;
275
+ // Say what the record was worth before anything else can fail: which
276
+ // supplier it fell back from, and — when not even the fallback can be
277
+ // routed to — what is available, so the fix is one command away.
278
+ if (sessionPlan.droppedProvider !== undefined) {
279
+ launchNotices.push({
280
+ kind: 'system',
281
+ text: t('session.routeProviderGone', {
282
+ provider: sessionPlan.droppedProvider,
283
+ route: `${provider}/${model}`,
284
+ }),
285
+ });
286
+ }
287
+ if (sessionPlan.droppedSubagentProvider !== undefined) {
288
+ launchNotices.push({
289
+ kind: 'system',
290
+ text: t('session.subagentProviderGone', { provider: sessionPlan.droppedSubagentProvider }),
291
+ });
233
292
  }
293
+ if (!routable(provider)) {
294
+ const available = [...new Set([...BUILTIN_ROUTABLE_PROVIDERS, ...listedProviders, ...configuredProviders])];
295
+ launchNotices.push({
296
+ kind: 'error',
297
+ text: t('session.routeNoneRoutable', {
298
+ provider,
299
+ available: available.join(' · ') || t('session.routeNoProviders'),
300
+ }),
301
+ });
302
+ }
303
+ let reasoningEffort = launch.reasoningEffort === undefined
304
+ ? undefined
305
+ : ReasoningEffortId(launch.reasoningEffort);
234
306
  // OpenCode / third-party (llm-pi-ai) routes carry no adapter-level
235
307
  // reasoning default, so default a supported effort ourselves when none is
236
308
  // selected. Without it the model streams thinking as plain text and the
@@ -246,6 +318,18 @@ export function apply(ctx, config) {
246
318
  model,
247
319
  ...(reasoningEffort === undefined ? {} : { reasoningEffort }),
248
320
  };
321
+ // The per-session record: this conversation's supplier and its subagent
322
+ // route. Written when a route settles, and once below so a conversation is
323
+ // recorded from its first turn; a resume that changed nothing rewrites
324
+ // nothing. Best-effort — a missing file only costs the next resume its
325
+ // memory of the route.
326
+ let notedRoute = sessionRoute;
327
+ const noteRoute = (route) => {
328
+ if (sameSessionRoute(notedRoute, route))
329
+ return;
330
+ notedRoute = { ...route, updatedAt: Date.now() };
331
+ void saveSessionRoute(String(sessionId), route).catch(() => { });
332
+ };
249
333
  const selectionRef = {
250
334
  current: effectiveSelection,
251
335
  assembled: undefined,
@@ -265,8 +349,8 @@ export function apply(ctx, config) {
265
349
  try {
266
350
  // The frontend always spawns the Host with `--resume=<id>` — including
267
351
  // for a brand-new session id it just generated. A missing session must
268
- // therefore fall back to create (dsh 0.1.1-rc.2 and 0.1.2-rc.1 both
269
- // throw `session … not found` instead of creating).
352
+ // therefore fall back to create (both supported host lines throw
353
+ // `session … not found` instead of creating).
270
354
  const missingSession = (error) => {
271
355
  const chain = [error];
272
356
  let current = error;
@@ -323,12 +407,25 @@ export function apply(ctx, config) {
323
407
  // Fall back to the id's own label.
324
408
  }
325
409
  }
410
+ // Record the route this conversation starts on, before the first turn can
411
+ // spend on it: a resumed session that has no record yet (an older session,
412
+ // or a first run) is remembered from here on.
413
+ const initialRoute = sessionRouteInput({
414
+ provider,
415
+ model,
416
+ ...(reasoningEffort === undefined ? {} : { reasoningEffort: String(reasoningEffort) }),
417
+ subagent: subagentSelection.current,
418
+ });
419
+ if (initialRoute !== undefined)
420
+ noteRoute(initialRoute);
326
421
  controller = mountTui(ctx, {
327
422
  ...config,
328
423
  headlessDisplay: true,
329
424
  sessionId: String(sessionId),
330
425
  resume,
331
426
  ...(resumeCwdNotice === undefined ? {} : { cwdNotice: resumeCwdNotice }),
427
+ ...(sessionRoute === undefined ? {} : { restoredRoute: sessionRoute }),
428
+ ...(launchNotices.length === 0 ? {} : { launchNotices }),
332
429
  provider,
333
430
  model,
334
431
  selectionRef,
@@ -337,6 +434,10 @@ export function apply(ctx, config) {
337
434
  presetName,
338
435
  presetTrust,
339
436
  goodbye: goodbyeFor(String(sessionId)),
437
+ // The record of which supplier this conversation ran on lives in
438
+ // `$DSH_HOME`, written here rather than in the TUI: the launcher is the
439
+ // only place that knows the session is real.
440
+ onRouteSettled: (settled) => { noteRoute(settled); },
340
441
  onSelectionChanged: (next) => {
341
442
  liveSelection = next;
342
443
  },
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/job-label.js CHANGED
@@ -1,19 +1,23 @@
1
1
  /**
2
- * Friendly display names for background jobs.
2
+ * Friendly display names for background jobs and subagent chips.
3
3
  *
4
- * `job_*` cards otherwise read as the raw tool vocabulary (`job_output`,
5
- * `job_id: bash-1`), which is both untranslated and hard to talk about out
6
- * loud. Each job id instead gets a two-word alias — "蔚蓝水獭", "azure otter" —
7
- * derived from the id itself rather than from a random draw, so the same job
8
- * keeps one name across its call card, its result card, and every later
4
+ * Background `job_*` cards otherwise read as the raw tool vocabulary
5
+ * (`job_output`, `job_id: bash-1`). Each job id gets a two-token alias
6
+ * (hour + weather: 昏风 / twilight wind) derived from the id itself rather
7
+ * than from a random draw, so the same
8
+ * job keeps one name across its call card, its result card, and every later
9
9
  * `job_output` / `job_kill` mention. The model-facing id stays authoritative;
10
10
  * the alias is presentation only.
11
11
  *
12
+ * Subagent chips use a different scheme: a role distilled from the parent
13
+ * spawn description, joined to one of the four directional beasts
14
+ * (青龙 / 白虎 / 朱雀 / 玄武) hashed from the child session id.
15
+ *
12
16
  * @module dsh-ssh-tui/job-label
13
17
  */
14
18
  import { t } from './i18n/index.js';
15
19
  /** FNV-1a over the job id: stable, dependency-free, and well spread for short ids. */
16
- function hashJobId(id) {
20
+ export function hashJobId(id) {
17
21
  let hash = 0x811c9dc5;
18
22
  for (let index = 0; index < id.length; index += 1) {
19
23
  hash ^= id.charCodeAt(index);
@@ -21,25 +25,103 @@ function hashJobId(id) {
21
25
  }
22
26
  return hash >>> 0;
23
27
  }
28
+ function splitList(key) {
29
+ return t(key).split(',').filter(word => word !== '');
30
+ }
31
+ function pickPair(id, left, right) {
32
+ if (left.length === 0 || right.length === 0)
33
+ return undefined;
34
+ const hash = hashJobId(id);
35
+ const a = left[hash % left.length];
36
+ const b = right[Math.floor(hash / left.length) % right.length];
37
+ if (a === undefined || b === undefined)
38
+ return undefined;
39
+ return { left: a, right: b };
40
+ }
24
41
  /**
25
42
  * One stable alias for a background job, or `undefined` when the id is empty
26
43
  * or the locale carries no vocabulary.
27
44
  * @param jobId - the native job id (`bash-1`, `pwsh-2`, …).
28
- * @returns the locale-formatted alias, e.g. `蔚蓝水獭` / `azure otter`.
45
+ * @returns the locale-formatted alias, e.g. `昏风` / `twilight wind`.
29
46
  */
30
47
  export function jobAlias(jobId) {
31
48
  const id = jobId.trim();
32
49
  if (id === '')
33
50
  return undefined;
34
- const adjectives = t('jobAlias.adjectives').split(',').filter(word => word !== '');
35
- const animals = t('jobAlias.animals').split(',').filter(word => word !== '');
36
- if (adjectives.length === 0 || animals.length === 0)
37
- return undefined;
38
- const hash = hashJobId(id);
39
- const adjective = adjectives[hash % adjectives.length];
40
- const animal = animals[Math.floor(hash / adjectives.length) % animals.length];
41
- if (adjective === undefined || animal === undefined)
51
+ const pair = pickPair(id, splitList('jobAlias.left'), splitList('jobAlias.right'));
52
+ if (pair === undefined)
42
53
  return undefined;
43
- return t('jobAlias.pattern', { adjective, animal });
54
+ return t('jobAlias.pattern', { left: pair.left, right: pair.right });
55
+ }
56
+ /** The four directional beasts, hashed from the child session id. */
57
+ export const SUBAGENT_BEASTS = ['azure-dragon', 'white-tiger', 'vermilion-bird', 'black-tortoise'];
58
+ const ROLE_RULES = [
59
+ { id: 'scout', pattern: /\b(scan|search|find|grep|glob|explore|look|locate|discover|inspect|audit|survey|probe|list|enumerate|index|crawl|research|recon)\b|扫描|搜索|查找|检索|探|搜|列目录|枚举|审计|巡|调研|勘查|探查|探路/iu },
60
+ { id: 'scribe', pattern: /\b(read|summar\w*|review|analy[sz]\w*|explain|understand|study|investigat\w*|diagnos\w*|trace|reason|think|compare|eval\w*)\b|阅读|读取|摘要|总结|分析|解释|理解|研究|调查|诊断|对比|评估|审阅/iu },
61
+ { id: 'artisan', pattern: /\b(edit|write|patch|fix|implement|refactor|code|apply|create|update|change|modify|build|generate|draft)\b|编辑|写入|修改|实现|重构|修补|生成|起草|创建|更新/iu },
62
+ { id: 'envoy', pattern: /\b(web|http|fetch|browse|url|download|request|api|network)\b|网页|抓取|浏览|下载|请求|联网/iu },
63
+ { id: 'inquirer', pattern: /\b(ask|question|clarif\w*|confirm|choose|pick|option)\b|提问|询问|澄清|确认|选择/iu },
64
+ { id: 'sentinel', pattern: /\b(test|lint|check|verify|validat\w*|assert|guard|watch|monitor)\b|测试|检查|校验|验证|看守|监视/iu },
65
+ { id: 'steward', pattern: /\b(plan|todo|goal|organiz\w*|coordinat\w*|orchestr\w*|delegat\w*|schedul\w*)\b|计划|待办|目标|编排|协调|调度/iu },
66
+ { id: 'courier', pattern: /\b(run|execut\w*|shell|bash|command|install|spawn|launch|job|terminal)\b|运行|执行|终端|安装|启动|命令/iu },
67
+ ];
68
+ /** Distill a parent spawn description into one role id. */
69
+ export function subagentRoleId(task) {
70
+ const text = task.replace(/\s+/gu, ' ').trim();
71
+ if (text === '')
72
+ return 'courier';
73
+ for (const rule of ROLE_RULES) {
74
+ if (rule.pattern.test(text))
75
+ return rule.id;
76
+ }
77
+ return 'courier';
78
+ }
79
+ /** Hash the child session onto one of the four beasts. */
80
+ export function subagentBeastId(sessionId) {
81
+ const id = sessionId.trim();
82
+ const hash = id === '' ? 0 : hashJobId(id);
83
+ return SUBAGENT_BEASTS[hash % SUBAGENT_BEASTS.length] ?? 'azure-dragon';
84
+ }
85
+ /** Localized role label (`探路` / `scout`). */
86
+ export function subagentRoleLabel(role) {
87
+ return t(`sub.role.${role}`);
88
+ }
89
+ /** Localized beast label (`青龙` / `Azure Dragon`). */
90
+ export function subagentBeastLabel(beast) {
91
+ return t(`sub.beast.${beast}`);
92
+ }
93
+ /**
94
+ * Chip title: `探路·青龙` / `Scout · Azure Dragon`.
95
+ * Falls back to the spawn-time label when neither task nor id can be named.
96
+ */
97
+ export function subagentCourtesyName(input) {
98
+ const task = input.task?.trim() ?? '';
99
+ const id = input.sessionId.trim();
100
+ if (task === '' && id === '')
101
+ return input.fallback;
102
+ return t('sub.courtesy', {
103
+ role: subagentRoleLabel(subagentRoleId(task)),
104
+ beast: subagentBeastLabel(subagentBeastId(id === '' ? task : id)),
105
+ });
106
+ }
107
+ /** True when a string looks like a session / tool-call id, not a display name. */
108
+ export function looksLikeOpaqueId(value) {
109
+ const text = value.trim();
110
+ if (text === '')
111
+ return false;
112
+ if (/^call-/iu.test(text))
113
+ return true;
114
+ if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(text))
115
+ return true;
116
+ if (/^[0-9a-f]{16,}$/iu.test(text))
117
+ return true;
118
+ return false;
119
+ }
120
+ /** Prefer a recorded tool name; never surface `call-<uuid>` as a title. */
121
+ export function displayToolName(name) {
122
+ const text = name?.trim() ?? '';
123
+ if (text === '' || looksLikeOpaqueId(text))
124
+ return 'tool';
125
+ return text;
44
126
  }
45
127
  //# sourceMappingURL=job-label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-label.js","sourceRoot":"","sources":["../src/job-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAEnC,sFAAsF;AACtF,SAAS,SAAS,CAAC,EAAU;IAC3B,IAAI,IAAI,GAAG,UAAU,CAAA;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACvB,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAClF,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACrE,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACrE,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"job-label.js","sourceRoot":"","sources":["../src/job-label.ts"],"names":[],"mappings":"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"}
package/lib/paint.js CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { t } from './i18n/index.js';
8
8
  import { lineModeEnabled } from './line-mode.js';
9
+ import { terminalCapabilities } from './terminal-caps.js';
9
10
  import { padAnsiToWidth, pinEmojiCells, truncateToWidth } from './term-text.js';
10
11
  import { detectSshSession, RTT_SAMPLE_TIMEOUT_MS, TerminalInputPump } from './terminal-input.js';
11
12
  const RENDER_INTERVAL_MS = 160;
@@ -418,8 +419,10 @@ export function writeBootSplash(message, color = true) {
418
419
  const detail = color
419
420
  ? `\x1b[36m${truncateToWidth(message, width)}\x1b[0m`
420
421
  : truncateToWidth(message, width);
421
- const useAlt = process.env.DSH_TUI_NO_ALT_SCREEN !== '1'
422
- && process.env.DSH_TUI_NO_ALT_SCREEN !== 'true';
422
+ // The capability table, not the raw switch: a Linux virtual console has no
423
+ // alternate screen to return to, and entering one there costs the scrollback
424
+ // the user navigates with.
425
+ const useAlt = terminalCapabilities().alternateScreen;
423
426
  try {
424
427
  process.stdout.write(`${useAlt ? '\x1b[?1049h' : ''}\x1b[?25l\x1b[H\x1b[J${pinEmojiCells(line)}\n${'─'.repeat(width)}\n${pinEmojiCells(detail)}\n`);
425
428
  }
package/lib/paint.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paint.js","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paint.js","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"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"}
package/lib/picker.js CHANGED
@@ -12,6 +12,7 @@
12
12
  import { StringDecoder } from 'node:string_decoder';
13
13
  import { formatSessionTime, openResumableSessionPager, PICKER_PAGE_SIZE, } from './session-list.js';
14
14
  import { composePaintOutput, isEscapePrefix, pickerWindowStart } from './paint.js';
15
+ import { terminalCapabilities } from './terminal-caps.js';
15
16
  import { truncateToWidth } from './term-text.js';
16
17
  import { TerminalInputGuard } from './terminal-input.js';
17
18
  import { t } from './i18n/index.js';
@@ -357,8 +358,7 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
357
358
  const stdin = options.stdin ?? process.stdin;
358
359
  const stdout = options.stdout ?? process.stdout;
359
360
  const openPager = options.openPager ?? openResumableSessionPager;
360
- const useAltScreen = process.env.DSH_TUI_NO_ALT_SCREEN !== '1'
361
- && process.env.DSH_TUI_NO_ALT_SCREEN !== 'true';
361
+ const useAltScreen = (options.terminalCaps ?? terminalCapabilities()).alternateScreen;
362
362
  const decoder = new StringDecoder('utf8');
363
363
  stdin.setRawMode(true);
364
364
  stdin.resume();
@@ -502,7 +502,9 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
502
502
  }
503
503
  stdin.pause();
504
504
  try {
505
- stdout.write(`\x1b[0m\x1b[?25h${useAltScreen ? '\x1b[?1049l' : ''}\n`);
505
+ // Unconditional for the same reason as the TUI teardown: a leave that is
506
+ // skipped strands the screen, a leave that was not needed is ignored.
507
+ stdout.write(`\x1b[0m\x1b[?25h\x1b[?1049l\n`);
506
508
  }
507
509
  catch {
508
510
  // The TTY may already be gone (EPIPE/ERR_STREAM_DESTROYED).