@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/install.js CHANGED
@@ -452,6 +452,7 @@ var ProcessRegistryImpl = class {
452
452
  }
453
453
  /** Get all tracked processes. */
454
454
  list() {
455
+ this._pruneAllStale();
455
456
  return Array.from(this.processes.values());
456
457
  }
457
458
  /** Get processes filtered by name (e.g. 'bash', 'exec'). */
@@ -482,6 +483,7 @@ var ProcessRegistryImpl = class {
482
483
  * Combined stats for observability — used by /ps and the TUI status bar.
483
484
  */
484
485
  stats() {
486
+ this._pruneAllStale();
485
487
  return {
486
488
  activeCount: this.activeCount,
487
489
  backgroundCount: this.activeBackgroundCount,
@@ -721,6 +723,19 @@ var ProcessRegistryImpl = class {
721
723
  this.processes.delete(pid);
722
724
  }
723
725
  }
726
+ /**
727
+ * Remove every stale entry, not just one PID. `list()`/`stats()` — the
728
+ * surfaces the TUI status bar and `/ps` poll — must prune too: a child
729
+ * whose 'close' event never fires (e.g. Windows grandchildren holding stdio
730
+ * open) would otherwise linger in the registry until someone looks up its
731
+ * exact PID, and PID reuse meanwhile makes `get()`/`kill()` target the
732
+ * wrong process. RAM-leak audit 2026-07-31, MEDIUM.
733
+ */
734
+ _pruneAllStale() {
735
+ for (const [pid, entry] of this.processes) {
736
+ if (this._isStaleEntry(entry)) this.processes.delete(pid);
737
+ }
738
+ }
724
739
  };
725
740
  var _registry;
726
741
  function getProcessRegistry() {