@wrongstack/tools 0.296.3 → 0.297.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 (55) hide show
  1. package/dist/audit.js +15 -0
  2. package/dist/audit.js.map +2 -2
  3. package/dist/bash.js +15 -0
  4. package/dist/bash.js.map +2 -2
  5. package/dist/builtin.js +1291 -1216
  6. package/dist/builtin.js.map +4 -4
  7. package/dist/codebase-index/background-indexer.d.ts.map +1 -1
  8. package/dist/codebase-index/index.d.ts +1 -0
  9. package/dist/codebase-index/index.d.ts.map +1 -1
  10. package/dist/codebase-index/index.js +1259 -1196
  11. package/dist/codebase-index/index.js.map +4 -4
  12. package/dist/codebase-index/project-server-client.d.ts +13 -1
  13. package/dist/codebase-index/project-server-client.d.ts.map +1 -1
  14. package/dist/codebase-index/project-server-endpoint.d.ts +29 -1
  15. package/dist/codebase-index/project-server-endpoint.d.ts.map +1 -1
  16. package/dist/codebase-index/project-server.js +20 -5
  17. package/dist/codebase-index/project-server.js.map +2 -2
  18. package/dist/codebase-index/refs-extractor.d.ts.map +1 -1
  19. package/dist/exec.js +15 -0
  20. package/dist/exec.js.map +2 -2
  21. package/dist/format.js +15 -0
  22. package/dist/format.js.map +2 -2
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1260 -1182
  26. package/dist/index.js.map +4 -4
  27. package/dist/install.js +15 -0
  28. package/dist/install.js.map +2 -2
  29. package/dist/languages/index.js +15 -0
  30. package/dist/languages/index.js.map +2 -2
  31. package/dist/lint.js +15 -0
  32. package/dist/lint.js.map +2 -2
  33. package/dist/next-steps.d.ts +23 -0
  34. package/dist/next-steps.d.ts.map +1 -1
  35. package/dist/next-steps.js +4 -0
  36. package/dist/next-steps.js.map +2 -2
  37. package/dist/outdated.js +15 -0
  38. package/dist/outdated.js.map +2 -2
  39. package/dist/pack.js +1291 -1216
  40. package/dist/pack.js.map +4 -4
  41. package/dist/process-registry.d.ts +9 -0
  42. package/dist/process-registry.d.ts.map +1 -1
  43. package/dist/process-registry.js +15 -0
  44. package/dist/process-registry.js.map +2 -2
  45. package/dist/ps-slash.js +15 -0
  46. package/dist/ps-slash.js.map +2 -2
  47. package/dist/read.js +67 -9
  48. package/dist/read.js.map +2 -2
  49. package/dist/test.js +15 -0
  50. package/dist/test.js.map +2 -2
  51. package/dist/tool-tier.js +1291 -1216
  52. package/dist/tool-tier.js.map +4 -4
  53. package/dist/typecheck.js +15 -0
  54. package/dist/typecheck.js.map +2 -2
  55. package/package.json +3 -3
package/dist/bash.js CHANGED
@@ -521,6 +521,7 @@ var ProcessRegistryImpl = class {
521
521
  }
522
522
  /** Get all tracked processes. */
523
523
  list() {
524
+ this._pruneAllStale();
524
525
  return Array.from(this.processes.values());
525
526
  }
526
527
  /** Get processes filtered by name (e.g. 'bash', 'exec'). */
@@ -551,6 +552,7 @@ var ProcessRegistryImpl = class {
551
552
  * Combined stats for observability — used by /ps and the TUI status bar.
552
553
  */
553
554
  stats() {
555
+ this._pruneAllStale();
554
556
  return {
555
557
  activeCount: this.activeCount,
556
558
  backgroundCount: this.activeBackgroundCount,
@@ -790,6 +792,19 @@ var ProcessRegistryImpl = class {
790
792
  this.processes.delete(pid);
791
793
  }
792
794
  }
795
+ /**
796
+ * Remove every stale entry, not just one PID. `list()`/`stats()` — the
797
+ * surfaces the TUI status bar and `/ps` poll — must prune too: a child
798
+ * whose 'close' event never fires (e.g. Windows grandchildren holding stdio
799
+ * open) would otherwise linger in the registry until someone looks up its
800
+ * exact PID, and PID reuse meanwhile makes `get()`/`kill()` target the
801
+ * wrong process. RAM-leak audit 2026-07-31, MEDIUM.
802
+ */
803
+ _pruneAllStale() {
804
+ for (const [pid, entry] of this.processes) {
805
+ if (this._isStaleEntry(entry)) this.processes.delete(pid);
806
+ }
807
+ }
793
808
  };
794
809
  var _registry;
795
810
  function getProcessRegistry() {