@deepseek-harness-tui/dsh-tui 0.7.0 → 0.7.1

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 CHANGED
@@ -244,8 +244,9 @@ pnpm build
244
244
  pnpm smoke
245
245
  ```
246
246
 
247
- `pnpm build` 会把 `src/` 编译到已提交的 `lib/types/`。修改源码时必须同步生成产物;
248
- 渲染、问卷和工具卡还需运行对应回归脚本。
247
+ `lib/types/` 是忽略入库的生成目录;`pnpm build` 会从干净输出目录重新编译并运行
248
+ 构建门禁。npm Git URL 安装通过 `prepare` 生成同一套运行时。渲染、问卷和工具卡
249
+ 改动还需运行对应回归脚本。
249
250
 
250
251
  ## 插件生态
251
252
 
package/bin/dsh-tui.js CHANGED
@@ -132,22 +132,39 @@ if (installedVersion === undefined) {
132
132
  // --- 3. --resume 拦截 ---------------------------------------------------------
133
133
  // 换名过渡(issue #120):全局 bin 与 profile 内 TUI 包版本可能错位,所以
134
134
  // env 双写(新旧名都设),文件读取新路径优先、旧路径兜底。
135
+ // 支持的形态(对齐 issue #53 的诉求):
136
+ // --resume <id> / --resume=<id> 恢复指定会话
137
+ // --resume / -c / --continue 恢复最近一次会话(读 resume.txt)
138
+ // 其余位置参数原样透传给 dsh CLI,由插件经 ctx.cmdlineArgs 读取(初始 prompt)。
139
+ const setResumeEnv = sessionId => {
140
+ process.env.DSH_TUI_RESUME_SESSION = sessionId
141
+ process.env.DSH_CC_RESUME_SESSION = sessionId
142
+ }
143
+ const readLastResumeTarget = () => {
144
+ for (const dir of ['.dsh-tui', '.dsh-cc']) {
145
+ try {
146
+ const sessionId = readFileSync(join(homedir(), dir, 'resume.txt'), 'utf8').trim()
147
+ if (sessionId) return sessionId
148
+ } catch {
149
+ // 没有历史会话可恢复——静默忽略,正常冷启动。
150
+ }
151
+ }
152
+ return ''
153
+ }
135
154
  const args = []
136
- for (const a of process.argv.slice(2)) {
137
- if (a === '--resume') {
155
+ const argv = process.argv.slice(2)
156
+ for (let i = 0; i < argv.length; i++) {
157
+ const a = argv[i]
158
+ if (a === '--resume' || a === '-c' || a === '--continue' || a.startsWith('--resume=')) {
138
159
  let sessionId = ''
139
- for (const dir of ['.dsh-tui', '.dsh-cc']) {
140
- try {
141
- sessionId = readFileSync(join(homedir(), dir, 'resume.txt'), 'utf8').trim()
142
- if (sessionId) break
143
- } catch {
144
- // 没有历史会话可恢复——静默忽略,正常冷启动。
145
- }
146
- }
147
- if (sessionId) {
148
- process.env.DSH_TUI_RESUME_SESSION = sessionId
149
- process.env.DSH_CC_RESUME_SESSION = sessionId
160
+ if (a.startsWith('--resume=')) {
161
+ sessionId = a.slice('--resume='.length).trim()
162
+ } else if (a === '--resume' && argv[i + 1] !== undefined && !argv[i + 1].startsWith('-')) {
163
+ sessionId = argv[++i].trim()
150
164
  }
165
+ // 裸形态(含 -c/--continue)回退到 resume.txt。
166
+ if (!sessionId) sessionId = readLastResumeTarget()
167
+ if (sessionId) setResumeEnv(sessionId)
151
168
  } else if (
152
169
  process.env.DSH_TUI_WORKSPACE_TARGET === undefined
153
170
  && !a.startsWith('-')
@@ -492,6 +492,18 @@ export interface Channel {
492
492
  /** Subagent rows for `/agents` (DSH subagent service; empty message when
493
493
  * the service is absent). */
494
494
  listSubagents(): Promise<string[]>;
495
+ /**
496
+ * Dispose the host-registry entries this channel registered (skill slash
497
+ * commands).
498
+ *
499
+ * `commandService.register` binds the registration to ITS own context, not
500
+ * the caller's, so the entries outlive this channel unless released: after a
501
+ * launcher recompose the stale registrations would still answer, but the
502
+ * fresh channel would see the names taken and stop managing them, freezing
503
+ * the menu. The plugin calls this from its teardown effect, where the real
504
+ * cordis context lives.
505
+ */
506
+ releaseContributions(): void;
495
507
  /**
496
508
  * The live agent's session event log (immutable snapshot, replaced on
497
509
  * every append — dsh-session caches the frozen array) — the `/trace`
@@ -689,6 +701,8 @@ export interface ChannelState {
689
701
  doctorInfo(): string[];
690
702
  /** Subagent rows (CC's /agents). */
691
703
  listSubagents(): Promise<string[]>;
704
+ /** See {@link Channel.releaseContributions}. */
705
+ releaseContributions(): void;
692
706
  /** Live session event log (see the public Channel type, `/trace`). */
693
707
  traceEvents(): readonly SessionEvent[];
694
708
  }
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { assembleContextFor, installModelSelection } from '@deepseek-ai/dsh-agent';
3
- import { isUserInvocable } from '@deepseek-ai/dsh-skill';
3
+ import { isUserInvocable, renderSkillContent } from '@deepseek-ai/dsh-skill';
4
4
  import { createUserMessage, isTokenDelta, MessageId, ReasoningEffortId, } from '@deepseek-ai/dsh-llm';
5
5
  import { runSideQuestion, wrapSideQuestion } from './sideQuestion.js';
6
6
  import { SessionId } from '@deepseek-ai/dsh-session';
7
7
  import { renderContextSections, renderPrompt } from '@deepseek-ai/dsh-system-prompt';
8
8
  import { loadBaselineInstructions } from '@deepseek-ai/dsh-agent-instructions';
9
9
  import { extname, isAbsolute, join } from 'node:path';
10
- import { completeCommands, LOCAL_COMMANDS } from '../commands.js';
10
+ import { completeCommands, isLocalCommandName, LOCAL_COMMANDS, parseCommandName } from '../commands.js';
11
11
  import { clearResumeTarget, forgetSession, readLastUsed, readResumeTarget, touchSession, writeResumeTarget } from '../sessionHistory.js';
12
12
  import { appendSessionTitle, deleteSessionLog, ensureLegacySessionEventTypes, readSessionTitleFromLog, sessionsRoots } from './compat/index.js';
13
13
  import { writeActivityFrames } from '../activityPrefs.js';
@@ -26,6 +26,11 @@ import { modeDisplayName, resolveSessionModes } from '../sessionModes.js';
26
26
  import { ActivityTracker } from 'dsh-working-activity/status';
27
27
  import { attachSessionToWorkspace } from './workspace.js';
28
28
  import { createLocalWorkspaceRuntime } from './workspaces.js';
29
+ /**
30
+ * Delay before re-reading a skill catalog that reported an incomplete
31
+ * observation (a provider whose directory watcher is still warming).
32
+ */
33
+ const SKILL_COMMAND_RETRY_MS = 800;
29
34
  const ARGS_PREVIEW_LIMIT = 160;
30
35
  const RESULT_PREVIEW_LIMIT = 240;
31
36
  /** Local `!`-command output cap (mirrors the result preview limit). */
@@ -977,6 +982,7 @@ export function createChannel(ctx, initialAgent, options) {
977
982
  bindAgent();
978
983
  refreshCommandList();
979
984
  void refreshLoadedContext();
985
+ void refreshSkillCommands();
980
986
  // The forked session (rewind) becomes the most recently used.
981
987
  touchSession(childId);
982
988
  state.emit();
@@ -1103,6 +1109,7 @@ export function createChannel(ctx, initialAgent, options) {
1103
1109
  bindAgent();
1104
1110
  refreshCommandList();
1105
1111
  void refreshLoadedContext();
1112
+ void refreshSkillCommands();
1106
1113
  // Keep the `--resume` launcher contract pointing at the same session.
1107
1114
  writeResumeTarget(sessionId);
1108
1115
  // The resumed session is now the most recently used.
@@ -1225,6 +1232,7 @@ export function createChannel(ctx, initialAgent, options) {
1225
1232
  bindAgent();
1226
1233
  refreshCommandList();
1227
1234
  void refreshLoadedContext();
1235
+ void refreshSkillCommands();
1228
1236
  clearResumeTarget();
1229
1237
  // The brand-new session becomes the most recently used.
1230
1238
  touchSession(handle.agent.id);
@@ -1398,6 +1406,7 @@ export function createChannel(ctx, initialAgent, options) {
1398
1406
  bindAgent();
1399
1407
  refreshCommandList();
1400
1408
  void refreshLoadedContext();
1409
+ void refreshSkillCommands();
1401
1410
  // The model-switched fork becomes the most recently used.
1402
1411
  touchSession(childId);
1403
1412
  state.emit();
@@ -1973,6 +1982,9 @@ export function createChannel(ctx, initialAgent, options) {
1973
1982
  return [t('subagent-query-failed', { err: error instanceof Error ? error.message : String(error) })];
1974
1983
  }
1975
1984
  },
1985
+ releaseContributions() {
1986
+ releaseSkillCommands();
1987
+ },
1976
1988
  traceEvents() {
1977
1989
  // Immutable per-append snapshot (dsh-session caches the frozen array);
1978
1990
  // reads follow agent swaps (/resume /rewind /new) automatically.
@@ -2093,6 +2105,11 @@ export function createChannel(ctx, initialAgent, options) {
2093
2105
  ...(descriptions === undefined ? {} : { descriptions }),
2094
2106
  tag: descriptor.input?.hint,
2095
2107
  external: true,
2108
+ // Skills reach the registry as ordinary commands, so the menu would
2109
+ // lose the marker HelpMenu uses to keep them out of the chrome list.
2110
+ // This channel registered them and is the authority on which names
2111
+ // are skills.
2112
+ ...(skillCommands.has(descriptor.name) ? { skill: true } : {}),
2096
2113
  });
2097
2114
  }
2098
2115
  }
@@ -2165,8 +2182,148 @@ export function createChannel(ctx, initialAgent, options) {
2165
2182
  };
2166
2183
  ctx.on('commands/change', refreshCommandList);
2167
2184
  ctx.on('skills/change', refreshCommandList);
2185
+ /**
2186
+ * The view a skill-catalog read must be taken through, as ONE value.
2187
+ *
2188
+ * The registry is host-plane but scope-LAYERED: a provider mounted by an
2189
+ * agent preset's standing composition files into that preset's layer, and a
2190
+ * read taken without the scope sees only the host layer. Passing the pair
2191
+ * together keeps a read from being taken half-scoped.
2192
+ *
2193
+ * @param target - the agent whose view is wanted.
2194
+ */
2195
+ const skillViewOptions = (target) => ({
2196
+ scope: target,
2197
+ cwd: state.cwd,
2198
+ });
2199
+ /** The skill registry as the given agent sees it, or undefined when a boot
2200
+ * mounts none. `serviceForAgent` resolves through the agent's mount and
2201
+ * falls back to the host context. */
2202
+ const skillRegistryFor = (target) => serviceForAgent(ctx, target, 'skills');
2203
+ /**
2204
+ * Skill commands this channel owns, by skill name. The value keeps the
2205
+ * description the command was registered with so an edited SKILL.md
2206
+ * re-registers instead of leaving a stale menu entry.
2207
+ */
2208
+ const skillCommands = new Map();
2209
+ /** Skill names the registry refused (name taken, or invalid) — warn once. */
2210
+ const skillCommandsRefused = new Set();
2211
+ /** Pending re-read after an incomplete catalog observation. */
2212
+ let skillCommandsRetry;
2213
+ /**
2214
+ * Publish every user-invocable skill as a slash command (issue #86).
2215
+ *
2216
+ * The completion menu already lists these skills, but a menu entry is not a
2217
+ * command: nothing dispatches it, so typing the name and pressing Enter does
2218
+ * nothing. Registering through the host command registry is what makes them
2219
+ * runnable, and buys three things the TUI would otherwise reimplement:
2220
+ * `register` emits `commands/change`, so the menu merge folds the entry in
2221
+ * on its own; Enter dispatches through the normal command path, so the
2222
+ * invocation is logged as a paired `command/run`/`command/done` like every
2223
+ * other command; and the handler runs host-side, so invoking a skill is
2224
+ * DETERMINISTIC — the body is injected here, instead of sending `/name` to
2225
+ * the model and depending on it to recognize the text and reach for its
2226
+ * skill loader.
2227
+ *
2228
+ * `userInvocable` covers "human-facing command catalogs AND loaders", so
2229
+ * discovery alone would honor half the flag.
2230
+ */
2231
+ const refreshSkillCommands = async () => {
2232
+ if (commandService === undefined)
2233
+ return;
2234
+ const target = agent;
2235
+ const registry = skillRegistryFor(target);
2236
+ if (registry === undefined)
2237
+ return;
2238
+ let observation;
2239
+ try {
2240
+ observation = await registry.snapshot(skillViewOptions(target));
2241
+ }
2242
+ catch (error) {
2243
+ ctx.logger.warn('skill commands: catalog read failed: %o', error);
2244
+ return;
2245
+ }
2246
+ if (target !== agent)
2247
+ return;
2248
+ // A provider still warming its watcher reports an incomplete observation;
2249
+ // re-read once so a cold start cannot leave the menu permanently short.
2250
+ if (!observation.complete && skillCommandsRetry === undefined) {
2251
+ skillCommandsRetry = setTimeout(() => {
2252
+ skillCommandsRetry = undefined;
2253
+ void refreshSkillCommands();
2254
+ }, SKILL_COMMAND_RETRY_MS);
2255
+ }
2256
+ const wanted = new Map(observation.skills
2257
+ .filter(skill => isUserInvocable(skill))
2258
+ // A name the TUI's own command grammar cannot parse would show in the
2259
+ // menu and then fail to dispatch when typed; ask the real parser
2260
+ // instead of restating its pattern here.
2261
+ .filter(skill => parseCommandName(`/${skill.name}`)?.name === skill.name)
2262
+ // Built-in locals win a name collision, exactly as they do over
2263
+ // plugin-registered commands in refreshCommandList.
2264
+ .filter(skill => !isLocalCommandName(skill.name))
2265
+ .map(skill => [skill.name, skill.description]));
2266
+ for (const [name, entry] of skillCommands) {
2267
+ if (wanted.get(name) === entry.description)
2268
+ continue;
2269
+ entry.dispose();
2270
+ skillCommands.delete(name);
2271
+ }
2272
+ for (const [name, description] of wanted) {
2273
+ if (skillCommands.has(name) || skillCommandsRefused.has(name))
2274
+ continue;
2275
+ // Another plugin already owns this name (plan/goal/…): leave it alone.
2276
+ if (commandService.find(target, name) !== undefined)
2277
+ continue;
2278
+ try {
2279
+ const dispose = commandService.register({
2280
+ name,
2281
+ description,
2282
+ // The injected body is the payload; recording the (empty) raw input
2283
+ // would only duplicate the command name into the session log.
2284
+ recordInput: false,
2285
+ handler: async ({ agent: invoker, signal }) => {
2286
+ const view = { ...skillViewOptions(invoker), signal };
2287
+ const skill = await skillRegistryFor(invoker)?.get(name, view);
2288
+ if (skill === undefined || !isUserInvocable(skill)) {
2289
+ return { kind: 'error', text: t('skill-unavailable', { name }) };
2290
+ }
2291
+ // The official user-explicit invocation shape (dsh-skill's
2292
+ // SkillInvocationSource): the rendered body rides as instructions
2293
+ // the model follows, and transcript consumers present it from the
2294
+ // source metadata instead of re-parsing model-facing text.
2295
+ invoker.followup(createUserMessage({
2296
+ content: [{ type: 'text', text: renderSkillContent(skill) }],
2297
+ source: { kind: 'skill-invocation', name, form: 'instructions' },
2298
+ }));
2299
+ // Silent success: the agent visibly starts working on the skill,
2300
+ // which is the feedback (CC shows no banner either).
2301
+ return { kind: 'success' };
2302
+ },
2303
+ });
2304
+ skillCommands.set(name, { dispose, description });
2305
+ }
2306
+ catch (error) {
2307
+ skillCommandsRefused.add(name);
2308
+ ctx.logger.warn(`skill commands: "${name}" not registrable: %o`, error);
2309
+ }
2310
+ }
2311
+ };
2312
+ ctx.on('skills/change', () => {
2313
+ void refreshSkillCommands();
2314
+ });
2315
+ /** See {@link Channel.releaseContributions}. */
2316
+ const releaseSkillCommands = () => {
2317
+ if (skillCommandsRetry !== undefined)
2318
+ clearTimeout(skillCommandsRetry);
2319
+ skillCommandsRetry = undefined;
2320
+ for (const entry of skillCommands.values())
2321
+ entry.dispose();
2322
+ skillCommands.clear();
2323
+ };
2168
2324
  refreshCommandList();
2169
2325
  void refreshLoadedContext();
2326
+ void refreshSkillCommands();
2170
2327
  let nextRowId = 0;
2171
2328
  /** The leaf's bash executor (dsh-bash-local in the example leaf) — the DSH
2172
2329
  * execution seam for local `!` commands and the git status breadcrumb. The
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA2BnC;;;;;;;;GAQG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkYvE;AA6GD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAAG;IACjF,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAcA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,KAAK,CAAA;CACpB,GAAG,OAAO,CAQV"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA2BnC;;;;;;;;GAQG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+YvE;AA6GD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAAG;IACjF,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAcA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,KAAK,CAAA;CACpB,GAAG,OAAO,CAQV"}
@@ -241,6 +241,15 @@ export async function apply(ctx, config) {
241
241
  ctx.on('approval/request', (req, next) => String(req.agent.id) === channel.agentId ? approvalStore.park(req) : next());
242
242
  ctx.effect(() => () => approvalStore.settleAll('cancelled'));
243
243
  }
244
+ // Positional command-line arguments are the initial prompt (issue #53):
245
+ // `dsh-tui "run the tests"` forwards positionals through the dsh CLI,
246
+ // which mounts them as ctx.cmdlineArgs. Submit once the channel exists —
247
+ // delivery goes through the normal pending/inbox chain, so no special
248
+ // timing is needed; flag-shaped leftovers are not prompt text.
249
+ const cmdlineArgs = ctx.cmdlineArgs?.args;
250
+ const initialPrompt = cmdlineArgs?.filter(arg => !arg.startsWith('-')).join(' ').trim();
251
+ if (initialPrompt)
252
+ channel.submit(initialPrompt);
244
253
  // Attach the stderr reporter to the live channel and flush anything a
245
254
  // startup-spawned server produced while the channel didn't exist yet.
246
255
  notifyStderr = (text, options) => channel.notify(text, options);
@@ -365,8 +374,13 @@ export async function apply(ctx, config) {
365
374
  // but flag it as teardown first so the settling waitUntilExit does not
366
375
  // run the user-exit sequence: no resume marker, no disposeRootAndExit,
367
376
  // the process stays alive and the recomposed tree re-mounts the TUI.
377
+ // Hand back what the channel contributed to host registries on the way out:
378
+ // the command registry scopes a registration to ITS own context, so the
379
+ // skill commands (issue #86) would survive this exact recompose and the
380
+ // re-mounted channel would find the names taken, freezing its menu.
368
381
  ctx.effect(() => () => {
369
382
  funnel.markTeardown();
383
+ channel.releaseContributions();
370
384
  instance?.unmount();
371
385
  });
372
386
  // The TUI is the front door: when the user unmounts it (Ctrl+C), dispose
@@ -403,6 +403,10 @@ declare const dict: {
403
403
  readonly zh: "工具 {{n}}";
404
404
  readonly en: "Tools {{n}}";
405
405
  };
406
+ readonly 'skill-unavailable': {
407
+ readonly zh: "技能 {{name}} 已不可用或未开放用户直调";
408
+ readonly en: "Skill {{name}} is gone or not user-invocable";
409
+ };
406
410
  readonly 'skill-audit-prompt': {
407
411
  readonly zh: "请使用 audit 技能对当前项目做一次全面的代码审计,找出安全、正确性与质量问题。";
408
412
  readonly en: "Use the audit skill to do a thorough code audit of the current project, finding security, correctness and quality issues.";
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/i18n.ts"],"names":[],"mappings":"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"}
package/lib/types/i18n.js CHANGED
@@ -123,6 +123,7 @@ const dict = {
123
123
  'context-skills': { zh: '技能 {{n}}', en: 'Skills {{n}}' },
124
124
  'context-tools': { zh: '工具 {{n}}', en: 'Tools {{n}}' },
125
125
  // ── screens/Chat.tsx ────────────────────────────────────────────────
126
+ 'skill-unavailable': { zh: '技能 {{name}} 已不可用或未开放用户直调', en: 'Skill {{name}} is gone or not user-invocable' },
126
127
  'skill-audit-prompt': { zh: '请使用 audit 技能对当前项目做一次全面的代码审计,找出安全、正确性与质量问题。', en: 'Use the audit skill to do a thorough code audit of the current project, finding security, correctness and quality issues.' },
127
128
  'skill-bug-prompt': { zh: '请使用 bug 技能协助我记录一份完整的 bug 报告(现象、复现步骤、期望行为)。', en: 'Use the bug skill to help me write a complete bug report (symptoms, reproduction steps, expected behavior).' },
128
129
  'skill-practice-prompt': { zh: '请使用 practice 技能陪我进行一轮编程练习。', en: 'Use the practice skill to run a round of programming practice with me.' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepseek-harness-tui/dsh-tui",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Claude Code style interactive TUI front door for DeepSeek Harness agents, built on the ported Ink core.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -39,11 +39,10 @@
39
39
  },
40
40
  "./invariant": {
41
41
  "types": "./lib/types/dsh-adapter/invariant.d.ts",
42
- "default": "./lib/invariant.js"
42
+ "default": "./lib/types/dsh-adapter/invariant.js"
43
43
  },
44
44
  "./cordis.patch.yml": "./cordis.patch.yml",
45
- "./package.json": "./package.json",
46
- "./src/*": "./src/*"
45
+ "./package.json": "./package.json"
47
46
  },
48
47
  "files": [
49
48
  "bin",
@@ -149,12 +148,16 @@
149
148
  }
150
149
  },
151
150
  "scripts": {
152
- "build": "tsc -p tsconfig.json && node --import tsx/esm scripts/verify-adapter-boundary.ts && node --import tsx/esm scripts/verify-upstream-contract.ts && node --import tsx/esm scripts/verify-patch-surface.ts",
151
+ "clean": "node scripts/clean-lib.mjs",
152
+ "compile": "npm run clean && tsc -p tsconfig.json",
153
+ "build": "npm run compile && npm run verify:build",
153
154
  "tui": "node --import tsx/esm scripts/run.ts",
154
155
  "smoke": "node --import tsx/esm scripts/smoke.tsx",
156
+ "verify:build": "npm run verify:boundary && npm run verify:contract && npm run verify:patch-surface",
155
157
  "verify:boundary": "node --import tsx/esm scripts/verify-adapter-boundary.ts",
156
158
  "verify:contract": "node --import tsx/esm scripts/verify-upstream-contract.ts",
157
159
  "verify:patch-surface": "node --import tsx/esm scripts/verify-patch-surface.ts",
160
+ "verify:package": "npm pack --dry-run --json --ignore-scripts | node scripts/verify-package.mjs",
158
161
  "verify:clipboard-image": "node --import tsx/esm scripts/verify-clipboard-image.ts"
159
162
  }
160
163
  }
package/lib/invariant.js DELETED
@@ -1,28 +0,0 @@
1
- //#region lib/types/invariant.js
2
- /**
3
- * Package-owned invariant companion for `@deepseek-harness-tui/dsh-tui`.
4
- *
5
- * The vendored Ink core under `src/ink` is third-party code written against
6
- * looser compiler flags; the relaxed `tsconfig` options exist only for that
7
- * subtree and must not spread to new code.
8
- * @module @deepseek-harness-tui/dsh-tui/invariant
9
- */
10
- const PACKAGE_NAME = "@deepseek-harness-tui/dsh-tui";
11
- /** Cordis companion plugin name. */
12
- const name = "dsh-tui-invariant";
13
- /** Service required before the companion can reserve package ownership. */
14
- const inject = ["invariants"];
15
- /**
16
- * No runtime invariant: this interactive TUI front door owns no independent
17
- * lifecycle stream; state relations are owned by the agent/session seams it
18
- * renders.
19
- */
20
- const install = () => {};
21
- /**
22
- * Register this package's invariant companion.
23
- * @param ctx - Cordis context carrying the invariant service.
24
- * @returns the installed registration's disposer after setup succeeds.
25
- */
26
- const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
27
- //#endregion
28
- export { apply, inject, name };