@wrongstack/tools 0.299.0 → 0.301.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 (53) hide show
  1. package/dist/audit.js +6 -2
  2. package/dist/bash.js +6 -2
  3. package/dist/batch-tool-use.js +3 -1
  4. package/dist/browser/index.js +1 -1
  5. package/dist/builtin.d.ts +3 -2
  6. package/dist/builtin.js +1781 -376
  7. package/dist/codebase-index/bm25.d.ts +7 -1
  8. package/dist/codebase-index/import-extractor.d.ts +39 -0
  9. package/dist/codebase-index/index.js +1418 -267
  10. package/dist/codebase-index/languages.d.ts +24 -0
  11. package/dist/codebase-index/module-resolver.d.ts +78 -0
  12. package/dist/codebase-index/module-roots.d.ts +81 -0
  13. package/dist/codebase-index/parser-output.d.ts +29 -0
  14. package/dist/codebase-index/project-server.js +1402 -249
  15. package/dist/codebase-index/rs-parser.d.ts +22 -0
  16. package/dist/codebase-index/schema.d.ts +24 -1
  17. package/dist/codebase-index/worker.js +1401 -250
  18. package/dist/codebase-index/writer-graph-helpers.d.ts +17 -5
  19. package/dist/codebase-index/writer-ref-mapper.d.ts +3 -0
  20. package/dist/codebase-index/writer-schema.d.ts +15 -3
  21. package/dist/codebase-index/writer.d.ts +76 -3
  22. package/dist/exec.js +35 -2
  23. package/dist/format.js +6 -2
  24. package/dist/git.js +2 -5
  25. package/dist/glob.js +2 -2
  26. package/dist/grep.js +118 -3
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.js +1925 -415
  29. package/dist/install.js +6 -2
  30. package/dist/json.js +132 -2
  31. package/dist/languages/index.js +6 -2
  32. package/dist/lint.js +6 -2
  33. package/dist/logs.js +81 -0
  34. package/dist/next-steps-tool.d.ts +26 -0
  35. package/dist/outdated.js +6 -2
  36. package/dist/pack.js +1781 -376
  37. package/dist/patch.js +206 -45
  38. package/dist/process-registry.d.ts +6 -0
  39. package/dist/process-registry.js +6 -2
  40. package/dist/ps-slash.js +6 -2
  41. package/dist/read.js +1410 -257
  42. package/dist/replace.js +81 -0
  43. package/dist/skill.js +51 -2
  44. package/dist/test.js +6 -2
  45. package/dist/tool-help.js +2 -2
  46. package/dist/tool-search.js +1 -1
  47. package/dist/tool-tier.d.ts +1 -1
  48. package/dist/tool-tier.js +1786 -397
  49. package/dist/tool-use.js +1 -1
  50. package/dist/tree.js +13 -3
  51. package/dist/typecheck.js +6 -2
  52. package/package.json +3 -3
  53. package/dist/codebase-index/refs-extractor.d.ts +0 -11
package/dist/audit.js CHANGED
@@ -666,7 +666,7 @@ var ProcessRegistryImpl = class {
666
666
  const p = this.processes.get(pid);
667
667
  if (!p) return false;
668
668
  if (p.killed) return true;
669
- if (p.protected) return false;
669
+ if (p.protected && opts.includeProtected !== true) return false;
670
670
  if (opts.preserveBackground && p.background) return false;
671
671
  const { force = false, graceMs = DEFAULT_GRACE_MS } = opts;
672
672
  const isWin2 = os.platform() === "win32";
@@ -717,9 +717,13 @@ var ProcessRegistryImpl = class {
717
717
  killAll(opts = {}) {
718
718
  const pids = Array.from(this.processes.keys());
719
719
  const killed = [];
720
+ const includeProtected = opts.includeProtected === true;
720
721
  for (const pid of pids) {
721
722
  const p = this.processes.get(pid);
722
- if (p && !p.protected && this.kill(pid, opts)) killed.push(pid);
723
+ if (!p) continue;
724
+ if (p.protected && !includeProtected) continue;
725
+ if (opts.preserveBackground && p.background) continue;
726
+ if (this.kill(pid, opts)) killed.push(pid);
723
727
  }
724
728
  return killed;
725
729
  }
package/dist/bash.js CHANGED
@@ -696,7 +696,7 @@ var ProcessRegistryImpl = class {
696
696
  const p = this.processes.get(pid);
697
697
  if (!p) return false;
698
698
  if (p.killed) return true;
699
- if (p.protected) return false;
699
+ if (p.protected && opts.includeProtected !== true) return false;
700
700
  if (opts.preserveBackground && p.background) return false;
701
701
  const { force = false, graceMs = DEFAULT_GRACE_MS } = opts;
702
702
  const isWin2 = os.platform() === "win32";
@@ -747,9 +747,13 @@ var ProcessRegistryImpl = class {
747
747
  killAll(opts = {}) {
748
748
  const pids = Array.from(this.processes.keys());
749
749
  const killed = [];
750
+ const includeProtected = opts.includeProtected === true;
750
751
  for (const pid of pids) {
751
752
  const p = this.processes.get(pid);
752
- if (p && !p.protected && this.kill(pid, opts)) killed.push(pid);
753
+ if (!p) continue;
754
+ if (p.protected && !includeProtected) continue;
755
+ if (opts.preserveBackground && p.background) continue;
756
+ if (this.kill(pid, opts)) killed.push(pid);
753
757
  }
754
758
  return killed;
755
759
  }
@@ -150,7 +150,9 @@ async function executeSingle(call, ctx, governedExecute) {
150
150
  executionMs: Date.now() - start
151
151
  };
152
152
  }
153
- const tool = ctx.tools.find((candidate) => candidate.name === call.tool);
153
+ const tool = (ctx.catalogTools ?? ctx.tools).find(
154
+ (candidate) => candidate.name === call.tool
155
+ );
154
156
  if (!tool) {
155
157
  return {
156
158
  tool: call.tool,
@@ -185,7 +185,7 @@ function parsePrivateOriginAllowlist(raw) {
185
185
  if (!raw?.trim()) return [];
186
186
  const origins = /* @__PURE__ */ new Set();
187
187
  for (const entry of raw.split(",")) {
188
- const candidate = entry.trim();
188
+ const candidate = entry.trim().replace(/^["']+|["']+$/gu, "");
189
189
  if (!candidate) continue;
190
190
  const url = parseBrowserUrl(candidate, true);
191
191
  if (url.pathname !== "/" || url.search || url.hash) {
package/dist/builtin.d.ts CHANGED
@@ -12,10 +12,11 @@ import type { Tool } from '@wrongstack/core/types';
12
12
  export declare const OPTIONAL_TOOLS: Tool[];
13
13
  /**
14
14
  * Tier 1 (Token Saving) tool set — the absolute minimum for useful work.
15
- * 13 tools covering core file ops, indexed project discovery, shell, search,
15
+ * 15 tools covering core file ops, indexed project discovery, shell, search,
16
16
  * and utilities. Codebase index lifecycle tools stay available at every tier
17
17
  * so token saving does not force broad filesystem scans.
18
- * Saves ~3500-5500 tokens vs full mode by omitting specialized tools.
18
+ * Saves ~3500-5500 tokens vs full mode by omitting specialized schemas from
19
+ * direct provider exposure; hosts may retain those tools in a lazy catalog.
19
20
  *
20
21
  * Tier 1 tools:
21
22
  * read, write, edit — file operations