@vetala/vetala 0.5.4 → 0.5.5

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 (59) hide show
  1. package/README.md +6 -46
  2. package/dist/src/agent.d.ts +20 -1
  3. package/dist/src/agent.js +277 -116
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/app-meta.d.ts +1 -1
  6. package/dist/src/app-meta.js +1 -1
  7. package/dist/src/context-files.js +1 -0
  8. package/dist/src/context-files.js.map +1 -1
  9. package/dist/src/ipc-backend.js +97 -9
  10. package/dist/src/ipc-backend.js.map +1 -1
  11. package/dist/src/ipc-ui.d.ts +3 -1
  12. package/dist/src/ipc-ui.js +9 -2
  13. package/dist/src/ipc-ui.js.map +1 -1
  14. package/dist/src/process-utils.d.ts +1 -0
  15. package/dist/src/process-utils.js +72 -7
  16. package/dist/src/process-utils.js.map +1 -1
  17. package/dist/src/skills/runtime.d.ts +2 -1
  18. package/dist/src/skills/runtime.js +298 -11
  19. package/dist/src/skills/runtime.js.map +1 -1
  20. package/dist/src/skills/types.d.ts +19 -0
  21. package/dist/src/terminal-ui.d.ts +3 -1
  22. package/dist/src/terminal-ui.js +7 -1
  23. package/dist/src/terminal-ui.js.map +1 -1
  24. package/dist/src/tools/filesystem.js +56 -2
  25. package/dist/src/tools/filesystem.js.map +1 -1
  26. package/dist/src/tools/git.d.ts +23 -0
  27. package/dist/src/tools/git.js +309 -13
  28. package/dist/src/tools/git.js.map +1 -1
  29. package/dist/src/tools/repo-search.d.ts +2 -0
  30. package/dist/src/tools/repo-search.js +45 -13
  31. package/dist/src/tools/repo-search.js.map +1 -1
  32. package/dist/src/tools/shell.js +1 -1
  33. package/dist/src/tools/shell.js.map +1 -1
  34. package/dist/src/tools/skill.js +5 -1
  35. package/dist/src/tools/skill.js.map +1 -1
  36. package/dist/src/types.d.ts +7 -0
  37. package/package.json +1 -1
  38. package/skill/agents-md-generator/SKILL.md +13 -0
  39. package/skill/biz-opportunity-scout/SKILL.md +17 -0
  40. package/skill/code-review/SKILL.md +15 -0
  41. package/skill/code-security-audit/SKILL.md +21 -0
  42. package/skill/composition-patterns/SKILL.md +15 -0
  43. package/skill/deploy-to-vercel/SKILL.md +14 -0
  44. package/skill/git-workflow/SKILL.md +16 -0
  45. package/skill/jetbrains-vmoptions/SKILL.md +14 -0
  46. package/skill/kysely-converter/SKILL.md +13 -0
  47. package/skill/react-best-practices/SKILL.md +19 -0
  48. package/skill/react-native-skills/SKILL.md +19 -0
  49. package/skill/react-vite-guide/SKILL.md +18 -0
  50. package/skill/skill-maker/SKILL.md +14 -0
  51. package/skill/system-prompt-creator/SKILL.md +13 -0
  52. package/skill/typst-creator/SKILL.md +14 -0
  53. package/skill/web-design-guidelines/SKILL.md +17 -0
  54. package/tui/vetala-darwin-arm64 +0 -0
  55. package/tui/vetala-darwin-x64 +0 -0
  56. package/tui/vetala-linux-arm64 +0 -0
  57. package/tui/vetala-linux-x64 +0 -0
  58. package/tui/vetala-win32-arm64.exe +0 -0
  59. package/tui/vetala-win32-x64.exe +0 -0
@@ -1,7 +1,70 @@
1
1
  import { runExecFile } from "../process-utils.js";
2
+ const DEFAULT_GIT_CONTEXT_LINES = 3;
3
+ const MAX_UNTRACKED_FILES = 100;
2
4
  export function createGitTools() {
3
- return [gitStatusTool, gitDiffTool, gitLogTool, gitBlameTool, gitShowTool, gitBranchTool, gitStashTool];
5
+ return [gitReviewTool, gitStatusTool, gitDiffTool, gitLogTool, gitBlameTool, gitShowTool, gitBranchTool, gitStashTool];
4
6
  }
7
+ const gitReviewTool = {
8
+ name: "git_review",
9
+ description: "Prepare a review-ready git change report. Supports full worktree review, merge-base diffs against a base branch, and commit inspection.",
10
+ jsonSchema: {
11
+ type: "object",
12
+ properties: {
13
+ target: {
14
+ type: "string",
15
+ enum: ["worktree", "base_branch", "commit"],
16
+ description: "What to inspect. Defaults to 'worktree'."
17
+ },
18
+ baseBranch: {
19
+ type: "string",
20
+ description: "Base branch for merge-base review, for example 'main'. Required when target is 'base_branch'."
21
+ },
22
+ ref: {
23
+ type: "string",
24
+ description: "Commit or ref to inspect when target is 'commit'."
25
+ },
26
+ stat: {
27
+ type: "boolean",
28
+ description: "If true, show diffstat summaries instead of full patches. Defaults to false."
29
+ },
30
+ includeUntracked: {
31
+ type: "boolean",
32
+ description: "Include untracked files in the report. Defaults to true."
33
+ },
34
+ paths: {
35
+ type: "array",
36
+ items: { type: "string" },
37
+ description: "Optional list of file paths to restrict the report to."
38
+ },
39
+ contextLines: {
40
+ type: "integer",
41
+ description: "Context lines around each change when rendering patches. Defaults to 3."
42
+ }
43
+ },
44
+ additionalProperties: false
45
+ },
46
+ readOnly: true,
47
+ async execute(rawArgs, context) {
48
+ const args = expectObject(rawArgs);
49
+ const baseBranch = optionalNonEmptyString(args.baseBranch);
50
+ const ref = optionalNonEmptyString(args.ref);
51
+ const report = await buildGitReviewReport({
52
+ cwd: context.workspaceRoot,
53
+ target: parseReviewTarget(args.target),
54
+ stat: args.stat === true,
55
+ includeUntracked: args.includeUntracked !== false,
56
+ paths: stringArray(args.paths),
57
+ contextLines: parseContextLines(args.contextLines),
58
+ ...(baseBranch ? { baseBranch } : {}),
59
+ ...(ref ? { ref } : {})
60
+ });
61
+ return {
62
+ summary: report.summary,
63
+ content: report.content,
64
+ isError: report.isError
65
+ };
66
+ }
67
+ };
5
68
  const gitStatusTool = {
6
69
  name: "git_status",
7
70
  description: "Return the current git status for the workspace repository, including branch tracking info, staged/unstaged changes, and untracked files.",
@@ -24,7 +87,7 @@ const gitStatusTool = {
24
87
  const args = expectObject(rawArgs);
25
88
  const showUntracked = args.showUntracked === false ? "no" : "all";
26
89
  const format = args.porcelain === true ? ["--porcelain=v2", "--branch"] : ["--short", "--branch"];
27
- const result = await runExecFile("git", ["status", ...format, `--untracked-files=${showUntracked}`], { cwd: context.workspaceRoot });
90
+ const result = await runGit(context.workspaceRoot, ["status", ...format, `--untracked-files=${showUntracked}`]);
28
91
  return formatGitResult("git status", result.stdout, result.stderr, result.exitCode);
29
92
  }
30
93
  };
@@ -38,6 +101,10 @@ const gitDiffTool = {
38
101
  type: "string",
39
102
  description: "Optional git ref (branch, tag, commit SHA) to diff against."
40
103
  },
104
+ baseBranch: {
105
+ type: "string",
106
+ description: "Optional base branch to diff against via merge-base, for example 'main'."
107
+ },
41
108
  staged: {
42
109
  type: "boolean",
43
110
  description: "If true, show staged (cached) changes instead of unstaged. Defaults to false."
@@ -62,22 +129,33 @@ const gitDiffTool = {
62
129
  async execute(rawArgs, context) {
63
130
  const args = expectObject(rawArgs);
64
131
  const ref = typeof args.ref === "string" && args.ref.length > 0 ? args.ref : undefined;
132
+ const baseBranch = optionalNonEmptyString(args.baseBranch);
65
133
  const staged = args.staged === true;
66
134
  const stat = args.stat === true;
67
135
  const paths = Array.isArray(args.paths) ? args.paths.filter((p) => typeof p === "string") : [];
68
- const contextLines = typeof args.contextLines === "number" && Number.isInteger(args.contextLines) && args.contextLines >= 0
69
- ? args.contextLines
70
- : 3;
136
+ const contextLines = parseContextLines(args.contextLines);
71
137
  const command = ["diff", "--no-ext-diff", `-U${contextLines}`];
72
138
  if (staged)
73
139
  command.push("--cached");
74
140
  if (stat)
75
141
  command.push("--stat");
76
- if (ref)
142
+ if (baseBranch) {
143
+ const base = await resolveGitBaseBranch(context.workspaceRoot, baseBranch);
144
+ if (!base.mergeBaseSha) {
145
+ return {
146
+ summary: "git diff failed",
147
+ content: `Unable to resolve a merge base against ${baseBranch}.`,
148
+ isError: true
149
+ };
150
+ }
151
+ command.push(base.mergeBaseSha);
152
+ }
153
+ else if (ref) {
77
154
  command.push(ref);
155
+ }
78
156
  if (paths.length > 0)
79
157
  command.push("--", ...paths);
80
- const result = await runExecFile("git", command, { cwd: context.workspaceRoot });
158
+ const result = await runGit(context.workspaceRoot, command);
81
159
  return formatGitResult("git diff", result.stdout, result.stderr, result.exitCode);
82
160
  }
83
161
  };
@@ -139,7 +217,7 @@ const gitLogTool = {
139
217
  command.push(ref);
140
218
  if (paths.length > 0)
141
219
  command.push("--", ...paths);
142
- const result = await runExecFile("git", command, { cwd: context.workspaceRoot });
220
+ const result = await runGit(context.workspaceRoot, command);
143
221
  return formatGitResult("git log", result.stdout, result.stderr, result.exitCode);
144
222
  }
145
223
  };
@@ -185,7 +263,7 @@ const gitBlameTool = {
185
263
  if (hasRange)
186
264
  command.push(`-L${args.startLine},${args.endLine}`);
187
265
  command.push("--", args.path);
188
- const result = await runExecFile("git", command, { cwd: context.workspaceRoot });
266
+ const result = await runGit(context.workspaceRoot, command);
189
267
  return formatGitResult("git blame", result.stdout, result.stderr, result.exitCode);
190
268
  }
191
269
  };
@@ -225,7 +303,7 @@ const gitShowTool = {
225
303
  const paths = Array.isArray(args.paths) ? args.paths.filter((p) => typeof p === "string") : [];
226
304
  if (paths.length > 0)
227
305
  command.push("--", ...paths);
228
- const result = await runExecFile("git", command, { cwd: context.workspaceRoot });
306
+ const result = await runGit(context.workspaceRoot, command);
229
307
  return formatGitResult("git show", result.stdout, result.stderr, result.exitCode);
230
308
  }
231
309
  };
@@ -266,7 +344,7 @@ const gitBranchTool = {
266
344
  command.push("--verbose", "--verbose"); // double -v shows upstream
267
345
  if (typeof args.contains === "string" && args.contains.length > 0)
268
346
  command.push("--contains", args.contains);
269
- const result = await runExecFile("git", command, { cwd: context.workspaceRoot });
347
+ const result = await runGit(context.workspaceRoot, command);
270
348
  return formatGitResult("git branch", result.stdout, result.stderr, result.exitCode);
271
349
  }
272
350
  };
@@ -297,7 +375,7 @@ const gitStashTool = {
297
375
  const args = expectObject(rawArgs);
298
376
  const action = args.action === "show" ? "show" : "list";
299
377
  if (action === "list") {
300
- const result = await runExecFile("git", ["stash", "list"], { cwd: context.workspaceRoot });
378
+ const result = await runGit(context.workspaceRoot, ["stash", "list"]);
301
379
  return formatGitResult("git stash list", result.stdout, result.stderr, result.exitCode);
302
380
  }
303
381
  const stashRef = typeof args.stashRef === "string" && args.stashRef.length > 0 ? args.stashRef : "stash@{0}";
@@ -305,10 +383,177 @@ const gitStashTool = {
305
383
  if (args.stat !== true)
306
384
  command.push("-p"); // full patch by default
307
385
  command.push(stashRef);
308
- const result = await runExecFile("git", command, { cwd: context.workspaceRoot });
386
+ const result = await runGit(context.workspaceRoot, command);
309
387
  return formatGitResult(`git stash show ${stashRef}`, result.stdout, result.stderr, result.exitCode);
310
388
  }
311
389
  };
390
+ export async function buildGitReviewReport(options) {
391
+ const target = options.target ?? "worktree";
392
+ const stat = options.stat === true;
393
+ const includeUntracked = options.includeUntracked !== false;
394
+ const contextLines = options.contextLines ?? DEFAULT_GIT_CONTEXT_LINES;
395
+ const paths = options.paths?.filter((path) => path.length > 0) ?? [];
396
+ switch (target) {
397
+ case "base_branch":
398
+ return buildBaseBranchReview(options.cwd, {
399
+ stat,
400
+ includeUntracked,
401
+ paths,
402
+ contextLines,
403
+ ...(options.baseBranch ? { baseBranch: options.baseBranch } : {})
404
+ });
405
+ case "commit":
406
+ return buildCommitReview(options.cwd, {
407
+ stat,
408
+ paths,
409
+ ...(options.ref ? { ref: options.ref } : {})
410
+ });
411
+ case "worktree":
412
+ default:
413
+ return buildWorktreeReview(options.cwd, {
414
+ stat,
415
+ includeUntracked,
416
+ paths,
417
+ contextLines
418
+ });
419
+ }
420
+ }
421
+ export async function resolveGitBaseBranch(cwd, baseBranch) {
422
+ const requestedBranch = baseBranch.trim();
423
+ const upstreamProbe = await runGit(cwd, ["rev-parse", "--verify", "--symbolic-full-name", `${requestedBranch}@{upstream}`]);
424
+ const baseRef = upstreamProbe.exitCode === 0 && upstreamProbe.stdout.trim() ? upstreamProbe.stdout.trim() : requestedBranch;
425
+ const mergeBase = await runGit(cwd, ["merge-base", "HEAD", baseRef]);
426
+ return {
427
+ requestedBranch,
428
+ baseRef,
429
+ mergeBaseSha: mergeBase.exitCode === 0 && mergeBase.stdout.trim() ? mergeBase.stdout.trim() : null
430
+ };
431
+ }
432
+ async function buildWorktreeReview(cwd, options) {
433
+ const status = await runGit(cwd, ["status", "--short", "--branch", "--untracked-files=all"]);
434
+ if (status.exitCode !== 0) {
435
+ return formatGitResult("git review", status.stdout, status.stderr, status.exitCode);
436
+ }
437
+ const stagedCommand = ["diff", "--cached", "--no-ext-diff", `-U${options.contextLines}`];
438
+ const unstagedCommand = ["diff", "--no-ext-diff", `-U${options.contextLines}`];
439
+ if (options.stat) {
440
+ stagedCommand.push("--stat");
441
+ unstagedCommand.push("--stat");
442
+ }
443
+ if (options.paths.length > 0) {
444
+ stagedCommand.push("--", ...options.paths);
445
+ unstagedCommand.push("--", ...options.paths);
446
+ }
447
+ const [staged, unstaged, untracked] = await Promise.all([
448
+ runGit(cwd, stagedCommand),
449
+ runGit(cwd, unstagedCommand),
450
+ options.includeUntracked ? listUntrackedFiles(cwd, options.paths) : Promise.resolve([])
451
+ ]);
452
+ const content = joinSections([
453
+ {
454
+ title: "status",
455
+ body: status.stdout.trim() || "(clean)"
456
+ },
457
+ staged.stdout.trim()
458
+ ? {
459
+ title: options.stat ? "staged diffstat" : "staged changes",
460
+ body: staged.stdout.trim()
461
+ }
462
+ : null,
463
+ unstaged.stdout.trim()
464
+ ? {
465
+ title: options.stat ? "unstaged diffstat" : "unstaged changes",
466
+ body: unstaged.stdout.trim()
467
+ }
468
+ : null,
469
+ untracked.length > 0
470
+ ? {
471
+ title: "untracked files",
472
+ body: renderUntrackedFiles(untracked)
473
+ }
474
+ : null
475
+ ]);
476
+ return {
477
+ summary: "git review (worktree)",
478
+ content: content || "(no changes)",
479
+ isError: staged.exitCode !== 0 || unstaged.exitCode !== 0
480
+ };
481
+ }
482
+ async function buildBaseBranchReview(cwd, options) {
483
+ if (!options.baseBranch) {
484
+ return {
485
+ summary: "git review failed",
486
+ content: "Missing required argument: baseBranch",
487
+ isError: true
488
+ };
489
+ }
490
+ const base = await resolveGitBaseBranch(cwd, options.baseBranch);
491
+ if (!base.mergeBaseSha) {
492
+ return {
493
+ summary: "git review failed",
494
+ content: `Unable to resolve a merge base against ${options.baseBranch}.`,
495
+ isError: true
496
+ };
497
+ }
498
+ const command = ["diff", "--no-ext-diff", `-U${options.contextLines}`];
499
+ if (options.stat) {
500
+ command.push("--stat");
501
+ }
502
+ command.push(base.mergeBaseSha);
503
+ if (options.paths.length > 0) {
504
+ command.push("--", ...options.paths);
505
+ }
506
+ const [diff, untracked] = await Promise.all([
507
+ runGit(cwd, command),
508
+ options.includeUntracked ? listUntrackedFiles(cwd, options.paths) : Promise.resolve([])
509
+ ]);
510
+ const content = joinSections([
511
+ {
512
+ title: "base branch",
513
+ body: `${base.requestedBranch}\nresolved ref: ${base.baseRef}\nmerge base: ${base.mergeBaseSha}`
514
+ },
515
+ {
516
+ title: options.stat ? "diffstat against merge base" : "diff against merge base",
517
+ body: diff.stdout.trim() || "(no changes)"
518
+ },
519
+ untracked.length > 0
520
+ ? {
521
+ title: "untracked files",
522
+ body: renderUntrackedFiles(untracked)
523
+ }
524
+ : null
525
+ ]);
526
+ return {
527
+ summary: `git review against ${base.requestedBranch}`,
528
+ content,
529
+ isError: diff.exitCode !== 0,
530
+ mergeBaseSha: base.mergeBaseSha,
531
+ baseRef: base.baseRef
532
+ };
533
+ }
534
+ async function buildCommitReview(cwd, options) {
535
+ if (!options.ref) {
536
+ return {
537
+ summary: "git review failed",
538
+ content: "Missing required argument: ref",
539
+ isError: true
540
+ };
541
+ }
542
+ const command = ["show", "--no-ext-diff"];
543
+ if (options.stat) {
544
+ command.push("--stat");
545
+ }
546
+ command.push(options.ref);
547
+ if (options.paths.length > 0) {
548
+ command.push("--", ...options.paths);
549
+ }
550
+ const result = await runGit(cwd, command);
551
+ return {
552
+ summary: `git review commit ${options.ref}`,
553
+ content: [result.stdout.trim(), result.stderr.trim()].filter(Boolean).join("\n") || "(no output)",
554
+ isError: result.exitCode !== 0
555
+ };
556
+ }
312
557
  function formatGitResult(summaryLabel, stdout, stderr, exitCode) {
313
558
  const content = [stdout.trim(), stderr.trim()].filter(Boolean).join("\n");
314
559
  return {
@@ -317,6 +562,57 @@ function formatGitResult(summaryLabel, stdout, stderr, exitCode) {
317
562
  isError: exitCode !== 0
318
563
  };
319
564
  }
565
+ async function runGit(cwd, args) {
566
+ return runExecFile("git", ["-c", "color.ui=never", ...args], {
567
+ cwd,
568
+ noPty: true
569
+ });
570
+ }
571
+ async function listUntrackedFiles(cwd, paths) {
572
+ const command = ["ls-files", "--others", "--exclude-standard"];
573
+ if (paths.length > 0) {
574
+ command.push("--", ...paths);
575
+ }
576
+ const result = await runGit(cwd, command);
577
+ if (result.exitCode !== 0) {
578
+ return [];
579
+ }
580
+ return result.stdout
581
+ .split(/\r?\n/)
582
+ .map((line) => line.trim())
583
+ .filter(Boolean)
584
+ .slice(0, MAX_UNTRACKED_FILES);
585
+ }
586
+ function renderUntrackedFiles(paths) {
587
+ if (paths.length === 0) {
588
+ return "(none)";
589
+ }
590
+ const lines = paths.map((path) => `?? ${path}`);
591
+ if (paths.length >= MAX_UNTRACKED_FILES) {
592
+ lines.push(`... (${MAX_UNTRACKED_FILES}+ files shown)`);
593
+ }
594
+ return lines.join("\n");
595
+ }
596
+ function joinSections(sections) {
597
+ return sections
598
+ .filter((section) => section !== null)
599
+ .map((section) => `${section.title}\n${section.body}`)
600
+ .join("\n\n");
601
+ }
602
+ function parseReviewTarget(value) {
603
+ return value === "base_branch" || value === "commit" ? value : "worktree";
604
+ }
605
+ function parseContextLines(value) {
606
+ return typeof value === "number" && Number.isInteger(value) && value >= 0
607
+ ? value
608
+ : DEFAULT_GIT_CONTEXT_LINES;
609
+ }
610
+ function optionalNonEmptyString(value) {
611
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
612
+ }
613
+ function stringArray(value) {
614
+ return Array.isArray(value) ? value.filter((entry) => typeof entry === "string" && entry.length > 0) : [];
615
+ }
320
616
  function expectObject(value) {
321
617
  if (value && typeof value === "object" && !Array.isArray(value)) {
322
618
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/tools/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/tools/git.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export interface RepoSearchOptions {
12
12
  mode?: "fixed" | "regex";
13
13
  caseSensitive?: boolean;
14
14
  globs?: string[];
15
+ includeHidden?: boolean;
15
16
  context?: ToolContext;
16
17
  }
17
18
  export interface RepoSymbolSearchOptions {
@@ -20,6 +21,7 @@ export interface RepoSymbolSearchOptions {
20
21
  cwd: string;
21
22
  limit: number;
22
23
  globs?: string[];
24
+ includeHidden?: boolean;
23
25
  context?: ToolContext;
24
26
  }
25
27
  export declare function searchRepo(options: RepoSearchOptions): Promise<RepoSearchMatch[]>;
@@ -1,30 +1,31 @@
1
1
  import path from "node:path";
2
2
  import { readFile, readdir, stat } from "node:fs/promises";
3
3
  import { runExecFile } from "../process-utils.js";
4
- const SKIP_DIRECTORIES = new Set([
4
+ const ALWAYS_SKIP_DIRECTORIES = new Set([
5
5
  ".git",
6
6
  ".hg",
7
7
  ".svn",
8
- ".idea",
9
- ".vscode",
10
- "node_modules",
11
- "dist",
12
- "build",
13
- "coverage"
8
+ "node_modules"
14
9
  ]);
15
10
  export async function searchRepo(options) {
16
11
  const globs = options.globs?.filter((value) => value.length > 0) ?? [];
12
+ const signal = options.context?.lifecycle.signal;
13
+ options.context?.lifecycle.throwIfAborted();
17
14
  try {
18
15
  const result = await runExecFile("rg", buildRgArgs({
19
16
  ...options,
20
17
  globs
21
18
  }), {
22
19
  cwd: options.cwd,
23
- noPty: true
20
+ noPty: true,
21
+ ...(signal ? { signal } : {})
24
22
  });
25
23
  return parseSearchMatches(`${result.stdout}${result.stderr}`, options.limit);
26
24
  }
27
25
  catch (error) {
26
+ if (isAbortError(error)) {
27
+ throw error;
28
+ }
28
29
  if (!isMissingBinary(error)) {
29
30
  throw error;
30
31
  }
@@ -45,6 +46,7 @@ export async function searchRepoSymbol(options) {
45
46
  mode: "regex",
46
47
  caseSensitive: true,
47
48
  globs: options.globs ?? [],
49
+ ...(options.includeHidden === true ? { includeHidden: true } : {}),
48
50
  context: options.context
49
51
  });
50
52
  return candidates
@@ -71,6 +73,9 @@ function buildRgArgs(options) {
71
73
  "--glob",
72
74
  "!node_modules/"
73
75
  ];
76
+ if (shouldIncludeHiddenSearch(options)) {
77
+ args.push("--hidden");
78
+ }
74
79
  if (options.mode !== "regex") {
75
80
  args.push("--fixed-strings");
76
81
  }
@@ -103,11 +108,16 @@ function parseSearchMatches(output, limit) {
103
108
  return matches;
104
109
  }
105
110
  async function fallbackSearch(options) {
111
+ const includeHidden = shouldIncludeHiddenSearch(options);
112
+ options.context?.lifecycle.throwIfAborted();
106
113
  // If we have a performance-capable context, offload to Go backend for speed
107
114
  if (options.context?.performance.fastSearch) {
108
115
  const goMatches = await options.context.performance.fastSearch(options.query, options.target, {
109
116
  limit: options.limit,
110
- regex: options.mode === "regex"
117
+ regex: options.mode === "regex",
118
+ globs: options.globs,
119
+ includeHidden,
120
+ signal: options.context?.lifecycle.signal
111
121
  });
112
122
  if (goMatches) {
113
123
  return goMatches;
@@ -121,6 +131,7 @@ async function fallbackSearch(options) {
121
131
  }
122
132
  const queue = [options.target];
123
133
  while (queue.length > 0 && matches.length < options.limit) {
134
+ options.context?.lifecycle.throwIfAborted();
124
135
  const current = queue.shift();
125
136
  if (!current) {
126
137
  continue;
@@ -130,7 +141,7 @@ async function fallbackSearch(options) {
130
141
  if (matches.length >= options.limit) {
131
142
  break;
132
143
  }
133
- if (entry.isDirectory() && shouldSkipDirectory(entry.name)) {
144
+ if (entry.isDirectory() && shouldSkipDirectory(entry.name, includeHidden)) {
134
145
  continue;
135
146
  }
136
147
  const entryPath = path.join(current, entry.name);
@@ -139,6 +150,9 @@ async function fallbackSearch(options) {
139
150
  continue;
140
151
  }
141
152
  if (entry.isFile()) {
153
+ if (!includeHidden && entry.name.startsWith(".")) {
154
+ continue;
155
+ }
142
156
  const relativePath = path.relative(options.target, entryPath);
143
157
  const isMatch = matchesGlob(relativePath, options.globs);
144
158
  if (isMatch) {
@@ -151,6 +165,7 @@ async function fallbackSearch(options) {
151
165
  }
152
166
  async function searchFile(options, filePath, matches) {
153
167
  try {
168
+ options.context?.lifecycle.throwIfAborted();
154
169
  const content = await readFile(filePath);
155
170
  if (content.includes(0)) {
156
171
  return;
@@ -159,6 +174,9 @@ async function searchFile(options, filePath, matches) {
159
174
  const lines = text.split("\n");
160
175
  const matcher = buildMatcher(options);
161
176
  for (const [index, line] of lines.entries()) {
177
+ if (index % 200 === 0) {
178
+ options.context?.lifecycle.throwIfAborted();
179
+ }
162
180
  if (!matcher(line)) {
163
181
  continue;
164
182
  }
@@ -172,7 +190,10 @@ async function searchFile(options, filePath, matches) {
172
190
  }
173
191
  }
174
192
  }
175
- catch {
193
+ catch (error) {
194
+ if (isAbortError(error)) {
195
+ throw error;
196
+ }
176
197
  // Skip unreadable files in the fallback path.
177
198
  }
178
199
  }
@@ -188,8 +209,16 @@ function buildMatcher(options) {
188
209
  return haystack.includes(needle);
189
210
  };
190
211
  }
191
- function shouldSkipDirectory(name) {
192
- return name.startsWith(".") || SKIP_DIRECTORIES.has(name);
212
+ function shouldSkipDirectory(name, includeHidden) {
213
+ return ALWAYS_SKIP_DIRECTORIES.has(name) || (!includeHidden && name.startsWith("."));
214
+ }
215
+ function shouldIncludeHiddenSearch(options) {
216
+ return options.includeHidden === true || pathContainsHiddenSegment(options.target);
217
+ }
218
+ function pathContainsHiddenSegment(targetPath) {
219
+ return targetPath
220
+ .split(path.sep)
221
+ .some((segment) => segment !== "" && segment !== "." && segment !== ".." && segment.startsWith("."));
193
222
  }
194
223
  function scoreSymbolLine(lineText, symbol) {
195
224
  const trimmed = lineText.trim();
@@ -242,4 +271,7 @@ function escapeRegex(value) {
242
271
  function isMissingBinary(error) {
243
272
  return error !== null && typeof error === "object" && "code" in error && error.code === "ENOENT";
244
273
  }
274
+ function isAbortError(error) {
275
+ return error instanceof Error && error.name === "AbortError";
276
+ }
245
277
  //# sourceMappingURL=repo-search.js.map