kiri-mcp-server 0.9.1 → 0.9.4
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 +1 -1
- package/dist/package.json +2 -2
- package/dist/src/client/cli.d.ts.map +1 -1
- package/dist/src/client/cli.js +86 -16
- package/dist/src/client/cli.js.map +1 -1
- package/dist/src/server/rpc.d.ts.map +1 -1
- package/dist/src/server/rpc.js +34 -64
- package/dist/src/server/rpc.js.map +1 -1
- package/dist/src/server/runtime.d.ts.map +1 -1
- package/dist/src/server/runtime.js +7 -6
- package/dist/src/server/runtime.js.map +1 -1
- package/dist/src/shared/utils/socket.d.ts +57 -0
- package/dist/src/shared/utils/socket.d.ts.map +1 -0
- package/dist/src/shared/utils/socket.js +104 -0
- package/dist/src/shared/utils/socket.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Intelligent code context extraction for LLMs via Model Context Protocol
|
|
4
4
|
|
|
5
|
-
[](package.json)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://modelcontextprotocol.io/)
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiri-mcp-server",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "KIRI context extraction platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@9.0.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"build:copy-assets": "tsx scripts/build/copy-assets.ts",
|
|
56
56
|
"dev": "tsx src/server/main.ts --port 8765",
|
|
57
57
|
"lint": "eslint \"{src,tests,scripts}/**/*.{ts,tsx}\" && prettier --check \"**/*.{ts,tsx,json,md,yml}\"",
|
|
58
|
-
"test": "vitest run --coverage",
|
|
58
|
+
"test": "vitest run --coverage --pool=forks --poolOptions.forks.singleFork --poolOptions.forks.maxForks=1 --poolOptions.forks.minForks=1",
|
|
59
59
|
"check": "pnpm run lint && pnpm run test",
|
|
60
60
|
"prepublishOnly": "pnpm run build"
|
|
61
61
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/client/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/client/cli.ts"],"names":[],"mappings":";AAoIA,wBAAgB,IAAI,CAAC,IAAI,WAAwB,GAAG,MAAM,CAkBzD"}
|
package/dist/src/client/cli.js
CHANGED
|
@@ -1,14 +1,68 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
2
3
|
import process from "node:process";
|
|
3
4
|
import { bootstrapServer } from "../server/bootstrap.js";
|
|
4
5
|
import { evaluateSecurityStatus, updateSecurityLock } from "../shared/security/config.js";
|
|
5
6
|
function printUsage() {
|
|
6
7
|
console.info(`Usage: pnpm exec tsx src/client/cli.ts <command> [options]\n`);
|
|
7
8
|
console.info(`Commands:`);
|
|
8
|
-
console.info(` security verify [--write-lock]
|
|
9
|
+
console.info(` security verify [--write-lock] [--db <path>] [--security-lock <path>] [--security-config <path>]`);
|
|
10
|
+
console.info(` Verify or create security lock`);
|
|
9
11
|
}
|
|
10
|
-
function
|
|
11
|
-
const
|
|
12
|
+
function parseSecurityVerifyArgs(argv) {
|
|
13
|
+
const options = {
|
|
14
|
+
writeLock: false,
|
|
15
|
+
databasePath: "var/index.duckdb",
|
|
16
|
+
};
|
|
17
|
+
for (let i = 0; i < argv.length; i += 1) {
|
|
18
|
+
const arg = argv[i];
|
|
19
|
+
if (arg === undefined) {
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
switch (arg) {
|
|
23
|
+
case "--write-lock":
|
|
24
|
+
options.writeLock = true;
|
|
25
|
+
break;
|
|
26
|
+
case "--db":
|
|
27
|
+
{
|
|
28
|
+
const dbPath = argv[i + 1];
|
|
29
|
+
if (!dbPath) {
|
|
30
|
+
throw new Error("--db requires a path argument");
|
|
31
|
+
}
|
|
32
|
+
options.databasePath = dbPath;
|
|
33
|
+
i += 1;
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case "--security-lock":
|
|
37
|
+
{
|
|
38
|
+
const lockPath = argv[i + 1];
|
|
39
|
+
if (!lockPath) {
|
|
40
|
+
throw new Error("--security-lock requires a path argument");
|
|
41
|
+
}
|
|
42
|
+
options.securityLockPath = lockPath;
|
|
43
|
+
i += 1;
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
case "--security-config":
|
|
47
|
+
{
|
|
48
|
+
const configPath = argv[i + 1];
|
|
49
|
+
if (!configPath) {
|
|
50
|
+
throw new Error("--security-config requires a path argument");
|
|
51
|
+
}
|
|
52
|
+
options.securityConfigPath = configPath;
|
|
53
|
+
i += 1;
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
if (arg.startsWith("--")) {
|
|
58
|
+
throw new Error(`Unknown option: ${arg}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return options;
|
|
63
|
+
}
|
|
64
|
+
function formatStatus(securityConfigPath, securityLockPath) {
|
|
65
|
+
const status = evaluateSecurityStatus(securityConfigPath, securityLockPath);
|
|
12
66
|
const lockInfo = status.lockHash ? `hash=${status.lockHash}` : "missing";
|
|
13
67
|
const matchState = status.matches ? "MATCH" : "MISMATCH";
|
|
14
68
|
return [
|
|
@@ -18,28 +72,44 @@ function formatStatus() {
|
|
|
18
72
|
].join("\n");
|
|
19
73
|
}
|
|
20
74
|
function handleSecurityVerify(argv) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
75
|
+
let options;
|
|
76
|
+
try {
|
|
77
|
+
options = parseSecurityVerifyArgs(argv);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
81
|
+
return 1;
|
|
82
|
+
}
|
|
83
|
+
const resolvedDbPath = resolve(options.databasePath);
|
|
84
|
+
const resolvedLockPath = options.securityLockPath
|
|
85
|
+
? resolve(options.securityLockPath)
|
|
86
|
+
: join(dirname(resolvedDbPath), "security.lock");
|
|
87
|
+
const resolvedConfigPath = options.securityConfigPath
|
|
88
|
+
? resolve(options.securityConfigPath)
|
|
89
|
+
: undefined;
|
|
90
|
+
const status = evaluateSecurityStatus(resolvedConfigPath, resolvedLockPath);
|
|
91
|
+
if (!status.lockHash && options.writeLock) {
|
|
92
|
+
updateSecurityLock(status.hash, resolvedLockPath);
|
|
25
93
|
console.info("Security lock created.");
|
|
26
|
-
|
|
27
|
-
console.info([
|
|
28
|
-
`config: ${refreshed.configPath}`,
|
|
29
|
-
`lock: ${refreshed.lockPath} (hash=${refreshed.lockHash})`,
|
|
30
|
-
"state: MATCH",
|
|
31
|
-
].join("\n"));
|
|
94
|
+
console.info(formatStatus(resolvedConfigPath, resolvedLockPath));
|
|
32
95
|
return 0;
|
|
33
96
|
}
|
|
34
97
|
try {
|
|
35
|
-
|
|
98
|
+
const bootstrapOptions = {
|
|
99
|
+
allowWriteLock: options.writeLock,
|
|
100
|
+
securityLockPath: resolvedLockPath,
|
|
101
|
+
};
|
|
102
|
+
if (resolvedConfigPath) {
|
|
103
|
+
bootstrapOptions.securityConfigPath = resolvedConfigPath;
|
|
104
|
+
}
|
|
105
|
+
bootstrapServer(bootstrapOptions);
|
|
36
106
|
console.info("Security baseline verified.");
|
|
37
|
-
console.info(formatStatus());
|
|
107
|
+
console.info(formatStatus(resolvedConfigPath, resolvedLockPath));
|
|
38
108
|
return 0;
|
|
39
109
|
}
|
|
40
110
|
catch (error) {
|
|
41
111
|
console.error(error instanceof Error ? error.message : String(error));
|
|
42
|
-
console.info(formatStatus());
|
|
112
|
+
console.info(formatStatus(resolvedConfigPath, resolvedLockPath));
|
|
43
113
|
return 1;
|
|
44
114
|
}
|
|
45
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/client/cli.ts"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAE1F,SAAS,UAAU;IACjB,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC7E,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/client/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/server/rpc.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAarE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,SAAgB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,wBAAwB,CAAS;IAEzC;;;;OAIG;gBACS,iBAAiB,GAAE,MAAa;IAI5C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO;IA0B7E;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/server/rpc.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAarE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,SAAgB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,wBAAwB,CAAS;IAEzC;;;;OAIG;gBACS,iBAAiB,GAAE,MAAa;IAI5C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO;IA0B7E;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAsbD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,CAEpF;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,MAAM,EACf,IAAI,SAAS,GACZ,YAAY,CAEd;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAK7E;AAkED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,sBAAsB,GACnC,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAwN9D"}
|
package/dist/src/server/rpc.js
CHANGED
|
@@ -67,39 +67,9 @@ const SERVER_INFO = {
|
|
|
67
67
|
const TOOL_DESCRIPTORS = [
|
|
68
68
|
{
|
|
69
69
|
name: "context_bundle",
|
|
70
|
-
description: "
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"- **Path-based scoring**: Boosts files when keywords appear in their path (e.g., searching 'auth' prioritizes src/auth/login.ts)\n" +
|
|
74
|
-
"- **File type prioritization**: Uses boost_profile to prioritize implementation files over docs (configurable)\n" +
|
|
75
|
-
"- **Dependency analysis**: Considers import relationships between files\n" +
|
|
76
|
-
"- **Semantic similarity**: Ranks by structural similarity to your query\n\n" +
|
|
77
|
-
"IMPORTANT: The 'goal' parameter MUST be a clear and specific description of your objective. Use concrete keywords, not abstract verbs.\n\n" +
|
|
78
|
-
"✅ GOOD EXAMPLES (use specific keywords):\n" +
|
|
79
|
-
"- goal='User authentication flow, JWT token validation'\n" +
|
|
80
|
-
"- goal='Canvas page routing, API endpoints, navigation patterns'\n" +
|
|
81
|
-
"- goal='Fix pagination off-by-one error in product listing'\n" +
|
|
82
|
-
"- goal='Database connection pooling, retry logic'\n" +
|
|
83
|
-
"- goal='page-agent Lambda handler request processing error handling' (hyphenated terms recognized as phrases)\n" +
|
|
84
|
-
"- goal='context_bundle scoring logic' (underscore terms recognized as phrases)\n\n" +
|
|
85
|
-
"❌ BAD EXAMPLES (too vague, avoid these):\n" +
|
|
86
|
-
"- goal='Understand how canvas pages are accessed' (starts with abstract verb)\n" +
|
|
87
|
-
"- goal='understand' (single word, no context)\n" +
|
|
88
|
-
"- goal='explore the authentication system' (vague verb + long sentence)\n" +
|
|
89
|
-
"- goal='fix bug' (which bug? be specific)\n" +
|
|
90
|
-
"- goal='authentication' (noun only, what about it?)\n" +
|
|
91
|
-
"- goal='authentication implementation' (too generic - specify: handler? validator? storage?)\n" +
|
|
92
|
-
"- goal='search implementation' (add concrete aspects: parser, ranking, indexer)\n\n" +
|
|
93
|
-
"GUIDELINE: Avoid generic terms like 'implementation', 'code', or 'logic' alone. " +
|
|
94
|
-
"Instead, specify concrete aspects: 'handler', 'validator', 'parser', 'storage', 'error handling', 'data flow'.\n\n" +
|
|
95
|
-
"TOKEN OPTIMIZATION: Use 'compact: true' to reduce token consumption by ~95%. Returns only metadata (path, range, why, score) without preview field. " +
|
|
96
|
-
"Combine with snippets.get for two-tier approach: first get candidate list (compact), then fetch selected content.\n\n" +
|
|
97
|
-
"Example workflow:\n" +
|
|
98
|
-
" 1. context_bundle({goal: 'auth handler', compact: true, limit: 10}) → ~2,500 tokens\n" +
|
|
99
|
-
" 2. Review paths and scores from results\n" +
|
|
100
|
-
" 3. snippets.get({path: result.context[0].path}) → Get only needed files\n" +
|
|
101
|
-
"Total: ~5K tokens instead of 55K tokens (90% savings)\n\n" +
|
|
102
|
-
"Returns ranked code snippets with explanations (e.g., 'phrase:page-agent', 'path-keyword:auth', 'dep:login.ts', 'boost:app-file') and automatically optimizes token usage.",
|
|
70
|
+
description: "Primary code discovery tool. Provide a concrete `goal` to receive ranked `context` entries containing `path`, `range`, optional `preview`, scoring `why`, and `score`.\n\n" +
|
|
71
|
+
"Returns {context, tokens_estimate, warnings?}; the tool only reads from the index. Empty or vague goals raise an MCP error that asks for specific keywords.\n\n" +
|
|
72
|
+
"Example: context_bundle({goal: 'Fix pagination off-by-one in src/catalog/products.ts'}) surfaces the affected files. Invalid: goal='debug' triggers a validation error.",
|
|
103
73
|
inputSchema: {
|
|
104
74
|
type: "object",
|
|
105
75
|
required: ["goal"],
|
|
@@ -138,7 +108,8 @@ const TOOL_DESCRIPTORS = [
|
|
|
138
108
|
properties: {
|
|
139
109
|
editing_path: {
|
|
140
110
|
type: "string",
|
|
141
|
-
|
|
111
|
+
pattern: "^(?!.*\\.\\.)[A-Za-z0-9_./\\-]+$",
|
|
112
|
+
description: "Path to the file currently being edited. Strongly recommended to provide for better context; boosts that file and related dependencies in the bundle output.",
|
|
142
113
|
},
|
|
143
114
|
failing_tests: {
|
|
144
115
|
type: "array",
|
|
@@ -156,7 +127,9 @@ const TOOL_DESCRIPTORS = [
|
|
|
156
127
|
},
|
|
157
128
|
{
|
|
158
129
|
name: "semantic_rerank",
|
|
159
|
-
description: "
|
|
130
|
+
description: "Reorders candidate files by embedding similarity to `text`. Use after keyword or heuristic search when you already have `candidates` and want a semantic ranking update without fetching new files.\n\n" +
|
|
131
|
+
"Returns {candidates: [{path, semantic, base, combined}]}; purely read-only. Missing `text` or an empty candidate list causes an MCP error describing the required inputs.\n\n" +
|
|
132
|
+
"Example: semantic_rerank({text: 'JWT login flow', candidates: [...]}) reprioritises auth code. Invalid: semantic_rerank({text: '', candidates: [...]}) raises a validation error.",
|
|
160
133
|
inputSchema: {
|
|
161
134
|
type: "object",
|
|
162
135
|
required: ["text", "candidates"],
|
|
@@ -182,20 +155,9 @@ const TOOL_DESCRIPTORS = [
|
|
|
182
155
|
},
|
|
183
156
|
{
|
|
184
157
|
name: "files_search",
|
|
185
|
-
description: "
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"- query='validateToken' (exact function name)\n" +
|
|
189
|
-
"- query='AuthenticationError' (specific class/error)\n" +
|
|
190
|
-
"- query='Cannot read property' (exact error message)\n" +
|
|
191
|
-
"- query='import { jwt }' (specific import pattern)\n" +
|
|
192
|
-
"- query='userId' (variable name)\n\n" +
|
|
193
|
-
"❌ BAD EXAMPLES (too vague or abstract):\n" +
|
|
194
|
-
"- query='understand authentication' (use context.bundle instead)\n" +
|
|
195
|
-
"- query='how login works' (use context.bundle instead)\n" +
|
|
196
|
-
"- query='explore' (no specific target)\n" +
|
|
197
|
-
"- query='auth' (too generic, will match too many files)\n\n" +
|
|
198
|
-
"Supports filters: lang (e.g., 'typescript'), ext (e.g., '.ts'), path_prefix (e.g., 'src/auth/'). Returns matching files with previews and line numbers.",
|
|
158
|
+
description: "Token-aware substring search for precise identifiers, error messages, or import fragments. Prefer this tool when you already know the exact string you need to locate; use `context_bundle` for exploratory work.\n\n" +
|
|
159
|
+
"Returns an array of `{path, preview, matchLine, lang, ext, score}` objects; the tool never mutates the repo. Empty queries raise an MCP error prompting you to provide a concrete keyword. If DuckDB is unavailable but the server runs with `--allow-degrade`, the same array shape is returned using filesystem-based fallbacks (with `lang`/`ext` set to null).\n\n" +
|
|
160
|
+
'Example: files_search({query: "AuthenticationError", path_prefix: "src/auth/"}) narrows to auth handlers. Invalid: files_search({query: ""}) reports that the query must be non-empty.',
|
|
199
161
|
inputSchema: {
|
|
200
162
|
type: "object",
|
|
201
163
|
required: ["query"],
|
|
@@ -217,6 +179,7 @@ const TOOL_DESCRIPTORS = [
|
|
|
217
179
|
},
|
|
218
180
|
path_prefix: {
|
|
219
181
|
type: "string",
|
|
182
|
+
pattern: "^(?!.*\\.\\.)[A-Za-z0-9_./\\-]+/?$",
|
|
220
183
|
description: "Filter by path prefix (e.g., 'src/auth/', 'tests/'). No '..' allowed.",
|
|
221
184
|
},
|
|
222
185
|
limit: {
|
|
@@ -235,13 +198,18 @@ const TOOL_DESCRIPTORS = [
|
|
|
235
198
|
},
|
|
236
199
|
{
|
|
237
200
|
name: "snippets_get",
|
|
238
|
-
description: "
|
|
201
|
+
description: "Focused snippet retrieval by file path. The tool uses recorded symbol boundaries to return the smallest readable span, or falls back to the requested line window.\n\n" +
|
|
202
|
+
"Returns {path, startLine, endLine, content, totalLines, symbolName, symbolKind}; this is a read-only lookup. Missing `path`, binary files, or absent index entries raise an MCP error with guidance to re-run the indexer.\n\n" +
|
|
203
|
+
"Example: snippets_get({path: 'src/auth/login.ts'}) surfaces the enclosing function. Invalid: snippets_get({path: 'assets/logo.png'}) reports that binary snippets are unsupported.",
|
|
239
204
|
inputSchema: {
|
|
240
205
|
type: "object",
|
|
241
206
|
required: ["path"],
|
|
242
207
|
additionalProperties: true,
|
|
243
208
|
properties: {
|
|
244
|
-
path: {
|
|
209
|
+
path: {
|
|
210
|
+
type: "string",
|
|
211
|
+
pattern: "^(?!.*\\.\\.)[A-Za-z0-9_./\\-]+$",
|
|
212
|
+
},
|
|
245
213
|
start_line: { type: "number", minimum: 0 },
|
|
246
214
|
end_line: { type: "number", minimum: 0 },
|
|
247
215
|
},
|
|
@@ -249,13 +217,18 @@ const TOOL_DESCRIPTORS = [
|
|
|
249
217
|
},
|
|
250
218
|
{
|
|
251
219
|
name: "deps_closure",
|
|
252
|
-
description: "
|
|
220
|
+
description: "Dependency graph traversal from a starting file. Use it during impact analysis to map outbound imports or inbound dependents before large refactors.\n\n" +
|
|
221
|
+
"Returns {root, direction, nodes, edges}; nodes/edges include depth metadata and never mutate repository state. Invalid paths, excessive depth, or non-indexed files raise MCP errors with remediation tips.\n\n" +
|
|
222
|
+
"Example: deps_closure({path: 'src/shared/config.ts', direction: 'inbound', max_depth: 2}) lists consumers. Invalid: deps_closure({path: '../secret'}) fails path validation.",
|
|
253
223
|
inputSchema: {
|
|
254
224
|
type: "object",
|
|
255
225
|
required: ["path"],
|
|
256
226
|
additionalProperties: true,
|
|
257
227
|
properties: {
|
|
258
|
-
path: {
|
|
228
|
+
path: {
|
|
229
|
+
type: "string",
|
|
230
|
+
pattern: "^(?!.*\\.\\.)[A-Za-z0-9_./\\-]+$",
|
|
231
|
+
},
|
|
259
232
|
max_depth: { type: "number", minimum: 0 },
|
|
260
233
|
direction: { type: "string", enum: ["outbound", "inbound"] },
|
|
261
234
|
include_packages: { type: "boolean" },
|
|
@@ -512,17 +485,14 @@ async function executeToolByName(toolName, toolParams, context, degrade, allowDe
|
|
|
512
485
|
case "files_search": {
|
|
513
486
|
const params = parseFilesSearchParams(toolParams);
|
|
514
487
|
if (degrade.current.active && allowDegrade) {
|
|
515
|
-
return {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
})),
|
|
524
|
-
degrade: true,
|
|
525
|
-
};
|
|
488
|
+
return degrade.search(params.query, params.limit ?? 20).map((hit) => ({
|
|
489
|
+
path: hit.path,
|
|
490
|
+
preview: hit.preview,
|
|
491
|
+
matchLine: hit.matchLine,
|
|
492
|
+
lang: null,
|
|
493
|
+
ext: null,
|
|
494
|
+
score: 0,
|
|
495
|
+
}));
|
|
526
496
|
}
|
|
527
497
|
else {
|
|
528
498
|
const handler = async () => await withSpan("files_search", async () => await filesSearch(context, params));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/server/rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/server/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAIzD,OAAO,EAML,aAAa,EACb,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IACR,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,gBAAgB,GAAa,EAAE,CAAC;IAC/B,iBAAiB,CAAS;IACnC,wBAAwB,GAAG,KAAK,CAAC;IAEzC;;;;OAIG;IACH,YAAY,oBAA4B,IAAI;QAC1C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAW,EAAE,OAAe,EAAE,cAAuB,KAAK;QACjE,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CACV,8EAA8E,CAC/E,CAAC;gBACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACvC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;CACF;AA6CD,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;CACzE,CAAC;AAEX,MAAM,gBAAgB,GAAqB;IACzC;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,4KAA4K;YAC5K,iKAAiK;YACjK,yKAAyK;QAC3K,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+GAA+G;wBAC/G,oEAAoE;wBACpE,uEAAuE;iBAC1E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;oBACX,WAAW,EACT,+IAA+I;iBAClJ;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+FAA+F;wBAC/F,+FAA+F;wBAC/F,4EAA4E;iBAC/E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2EAA2E;iBACzF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,WAAW,EACT,2LAA2L;iBAC9L;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,UAAU,EAAE;wBACV,YAAY,EAAE;4BACZ,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,kCAAkC;4BAC3C,WAAW,EACT,8JAA8J;yBACjK;wBACD,aAAa,EAAE;4BACb,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,WAAW,EAAE,oDAAoD;yBAClE;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gEAAgE;yBAC9E;qBACF;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yMAAyM;YACzM,+KAA+K;YAC/K,mLAAmL;QACrL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;YAChC,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBACtF,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,MAAM,CAAC;wBAClB,oBAAoB,EAAE,IAAI;wBAC1B,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;qBACF;iBACF;gBACD,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAClF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,uNAAuN;YACvN,wWAAwW;YACxW,wLAAwL;QAC1L,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6FAA6F;wBAC7F,uFAAuF;wBACvF,+CAA+C;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,oCAAoC;oBAC7C,WAAW,EAAE,uEAAuE;iBACrF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EACT,kFAAkF;iBACrF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,WAAW,EACT,2LAA2L;iBAC9L;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wKAAwK;YACxK,gOAAgO;YAChO,oLAAoL;QACtL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;aACzC;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,0JAA0J;YAC1J,iNAAiN;YACjN,8KAA8K;QAChL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC5D,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACtC;SACF;KACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd;CACO,CAAC;AAEX,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAsB;QAChC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/D,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;QAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAE5D,yDAAyD;IACzD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,4CAA4C;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACrF,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAC3D,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;QAC/D,CAAC,CAAE,MAAM,CAAC,SAAoC;QAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GACnB,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxD,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1D,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,OAAsB;IACtE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACzD,CAAC;IAEF,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,eAAe,GAAG,cAAyC,CAAC;QAClE,MAAM,SAAS,GAAqC,EAAE,CAAC;QACvD,IAAI,OAAO,eAAe,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,SAAS,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,CACvD,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,aAAa,GAAG,YAAY,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,eAAe,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClD,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC7E,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACrF,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,qDAAqD;QAE5E,mEAAmE;QACnE,0DAA0D;QAC1D,OAAO,CAAC,cAAc,CAAC,QAAQ,CAC7B,wBAAwB,EACxB,yDAAyD;YACvD,mDAAmD;YACnD,+BAA+B,EACjC,IAAI,CAAC,sBAAsB;SAC5B,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAAyB;QACnC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACxD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,eAAe,GAAG,SAAoC,CAAC;YAC7D,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClF,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAA+C;gBACjE,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YACF,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxF,cAAc,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YAC/C,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAmB,EAAE,MAAe;IAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAA0B,EAC1B,OAAe,EACf,IAAI,GAAG,CAAC,KAAK;IAEb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,4CAA4C;AAC5C,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,UAAmB,EACnB,OAAsB,EACtB,OAA0B,EAC1B,YAAqB;IAErB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACvF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CACzB,MAAM,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IACzE,OAAO,KAAK,EAAE,OAAuB,EAAmC,EAAE;QACxE,MAAM,aAAa,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC;QACvF,IAAI,CAAC;YACH,IAAI,MAAe,CAAC;YAEpB,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,GAAG,kBAAkB,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,yDAAyD;oBACzD,MAAM,GAAG;wBACP,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,WAAW;wBACvB,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;qBACzB,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,sEAAsE;oBACtE,MAAM,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;oBACrC,MAAM;gBACR,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,0DAA0D;oBAC1D,MAAM,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,+BAA+B;oBAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAoD,CAAC;oBAClF,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACtD,OAAO,aAAa;4BAClB,CAAC,CAAC;gCACE,UAAU,EAAE,GAAG;gCACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,4DAA4D,EAC5D,CAAC,KAAK,CACP;6BACF;4BACH,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;oBACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACjC,OAAO,aAAa;4BAClB,CAAC,CAAC;gCACE,UAAU,EAAE,GAAG;gCACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,4DAA4D,EAC5D,CAAC,KAAK,CACP;6BACF;4BACH,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAED,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;oBAEnD,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,QAAQ,EACR,aAAa,EACb,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;wBAEF,iCAAiC;wBACjC,MAAM,SAAS,GAAkB;4BAC/B,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iCAC1C;6BACF;4BACD,OAAO,EAAE,KAAK;yBACf,CAAC;wBACF,MAAM,GAAG,SAAS,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,oDAAoD;wBACpD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK;4BACpB,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,uDAAuD,CAAC;wBAE9D,MAAM,cAAc,GAAkB;4BACpC,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,YAAY;iCACnB;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,MAAM,GAAG,cAAc,CAAC;oBAC1B,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,2DAA2D;gBAC3D,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,GAAG,MAAM,iBAAiB,CAC9B,gBAAgB,EAChB,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,GAAG,MAAM,iBAAiB,CAC9B,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,GAAG,MAAM,iBAAiB,CAC9B,cAAc,EACd,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,aAAa;wBAClB,CAAC,CAAC;4BACE,UAAU,EAAE,GAAG;4BACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,qJAAqJ,EACrJ,CAAC,KAAK,CACP;yBACF;wBACH,CAAC,CAAC,IAAI,CAAC;gBACX,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAqB,EAAE,MAAM,CAAC,MAAM,CAAC;aACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,OAAO,aAAa;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,8FAA8F,CAC/F;qBACF;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3C,OAAO,aAAa;oBAClB,CAAC,CAAC;wBACE,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,aAAa,CACrB,OAAO,CAAC,EAAqB,EAC7B,OAAO,CAAC,OAAO,CAAC,MAAM;4BACpB,CAAC,CAAC,2BAA2B,OAAO,CAAC,OAAO,CAAC,MAAM,qCAAqC;4BACxF,CAAC,CAAC,qDAAqD,CAC1D;qBACF;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,oEAAoE,CAAC;YAC3E,OAAO,aAAa;gBAClB,CAAC,CAAC;oBACE,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAqB,EAAE,OAAO,CAAC;iBAChE;gBACH,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/server/runtime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/server/runtime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyD9F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolve } from "node:path";
|
|
1
|
+
import { dirname, join, resolve } from "node:path";
|
|
2
2
|
import { tryCreateFTSIndex } from "../indexer/schema.js";
|
|
3
3
|
import { DuckDBClient } from "../shared/duckdb.js";
|
|
4
4
|
import { bootstrapServer } from "./bootstrap.js";
|
|
@@ -7,19 +7,20 @@ import { resolveRepoId } from "./handlers.js";
|
|
|
7
7
|
import { MetricsRegistry } from "./observability/metrics.js";
|
|
8
8
|
import { WarningManager } from "./rpc.js";
|
|
9
9
|
export async function createServerRuntime(options) {
|
|
10
|
+
const databasePath = resolve(options.databasePath);
|
|
11
|
+
const repoRoot = resolve(options.repoRoot);
|
|
12
|
+
const defaultLockPath = join(dirname(databasePath), "security.lock");
|
|
10
13
|
const bootstrapOptions = {};
|
|
11
14
|
if (options.securityConfigPath) {
|
|
12
15
|
bootstrapOptions.securityConfigPath = options.securityConfigPath;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
bootstrapOptions.securityLockPath = options.securityLockPath
|
|
18
|
+
? resolve(options.securityLockPath)
|
|
19
|
+
: defaultLockPath;
|
|
17
20
|
if (options.allowWriteLock !== undefined) {
|
|
18
21
|
bootstrapOptions.allowWriteLock = options.allowWriteLock;
|
|
19
22
|
}
|
|
20
23
|
const bootstrap = bootstrapServer(bootstrapOptions);
|
|
21
|
-
const databasePath = resolve(options.databasePath);
|
|
22
|
-
const repoRoot = resolve(options.repoRoot);
|
|
23
24
|
let db = null;
|
|
24
25
|
try {
|
|
25
26
|
db = await DuckDBClient.connect({ databasePath, ensureDirectory: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAoB1C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAA4B;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAC9C,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACnE,CAAC;IACD,gBAAgB,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;QAC1D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnC,CAAC,CAAC,eAAe,CAAC;IACpB,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,gBAAgB,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC3D,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAEpD,IAAI,EAAE,GAAwB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEjD,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAkB;YAC7B,EAAE;YACF,MAAM;YACN,QAAQ,EAAE;gBACR,GAAG,EAAE,MAAM;aACZ;YACD,cAAc,EAAE,IAAI,cAAc,EAAE;SACrC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAEnD,OAAO;YACL,OAAO;YACP,OAAO;YACP,OAAO;YACP,MAAM;YACN,YAAY;YACZ,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Socket Path Utility for Cross-Platform IPC
|
|
3
|
+
*
|
|
4
|
+
* Generates platform-appropriate IPC paths:
|
|
5
|
+
* - Unix/Linux/macOS: Unix domain socket files (e.g., /path/to/database.duckdb.sock)
|
|
6
|
+
* - Windows: Named pipes (e.g., \\.\pipe\kiri-<hash>)
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* プラットフォームに応じた適切なソケットパスを生成
|
|
10
|
+
*
|
|
11
|
+
* Windows環境では名前付きパイプ形式(\\.\pipe\kiri-<hash>)を使用し、
|
|
12
|
+
* Unix系環境ではファイルシステムパス(<databasePath>.sock)を使用する。
|
|
13
|
+
*
|
|
14
|
+
* **セキュリティ注意事項**:
|
|
15
|
+
* - Unix: ソケットファイルは0600パーミッション(所有者のみアクセス可能)で保護
|
|
16
|
+
* - Windows: 名前付きパイプはデフォルトACLを使用(同一システムの他ユーザーが
|
|
17
|
+
* アクセス可能な場合がある)。ハッシュベースのパイプ名で曖昧性を提供するが、
|
|
18
|
+
* マルチユーザー環境では信頼できる環境でのみ使用することを推奨。
|
|
19
|
+
* - Windows環境では KIRI_PIPE_PREFIX 環境変数でパイプ名プレフィックスを
|
|
20
|
+
* カスタマイズ可能(追加のセキュリティ層として利用可能)
|
|
21
|
+
*
|
|
22
|
+
* @param databasePath - データベースファイルの絶対パス
|
|
23
|
+
* @returns プラットフォーム固有のソケットパス
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // Unix/macOS/Linux
|
|
27
|
+
* getSocketPath("/path/to/database.duckdb")
|
|
28
|
+
* // => "/path/to/database.duckdb.sock"
|
|
29
|
+
*
|
|
30
|
+
* // Windows (デフォルト)
|
|
31
|
+
* getSocketPath("C:\\Users\\user\\database.duckdb")
|
|
32
|
+
* // => "\\\\.\\pipe\\kiri-a1b2c3d4..."
|
|
33
|
+
*
|
|
34
|
+
* // Windows (カスタムプレフィックス)
|
|
35
|
+
* process.env.KIRI_PIPE_PREFIX = "myapp"
|
|
36
|
+
* getSocketPath("C:\\Users\\user\\database.duckdb")
|
|
37
|
+
* // => "\\\\.\\pipe\\myapp-a1b2c3d4..."
|
|
38
|
+
*/
|
|
39
|
+
export declare function getSocketPath(databasePath: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* ソケットパスからデータベースパスを推測(Unix系のみ)
|
|
42
|
+
*
|
|
43
|
+
* Windows環境ではハッシュベースのパイプ名を使用するため、
|
|
44
|
+
* この関数は情報損失があり、デバッグ用途にのみ使用すべき。
|
|
45
|
+
*
|
|
46
|
+
* @param socketPath - ソケットパス
|
|
47
|
+
* @returns データベースパス(Unix系の場合)またはnull(Windows/不明な形式)
|
|
48
|
+
*/
|
|
49
|
+
export declare function getDatabasePathFromSocket(socketPath: string): string | null;
|
|
50
|
+
/**
|
|
51
|
+
* デバッグ用のソケットパス情報を生成
|
|
52
|
+
*
|
|
53
|
+
* @param databasePath - データベースファイルの絶対パス
|
|
54
|
+
* @returns デバッグ情報文字列
|
|
55
|
+
*/
|
|
56
|
+
export declare function getSocketPathDebugInfo(databasePath: string): string;
|
|
57
|
+
//# sourceMappingURL=socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/socket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAc1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAmBnE"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Socket Path Utility for Cross-Platform IPC
|
|
3
|
+
*
|
|
4
|
+
* Generates platform-appropriate IPC paths:
|
|
5
|
+
* - Unix/Linux/macOS: Unix domain socket files (e.g., /path/to/database.duckdb.sock)
|
|
6
|
+
* - Windows: Named pipes (e.g., \\.\pipe\kiri-<hash>)
|
|
7
|
+
*/
|
|
8
|
+
import * as crypto from "crypto";
|
|
9
|
+
import * as os from "os";
|
|
10
|
+
import * as path from "path";
|
|
11
|
+
/**
|
|
12
|
+
* プラットフォームに応じた適切なソケットパスを生成
|
|
13
|
+
*
|
|
14
|
+
* Windows環境では名前付きパイプ形式(\\.\pipe\kiri-<hash>)を使用し、
|
|
15
|
+
* Unix系環境ではファイルシステムパス(<databasePath>.sock)を使用する。
|
|
16
|
+
*
|
|
17
|
+
* **セキュリティ注意事項**:
|
|
18
|
+
* - Unix: ソケットファイルは0600パーミッション(所有者のみアクセス可能)で保護
|
|
19
|
+
* - Windows: 名前付きパイプはデフォルトACLを使用(同一システムの他ユーザーが
|
|
20
|
+
* アクセス可能な場合がある)。ハッシュベースのパイプ名で曖昧性を提供するが、
|
|
21
|
+
* マルチユーザー環境では信頼できる環境でのみ使用することを推奨。
|
|
22
|
+
* - Windows環境では KIRI_PIPE_PREFIX 環境変数でパイプ名プレフィックスを
|
|
23
|
+
* カスタマイズ可能(追加のセキュリティ層として利用可能)
|
|
24
|
+
*
|
|
25
|
+
* @param databasePath - データベースファイルの絶対パス
|
|
26
|
+
* @returns プラットフォーム固有のソケットパス
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* // Unix/macOS/Linux
|
|
30
|
+
* getSocketPath("/path/to/database.duckdb")
|
|
31
|
+
* // => "/path/to/database.duckdb.sock"
|
|
32
|
+
*
|
|
33
|
+
* // Windows (デフォルト)
|
|
34
|
+
* getSocketPath("C:\\Users\\user\\database.duckdb")
|
|
35
|
+
* // => "\\\\.\\pipe\\kiri-a1b2c3d4..."
|
|
36
|
+
*
|
|
37
|
+
* // Windows (カスタムプレフィックス)
|
|
38
|
+
* process.env.KIRI_PIPE_PREFIX = "myapp"
|
|
39
|
+
* getSocketPath("C:\\Users\\user\\database.duckdb")
|
|
40
|
+
* // => "\\\\.\\pipe\\myapp-a1b2c3d4..."
|
|
41
|
+
*/
|
|
42
|
+
export function getSocketPath(databasePath) {
|
|
43
|
+
if (os.platform() === "win32") {
|
|
44
|
+
// Windows: 名前付きパイプを使用
|
|
45
|
+
// データベースパスのハッシュを使ってユニークなパイプ名を生成
|
|
46
|
+
const hash = crypto.createHash("sha256").update(databasePath).digest("hex");
|
|
47
|
+
// 環境変数でプレフィックスをカスタマイズ可能(追加のセキュリティ層)
|
|
48
|
+
const prefix = process.env.KIRI_PIPE_PREFIX || "kiri";
|
|
49
|
+
// 最初の16文字を使用(衝突リスクは極めて低い)
|
|
50
|
+
const pipeName = `${prefix}-${hash.substring(0, 16)}`;
|
|
51
|
+
return `\\\\.\\pipe\\${pipeName}`;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Unix系: ファイルシステムパスを使用
|
|
55
|
+
return `${databasePath}.sock`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* ソケットパスからデータベースパスを推測(Unix系のみ)
|
|
60
|
+
*
|
|
61
|
+
* Windows環境ではハッシュベースのパイプ名を使用するため、
|
|
62
|
+
* この関数は情報損失があり、デバッグ用途にのみ使用すべき。
|
|
63
|
+
*
|
|
64
|
+
* @param socketPath - ソケットパス
|
|
65
|
+
* @returns データベースパス(Unix系の場合)またはnull(Windows/不明な形式)
|
|
66
|
+
*/
|
|
67
|
+
export function getDatabasePathFromSocket(socketPath) {
|
|
68
|
+
if (os.platform() === "win32") {
|
|
69
|
+
// Windowsではパイプ名からデータベースパスを復元できない
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
// Unix系: .sock拡張子を削除
|
|
73
|
+
if (socketPath.endsWith(".sock")) {
|
|
74
|
+
return socketPath.slice(0, -5); // ".sock" の長さは5
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* デバッグ用のソケットパス情報を生成
|
|
80
|
+
*
|
|
81
|
+
* @param databasePath - データベースファイルの絶対パス
|
|
82
|
+
* @returns デバッグ情報文字列
|
|
83
|
+
*/
|
|
84
|
+
export function getSocketPathDebugInfo(databasePath) {
|
|
85
|
+
const socketPath = getSocketPath(databasePath);
|
|
86
|
+
const platform = os.platform();
|
|
87
|
+
const dbDir = path.dirname(databasePath);
|
|
88
|
+
const dbBase = path.basename(databasePath);
|
|
89
|
+
if (platform === "win32") {
|
|
90
|
+
return [
|
|
91
|
+
`Database: ${dbBase} (${dbDir})`,
|
|
92
|
+
`Socket: ${socketPath} (Windows named pipe)`,
|
|
93
|
+
`Note: Pipe name is derived from database path hash for uniqueness`,
|
|
94
|
+
].join("\n");
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return [
|
|
98
|
+
`Database: ${dbBase} (${dbDir})`,
|
|
99
|
+
`Socket: ${socketPath} (Unix domain socket)`,
|
|
100
|
+
`Permissions: Owner-only (0600)`,
|
|
101
|
+
].join("\n");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=socket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../src/shared/utils/socket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAC9B,sBAAsB;QACtB,gCAAgC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,oCAAoC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC;QACtD,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtD,OAAO,gBAAgB,QAAQ,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,OAAO,GAAG,YAAY,OAAO,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAC9B,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE3C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,aAAa,MAAM,KAAK,KAAK,GAAG;YAChC,WAAW,UAAU,uBAAuB;YAC5C,mEAAmE;SACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO;YACL,aAAa,MAAM,KAAK,KAAK,GAAG;YAChC,WAAW,UAAU,uBAAuB;YAC5C,gCAAgC;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiri-mcp-server",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "KIRI context extraction platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@9.0.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"build:copy-assets": "tsx scripts/build/copy-assets.ts",
|
|
56
56
|
"dev": "tsx src/server/main.ts --port 8765",
|
|
57
57
|
"lint": "eslint \"{src,tests,scripts}/**/*.{ts,tsx}\" && prettier --check \"**/*.{ts,tsx,json,md,yml}\"",
|
|
58
|
-
"test": "vitest run --coverage",
|
|
58
|
+
"test": "vitest run --coverage --pool=forks --poolOptions.forks.singleFork --poolOptions.forks.maxForks=1 --poolOptions.forks.minForks=1",
|
|
59
59
|
"check": "pnpm run lint && pnpm run test",
|
|
60
60
|
"prepublishOnly": "pnpm run build"
|
|
61
61
|
},
|