@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/audit.js CHANGED
@@ -445,6 +445,7 @@ var ProcessRegistryImpl = class {
445
445
  }
446
446
  /** Get all tracked processes. */
447
447
  list() {
448
+ this._pruneAllStale();
448
449
  return Array.from(this.processes.values());
449
450
  }
450
451
  /** Get processes filtered by name (e.g. 'bash', 'exec'). */
@@ -475,6 +476,7 @@ var ProcessRegistryImpl = class {
475
476
  * Combined stats for observability — used by /ps and the TUI status bar.
476
477
  */
477
478
  stats() {
479
+ this._pruneAllStale();
478
480
  return {
479
481
  activeCount: this.activeCount,
480
482
  backgroundCount: this.activeBackgroundCount,
@@ -714,6 +716,19 @@ var ProcessRegistryImpl = class {
714
716
  this.processes.delete(pid);
715
717
  }
716
718
  }
719
+ /**
720
+ * Remove every stale entry, not just one PID. `list()`/`stats()` — the
721
+ * surfaces the TUI status bar and `/ps` poll — must prune too: a child
722
+ * whose 'close' event never fires (e.g. Windows grandchildren holding stdio
723
+ * open) would otherwise linger in the registry until someone looks up its
724
+ * exact PID, and PID reuse meanwhile makes `get()`/`kill()` target the
725
+ * wrong process. RAM-leak audit 2026-07-31, MEDIUM.
726
+ */
727
+ _pruneAllStale() {
728
+ for (const [pid, entry] of this.processes) {
729
+ if (this._isStaleEntry(entry)) this.processes.delete(pid);
730
+ }
731
+ }
717
732
  };
718
733
  var _registry;
719
734
  function getProcessRegistry() {