ctxloom-pro 1.0.6 → 1.0.7
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/apps/dashboard/dist/dashboard/client/assets/index-BoOuiK6f.css +1 -0
- package/apps/dashboard/dist/dashboard/client/assets/index-DpZFZ0hK.js +139 -0
- package/apps/dashboard/dist/dashboard/client/index.html +13 -0
- package/apps/dashboard/dist/dashboard/client/logo.svg +23 -0
- package/apps/dashboard/dist/server/index.js +11342 -0
- package/apps/dashboard/package.json +48 -0
- package/dist/VectorStore-HOSUSLV7.js +8 -0
- package/dist/{chunk-NC4L5MCD.js → chunk-NEHYSE2Y.js} +2 -2
- package/dist/chunk-TYDMSHV7.js +62 -0
- package/dist/{chunk-MZRK5LFU.js → chunk-U3AVIYSJ.js} +3 -3
- package/dist/{chunk-KPNCYRWW.js → chunk-UIP6NEKV.js} +16 -16
- package/dist/{dashboard-LVSRXGZN.js → dashboard-MD73U3AR.js} +2 -2
- package/dist/{embedder-MUH5U4NC.js → embedder-BV7V7BHZ.js} +3 -3
- package/dist/index.js +16 -13
- package/dist/logger-PDXPCKJ6.js +7 -0
- package/dist/{src-GYVQEDV5.js → src-X2BT3ERD.js} +5 -5
- package/dist/workers/indexerWorker.js +3 -3
- package/package.json +8 -3
- package/dist/VectorStore-G6RNAVQC.js +0 -8
- package/dist/chunk-YXMXRVFH.js +0 -34
- package/dist/logger-SVRJYSFC.js +0 -7
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ctxloom/dashboard",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev:server": "tsx server/index.ts",
|
|
8
|
+
"dev:client": "vite",
|
|
9
|
+
"build:server": "tsup --config tsup.server.config.ts",
|
|
10
|
+
"build:client": "vite build",
|
|
11
|
+
"build": "npm run build:server && npm run build:client",
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"preview": "vite preview"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@ctxloom/core": "*",
|
|
17
|
+
"cors": "^2.8.5",
|
|
18
|
+
"express": "^4.18.0",
|
|
19
|
+
"open": "^10.1.0"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@testing-library/jest-dom": "^6.4.0",
|
|
23
|
+
"@testing-library/react": "^16.0.0",
|
|
24
|
+
"@testing-library/user-event": "^14.6.1",
|
|
25
|
+
"@types/cors": "^2.8.17",
|
|
26
|
+
"@types/d3": "^7.4.0",
|
|
27
|
+
"@types/express": "^4.17.21",
|
|
28
|
+
"@types/node": "^22.0.0",
|
|
29
|
+
"@types/react": "^18.3.0",
|
|
30
|
+
"@types/react-dom": "^18.3.0",
|
|
31
|
+
"@types/supertest": "^6.0.0",
|
|
32
|
+
"@vitejs/plugin-react": "^4.3.0",
|
|
33
|
+
"autoprefixer": "^10.4.0",
|
|
34
|
+
"d3": "^7.9.0",
|
|
35
|
+
"jsdom": "^24.0.0",
|
|
36
|
+
"postcss": "^8.4.0",
|
|
37
|
+
"react": "^18.3.0",
|
|
38
|
+
"react-dom": "^18.3.0",
|
|
39
|
+
"react-router-dom": "^6.23.0",
|
|
40
|
+
"recharts": "^2.12.0",
|
|
41
|
+
"supertest": "^7.0.0",
|
|
42
|
+
"tailwindcss": "^3.4.0",
|
|
43
|
+
"tsx": "^4.0.0",
|
|
44
|
+
"typescript": "^5.7.0",
|
|
45
|
+
"vite": "^5.3.0",
|
|
46
|
+
"vitest": "^3.0.0"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
logger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TYDMSHV7.js";
|
|
4
4
|
|
|
5
5
|
// packages/core/src/db/VectorStore.ts
|
|
6
6
|
import lancedb from "@lancedb/lancedb";
|
|
@@ -141,4 +141,4 @@ var VectorStore = class {
|
|
|
141
141
|
export {
|
|
142
142
|
VectorStore
|
|
143
143
|
};
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
144
|
+
//# sourceMappingURL=chunk-NEHYSE2Y.js.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// packages/core/src/utils/logger.ts
|
|
2
|
+
var LEVELS = {
|
|
3
|
+
debug: 0,
|
|
4
|
+
info: 1,
|
|
5
|
+
warn: 2,
|
|
6
|
+
error: 3
|
|
7
|
+
};
|
|
8
|
+
var ANSI = {
|
|
9
|
+
reset: "\x1B[0m",
|
|
10
|
+
dim: "\x1B[2m",
|
|
11
|
+
yellow: "\x1B[33m",
|
|
12
|
+
red: "\x1B[31m"
|
|
13
|
+
};
|
|
14
|
+
function getConfiguredLevel() {
|
|
15
|
+
const raw = (process.env["LOG_LEVEL"] ?? "info").toLowerCase();
|
|
16
|
+
return raw in LEVELS ? raw : "info";
|
|
17
|
+
}
|
|
18
|
+
function getMode() {
|
|
19
|
+
if (process.env["CTXLOOM_LOG_MODE"] === "cli") return "cli";
|
|
20
|
+
if (process.env["CTXLOOM_LOG_MODE"] === "json") return "json";
|
|
21
|
+
return process.argv.length > 2 ? "cli" : "json";
|
|
22
|
+
}
|
|
23
|
+
function isTTY() {
|
|
24
|
+
return process.stderr.isTTY === true;
|
|
25
|
+
}
|
|
26
|
+
function writeJson(level, msg, extra) {
|
|
27
|
+
const entry = { ts: (/* @__PURE__ */ new Date()).toISOString(), level, msg };
|
|
28
|
+
if (extra) Object.assign(entry, extra);
|
|
29
|
+
process.stderr.write(JSON.stringify(entry) + "\n");
|
|
30
|
+
}
|
|
31
|
+
function writeCli(level, msg, extra) {
|
|
32
|
+
if (level === "debug" || level === "info") return;
|
|
33
|
+
const color = level === "error" ? ANSI.red : ANSI.yellow;
|
|
34
|
+
const icon = level === "error" ? isTTY() ? "\u2717" : "X" : isTTY() ? "\u26A0" : "!";
|
|
35
|
+
const prefix = isTTY() ? `${color}${icon}${ANSI.reset}` : icon;
|
|
36
|
+
let line = ` ${prefix} ${msg}`;
|
|
37
|
+
if (extra && Object.keys(extra).length > 0) {
|
|
38
|
+
const pairs = Object.entries(extra).map(([k, v]) => `${k}=${typeof v === "string" ? v : JSON.stringify(v)}`).join(" ");
|
|
39
|
+
const dim = isTTY() ? `${ANSI.dim}${pairs}${ANSI.reset}` : pairs;
|
|
40
|
+
line += ` ${dim}`;
|
|
41
|
+
}
|
|
42
|
+
process.stderr.write(line + "\n");
|
|
43
|
+
}
|
|
44
|
+
function write(level, msg, extra) {
|
|
45
|
+
if (LEVELS[level] < LEVELS[getConfiguredLevel()]) return;
|
|
46
|
+
if (getMode() === "cli") {
|
|
47
|
+
writeCli(level, msg, extra);
|
|
48
|
+
} else {
|
|
49
|
+
writeJson(level, msg, extra);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
var logger = {
|
|
53
|
+
debug: (msg, extra) => write("debug", msg, extra),
|
|
54
|
+
info: (msg, extra) => write("info", msg, extra),
|
|
55
|
+
warn: (msg, extra) => write("warn", msg, extra),
|
|
56
|
+
error: (msg, extra) => write("error", msg, extra)
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export {
|
|
60
|
+
logger
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=chunk-TYDMSHV7.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
logger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TYDMSHV7.js";
|
|
4
4
|
|
|
5
5
|
// packages/core/src/indexer/embedder.ts
|
|
6
6
|
import { pipeline } from "@huggingface/transformers";
|
|
@@ -89,7 +89,7 @@ function collectFiles(dir, results = []) {
|
|
|
89
89
|
return results;
|
|
90
90
|
}
|
|
91
91
|
async function indexDirectory(rootDir, onProgress) {
|
|
92
|
-
const { VectorStore } = await import("./VectorStore-
|
|
92
|
+
const { VectorStore } = await import("./VectorStore-HOSUSLV7.js");
|
|
93
93
|
const store = new VectorStore(path.join(rootDir, ".ctxloom", "vectors.lancedb"));
|
|
94
94
|
await store.init();
|
|
95
95
|
const files = collectFiles(rootDir);
|
|
@@ -142,4 +142,4 @@ export {
|
|
|
142
142
|
collectFiles,
|
|
143
143
|
indexDirectory
|
|
144
144
|
};
|
|
145
|
-
//# sourceMappingURL=chunk-
|
|
145
|
+
//# sourceMappingURL=chunk-U3AVIYSJ.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VectorStore
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NEHYSE2Y.js";
|
|
4
4
|
import {
|
|
5
5
|
collectFiles,
|
|
6
6
|
generateEmbedding
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-U3AVIYSJ.js";
|
|
8
8
|
import {
|
|
9
9
|
logger
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TYDMSHV7.js";
|
|
11
11
|
|
|
12
12
|
// packages/core/src/graph/DependencyGraph.ts
|
|
13
13
|
import fs6 from "fs";
|
|
@@ -339,7 +339,7 @@ var ASTParser = class {
|
|
|
339
339
|
const wasmPath = await this.grammarLoader.ensureGrammar("python");
|
|
340
340
|
this.pyLang = await TreeSitter.Language.load(wasmPath);
|
|
341
341
|
} catch (err) {
|
|
342
|
-
const { logger: logger2 } = await import("./logger-
|
|
342
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
343
343
|
logger2.warn("Python grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
344
344
|
}
|
|
345
345
|
}
|
|
@@ -352,7 +352,7 @@ var ASTParser = class {
|
|
|
352
352
|
const wasmPath = await this.grammarLoader.ensureGrammar("go");
|
|
353
353
|
this.goLang = await TreeSitter.Language.load(wasmPath);
|
|
354
354
|
} catch (err) {
|
|
355
|
-
const { logger: logger2 } = await import("./logger-
|
|
355
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
356
356
|
logger2.warn("Go grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
357
357
|
}
|
|
358
358
|
}
|
|
@@ -365,7 +365,7 @@ var ASTParser = class {
|
|
|
365
365
|
const wasmPath = await this.grammarLoader.ensureGrammar("rust");
|
|
366
366
|
this.rustLang = await TreeSitter.Language.load(wasmPath);
|
|
367
367
|
} catch (err) {
|
|
368
|
-
const { logger: logger2 } = await import("./logger-
|
|
368
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
369
369
|
logger2.warn("Rust grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
370
370
|
}
|
|
371
371
|
}
|
|
@@ -378,7 +378,7 @@ var ASTParser = class {
|
|
|
378
378
|
const wasmPath = await this.grammarLoader.ensureGrammar("java");
|
|
379
379
|
this.javaLang = await TreeSitter.Language.load(wasmPath);
|
|
380
380
|
} catch (err) {
|
|
381
|
-
const { logger: logger2 } = await import("./logger-
|
|
381
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
382
382
|
logger2.warn("Java grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
383
383
|
}
|
|
384
384
|
}
|
|
@@ -388,7 +388,7 @@ var ASTParser = class {
|
|
|
388
388
|
const wasmPath = await this.grammarLoader.ensureGrammar("csharp");
|
|
389
389
|
this.csLang = await TreeSitter.Language.load(wasmPath);
|
|
390
390
|
} catch (err) {
|
|
391
|
-
const { logger: logger2 } = await import("./logger-
|
|
391
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
392
392
|
logger2.warn("C# grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
393
393
|
}
|
|
394
394
|
}
|
|
@@ -398,7 +398,7 @@ var ASTParser = class {
|
|
|
398
398
|
const wasmPath = await this.grammarLoader.ensureGrammar("ruby");
|
|
399
399
|
this.rubyLang = await TreeSitter.Language.load(wasmPath);
|
|
400
400
|
} catch (err) {
|
|
401
|
-
const { logger: logger2 } = await import("./logger-
|
|
401
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
402
402
|
logger2.warn("Ruby grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
403
403
|
}
|
|
404
404
|
}
|
|
@@ -408,7 +408,7 @@ var ASTParser = class {
|
|
|
408
408
|
const wasmPath = await this.grammarLoader.ensureGrammar("kotlin");
|
|
409
409
|
this.kotlinLang = await TreeSitter.Language.load(wasmPath);
|
|
410
410
|
} catch (err) {
|
|
411
|
-
const { logger: logger2 } = await import("./logger-
|
|
411
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
412
412
|
logger2.warn("Kotlin grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
413
413
|
}
|
|
414
414
|
}
|
|
@@ -418,7 +418,7 @@ var ASTParser = class {
|
|
|
418
418
|
const wasmPath = await this.grammarLoader.ensureGrammar("swift");
|
|
419
419
|
this.swiftLang = await TreeSitter.Language.load(wasmPath);
|
|
420
420
|
} catch (err) {
|
|
421
|
-
const { logger: logger2 } = await import("./logger-
|
|
421
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
422
422
|
logger2.warn("Swift grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
423
423
|
}
|
|
424
424
|
}
|
|
@@ -428,7 +428,7 @@ var ASTParser = class {
|
|
|
428
428
|
const wasmPath = await this.grammarLoader.ensureGrammar("php");
|
|
429
429
|
this.phpLang = await TreeSitter.Language.load(wasmPath);
|
|
430
430
|
} catch (err) {
|
|
431
|
-
const { logger: logger2 } = await import("./logger-
|
|
431
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
432
432
|
logger2.warn("PHP grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
433
433
|
}
|
|
434
434
|
}
|
|
@@ -438,7 +438,7 @@ var ASTParser = class {
|
|
|
438
438
|
const wasmPath = await this.grammarLoader.ensureGrammar("dart");
|
|
439
439
|
this.dartLang = await TreeSitter.Language.load(wasmPath);
|
|
440
440
|
} catch (err) {
|
|
441
|
-
const { logger: logger2 } = await import("./logger-
|
|
441
|
+
const { logger: logger2 } = await import("./logger-PDXPCKJ6.js");
|
|
442
442
|
logger2.warn("Dart grammar unavailable", { detail: err instanceof Error ? err.message : String(err) });
|
|
443
443
|
}
|
|
444
444
|
}
|
|
@@ -6263,7 +6263,7 @@ function registerFullTextSearchTool(registry, ctx) {
|
|
|
6263
6263
|
const { query, mode, case_sensitive, limit, context_lines } = Schema22.parse(args);
|
|
6264
6264
|
if (mode === "semantic") {
|
|
6265
6265
|
try {
|
|
6266
|
-
const { generateEmbedding: generateEmbedding2 } = await import("./embedder-
|
|
6266
|
+
const { generateEmbedding: generateEmbedding2 } = await import("./embedder-BV7V7BHZ.js");
|
|
6267
6267
|
const store = await ctx.getStore();
|
|
6268
6268
|
const embedding = await generateEmbedding2(query);
|
|
6269
6269
|
const results = await store.search(embedding, limit);
|
|
@@ -6300,7 +6300,7 @@ function registerFullTextSearchTool(registry, ctx) {
|
|
|
6300
6300
|
let merged = keywordResults.slice(0, limit);
|
|
6301
6301
|
if (mode === "hybrid") {
|
|
6302
6302
|
try {
|
|
6303
|
-
const { generateEmbedding: generateEmbedding2 } = await import("./embedder-
|
|
6303
|
+
const { generateEmbedding: generateEmbedding2 } = await import("./embedder-BV7V7BHZ.js");
|
|
6304
6304
|
const store = await ctx.getStore();
|
|
6305
6305
|
const embedding = await generateEmbedding2(query);
|
|
6306
6306
|
const vectorResults = await store.search(embedding, Math.ceil(limit / 2));
|
|
@@ -8406,4 +8406,4 @@ export {
|
|
|
8406
8406
|
track,
|
|
8407
8407
|
captureError
|
|
8408
8408
|
};
|
|
8409
|
-
//# sourceMappingURL=chunk-
|
|
8409
|
+
//# sourceMappingURL=chunk-UIP6NEKV.js.map
|
|
@@ -3,11 +3,11 @@ import path from "path";
|
|
|
3
3
|
import { fileURLToPath } from "url";
|
|
4
4
|
var __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
async function startDashboard(options) {
|
|
6
|
-
const serverPath = path.resolve(__dirname, "../apps/dashboard/server/index.js");
|
|
6
|
+
const serverPath = path.resolve(__dirname, "../apps/dashboard/dist/server/index.js");
|
|
7
7
|
const mod = await import(serverPath);
|
|
8
8
|
await mod.startDashboard(options);
|
|
9
9
|
}
|
|
10
10
|
export {
|
|
11
11
|
startDashboard
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=dashboard-
|
|
13
|
+
//# sourceMappingURL=dashboard-MD73U3AR.js.map
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
collectFiles,
|
|
4
4
|
generateEmbedding,
|
|
5
5
|
indexDirectory
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-U3AVIYSJ.js";
|
|
7
|
+
import "./chunk-TYDMSHV7.js";
|
|
8
8
|
export {
|
|
9
9
|
EMBEDDING_DIMENSION,
|
|
10
10
|
collectFiles,
|
|
11
11
|
generateEmbedding,
|
|
12
12
|
indexDirectory
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=embedder-
|
|
14
|
+
//# sourceMappingURL=embedder-BV7V7BHZ.js.map
|
package/dist/index.js
CHANGED
|
@@ -34,17 +34,17 @@ import {
|
|
|
34
34
|
startTrial,
|
|
35
35
|
track,
|
|
36
36
|
writeCODEOWNERS
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-UIP6NEKV.js";
|
|
38
38
|
import {
|
|
39
39
|
VectorStore
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-NEHYSE2Y.js";
|
|
41
41
|
import {
|
|
42
42
|
generateEmbedding,
|
|
43
43
|
indexDirectory
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-U3AVIYSJ.js";
|
|
45
45
|
import {
|
|
46
46
|
logger
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-TYDMSHV7.js";
|
|
48
48
|
|
|
49
49
|
// src/server.ts
|
|
50
50
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
@@ -55,10 +55,13 @@ import fs from "fs";
|
|
|
55
55
|
var PROJECT_ROOT = (() => {
|
|
56
56
|
if (process.env.CTXLOOM_ROOT) return process.env.CTXLOOM_ROOT;
|
|
57
57
|
const cwd = process.cwd();
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
const isCli = process.argv.length > 2;
|
|
59
|
+
if (!isCli) {
|
|
60
|
+
logger.warn(
|
|
61
|
+
"CTXLOOM_ROOT not set \u2014 defaulting to cwd. Set CTXLOOM_ROOT in your MCP server config to point at the project you want to index.",
|
|
62
|
+
{ cwd }
|
|
63
|
+
);
|
|
64
|
+
}
|
|
62
65
|
return cwd;
|
|
63
66
|
})();
|
|
64
67
|
var DB_PATH = path.join(PROJECT_ROOT, ".ctxloom", "vectors.lancedb");
|
|
@@ -578,7 +581,7 @@ async function checkLicense() {
|
|
|
578
581
|
if (command !== void 0 && LICENSE_GATE_BYPASS_COMMANDS.has(command)) return;
|
|
579
582
|
const ciKey = process.env["CTXLOOM_LICENSE_KEY"];
|
|
580
583
|
if (ciKey) {
|
|
581
|
-
const { ApiClient } = await import("./src-
|
|
584
|
+
const { ApiClient } = await import("./src-X2BT3ERD.js");
|
|
582
585
|
const client = new ApiClient(process.env["CTXLOOM_API_BASE"]);
|
|
583
586
|
try {
|
|
584
587
|
const result = await client.validate(ciKey, "ci-ephemeral");
|
|
@@ -934,7 +937,7 @@ async function main() {
|
|
|
934
937
|
);
|
|
935
938
|
const open = args.includes("--open") || args.includes("-o");
|
|
936
939
|
const root = process.env.CTXLOOM_ROOT ?? process.cwd();
|
|
937
|
-
const { startDashboard } = await import("./dashboard-
|
|
940
|
+
const { startDashboard } = await import("./dashboard-MD73U3AR.js");
|
|
938
941
|
await startDashboard({ root, port, open });
|
|
939
942
|
break;
|
|
940
943
|
}
|
|
@@ -1099,7 +1102,7 @@ Suggested reviewers for ${files.length} file(s):`);
|
|
|
1099
1102
|
process.stderr.write("[ctxloom] --limit must be a non-negative integer (0 for unlimited)\n");
|
|
1100
1103
|
process.exit(2);
|
|
1101
1104
|
}
|
|
1102
|
-
const { loadRulesConfig, RulesChecker, formatText, formatJson, RulesConfigError } = await import("./src-
|
|
1105
|
+
const { loadRulesConfig, RulesChecker, formatText, formatJson, RulesConfigError } = await import("./src-X2BT3ERD.js");
|
|
1103
1106
|
let config;
|
|
1104
1107
|
try {
|
|
1105
1108
|
config = await loadRulesConfig(root);
|
|
@@ -1123,7 +1126,7 @@ Suggested reviewers for ${files.length} file(s):`);
|
|
|
1123
1126
|
}
|
|
1124
1127
|
let graph;
|
|
1125
1128
|
if (useSnapshot) {
|
|
1126
|
-
const { DependencyGraph: DG } = await import("./src-
|
|
1129
|
+
const { DependencyGraph: DG } = await import("./src-X2BT3ERD.js");
|
|
1127
1130
|
graph = new DG();
|
|
1128
1131
|
const loaded = await graph.loadSnapshotOnly(root);
|
|
1129
1132
|
if (!loaded) {
|
|
@@ -1132,7 +1135,7 @@ Suggested reviewers for ${files.length} file(s):`);
|
|
|
1132
1135
|
}
|
|
1133
1136
|
} else {
|
|
1134
1137
|
process.stderr.write("[ctxloom] Building dependency graph...\n");
|
|
1135
|
-
const { ASTParser: ASTParser2, DependencyGraph: DependencyGraph2 } = await import("./src-
|
|
1138
|
+
const { ASTParser: ASTParser2, DependencyGraph: DependencyGraph2 } = await import("./src-X2BT3ERD.js");
|
|
1136
1139
|
let parser;
|
|
1137
1140
|
try {
|
|
1138
1141
|
parser = new ASTParser2();
|
|
@@ -69,19 +69,19 @@ import {
|
|
|
69
69
|
startTrial,
|
|
70
70
|
track,
|
|
71
71
|
writeCODEOWNERS
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-UIP6NEKV.js";
|
|
73
73
|
import {
|
|
74
74
|
VectorStore
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-NEHYSE2Y.js";
|
|
76
76
|
import {
|
|
77
77
|
EMBEDDING_DIMENSION,
|
|
78
78
|
collectFiles,
|
|
79
79
|
generateEmbedding,
|
|
80
80
|
indexDirectory
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-U3AVIYSJ.js";
|
|
82
82
|
import {
|
|
83
83
|
logger
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-TYDMSHV7.js";
|
|
85
85
|
export {
|
|
86
86
|
ASTParser,
|
|
87
87
|
ApiClient,
|
|
@@ -160,4 +160,4 @@ export {
|
|
|
160
160
|
track,
|
|
161
161
|
writeCODEOWNERS
|
|
162
162
|
};
|
|
163
|
-
//# sourceMappingURL=src-
|
|
163
|
+
//# sourceMappingURL=src-X2BT3ERD.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VectorStore
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-NEHYSE2Y.js";
|
|
4
4
|
import {
|
|
5
5
|
generateEmbedding
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-U3AVIYSJ.js";
|
|
7
|
+
import "../chunk-TYDMSHV7.js";
|
|
8
8
|
|
|
9
9
|
// packages/core/src/workers/indexerWorker.ts
|
|
10
10
|
import { parentPort, workerData } from "worker_threads";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctxloom-pro",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "ctxloom — The Universal Code Context Engine. A local-first MCP server providing intelligent code context via hybrid Vector + AST + Graph search with Skeletonization (92% token reduction).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,11 +21,16 @@
|
|
|
21
21
|
"files": [
|
|
22
22
|
"dist/**/*",
|
|
23
23
|
"!dist/**/*.map",
|
|
24
|
+
"apps/dashboard/dist/**/*",
|
|
25
|
+
"!apps/dashboard/dist/**/*.map",
|
|
26
|
+
"apps/dashboard/package.json",
|
|
24
27
|
"LICENSE"
|
|
25
28
|
],
|
|
26
29
|
"scripts": {
|
|
27
|
-
"build": "tsup",
|
|
28
|
-
"
|
|
30
|
+
"build": "tsup && npm run -w @ctxloom/dashboard build",
|
|
31
|
+
"build:cli": "tsup",
|
|
32
|
+
"build:dashboard": "npm run -w @ctxloom/dashboard build",
|
|
33
|
+
"prepublishOnly": "tsup && npm run -w @ctxloom/dashboard build",
|
|
29
34
|
"start": "node dist/index.js",
|
|
30
35
|
"dev": "tsx src/index.ts",
|
|
31
36
|
"test": "vitest run",
|
package/dist/chunk-YXMXRVFH.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// packages/core/src/utils/logger.ts
|
|
2
|
-
var LEVELS = {
|
|
3
|
-
debug: 0,
|
|
4
|
-
info: 1,
|
|
5
|
-
warn: 2,
|
|
6
|
-
error: 3
|
|
7
|
-
};
|
|
8
|
-
function getConfiguredLevel() {
|
|
9
|
-
const raw = (process.env.LOG_LEVEL ?? "info").toLowerCase();
|
|
10
|
-
return raw in LEVELS ? raw : "info";
|
|
11
|
-
}
|
|
12
|
-
function write(level, msg, extra) {
|
|
13
|
-
if (LEVELS[level] < LEVELS[getConfiguredLevel()]) return;
|
|
14
|
-
const entry = {
|
|
15
|
-
ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
16
|
-
level,
|
|
17
|
-
msg
|
|
18
|
-
};
|
|
19
|
-
if (extra) {
|
|
20
|
-
Object.assign(entry, extra);
|
|
21
|
-
}
|
|
22
|
-
process.stderr.write(JSON.stringify(entry) + "\n");
|
|
23
|
-
}
|
|
24
|
-
var logger = {
|
|
25
|
-
debug: (msg, extra) => write("debug", msg, extra),
|
|
26
|
-
info: (msg, extra) => write("info", msg, extra),
|
|
27
|
-
warn: (msg, extra) => write("warn", msg, extra),
|
|
28
|
-
error: (msg, extra) => write("error", msg, extra)
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export {
|
|
32
|
-
logger
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=chunk-YXMXRVFH.js.map
|