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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "projscan",
3
- "version": "0.6.0",
4
- "description": "Agent-first code intelligence — MCP server with real AST parsing, code graph, and context-budgeted output for Claude Code, Cursor, Windsurf; CLI on the side",
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",
@@ -1,3 +0,0 @@
1
- export declare function cacheGet<T>(key: string): Promise<T | null>;
2
- export declare function cacheSet<T>(key: string, data: T, ttlMs?: number): Promise<void>;
3
- export declare function cacheInvalidate(key: string): Promise<void>;
@@ -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
@@ -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"}