@nanonets/graft 0.23.0 → 0.23.1
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.
- package/dist/claude/format.d.ts +21 -0
- package/dist/claude/format.d.ts.map +1 -1
- package/dist/claude/format.js +45 -0
- package/dist/claude/format.js.map +1 -1
- package/dist/claude/hooks.d.ts +17 -3
- package/dist/claude/hooks.d.ts.map +1 -1
- package/dist/claude/hooks.js +74 -8
- package/dist/claude/hooks.js.map +1 -1
- package/dist/claude/shim-template.d.ts.map +1 -1
- package/dist/claude/shim-template.js +7 -2
- package/dist/claude/shim-template.js.map +1 -1
- package/dist/cli.js +18 -5
- package/dist/cli.js.map +1 -1
- package/dist/init-guard.d.ts +11 -0
- package/dist/init-guard.d.ts.map +1 -0
- package/dist/init-guard.js +21 -0
- package/dist/init-guard.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +2 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/notes/git-facts.d.ts +5 -1
- package/dist/notes/git-facts.d.ts.map +1 -1
- package/dist/notes/git-facts.js +6 -2
- package/dist/notes/git-facts.js.map +1 -1
- package/dist/notes/notes.d.ts +9 -1
- package/dist/notes/notes.d.ts.map +1 -1
- package/dist/notes/notes.js +38 -12
- package/dist/notes/notes.js.map +1 -1
- package/dist/notes/session-cost.d.ts +2 -0
- package/dist/notes/session-cost.d.ts.map +1 -1
- package/dist/notes/session-cost.js +8 -3
- package/dist/notes/session-cost.js.map +1 -1
- package/dist/search/grep-cli.d.ts +5 -2
- package/dist/search/grep-cli.d.ts.map +1 -1
- package/dist/search/grep-cli.js +11 -4
- package/dist/search/grep-cli.js.map +1 -1
- package/dist/search/ignored-code.d.ts +9 -0
- package/dist/search/ignored-code.d.ts.map +1 -0
- package/dist/search/ignored-code.js +73 -0
- package/dist/search/ignored-code.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code the map leaves out because git ignores it, named when a search comes up
|
|
3
|
+
* empty. A migration repo kept the old app's code in git-ignored dumps (they
|
|
4
|
+
* held credentials); `trail grep` found nothing, said all indexed code was
|
|
5
|
+
* searched, and the agent's own grep then found the file. After that the agent
|
|
6
|
+
* stopped trusting trail for the session.
|
|
7
|
+
*/
|
|
8
|
+
import { spawnSync } from "node:child_process";
|
|
9
|
+
import { readdirSync } from "node:fs";
|
|
10
|
+
import { extname, join } from "node:path";
|
|
11
|
+
import { supportedExtensions } from "../graph/source-files.js";
|
|
12
|
+
import { shouldSkipDir } from "../ingest/fs.js";
|
|
13
|
+
/** Most entries one ignored folder's walk looks at before giving up on it. */
|
|
14
|
+
const WALK_CAP = 2000;
|
|
15
|
+
function holdsCode(dir, exts) {
|
|
16
|
+
const stack = [dir];
|
|
17
|
+
let seen = 0;
|
|
18
|
+
while (stack.length && seen < WALK_CAP) {
|
|
19
|
+
const at = stack.pop();
|
|
20
|
+
let entries;
|
|
21
|
+
try {
|
|
22
|
+
entries = readdirSync(at, { withFileTypes: true });
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
for (const e of entries) {
|
|
28
|
+
if (++seen > WALK_CAP)
|
|
29
|
+
break;
|
|
30
|
+
if (e.isDirectory()) {
|
|
31
|
+
if (!shouldSkipDir(e.name))
|
|
32
|
+
stack.push(join(at, e.name));
|
|
33
|
+
}
|
|
34
|
+
else if (exts.has(extname(e.name).toLowerCase()))
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Git-ignored folders and files under `root` holding code the map would
|
|
42
|
+
* otherwise index, repo-relative, folders ending in `/`. Dependency, build and
|
|
43
|
+
* dot folders are left out. Empty outside git, or when git can't say.
|
|
44
|
+
*/
|
|
45
|
+
export function ignoredCode(root, limit = 20) {
|
|
46
|
+
const r = spawnSync("git", ["ls-files", "--others", "--ignored", "--exclude-standard", "--directory", "--no-empty-directory"], {
|
|
47
|
+
cwd: root,
|
|
48
|
+
encoding: "utf8",
|
|
49
|
+
timeout: 3000,
|
|
50
|
+
});
|
|
51
|
+
if (r.status !== 0 || typeof r.stdout !== "string")
|
|
52
|
+
return [];
|
|
53
|
+
const exts = new Set(supportedExtensions());
|
|
54
|
+
const out = [];
|
|
55
|
+
for (const entry of r.stdout.split("\n")) {
|
|
56
|
+
if (!entry)
|
|
57
|
+
continue;
|
|
58
|
+
if (entry.replace(/\/$/, "").split("/").some((p) => shouldSkipDir(p)))
|
|
59
|
+
continue;
|
|
60
|
+
const code = entry.endsWith("/") ? holdsCode(join(root, entry), exts) : exts.has(extname(entry).toLowerCase());
|
|
61
|
+
if (code)
|
|
62
|
+
out.push(entry);
|
|
63
|
+
if (out.length >= limit)
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
/** `a/, b/ and 3 more`. */
|
|
69
|
+
export function ignoredLabel(paths, shown = 3) {
|
|
70
|
+
const head = paths.slice(0, shown).join(", ");
|
|
71
|
+
return paths.length > shown ? `${head} and ${paths.length - shown} more` : head;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=ignored-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignored-code.js","sourceRoot":"","sources":["../../src/search/ignored-code.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED