@dealdeploy/skl 1.6.0 → 1.7.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.
Files changed (3) hide show
  1. package/index.ts +7 -2
  2. package/package.json +1 -1
  3. package/tui.ts +6 -1
package/index.ts CHANGED
@@ -91,7 +91,12 @@ const projectAgents = [...new Set(["universal", ...detectProjectAgents(process.c
91
91
 
92
92
  // ── Create TUI ──────────────────────────────────────────────────────
93
93
 
94
- const renderer = await createCliRenderer({ exitOnCtrlC: true });
94
+ let tui: ReturnType<typeof createTui> | null = null;
95
+
96
+ const renderer = await createCliRenderer({
97
+ exitOnCtrlC: true,
98
+ onDestroy: () => tui?.destroy(),
99
+ });
95
100
 
96
101
  const allSkills = getCatalogSkills();
97
102
  const lock = readLock();
@@ -100,7 +105,7 @@ for (const name of allSkills) {
100
105
  skillRepos.set(name, lock.skills[name]?.source || null);
101
106
  }
102
107
 
103
- const tui = createTui(renderer, {
108
+ tui = createTui(renderer, {
104
109
  allSkills,
105
110
  skillRepos,
106
111
  globalInstalled,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dealdeploy/skl",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "TUI skill manager for Claude Code agents",
5
5
  "module": "index.ts",
6
6
  "bin": {
package/tui.ts CHANGED
@@ -436,7 +436,7 @@ export function createTui(renderer: CliRenderer, deps: TuiDeps) {
436
436
  statusLine.fg = color;
437
437
  if (statusTimeout) clearTimeout(statusTimeout);
438
438
  statusTimeout = setTimeout(() => {
439
- try { statusLine.content = ""; } catch {}
439
+ statusLine.content = "";
440
440
  }, 3000);
441
441
  }
442
442
 
@@ -723,9 +723,14 @@ export function createTui(renderer: CliRenderer, deps: TuiDeps) {
723
723
  ensureVisible();
724
724
  });
725
725
 
726
+ function destroy() {
727
+ if (statusTimeout) clearTimeout(statusTimeout);
728
+ }
729
+
726
730
  return {
727
731
  refreshAll,
728
732
  relayout,
733
+ destroy,
729
734
  get state() {
730
735
  return {
731
736
  cursor,