kiri-mcp-server 0.16.0 → 0.17.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.
- package/README.md +101 -27
- package/dist/package.json +1 -1
- package/dist/src/client/model-cli.d.ts +12 -0
- package/dist/src/client/model-cli.d.ts.map +1 -0
- package/dist/src/client/model-cli.js +247 -0
- package/dist/src/client/model-cli.js.map +1 -0
- package/dist/src/client/proxy.js +0 -0
- package/dist/src/daemon/daemon.js +0 -0
- package/dist/src/indexer/graph-metrics.d.ts.map +1 -1
- package/dist/src/indexer/graph-metrics.js +16 -4
- package/dist/src/indexer/graph-metrics.js.map +1 -1
- package/dist/src/server/boost-profiles.d.ts +1 -1
- package/dist/src/server/boost-profiles.d.ts.map +1 -1
- package/dist/src/server/boost-profiles.js +22 -0
- package/dist/src/server/boost-profiles.js.map +1 -1
- package/dist/src/server/context.d.ts +2 -0
- package/dist/src/server/context.d.ts.map +1 -1
- package/dist/src/server/context.js.map +1 -1
- package/dist/src/server/handlers.d.ts.map +1 -1
- package/dist/src/server/handlers.js +25 -4
- package/dist/src/server/handlers.js.map +1 -1
- package/dist/src/server/main.js +0 -0
- package/dist/src/server/rpc.js +4 -4
- package/dist/src/server/rpc.js.map +1 -1
- package/dist/src/shared/utils/global-dirs.d.ts +64 -0
- package/dist/src/shared/utils/global-dirs.d.ts.map +1 -0
- package/dist/src/shared/utils/global-dirs.js +134 -0
- package/dist/src/shared/utils/global-dirs.js.map +1 -0
- package/dist/src/vss/config.d.ts +66 -0
- package/dist/src/vss/config.d.ts.map +1 -0
- package/dist/src/vss/config.js +233 -0
- package/dist/src/vss/config.js.map +1 -0
- package/dist/src/vss/index.d.ts +9 -0
- package/dist/src/vss/index.d.ts.map +1 -0
- package/dist/src/vss/index.js +9 -0
- package/dist/src/vss/index.js.map +1 -0
- package/dist/src/vss/model-downloader.d.ts +101 -0
- package/dist/src/vss/model-downloader.d.ts.map +1 -0
- package/dist/src/vss/model-downloader.js +320 -0
- package/dist/src/vss/model-downloader.js.map +1 -0
- package/dist/src/vss/provider.d.ts +132 -0
- package/dist/src/vss/provider.d.ts.map +1 -0
- package/dist/src/vss/provider.js +254 -0
- package/dist/src/vss/provider.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/cli.js +0 -68
- package/dist/client/cli.js.map +0 -1
- package/dist/client/index.js +0 -5
- package/dist/client/index.js.map +0 -1
- package/dist/eval/metrics.js +0 -47
- package/dist/eval/metrics.js.map +0 -1
- package/dist/indexer/cli.js +0 -362
- package/dist/indexer/cli.js.map +0 -1
- package/dist/indexer/codeintel.js +0 -182
- package/dist/indexer/codeintel.js.map +0 -1
- package/dist/indexer/git.js +0 -30
- package/dist/indexer/git.js.map +0 -1
- package/dist/indexer/language.js +0 -34
- package/dist/indexer/language.js.map +0 -1
- package/dist/indexer/pipeline/filters/denylist.js +0 -71
- package/dist/indexer/pipeline/filters/denylist.js.map +0 -1
- package/dist/indexer/schema.js +0 -101
- package/dist/indexer/schema.js.map +0 -1
- package/dist/server/bootstrap.js +0 -19
- package/dist/server/bootstrap.js.map +0 -1
- package/dist/server/context.js +0 -1
- package/dist/server/context.js.map +0 -1
- package/dist/server/fallbacks/degradeController.js +0 -69
- package/dist/server/fallbacks/degradeController.js.map +0 -1
- package/dist/server/handlers.js +0 -1268
- package/dist/server/handlers.js.map +0 -1
- package/dist/server/main.js +0 -151
- package/dist/server/main.js.map +0 -1
- package/dist/server/observability/metrics.js +0 -56
- package/dist/server/observability/metrics.js.map +0 -1
- package/dist/server/observability/tracing.js +0 -58
- package/dist/server/observability/tracing.js.map +0 -1
- package/dist/server/rpc.js +0 -477
- package/dist/server/rpc.js.map +0 -1
- package/dist/server/runtime.js +0 -47
- package/dist/server/runtime.js.map +0 -1
- package/dist/server/scoring.js +0 -116
- package/dist/server/scoring.js.map +0 -1
- package/dist/server/stdio.js +0 -76
- package/dist/server/stdio.js.map +0 -1
- package/dist/shared/duckdb.js +0 -119
- package/dist/shared/duckdb.js.map +0 -1
- package/dist/shared/embedding.js +0 -98
- package/dist/shared/embedding.js.map +0 -1
- package/dist/shared/index.js +0 -9
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/security/config.js +0 -64
- package/dist/shared/security/config.js.map +0 -1
- package/dist/shared/security/masker.js +0 -56
- package/dist/shared/security/masker.js.map +0 -1
- package/dist/shared/tokenizer.js +0 -4
- package/dist/shared/tokenizer.js.map +0 -1
- package/dist/shared/utils/simpleYaml.js +0 -89
- package/dist/shared/utils/simpleYaml.js.map +0 -1
- package/dist/src/server/rrf.d.ts +0 -86
- package/dist/src/server/rrf.d.ts.map +0 -1
- package/dist/src/server/rrf.js +0 -108
- package/dist/src/server/rrf.js.map +0 -1
- package/dist/src/shared/embedding/engine.d.ts +0 -38
- package/dist/src/shared/embedding/engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/engine.js +0 -6
- package/dist/src/shared/embedding/engine.js.map +0 -1
- package/dist/src/shared/embedding/lsh-engine.d.ts +0 -11
- package/dist/src/shared/embedding/lsh-engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/lsh-engine.js +0 -14
- package/dist/src/shared/embedding/lsh-engine.js.map +0 -1
- package/dist/src/shared/embedding/registry.d.ts +0 -25
- package/dist/src/shared/embedding/registry.d.ts.map +0 -1
- package/dist/src/shared/embedding/registry.js +0 -50
- package/dist/src/shared/embedding/registry.js.map +0 -1
- package/dist/src/shared/embedding/semantic-engine.d.ts +0 -14
- package/dist/src/shared/embedding/semantic-engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/semantic-engine.js +0 -50
- package/dist/src/shared/embedding/semantic-engine.js.map +0 -1
- package/dist/src/shared/models/model-manager.d.ts +0 -38
- package/dist/src/shared/models/model-manager.d.ts.map +0 -1
- package/dist/src/shared/models/model-manager.js +0 -116
- package/dist/src/shared/models/model-manager.js.map +0 -1
- package/dist/src/shared/models/model-manifest.d.ts +0 -22
- package/dist/src/shared/models/model-manifest.d.ts.map +0 -1
- package/dist/src/shared/models/model-manifest.js +0 -24
- package/dist/src/shared/models/model-manifest.js.map +0 -1
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { parseSimpleYaml } from "../../../shared/utils/simpleYaml.js";
|
|
4
|
-
/**
|
|
5
|
-
* Globパターンを正規表現に変換(ReDoS対策済み)
|
|
6
|
-
* @param pattern Globパターン文字列
|
|
7
|
-
* @returns コンパイル済み正規表現
|
|
8
|
-
* @throws パターンが長すぎる、または複雑すぎる場合
|
|
9
|
-
*/
|
|
10
|
-
function toRegex(pattern) {
|
|
11
|
-
// ReDoS対策: パターン長の制限
|
|
12
|
-
if (pattern.length > 500) {
|
|
13
|
-
throw new Error("Denylist pattern exceeds maximum length. Simplify the pattern.");
|
|
14
|
-
}
|
|
15
|
-
const normalized = pattern.endsWith("/") ? pattern.slice(0, -1) : pattern;
|
|
16
|
-
const escaped = normalized
|
|
17
|
-
.replace(/[.+^${}()|[\]\\]/g, "\\$&")
|
|
18
|
-
.replace(/\*\*/g, "::DOUBLESTAR::");
|
|
19
|
-
const withWildcards = escaped
|
|
20
|
-
.replace(/::DOUBLESTAR::/g, ".*")
|
|
21
|
-
.replace(/\*/g, "[^/]*")
|
|
22
|
-
.replace(/\?/g, ".");
|
|
23
|
-
const suffix = pattern.endsWith("/") ? "(?:/.*)?" : "";
|
|
24
|
-
// ReDoS対策: 最終パターンの複雑度チェック(ネストした量指定子)
|
|
25
|
-
const finalPattern = `^${withWildcards}${suffix}$`;
|
|
26
|
-
if (/(\*|\+|\{).*(\*|\+|\{).*(\*|\+|\{)/.test(finalPattern)) {
|
|
27
|
-
throw new Error("Denylist pattern is too complex. Use simpler glob patterns.");
|
|
28
|
-
}
|
|
29
|
-
return new RegExp(finalPattern);
|
|
30
|
-
}
|
|
31
|
-
function loadGitignore(repoRoot) {
|
|
32
|
-
try {
|
|
33
|
-
const raw = readFileSync(resolve(repoRoot, ".gitignore"), "utf8");
|
|
34
|
-
return raw
|
|
35
|
-
.split(/\r?\n/)
|
|
36
|
-
.map((line) => line.trim())
|
|
37
|
-
.filter((line) => line.length > 0 && !line.startsWith("#"));
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
return [];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export function loadDenylistConfig(configPath) {
|
|
44
|
-
const path = resolve(configPath ?? "config/denylist.yml");
|
|
45
|
-
const content = readFileSync(path, "utf8");
|
|
46
|
-
const parsed = parseSimpleYaml(content);
|
|
47
|
-
const patterns = Array.isArray(parsed.patterns)
|
|
48
|
-
? parsed.patterns.filter((value) => typeof value === "string")
|
|
49
|
-
: [];
|
|
50
|
-
if (patterns.length === 0) {
|
|
51
|
-
throw new Error("config/denylist.yml must contain patterns array");
|
|
52
|
-
}
|
|
53
|
-
return { patterns };
|
|
54
|
-
}
|
|
55
|
-
export function createDenylistFilter(repoRoot, configPath) {
|
|
56
|
-
const { patterns } = loadDenylistConfig(configPath);
|
|
57
|
-
const gitignorePatterns = loadGitignore(repoRoot);
|
|
58
|
-
const combined = Array.from(new Set([...patterns, ...gitignorePatterns]));
|
|
59
|
-
const regexList = combined.map(toRegex);
|
|
60
|
-
const diffEntries = gitignorePatterns.filter((pattern) => !patterns.includes(pattern));
|
|
61
|
-
return {
|
|
62
|
-
isDenied(path) {
|
|
63
|
-
const normalized = path.startsWith("/") ? path.slice(1) : path;
|
|
64
|
-
return regexList.some((regex) => regex.test(normalized));
|
|
65
|
-
},
|
|
66
|
-
diff() {
|
|
67
|
-
return diffEntries;
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=denylist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"denylist.js","sourceRoot":"","sources":["../../../../src/indexer/pipeline/filters/denylist.ts"],"names":[],"mappings":"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"}
|
package/dist/indexer/schema.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
export async function ensureBaseSchema(db) {
|
|
2
|
-
await db.run(`
|
|
3
|
-
CREATE SEQUENCE IF NOT EXISTS repo_id_seq START 1
|
|
4
|
-
`);
|
|
5
|
-
await db.run(`
|
|
6
|
-
CREATE TABLE IF NOT EXISTS repo (
|
|
7
|
-
id INTEGER PRIMARY KEY DEFAULT nextval('repo_id_seq'),
|
|
8
|
-
root TEXT NOT NULL UNIQUE,
|
|
9
|
-
default_branch TEXT,
|
|
10
|
-
indexed_at TIMESTAMP
|
|
11
|
-
)
|
|
12
|
-
`);
|
|
13
|
-
await db.run(`
|
|
14
|
-
CREATE TABLE IF NOT EXISTS blob (
|
|
15
|
-
hash TEXT PRIMARY KEY,
|
|
16
|
-
size_bytes INTEGER,
|
|
17
|
-
line_count INTEGER,
|
|
18
|
-
content TEXT
|
|
19
|
-
)
|
|
20
|
-
`);
|
|
21
|
-
await db.run(`
|
|
22
|
-
CREATE TABLE IF NOT EXISTS tree (
|
|
23
|
-
repo_id INTEGER,
|
|
24
|
-
commit_hash TEXT,
|
|
25
|
-
path TEXT,
|
|
26
|
-
blob_hash TEXT,
|
|
27
|
-
ext TEXT,
|
|
28
|
-
lang TEXT,
|
|
29
|
-
is_binary BOOLEAN,
|
|
30
|
-
mtime TIMESTAMP,
|
|
31
|
-
PRIMARY KEY (repo_id, commit_hash, path)
|
|
32
|
-
)
|
|
33
|
-
`);
|
|
34
|
-
await db.run(`
|
|
35
|
-
CREATE TABLE IF NOT EXISTS file (
|
|
36
|
-
repo_id INTEGER,
|
|
37
|
-
path TEXT,
|
|
38
|
-
blob_hash TEXT,
|
|
39
|
-
ext TEXT,
|
|
40
|
-
lang TEXT,
|
|
41
|
-
is_binary BOOLEAN,
|
|
42
|
-
mtime TIMESTAMP,
|
|
43
|
-
PRIMARY KEY (repo_id, path)
|
|
44
|
-
)
|
|
45
|
-
`);
|
|
46
|
-
await db.run(`
|
|
47
|
-
CREATE INDEX IF NOT EXISTS idx_file_lang ON file(repo_id, lang)
|
|
48
|
-
`);
|
|
49
|
-
await db.run(`
|
|
50
|
-
CREATE TABLE IF NOT EXISTS symbol (
|
|
51
|
-
repo_id INTEGER,
|
|
52
|
-
path TEXT,
|
|
53
|
-
symbol_id BIGINT,
|
|
54
|
-
name TEXT,
|
|
55
|
-
kind TEXT,
|
|
56
|
-
range_start_line INTEGER,
|
|
57
|
-
range_end_line INTEGER,
|
|
58
|
-
signature TEXT,
|
|
59
|
-
doc TEXT,
|
|
60
|
-
PRIMARY KEY (repo_id, path, symbol_id)
|
|
61
|
-
)
|
|
62
|
-
`);
|
|
63
|
-
await db.run(`
|
|
64
|
-
CREATE INDEX IF NOT EXISTS idx_symbol_name ON symbol(repo_id, name)
|
|
65
|
-
`);
|
|
66
|
-
await db.run(`
|
|
67
|
-
CREATE TABLE IF NOT EXISTS snippet (
|
|
68
|
-
repo_id INTEGER,
|
|
69
|
-
path TEXT,
|
|
70
|
-
snippet_id BIGINT,
|
|
71
|
-
start_line INTEGER,
|
|
72
|
-
end_line INTEGER,
|
|
73
|
-
symbol_id BIGINT NULL,
|
|
74
|
-
PRIMARY KEY (repo_id, path, snippet_id)
|
|
75
|
-
)
|
|
76
|
-
`);
|
|
77
|
-
await db.run(`
|
|
78
|
-
CREATE TABLE IF NOT EXISTS dependency (
|
|
79
|
-
repo_id INTEGER,
|
|
80
|
-
src_path TEXT,
|
|
81
|
-
dst_kind TEXT,
|
|
82
|
-
dst TEXT,
|
|
83
|
-
rel TEXT,
|
|
84
|
-
PRIMARY KEY (repo_id, src_path, dst_kind, dst, rel)
|
|
85
|
-
)
|
|
86
|
-
`);
|
|
87
|
-
await db.run(`
|
|
88
|
-
CREATE INDEX IF NOT EXISTS idx_dep_src ON dependency(repo_id, src_path)
|
|
89
|
-
`);
|
|
90
|
-
await db.run(`
|
|
91
|
-
CREATE TABLE IF NOT EXISTS file_embedding (
|
|
92
|
-
repo_id INTEGER,
|
|
93
|
-
path TEXT,
|
|
94
|
-
dims INTEGER NOT NULL,
|
|
95
|
-
vector_json TEXT NOT NULL,
|
|
96
|
-
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
97
|
-
PRIMARY KEY (repo_id, path)
|
|
98
|
-
)
|
|
99
|
-
`);
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/indexer/schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAgB;IACrD,MAAM,EAAE,CAAC,GAAG,CAAC;;GAEZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;GAOZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;GAOZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;GAYZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;GAWZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;GAEZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;GAaZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;GAEZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;GAUZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;GASZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;GAEZ,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;GASZ,CAAC,CAAC;AACL,CAAC"}
|
package/dist/server/bootstrap.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { assertSecurityBaseline, evaluateSecurityStatus, updateSecurityLock, } from "../shared/security/config.js";
|
|
2
|
-
export function bootstrapServer(options = {}) {
|
|
3
|
-
const security = evaluateSecurityStatus(options.securityConfigPath, options.securityLockPath);
|
|
4
|
-
if (!security.matches) {
|
|
5
|
-
if (!security.lockHash && options.allowWriteLock) {
|
|
6
|
-
updateSecurityLock(security.hash, options.securityLockPath);
|
|
7
|
-
return {
|
|
8
|
-
security: {
|
|
9
|
-
...security,
|
|
10
|
-
lockHash: security.hash,
|
|
11
|
-
matches: true,
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
assertSecurityBaseline(options.securityConfigPath, options.securityLockPath);
|
|
16
|
-
}
|
|
17
|
-
return { security };
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAYtC,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE;IAC5D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9F,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YACjD,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5D,OAAO;gBACL,QAAQ,EAAE;oBACR,GAAG,QAAQ;oBACX,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;QACJ,CAAC;QACD,sBAAsB,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
|
package/dist/server/context.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":""}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
2
|
-
import { join, relative as relativePath, resolve } from "node:path";
|
|
3
|
-
export class DegradeController {
|
|
4
|
-
state = { active: false, reason: null, since: null };
|
|
5
|
-
repoRoot;
|
|
6
|
-
constructor(repoRoot) {
|
|
7
|
-
this.repoRoot = resolve(repoRoot);
|
|
8
|
-
}
|
|
9
|
-
get current() {
|
|
10
|
-
return this.state;
|
|
11
|
-
}
|
|
12
|
-
enable(reason) {
|
|
13
|
-
if (this.state.active) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
this.state = { active: true, reason, since: new Date() };
|
|
17
|
-
}
|
|
18
|
-
disable() {
|
|
19
|
-
this.state = { active: false, reason: null, since: null };
|
|
20
|
-
}
|
|
21
|
-
async withResource(operation, reason) {
|
|
22
|
-
if (this.state.active) {
|
|
23
|
-
throw new Error(`Server is running in degrade mode: ${this.state.reason ?? "unknown"}. Only files.search is available.`);
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
const result = await operation();
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
this.enable(reason);
|
|
31
|
-
throw error;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
search(query, limit = 20) {
|
|
35
|
-
const tokens = query.split(/\s+/).filter((token) => token.length > 0);
|
|
36
|
-
if (tokens.length === 0) {
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
const results = [];
|
|
40
|
-
this.walkFiles(this.repoRoot, (absolutePath, relativeFile) => {
|
|
41
|
-
if (results.length >= limit) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const content = readFileSync(absolutePath, "utf8");
|
|
45
|
-
const lines = content.split(/\r?\n/);
|
|
46
|
-
const matchIndex = lines.findIndex((line) => tokens.every((token) => line.includes(token)));
|
|
47
|
-
if (matchIndex >= 0) {
|
|
48
|
-
const preview = lines.slice(matchIndex, matchIndex + 3).join("\n");
|
|
49
|
-
results.push({ path: relativeFile, preview, matchLine: matchIndex + 1 });
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
return results;
|
|
53
|
-
}
|
|
54
|
-
walkFiles(root, visitor) {
|
|
55
|
-
const entries = readdirSync(root);
|
|
56
|
-
for (const entry of entries) {
|
|
57
|
-
const absolute = join(root, entry);
|
|
58
|
-
const relative = relativePath(this.repoRoot, absolute);
|
|
59
|
-
const stats = statSync(absolute);
|
|
60
|
-
if (stats.isDirectory()) {
|
|
61
|
-
this.walkFiles(absolute, visitor);
|
|
62
|
-
}
|
|
63
|
-
else if (stats.isFile()) {
|
|
64
|
-
visitor(absolute, relative);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=degradeController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"degradeController.js","sourceRoot":"","sources":["../../../src/server/fallbacks/degradeController.ts"],"names":[],"mappings":"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"}
|