projscan 0.6.0 → 0.8.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 +12 -0
- package/dist/cli/index.js +143 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/hotspotAnalyzer.js +68 -8
- package/dist/core/hotspotAnalyzer.js.map +1 -1
- package/dist/core/searchIndex.d.ts +54 -0
- package/dist/core/searchIndex.js +268 -0
- package/dist/core/searchIndex.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/chunker.d.ts +23 -0
- package/dist/mcp/chunker.js +67 -0
- package/dist/mcp/chunker.js.map +1 -0
- package/dist/mcp/pagination.d.ts +42 -0
- package/dist/mcp/pagination.js +66 -0
- package/dist/mcp/pagination.js.map +1 -0
- package/dist/mcp/progress.d.ts +18 -0
- package/dist/mcp/progress.js +47 -0
- package/dist/mcp/progress.js.map +1 -0
- package/dist/mcp/server.d.ts +9 -1
- package/dist/mcp/server.js +66 -15
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.js +133 -64
- package/dist/mcp/tools.js.map +1 -1
- package/dist/utils/banner.js +5 -4
- package/dist/utils/banner.js.map +1 -1
- package/package.json +2 -2
- package/dist/utils/cache.d.ts +0 -3
- package/dist/utils/cache.js +0 -51
- package/dist/utils/cache.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Agent-first code intelligence — MCP server with
|
|
3
|
+
"version": "0.8.0",
|
|
4
|
+
"description": "Agent-first code intelligence — MCP server (2025-03-26) with AST parsing, code graph, BM25 search, cursor pagination, progress notifications, and context-budgeted output; CLI on the side",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
package/dist/utils/cache.d.ts
DELETED
package/dist/utils/cache.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs/promises';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import os from 'node:os';
|
|
4
|
-
import crypto from 'node:crypto';
|
|
5
|
-
const CACHE_DIR = path.join(os.tmpdir(), 'projscan-cache');
|
|
6
|
-
const DEFAULT_TTL_MS = 60_000; // 1 minute
|
|
7
|
-
async function ensureCacheDir() {
|
|
8
|
-
await fs.mkdir(CACHE_DIR, { recursive: true });
|
|
9
|
-
}
|
|
10
|
-
function getCacheFilePath(key) {
|
|
11
|
-
const hash = crypto.createHash('sha256').update(key).digest('hex').slice(0, 16);
|
|
12
|
-
return path.join(CACHE_DIR, `${hash}.json`);
|
|
13
|
-
}
|
|
14
|
-
export async function cacheGet(key) {
|
|
15
|
-
try {
|
|
16
|
-
const filePath = getCacheFilePath(key);
|
|
17
|
-
const raw = await fs.readFile(filePath, 'utf-8');
|
|
18
|
-
const entry = JSON.parse(raw);
|
|
19
|
-
if (Date.now() > entry.expiresAt) {
|
|
20
|
-
await fs.unlink(filePath).catch(() => { });
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
return entry.data;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export async function cacheSet(key, data, ttlMs = DEFAULT_TTL_MS) {
|
|
30
|
-
try {
|
|
31
|
-
await ensureCacheDir();
|
|
32
|
-
const filePath = getCacheFilePath(key);
|
|
33
|
-
const entry = {
|
|
34
|
-
data,
|
|
35
|
-
expiresAt: Date.now() + ttlMs,
|
|
36
|
-
};
|
|
37
|
-
await fs.writeFile(filePath, JSON.stringify(entry), 'utf-8');
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
// Cache write failure is non-critical
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export async function cacheInvalidate(key) {
|
|
44
|
-
try {
|
|
45
|
-
await fs.unlink(getCacheFilePath(key));
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
// Ignore
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=cache.js.map
|
package/dist/utils/cache.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,WAAW;AAE1C,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AAC9C,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAI,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAI,GAAW,EAAE,IAAO,EAAE,KAAK,GAAG,cAAc;IAC5E,IAAI,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,KAAK,GAAkB;YAC3B,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC9B,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC"}
|