@aria-cli/tools 1.0.1 → 1.0.3

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 (157) hide show
  1. package/dist/.aria-build-stamp.json +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/definitions/code-intelligence.d.ts +9 -0
  4. package/dist/definitions/code-intelligence.d.ts.map +1 -0
  5. package/dist/definitions/code-intelligence.js +471 -0
  6. package/dist/definitions/code-intelligence.js.map +1 -0
  7. package/dist/definitions/core.d.ts +3 -0
  8. package/dist/definitions/core.d.ts.map +1 -1
  9. package/dist/definitions/core.js +13 -1
  10. package/dist/definitions/core.js.map +1 -1
  11. package/dist/definitions/filesystem.d.ts +3 -2
  12. package/dist/definitions/filesystem.d.ts.map +1 -1
  13. package/dist/definitions/filesystem.js +4 -38
  14. package/dist/definitions/filesystem.js.map +1 -1
  15. package/dist/definitions/frg.d.ts +4 -0
  16. package/dist/definitions/frg.d.ts.map +1 -0
  17. package/dist/definitions/frg.js +64 -0
  18. package/dist/definitions/frg.js.map +1 -0
  19. package/dist/definitions/index.d.ts +3 -0
  20. package/dist/definitions/index.d.ts.map +1 -1
  21. package/dist/definitions/index.js +3 -0
  22. package/dist/definitions/index.js.map +1 -1
  23. package/dist/definitions/search.d.ts +10 -0
  24. package/dist/definitions/search.d.ts.map +1 -0
  25. package/dist/definitions/search.js +61 -0
  26. package/dist/definitions/search.js.map +1 -0
  27. package/dist/executors/apply-patch.d.ts.map +1 -1
  28. package/dist/executors/apply-patch.js +18 -0
  29. package/dist/executors/apply-patch.js.map +1 -1
  30. package/dist/executors/code-intelligence.d.ts +139 -0
  31. package/dist/executors/code-intelligence.d.ts.map +1 -0
  32. package/dist/executors/code-intelligence.js +883 -0
  33. package/dist/executors/code-intelligence.js.map +1 -0
  34. package/dist/executors/filesystem.d.ts.map +1 -1
  35. package/dist/executors/filesystem.js +14 -8
  36. package/dist/executors/filesystem.js.map +1 -1
  37. package/dist/executors/frg-freshness.d.ts +94 -0
  38. package/dist/executors/frg-freshness.d.ts.map +1 -0
  39. package/dist/executors/frg-freshness.js +577 -0
  40. package/dist/executors/frg-freshness.js.map +1 -0
  41. package/dist/executors/frg.d.ts +28 -0
  42. package/dist/executors/frg.d.ts.map +1 -0
  43. package/dist/executors/frg.js +299 -0
  44. package/dist/executors/frg.js.map +1 -0
  45. package/dist/executors/index.d.ts +6 -0
  46. package/dist/executors/index.d.ts.map +1 -1
  47. package/dist/executors/index.js +5 -0
  48. package/dist/executors/index.js.map +1 -1
  49. package/dist/executors/lsp-client.d.ts +39 -0
  50. package/dist/executors/lsp-client.d.ts.map +1 -0
  51. package/dist/executors/lsp-client.js +297 -0
  52. package/dist/executors/lsp-client.js.map +1 -0
  53. package/dist/executors/restart.d.ts +4 -9
  54. package/dist/executors/restart.d.ts.map +1 -1
  55. package/dist/executors/restart.js +20 -51
  56. package/dist/executors/restart.js.map +1 -1
  57. package/dist/executors/search-freshness.d.ts +51 -0
  58. package/dist/executors/search-freshness.d.ts.map +1 -0
  59. package/dist/executors/search-freshness.js +196 -0
  60. package/dist/executors/search-freshness.js.map +1 -0
  61. package/dist/executors/search.d.ts +12 -0
  62. package/dist/executors/search.d.ts.map +1 -0
  63. package/dist/executors/search.js +67 -0
  64. package/dist/executors/search.js.map +1 -0
  65. package/dist/headless-control-contract.d.ts +4 -0
  66. package/dist/headless-control-contract.d.ts.map +1 -1
  67. package/dist/index.d.ts +2 -2
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/network-runtime/local-control-contract.d.ts +2 -0
  72. package/dist/network-runtime/local-control-contract.d.ts.map +1 -1
  73. package/dist/network-runtime/local-control-contract.js +2 -0
  74. package/dist/network-runtime/local-control-contract.js.map +1 -1
  75. package/dist-cjs/.tsbuildinfo +1 -1
  76. package/dist-cjs/definitions/code-intelligence.d.ts +8 -0
  77. package/dist-cjs/definitions/code-intelligence.js +474 -0
  78. package/dist-cjs/definitions/code-intelligence.js.map +1 -0
  79. package/dist-cjs/definitions/core.d.ts +3 -0
  80. package/dist-cjs/definitions/core.js +17 -2
  81. package/dist-cjs/definitions/core.js.map +1 -1
  82. package/dist-cjs/definitions/filesystem.d.ts +3 -2
  83. package/dist-cjs/definitions/filesystem.js +3 -37
  84. package/dist-cjs/definitions/filesystem.js.map +1 -1
  85. package/dist-cjs/definitions/frg.d.ts +3 -0
  86. package/dist-cjs/definitions/frg.js +67 -0
  87. package/dist-cjs/definitions/frg.js.map +1 -0
  88. package/dist-cjs/definitions/index.d.ts +3 -0
  89. package/dist-cjs/definitions/index.js +7 -1
  90. package/dist-cjs/definitions/index.js.map +1 -1
  91. package/dist-cjs/definitions/search.d.ts +9 -0
  92. package/dist-cjs/definitions/search.js +64 -0
  93. package/dist-cjs/definitions/search.js.map +1 -0
  94. package/dist-cjs/executors/apply-patch.js +18 -0
  95. package/dist-cjs/executors/apply-patch.js.map +1 -1
  96. package/dist-cjs/executors/code-intelligence.d.ts +138 -0
  97. package/dist-cjs/executors/code-intelligence.js +926 -0
  98. package/dist-cjs/executors/code-intelligence.js.map +1 -0
  99. package/dist-cjs/executors/filesystem.js +17 -8
  100. package/dist-cjs/executors/filesystem.js.map +1 -1
  101. package/dist-cjs/executors/frg-freshness.d.ts +93 -0
  102. package/dist-cjs/executors/frg-freshness.js +628 -0
  103. package/dist-cjs/executors/frg-freshness.js.map +1 -0
  104. package/dist-cjs/executors/frg.d.ts +27 -0
  105. package/dist-cjs/executors/frg.js +335 -0
  106. package/dist-cjs/executors/frg.js.map +1 -0
  107. package/dist-cjs/executors/index.d.ts +6 -0
  108. package/dist-cjs/executors/index.js +34 -2
  109. package/dist-cjs/executors/index.js.map +1 -1
  110. package/dist-cjs/executors/lsp-client.d.ts +38 -0
  111. package/dist-cjs/executors/lsp-client.js +311 -0
  112. package/dist-cjs/executors/lsp-client.js.map +1 -0
  113. package/dist-cjs/executors/restart.d.ts +4 -9
  114. package/dist-cjs/executors/restart.js +19 -50
  115. package/dist-cjs/executors/restart.js.map +1 -1
  116. package/dist-cjs/executors/search-freshness.d.ts +50 -0
  117. package/dist-cjs/executors/search-freshness.js +235 -0
  118. package/dist-cjs/executors/search-freshness.js.map +1 -0
  119. package/dist-cjs/executors/search.d.ts +11 -0
  120. package/dist-cjs/executors/search.js +103 -0
  121. package/dist-cjs/executors/search.js.map +1 -0
  122. package/dist-cjs/headless-control-contract.d.ts +15 -11
  123. package/dist-cjs/index.d.ts +2 -2
  124. package/dist-cjs/index.js +22 -2
  125. package/dist-cjs/index.js.map +1 -1
  126. package/dist-cjs/network-runtime/local-control-contract.d.ts +2 -0
  127. package/dist-cjs/network-runtime/local-control-contract.js +2 -0
  128. package/dist-cjs/network-runtime/local-control-contract.js.map +1 -1
  129. package/package.json +22 -18
  130. package/src/definitions/code-intelligence.ts +526 -0
  131. package/src/definitions/core.ts +13 -1
  132. package/src/definitions/filesystem.ts +3 -39
  133. package/src/definitions/frg.ts +67 -0
  134. package/src/definitions/index.ts +3 -0
  135. package/src/definitions/search.ts +67 -0
  136. package/src/executors/apply-patch.ts +20 -0
  137. package/src/executors/code-intelligence.ts +1179 -0
  138. package/src/executors/filesystem.ts +15 -8
  139. package/src/executors/frg-freshness.ts +743 -0
  140. package/src/executors/frg.ts +394 -0
  141. package/src/executors/index.ts +58 -0
  142. package/src/executors/lsp-client.ts +355 -0
  143. package/src/executors/restart.ts +21 -56
  144. package/src/executors/search-freshness.ts +249 -0
  145. package/src/executors/search.ts +89 -0
  146. package/src/index.ts +25 -0
  147. package/src/network-runtime/local-control-contract.ts +2 -0
  148. package/tests/definitions/tool-inventory.test.ts +17 -6
  149. package/tests/executors/frg-freshness.test.ts +136 -0
  150. package/tests/executors/frg-merge.test.ts +70 -0
  151. package/tests/executors/frg-session-content.test.ts +40 -0
  152. package/tests/executors/frg.test.ts +56 -0
  153. package/tests/integration/headless-control-contract.integration.test.ts +2 -0
  154. package/tests/loading-tier.test.ts +6 -6
  155. package/tests/test-lane-manifest.ts +4 -0
  156. package/tsconfig.cjs.json +9 -1
  157. package/tsconfig.json +1 -1
@@ -0,0 +1,27 @@
1
+ import type { ToolContext, ToolResult } from "../types.js";
2
+ export interface FrgInput {
3
+ command: "index" | "search" | "update" | "status" | "replace" | "init" | "watch" | "man" | "completions" | "upgrade";
4
+ pattern?: string;
5
+ replacement?: string;
6
+ path?: string;
7
+ noIndex?: boolean;
8
+ literal?: boolean;
9
+ caseInsensitive?: boolean;
10
+ smartCase?: boolean;
11
+ filesOnly?: boolean;
12
+ count?: boolean;
13
+ maxCount?: number;
14
+ quiet?: boolean;
15
+ context?: number;
16
+ json?: boolean;
17
+ glob?: string;
18
+ fileType?: string;
19
+ follow?: boolean;
20
+ extraPatterns?: string[];
21
+ maxFilesize?: number;
22
+ force?: boolean;
23
+ write?: boolean;
24
+ hook?: boolean;
25
+ shell?: "bash" | "elvish" | "fish" | "powershell" | "zsh";
26
+ }
27
+ export declare function executeFrg(input: unknown, ctx: ToolContext): Promise<ToolResult>;
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.executeFrg = executeFrg;
37
+ const fsSync = __importStar(require("node:fs"));
38
+ const nodePath = __importStar(require("node:path"));
39
+ const fastripgrep_1 = require("@aria-cli/fastripgrep");
40
+ const utils_js_1 = require("./utils.js");
41
+ const shell_js_1 = require("./shell.js");
42
+ const frg_freshness_js_1 = require("./frg-freshness.js");
43
+ function resolveSearchRoot(inputPath, ctx) {
44
+ const requested = inputPath ?? ".";
45
+ return nodePath.isAbsolute(requested)
46
+ ? nodePath.resolve(requested)
47
+ : nodePath.resolve(ctx.workingDir, requested);
48
+ }
49
+ function assertAllowedPath(resolvedPath, ctx) {
50
+ let realBase = nodePath.resolve(ctx.workingDir);
51
+ try {
52
+ realBase = fsSync.realpathSync(ctx.workingDir);
53
+ }
54
+ catch {
55
+ // ignore
56
+ }
57
+ let candidate = resolvedPath;
58
+ try {
59
+ candidate = fsSync.realpathSync(resolvedPath);
60
+ }
61
+ catch {
62
+ candidate = nodePath.resolve(resolvedPath);
63
+ }
64
+ if ((0, utils_js_1.isPathWithinBase)(candidate, realBase)) {
65
+ return;
66
+ }
67
+ const home = process.env.HOME;
68
+ if (home) {
69
+ try {
70
+ const realHome = fsSync.realpathSync(home);
71
+ if ((0, utils_js_1.isPathWithinBase)(candidate, realHome)) {
72
+ return;
73
+ }
74
+ }
75
+ catch {
76
+ // ignore
77
+ }
78
+ }
79
+ throw new Error("Path traversal not allowed: resolved path is outside working directory and home directory");
80
+ }
81
+ function toNativeInput(input, root) {
82
+ return {
83
+ command: input.command,
84
+ pattern: input.pattern,
85
+ replacement: input.replacement,
86
+ path: root,
87
+ noIndex: input.noIndex,
88
+ literal: input.literal,
89
+ caseInsensitive: input.caseInsensitive,
90
+ smartCase: input.smartCase,
91
+ filesOnly: input.filesOnly,
92
+ count: input.count,
93
+ maxCount: input.maxCount,
94
+ quiet: input.quiet,
95
+ context: input.context,
96
+ json: input.json,
97
+ glob: input.glob,
98
+ fileType: input.fileType,
99
+ follow: input.follow,
100
+ extraPatterns: input.extraPatterns,
101
+ maxFilesize: input.maxFilesize,
102
+ force: input.force,
103
+ write: input.write,
104
+ hook: input.hook,
105
+ shell: input.shell,
106
+ };
107
+ }
108
+ function getNativeSessionOverlay(root) {
109
+ const sessionWrites = [];
110
+ const sessionDeletes = [];
111
+ for (const mutation of (0, frg_freshness_js_1.getPendingFrgMutations)(root)) {
112
+ if (mutation.operation === "delete") {
113
+ sessionDeletes.push(nodePath.resolve(mutation.path));
114
+ continue;
115
+ }
116
+ // Read content from disk if not cached. This closes the gap where
117
+ // reconcileGitDirtyMutations detects git-dirty files but sets
118
+ // content=undefined (no cache). Without this read, the session overlay
119
+ // would skip these mutations entirely — making agent-written files
120
+ // invisible until the 750ms background flush completes.
121
+ let content = mutation.content;
122
+ if (typeof content !== "string") {
123
+ try {
124
+ const resolved = nodePath.resolve(mutation.path);
125
+ const buf = fsSync.readFileSync(resolved);
126
+ // Skip binary files
127
+ if (!buf.subarray(0, Math.min(buf.length, 8192)).includes(0)) {
128
+ content = buf.toString("utf8");
129
+ }
130
+ }
131
+ catch {
132
+ // File unreadable (deleted, permission, etc.) — skip
133
+ }
134
+ }
135
+ if (typeof content === "string") {
136
+ sessionWrites.push({
137
+ path: nodePath.resolve(mutation.path),
138
+ content,
139
+ });
140
+ }
141
+ }
142
+ return { sessionWrites, sessionDeletes };
143
+ }
144
+ async function executeFrgWatch(_input, ctx, root) {
145
+ const resolvedWorkingDir = nodePath.resolve(ctx.workingDir);
146
+ const repoRoot = resolvedWorkingDir.includes(`${nodePath.sep}packages${nodePath.sep}`)
147
+ ? (resolvedWorkingDir.split(`${nodePath.sep}packages${nodePath.sep}`)[0] ?? process.cwd())
148
+ : process.cwd();
149
+ const binaryPath = nodePath.join(repoRoot, "vendor", "fastripgrep", "target", "release", process.platform === "win32" ? "frg.exe" : "frg");
150
+ if (!fsSync.existsSync(binaryPath)) {
151
+ return (0, utils_js_1.fail)(`frg watch failed: binary not found at ${binaryPath}. Build @aria-cli/fastripgrep first.`);
152
+ }
153
+ const spawnResult = await (0, shell_js_1.executeSpawn)({
154
+ program: binaryPath,
155
+ args: ["watch", root],
156
+ cwd: root,
157
+ }, ctx);
158
+ if (!spawnResult.success) {
159
+ return spawnResult;
160
+ }
161
+ const data = (spawnResult.data ?? {});
162
+ return (0, utils_js_1.success)(`Started frg watch process for ${root}`, {
163
+ command: "watch",
164
+ path: root,
165
+ watched: true,
166
+ pid: data.pid,
167
+ });
168
+ }
169
+ function maybeReindexOnHeadChange(root, currentOutput) {
170
+ if (currentOutput.command !== "status") {
171
+ return currentOutput;
172
+ }
173
+ try {
174
+ const indexedTree = currentOutput.status?.tree_hash ?? null;
175
+ const indexedHead = currentOutput.status?.commit_hash ?? null;
176
+ const freshness = (0, frg_freshness_js_1.getFrgFreshnessSnapshot)(root, currentOutput.status);
177
+ if (freshness.headTree && indexedTree && freshness.headTree !== indexedTree) {
178
+ if (freshness.sessionPendingCount === 0 &&
179
+ freshness.dirtyTrackedCount === 0 &&
180
+ freshness.dirtyUntrackedCount === 0) {
181
+ const updated = (0, fastripgrep_1.frg)({ command: "update", path: root });
182
+ return {
183
+ ...updated,
184
+ content: `HEAD tree changed from indexed ${indexedTree} to ${freshness.headTree}; triggered incremental update`,
185
+ };
186
+ }
187
+ return {
188
+ ...currentOutput,
189
+ content: `HEAD tree differs from indexed tree (${indexedTree} -> ${freshness.headTree}); local dirty state deferred update`,
190
+ };
191
+ }
192
+ if (indexedHead && freshness.headCommit && indexedHead !== freshness.headCommit) {
193
+ return {
194
+ ...currentOutput,
195
+ content: `HEAD commit differs from indexed commit (${indexedHead} -> ${freshness.headCommit})`,
196
+ };
197
+ }
198
+ }
199
+ catch {
200
+ // ignore and keep status output stable
201
+ }
202
+ return currentOutput;
203
+ }
204
+ function enrichStatusOutput(root, output) {
205
+ if (output.command !== "status") {
206
+ return output;
207
+ }
208
+ const freshness = (0, frg_freshness_js_1.getFrgFreshnessSnapshot)(root, output.status);
209
+ return {
210
+ ...output,
211
+ status: output.status
212
+ ? {
213
+ ...output.status,
214
+ head_commit: freshness.headCommit,
215
+ head_tree: freshness.headTree,
216
+ tree_match: freshness.headTree && output.status.tree_hash
217
+ ? freshness.headTree === output.status.tree_hash
218
+ : undefined,
219
+ dirty_tracked_count: freshness.dirtyTrackedCount,
220
+ dirty_untracked_count: freshness.dirtyUntrackedCount,
221
+ session_pending_count: freshness.sessionPendingCount,
222
+ session_pending_bytes: freshness.sessionPendingBytes,
223
+ background_flush_scheduled: freshness.flush.scheduled,
224
+ flush_in_flight: freshness.flush.inFlight,
225
+ last_flush_at: freshness.flush.lastFlushAt,
226
+ last_flush_error: freshness.flush.lastError,
227
+ freshness_state: freshness.freshnessState,
228
+ }
229
+ : output.status,
230
+ };
231
+ }
232
+ function messageFor(output, input) {
233
+ if (output.command === "search") {
234
+ if (output.mode === "quiet") {
235
+ return output.matched
236
+ ? `Match found for ${input.pattern}`
237
+ : `No matches found for ${input.pattern}`;
238
+ }
239
+ if (output.mode === "files") {
240
+ return `Found ${(output.files ?? []).length} files for ${input.pattern}`;
241
+ }
242
+ if (output.mode === "counts") {
243
+ return `Counted matches in ${(output.counts ?? []).length} files for ${input.pattern}`;
244
+ }
245
+ return `Found ${(output.matches ?? []).length} matches for ${input.pattern}`;
246
+ }
247
+ if (output.command === "replace") {
248
+ return input.write
249
+ ? `Applied ${output.replacements ?? 0} replacements in ${output.files_changed ?? 0} files`
250
+ : `Previewed ${output.replacements ?? 0} replacements in ${output.files_changed ?? 0} files`;
251
+ }
252
+ if (output.command === "init") {
253
+ return output.hook_installed
254
+ ? `Initialized frg for ${output.path} and installed git hook`
255
+ : `Initialized frg for ${output.path}`;
256
+ }
257
+ if (output.command === "completions") {
258
+ return `Generated ${output.shell ?? input.shell ?? "shell"} completions for frg`;
259
+ }
260
+ if (output.command === "man") {
261
+ return "Generated frg man page content";
262
+ }
263
+ if (output.command === "upgrade") {
264
+ return output.content ?? "Provided frg upgrade metadata";
265
+ }
266
+ return `frg ${output.command} completed for ${output.path}`;
267
+ }
268
+ async function executeFrg(input, ctx) {
269
+ try {
270
+ const args = input;
271
+ const root = resolveSearchRoot(args.path, ctx);
272
+ assertAllowedPath(root, ctx);
273
+ if (args.command === "watch") {
274
+ return executeFrgWatch(args, ctx, root);
275
+ }
276
+ (0, frg_freshness_js_1.ensureFrgRepoStateLoaded)(root);
277
+ (0, frg_freshness_js_1.reconcileGitDirtyMutations)(root);
278
+ if (args.command === "search") {
279
+ (0, frg_freshness_js_1.maybeBuildFrgIndexForRepo)(root);
280
+ // Detect HEAD tree change (e.g., after a commit or branch switch).
281
+ // Without this, the index stays on the old tree until `frg status` is
282
+ // explicitly called. This is the same gap that aria-search had —
283
+ // the index was "ready" because .frg/ exists, but stale because
284
+ // the tree changed. Run incremental update to pick up the new tree.
285
+ try {
286
+ const statusOutput = (0, fastripgrep_1.frg)({ command: "status", path: root });
287
+ if (statusOutput.status?.tree_hash && statusOutput.status?.commit_hash) {
288
+ const snapshot = (0, frg_freshness_js_1.getFrgFreshnessSnapshot)(root, statusOutput.status);
289
+ if (snapshot.headTree &&
290
+ statusOutput.status.tree_hash !== snapshot.headTree &&
291
+ snapshot.sessionPendingCount === 0 &&
292
+ snapshot.dirtyTrackedCount === 0 &&
293
+ snapshot.dirtyUntrackedCount === 0) {
294
+ // Clean working tree but HEAD moved — incremental update
295
+ (0, fastripgrep_1.frg)({ command: "update", path: root });
296
+ (0, frg_freshness_js_1.clearPendingFrgMutations)(root);
297
+ }
298
+ }
299
+ }
300
+ catch {
301
+ // Best effort — search will still work with session overlay
302
+ }
303
+ const pending = (0, frg_freshness_js_1.getPendingFrgMutations)(root);
304
+ if (pending.length > 0) {
305
+ if (!args.noIndex) {
306
+ if ((0, frg_freshness_js_1.shouldForceSynchronousFrgFlush)(root)) {
307
+ (0, frg_freshness_js_1.flushPendingFrgMutations)(root);
308
+ }
309
+ else {
310
+ (0, frg_freshness_js_1.scheduleBackgroundFrgFlush)(root);
311
+ }
312
+ }
313
+ }
314
+ }
315
+ const nativeInput = toNativeInput(args, root);
316
+ if (args.command === "search") {
317
+ const sessionOverlay = getNativeSessionOverlay(root);
318
+ nativeInput.sessionWrites = sessionOverlay.sessionWrites;
319
+ nativeInput.sessionDeletes = sessionOverlay.sessionDeletes;
320
+ }
321
+ let output = (0, fastripgrep_1.frg)(nativeInput);
322
+ if (args.command === "status") {
323
+ output = maybeReindexOnHeadChange(root, output);
324
+ output = enrichStatusOutput(root, output);
325
+ if (output.content?.includes("triggered incremental update")) {
326
+ (0, frg_freshness_js_1.clearPendingFrgMutations)(root);
327
+ }
328
+ }
329
+ return (0, utils_js_1.success)(messageFor(output, args), output);
330
+ }
331
+ catch (error) {
332
+ return (0, utils_js_1.fail)(`frg failed: ${(0, utils_js_1.getErrorMessage)(error)}`);
333
+ }
334
+ }
335
+ //# sourceMappingURL=frg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frg.js","sourceRoot":"","sources":["../../src/executors/frg.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@
5
5
  */
6
6
  export { executeReadFile, executeWriteFile, executeEditFile, executeLs, executeGlob, executeGrep, } from "./filesystem.js";
7
7
  export type { ReadFileInput, WriteFileInput, EditFileInput, ListDirInput, ListDirEntry, ListDirOutput, LsInput, LsEntry, GlobInput, GrepInput, GrepMatch, } from "./filesystem.js";
8
+ export { executeFrg } from "./frg.js";
9
+ export { recordFrgMutation, getPendingFrgMutations, getPendingFrgMutationBytes, clearPendingFrgMutations, flushPendingFrgMutations, maybeBuildFrgIndexForRepo, ensureFrgRepoStateLoaded, reconcileGitDirtyMutations, getGitDirtyStatus, getFrgFlushStatus, getFrgFreshnessSnapshot, scheduleBackgroundFrgFlush, shouldForceSynchronousFrgFlush, DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS, BACKGROUND_FRG_MAX_FLUSH_DELAY_MS, MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH, MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH, MAX_CACHED_MUTATION_CONTENT_BYTES, } from "./frg-freshness.js";
10
+ export type { FrgInput } from "./frg.js";
11
+ export type { FrgMutationOperation, FrgMutationRecord, FrgGitDirtyStatus, FrgFlushStatus, FrgFreshnessSnapshot, } from "./frg-freshness.js";
8
12
  export { executeApplyPatch } from "./apply-patch.js";
9
13
  export type { ApplyPatchInput } from "./apply-patch.js";
10
14
  export { executeBash, executeExec, executeSpawn, executeKill, executeListProcesses, executeWaitProcess, executeWriteStdin, sanitizeGitEnv, sanitizeEnv, } from "./shell.js";
@@ -35,4 +39,6 @@ export { executeRestart } from "./restart.js";
35
39
  export type { RestartInput } from "./restart.js";
36
40
  export { executeDeploy } from "./deploy.js";
37
41
  export type { DeployInput, DeployOutput } from "./deploy.js";
42
+ export { executeRg, executeUg, executeProbe, executeSg, executeCbm, executeLsp, executeSerena, executeFff, } from "./code-intelligence.js";
43
+ export type { RgInput, UgInput, ProbeInput, SgInput, CbmInput, LspInput, SerenaInput, FffInput, RgMatch, } from "./code-intelligence.js";
38
44
  export { success, fail, getErrorMessage } from "./utils.js";
@@ -5,8 +5,8 @@
5
5
  * Executor functions that implement actual tool functionality.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.executeCreateSkill = exports.executeCreateTool = exports.executeLearnLegacy = exports.executeLearnSkill = exports.executeLearnTool = exports.executeSearchKnowledge = exports.resetAskUserCounter = exports.executeQuestList = exports.executeQuestUpdate = exports.executeAskUser = exports.SpawnedProcessRegistry = exports.executeRetireArion = exports.executeWakeArion = exports.executeRestArion = exports.executeHatchArion = exports.PTYSessionStore = exports.runInPTY = exports.createPTYSession = exports.PTYError = exports.PTYTimeoutError = exports.PTYSession = exports.executeBrowse = exports.executeWebFetch = exports.executeWebSearch = exports.getSelfContext = exports.getSessionTranscript = exports.getConversationContext = exports.executeReflect = exports.executeDiscover = exports.executeForget = exports.executeRecall = exports.executeRemember = exports.SHELL_BLOCKED_PATTERNS = exports.classifyCommand = exports.sanitizeEnv = exports.sanitizeGitEnv = exports.executeWriteStdin = exports.executeWaitProcess = exports.executeListProcesses = exports.executeKill = exports.executeSpawn = exports.executeExec = exports.executeBash = exports.executeApplyPatch = exports.executeGrep = exports.executeGlob = exports.executeLs = exports.executeEditFile = exports.executeWriteFile = exports.executeReadFile = void 0;
9
- exports.getErrorMessage = exports.fail = exports.success = exports.executeDeploy = exports.executeRestart = exports.executeSelfDiagnose = exports.executeSessionHistory = exports.dedupSearchResults = exports.SOURCE_PRIORITY = exports.fetchJson = exports.settleWithDeadline = exports.getOSContext = exports.searchWeb = exports.searchSkillRegistries = exports.searchLocalSkills = exports.searchMemoria = exports.executeUseSkill = void 0;
8
+ exports.PTYTimeoutError = exports.PTYSession = exports.executeBrowse = exports.executeWebFetch = exports.executeWebSearch = exports.getSelfContext = exports.getSessionTranscript = exports.getConversationContext = exports.executeReflect = exports.executeDiscover = exports.executeForget = exports.executeRecall = exports.executeRemember = exports.SHELL_BLOCKED_PATTERNS = exports.classifyCommand = exports.sanitizeEnv = exports.sanitizeGitEnv = exports.executeWriteStdin = exports.executeWaitProcess = exports.executeListProcesses = exports.executeKill = exports.executeSpawn = exports.executeExec = exports.executeBash = exports.executeApplyPatch = exports.MAX_CACHED_MUTATION_CONTENT_BYTES = exports.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH = exports.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH = exports.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS = exports.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS = exports.shouldForceSynchronousFrgFlush = exports.scheduleBackgroundFrgFlush = exports.getFrgFreshnessSnapshot = exports.getFrgFlushStatus = exports.getGitDirtyStatus = exports.reconcileGitDirtyMutations = exports.ensureFrgRepoStateLoaded = exports.maybeBuildFrgIndexForRepo = exports.flushPendingFrgMutations = exports.clearPendingFrgMutations = exports.getPendingFrgMutationBytes = exports.getPendingFrgMutations = exports.recordFrgMutation = exports.executeFrg = exports.executeGrep = exports.executeGlob = exports.executeLs = exports.executeEditFile = exports.executeWriteFile = exports.executeReadFile = void 0;
9
+ exports.getErrorMessage = exports.fail = exports.success = exports.executeFff = exports.executeSerena = exports.executeLsp = exports.executeCbm = exports.executeSg = exports.executeProbe = exports.executeUg = exports.executeRg = exports.executeDeploy = exports.executeRestart = exports.executeSelfDiagnose = exports.executeSessionHistory = exports.dedupSearchResults = exports.SOURCE_PRIORITY = exports.fetchJson = exports.settleWithDeadline = exports.getOSContext = exports.searchWeb = exports.searchSkillRegistries = exports.searchLocalSkills = exports.searchMemoria = exports.executeUseSkill = exports.executeCreateSkill = exports.executeCreateTool = exports.executeLearnLegacy = exports.executeLearnSkill = exports.executeLearnTool = exports.executeSearchKnowledge = exports.resetAskUserCounter = exports.executeQuestList = exports.executeQuestUpdate = exports.executeAskUser = exports.SpawnedProcessRegistry = exports.executeRetireArion = exports.executeWakeArion = exports.executeRestArion = exports.executeHatchArion = exports.PTYSessionStore = exports.runInPTY = exports.createPTYSession = exports.PTYError = void 0;
10
10
  // Filesystem executors
11
11
  var filesystem_js_1 = require("./filesystem.js");
12
12
  Object.defineProperty(exports, "executeReadFile", { enumerable: true, get: function () { return filesystem_js_1.executeReadFile; } });
@@ -15,6 +15,28 @@ Object.defineProperty(exports, "executeEditFile", { enumerable: true, get: funct
15
15
  Object.defineProperty(exports, "executeLs", { enumerable: true, get: function () { return filesystem_js_1.executeLs; } });
16
16
  Object.defineProperty(exports, "executeGlob", { enumerable: true, get: function () { return filesystem_js_1.executeGlob; } });
17
17
  Object.defineProperty(exports, "executeGrep", { enumerable: true, get: function () { return filesystem_js_1.executeGrep; } });
18
+ // fastripgrep executors
19
+ var frg_js_1 = require("./frg.js");
20
+ Object.defineProperty(exports, "executeFrg", { enumerable: true, get: function () { return frg_js_1.executeFrg; } });
21
+ var frg_freshness_js_1 = require("./frg-freshness.js");
22
+ Object.defineProperty(exports, "recordFrgMutation", { enumerable: true, get: function () { return frg_freshness_js_1.recordFrgMutation; } });
23
+ Object.defineProperty(exports, "getPendingFrgMutations", { enumerable: true, get: function () { return frg_freshness_js_1.getPendingFrgMutations; } });
24
+ Object.defineProperty(exports, "getPendingFrgMutationBytes", { enumerable: true, get: function () { return frg_freshness_js_1.getPendingFrgMutationBytes; } });
25
+ Object.defineProperty(exports, "clearPendingFrgMutations", { enumerable: true, get: function () { return frg_freshness_js_1.clearPendingFrgMutations; } });
26
+ Object.defineProperty(exports, "flushPendingFrgMutations", { enumerable: true, get: function () { return frg_freshness_js_1.flushPendingFrgMutations; } });
27
+ Object.defineProperty(exports, "maybeBuildFrgIndexForRepo", { enumerable: true, get: function () { return frg_freshness_js_1.maybeBuildFrgIndexForRepo; } });
28
+ Object.defineProperty(exports, "ensureFrgRepoStateLoaded", { enumerable: true, get: function () { return frg_freshness_js_1.ensureFrgRepoStateLoaded; } });
29
+ Object.defineProperty(exports, "reconcileGitDirtyMutations", { enumerable: true, get: function () { return frg_freshness_js_1.reconcileGitDirtyMutations; } });
30
+ Object.defineProperty(exports, "getGitDirtyStatus", { enumerable: true, get: function () { return frg_freshness_js_1.getGitDirtyStatus; } });
31
+ Object.defineProperty(exports, "getFrgFlushStatus", { enumerable: true, get: function () { return frg_freshness_js_1.getFrgFlushStatus; } });
32
+ Object.defineProperty(exports, "getFrgFreshnessSnapshot", { enumerable: true, get: function () { return frg_freshness_js_1.getFrgFreshnessSnapshot; } });
33
+ Object.defineProperty(exports, "scheduleBackgroundFrgFlush", { enumerable: true, get: function () { return frg_freshness_js_1.scheduleBackgroundFrgFlush; } });
34
+ Object.defineProperty(exports, "shouldForceSynchronousFrgFlush", { enumerable: true, get: function () { return frg_freshness_js_1.shouldForceSynchronousFrgFlush; } });
35
+ Object.defineProperty(exports, "DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS", { enumerable: true, get: function () { return frg_freshness_js_1.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS; } });
36
+ Object.defineProperty(exports, "BACKGROUND_FRG_MAX_FLUSH_DELAY_MS", { enumerable: true, get: function () { return frg_freshness_js_1.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS; } });
37
+ Object.defineProperty(exports, "MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH", { enumerable: true, get: function () { return frg_freshness_js_1.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH; } });
38
+ Object.defineProperty(exports, "MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH", { enumerable: true, get: function () { return frg_freshness_js_1.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH; } });
39
+ Object.defineProperty(exports, "MAX_CACHED_MUTATION_CONTENT_BYTES", { enumerable: true, get: function () { return frg_freshness_js_1.MAX_CACHED_MUTATION_CONTENT_BYTES; } });
18
40
  // Apply Patch executor
19
41
  var apply_patch_js_1 = require("./apply-patch.js");
20
42
  Object.defineProperty(exports, "executeApplyPatch", { enumerable: true, get: function () { return apply_patch_js_1.executeApplyPatch; } });
@@ -104,6 +126,16 @@ Object.defineProperty(exports, "executeRestart", { enumerable: true, get: functi
104
126
  // Deploy executor
105
127
  var deploy_js_1 = require("./deploy.js");
106
128
  Object.defineProperty(exports, "executeDeploy", { enumerable: true, get: function () { return deploy_js_1.executeDeploy; } });
129
+ // Code Intelligence executors
130
+ var code_intelligence_js_1 = require("./code-intelligence.js");
131
+ Object.defineProperty(exports, "executeRg", { enumerable: true, get: function () { return code_intelligence_js_1.executeRg; } });
132
+ Object.defineProperty(exports, "executeUg", { enumerable: true, get: function () { return code_intelligence_js_1.executeUg; } });
133
+ Object.defineProperty(exports, "executeProbe", { enumerable: true, get: function () { return code_intelligence_js_1.executeProbe; } });
134
+ Object.defineProperty(exports, "executeSg", { enumerable: true, get: function () { return code_intelligence_js_1.executeSg; } });
135
+ Object.defineProperty(exports, "executeCbm", { enumerable: true, get: function () { return code_intelligence_js_1.executeCbm; } });
136
+ Object.defineProperty(exports, "executeLsp", { enumerable: true, get: function () { return code_intelligence_js_1.executeLsp; } });
137
+ Object.defineProperty(exports, "executeSerena", { enumerable: true, get: function () { return code_intelligence_js_1.executeSerena; } });
138
+ Object.defineProperty(exports, "executeFff", { enumerable: true, get: function () { return code_intelligence_js_1.executeFff; } });
107
139
  // Shared executor utilities
108
140
  var utils_js_1 = require("./utils.js");
109
141
  Object.defineProperty(exports, "success", { enumerable: true, get: function () { return utils_js_1.success; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,uBAAuB;AACvB,iDAOyB;AANvB,gHAAA,eAAe,OAAA;AACf,iHAAA,gBAAgB,OAAA;AAChB,gHAAA,eAAe,OAAA;AACf,0GAAA,SAAS,OAAA;AACT,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AAkBb,uBAAuB;AACvB,mDAAqD;AAA5C,mHAAA,iBAAiB,OAAA;AAK1B,kBAAkB;AAClB,uCAUoB;AATlB,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,wGAAA,YAAY,OAAA;AACZ,uGAAA,WAAW,OAAA;AACX,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AAEb,qDAAgG;AAAvF,kHAAA,eAAe,OAAA;AAAE,yHAAA,gBAAgB,OAA0B;AAoBpE,mBAAmB;AACnB,yCASqB;AARnB,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA;AACpB,2GAAA,cAAc,OAAA;AAkBhB,gBAAgB;AAChB,mCAA4E;AAAnE,0GAAA,gBAAgB,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAYzD,gBAAgB;AAChB,mCAA6F;AAApF,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAK1E,oBAAoB;AACpB,+DAAyD;AAAhD,uHAAA,eAAe,OAAA;AAExB,kBAAkB;AAClB,uCAKoB;AAJlB,6GAAA,iBAAiB,OAAA;AACjB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAYpB,mBAAmB;AACnB,6DAA+D;AAAtD,6HAAA,sBAAsB,OAAA;AAQ/B,iBAAiB;AACjB,qCAKmB;AAJjB,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,2GAAA,gBAAgB,OAAA;AAChB,8GAAA,mBAAmB,OAAA;AAGrB,qCAAqC;AACrC,uDAgB4B;AAf1B,0HAAA,sBAAsB,OAAA;AACtB,oHAAA,gBAAgB,OAAA;AAChB,qHAAA,iBAAiB,OAAA;AACjB,sHAAA,kBAAkB,OAAA;AAClB,qHAAA,iBAAiB,OAAA;AACjB,sHAAA,kBAAkB,OAAA;AAClB,mHAAA,eAAe,OAAA;AACf,qEAAqE;AACrE,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,yHAAA,qBAAqB,OAAA;AACrB,6GAAA,SAAS,OAAA;AACT,gHAAA,YAAY,OAAA;AACZ,sHAAA,kBAAkB,OAAA;AAClB,6GAAA,SAAS,OAAA;AAyBX,qDAAwE;AAA/D,kHAAA,eAAe,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAE5C,4BAA4B;AAC5B,2DAA6D;AAApD,2HAAA,qBAAqB,OAAA;AAY9B,yBAAyB;AACzB,uDAAyD;AAAhD,uHAAA,mBAAmB,OAAA;AAG5B,mBAAmB;AACnB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AAGvB,kBAAkB;AAClB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAGtB,4BAA4B;AAC5B,uCAA4D;AAAnD,mGAAA,OAAO,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Native LSP Client — uses vscode-jsonrpc for proper message framing.
3
+ *
4
+ * Same approach as Claude Code: createMessageConnection over stdio.
5
+ * Same configuration as Claude Code's LSP plugins.
6
+ * Supports: TypeScript, Python, Go, Rust, C/C++, Swift, Java, Kotlin, Lua, PHP, Ruby, C#.
7
+ */
8
+ export interface LspServerConfig {
9
+ command: string;
10
+ args: string[];
11
+ extensionToLanguage: Record<string, string>;
12
+ startupTimeout: number;
13
+ }
14
+ export declare const LSP_SERVERS: Record<string, LspServerConfig>;
15
+ export declare function getServerForFile(filePath: string): string | undefined;
16
+ export declare function getLanguageId(filePath: string): string | undefined;
17
+ export declare class LspServer {
18
+ private process;
19
+ private connection;
20
+ private initialized;
21
+ private openFiles;
22
+ private diagnosticsReceived;
23
+ readonly serverName: string;
24
+ readonly config: LspServerConfig;
25
+ private rootUri;
26
+ constructor(serverName: string, rootPath: string);
27
+ start(): Promise<void>;
28
+ stop(): Promise<void>;
29
+ openFile(filePath: string): Promise<void>;
30
+ definition(filePath: string, line: number, character: number): Promise<unknown>;
31
+ references(filePath: string, line: number, character: number): Promise<unknown>;
32
+ hover(filePath: string, line: number, character: number): Promise<unknown>;
33
+ documentSymbols(filePath: string): Promise<unknown>;
34
+ rename(filePath: string, line: number, character: number, newName: string): Promise<unknown>;
35
+ private ensureReady;
36
+ }
37
+ export declare function getOrCreateServer(serverName: string, rootPath: string): LspServer;
38
+ export declare function shutdownAll(): Promise<void>;