@knowledgine/cli 0.1.0 → 0.2.1
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/dist/commands/capture.d.ts +23 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +237 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/demo.d.ts +6 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +48 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/feedback.d.ts +27 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +120 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/ingest.d.ts +9 -0
- package/dist/commands/ingest.d.ts.map +1 -0
- package/dist/commands/ingest.js +162 -0
- package/dist/commands/ingest.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +327 -42
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/plugins.d.ts +6 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +41 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/search.d.ts +16 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +140 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/setup.d.ts +57 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +331 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +98 -24
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +149 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/tool.d.ts +29 -0
- package/dist/commands/tool.d.ts.map +1 -0
- package/dist/commands/tool.js +247 -0
- package/dist/commands/tool.js.map +1 -0
- package/dist/commands/upgrade.d.ts +6 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +137 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/index.js +178 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/demo-manager.d.ts +16 -0
- package/dist/lib/demo-manager.d.ts.map +1 -0
- package/dist/lib/demo-manager.js +37 -0
- package/dist/lib/demo-manager.js.map +1 -0
- package/dist/lib/entity-extractor.d.ts +15 -0
- package/dist/lib/entity-extractor.d.ts.map +1 -0
- package/dist/lib/entity-extractor.js +86 -0
- package/dist/lib/entity-extractor.js.map +1 -0
- package/dist/lib/formatter.d.ts +7 -0
- package/dist/lib/formatter.d.ts.map +1 -0
- package/dist/lib/formatter.js +94 -0
- package/dist/lib/formatter.js.map +1 -0
- package/dist/lib/indexer.d.ts +6 -1
- package/dist/lib/indexer.d.ts.map +1 -1
- package/dist/lib/indexer.js +4 -1
- package/dist/lib/indexer.js.map +1 -1
- package/dist/lib/ingest-watcher.d.ts +20 -0
- package/dist/lib/ingest-watcher.d.ts.map +1 -0
- package/dist/lib/ingest-watcher.js +45 -0
- package/dist/lib/ingest-watcher.js.map +1 -0
- package/dist/lib/plugin-loader.d.ts +5 -0
- package/dist/lib/plugin-loader.d.ts.map +1 -0
- package/dist/lib/plugin-loader.js +27 -0
- package/dist/lib/plugin-loader.js.map +1 -0
- package/dist/lib/progress.d.ts +63 -0
- package/dist/lib/progress.d.ts.map +1 -0
- package/dist/lib/progress.js +228 -0
- package/dist/lib/progress.js.map +1 -0
- package/dist/lib/ui/box.d.ts +7 -0
- package/dist/lib/ui/box.d.ts.map +1 -0
- package/dist/lib/ui/box.js +19 -0
- package/dist/lib/ui/box.js.map +1 -0
- package/dist/lib/ui/error-formatter.d.ts +8 -0
- package/dist/lib/ui/error-formatter.d.ts.map +1 -0
- package/dist/lib/ui/error-formatter.js +21 -0
- package/dist/lib/ui/error-formatter.js.map +1 -0
- package/dist/lib/ui/index.d.ts +7 -0
- package/dist/lib/ui/index.d.ts.map +1 -0
- package/dist/lib/ui/index.js +7 -0
- package/dist/lib/ui/index.js.map +1 -0
- package/dist/lib/ui/output.d.ts +2 -0
- package/dist/lib/ui/output.d.ts.map +1 -0
- package/dist/lib/ui/output.js +4 -0
- package/dist/lib/ui/output.js.map +1 -0
- package/dist/lib/ui/spinner.d.ts +4 -0
- package/dist/lib/ui/spinner.d.ts.map +1 -0
- package/dist/lib/ui/spinner.js +5 -0
- package/dist/lib/ui/spinner.js.map +1 -0
- package/dist/lib/ui/table.d.ts +9 -0
- package/dist/lib/ui/table.d.ts.map +1 -0
- package/dist/lib/ui/table.js +28 -0
- package/dist/lib/ui/table.js.map +1 -0
- package/dist/lib/ui/theme.d.ts +21 -0
- package/dist/lib/ui/theme.d.ts.map +1 -0
- package/dist/lib/ui/theme.js +29 -0
- package/dist/lib/ui/theme.js.map +1 -0
- package/dist/lib/unknown-command-handler.d.ts +14 -0
- package/dist/lib/unknown-command-handler.d.ts.map +1 -0
- package/dist/lib/unknown-command-handler.js +25 -0
- package/dist/lib/unknown-command-handler.js.map +1 -0
- package/dist/lib/url-validator.d.ts +2 -0
- package/dist/lib/url-validator.d.ts.map +1 -0
- package/dist/lib/url-validator.js +21 -0
- package/dist/lib/url-validator.js.map +1 -0
- package/fixtures/demo/notes/api-design-decisions.md +84 -0
- package/fixtures/demo/notes/auth-debugging.md +60 -0
- package/fixtures/demo/notes/ci-cd-pipeline.md +97 -0
- package/fixtures/demo/notes/code-review-notes.md +78 -0
- package/fixtures/demo/notes/database-optimization.md +81 -0
- package/fixtures/demo/notes/docker-troubleshooting.md +80 -0
- package/fixtures/demo/notes/react-performance.md +67 -0
- package/fixtures/demo/notes/typescript-migration.md +89 -0
- package/package.json +13 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqNvE"}
|
package/dist/commands/start.js
CHANGED
|
@@ -1,43 +1,111 @@
|
|
|
1
1
|
import { resolve } from "path";
|
|
2
2
|
import { mkdirSync } from "fs";
|
|
3
3
|
import { watch } from "chokidar";
|
|
4
|
-
import {
|
|
4
|
+
import { loadConfig, resolveDefaultPath, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, GraphRepository, FeedbackRepository, FileProcessor, PatternExtractor, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, DEFAULT_MODEL_NAME, } from "@knowledgine/core";
|
|
5
5
|
import { createKnowledgineMcpServer, StdioServerTransport } from "@knowledgine/mcp-server";
|
|
6
6
|
import { indexFile } from "../lib/indexer.js";
|
|
7
|
+
import { createBox, colors, symbols } from "../lib/ui/index.js";
|
|
7
8
|
export async function startCommand(options) {
|
|
8
|
-
const rootPath =
|
|
9
|
+
const rootPath = resolveDefaultPath(options.path);
|
|
9
10
|
// Ensure .knowledgine directory exists
|
|
10
11
|
mkdirSync(resolve(rootPath, ".knowledgine"), { recursive: true });
|
|
11
|
-
//
|
|
12
|
-
const config =
|
|
13
|
-
|
|
12
|
+
// Load config (respects .knowledginerc.json and env vars)
|
|
13
|
+
const config = loadConfig(rootPath);
|
|
14
|
+
// Auto-detect model for backward compatibility
|
|
15
|
+
if (!config.embedding.enabled) {
|
|
16
|
+
const modelManager = new ModelManager();
|
|
17
|
+
if (modelManager.isModelAvailable(config.embedding.modelName)) {
|
|
18
|
+
config.embedding.enabled = true;
|
|
19
|
+
console.error(`${symbols.success} ${colors.success("Semantic search enabled (model detected)")}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// Initialize database
|
|
23
|
+
const db = createDatabase(config.dbPath);
|
|
24
|
+
// Load sqlite-vec if semantic search is enabled
|
|
25
|
+
if (config.embedding.enabled) {
|
|
26
|
+
await loadSqliteVecExtension(db);
|
|
27
|
+
}
|
|
14
28
|
new Migrator(db, ALL_MIGRATIONS).migrate();
|
|
15
29
|
const repository = new KnowledgeRepository(db);
|
|
16
30
|
const graphRepository = new GraphRepository(db);
|
|
31
|
+
const feedbackRepository = new FeedbackRepository(db);
|
|
17
32
|
// Warn if no notes indexed (H-8)
|
|
18
33
|
const stats = repository.getStats();
|
|
19
34
|
if (stats.totalNotes === 0) {
|
|
20
|
-
console.error("
|
|
35
|
+
console.error(`${symbols.warning} ${colors.warning("No notes indexed. Run `knowledgine init` first.")}`);
|
|
21
36
|
}
|
|
22
|
-
// Initialize embedding provider if model is available
|
|
37
|
+
// Initialize embedding provider if model is available and semantic is enabled
|
|
23
38
|
let embeddingProvider;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
39
|
+
if (config.embedding.enabled) {
|
|
40
|
+
const modelManager = new ModelManager();
|
|
41
|
+
if (modelManager.isModelAvailable()) {
|
|
42
|
+
embeddingProvider = new OnnxEmbeddingProvider(DEFAULT_MODEL_NAME, modelManager);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Warn if notes exist but no embeddings
|
|
46
|
+
const notesWithout = repository.getNotesWithoutEmbeddings();
|
|
47
|
+
if (notesWithout.length > 0) {
|
|
48
|
+
console.error(`${symbols.warning} ${colors.warning(`${notesWithout.length} notes have no embeddings. ` +
|
|
49
|
+
"Semantic search unavailable. Run 'knowledgine upgrade --semantic' to download the model and generate embeddings.")}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
27
52
|
}
|
|
28
53
|
else {
|
|
29
|
-
|
|
30
|
-
const notesWithout = repository.getNotesWithoutEmbeddings();
|
|
31
|
-
if (notesWithout.length > 0) {
|
|
32
|
-
console.error(`Warning: ${notesWithout.length} notes have no embeddings. ` +
|
|
33
|
-
"Semantic search unavailable. Run: node scripts/download-model.js");
|
|
34
|
-
}
|
|
54
|
+
console.error(`${symbols.info} ${colors.info("Running with FTS5 full-text search only")}`);
|
|
35
55
|
}
|
|
36
56
|
// Start MCP server via stdio
|
|
37
|
-
const server = createKnowledgineMcpServer(
|
|
57
|
+
const server = createKnowledgineMcpServer({
|
|
58
|
+
repository,
|
|
59
|
+
rootPath,
|
|
60
|
+
embeddingProvider,
|
|
61
|
+
graphRepository,
|
|
62
|
+
feedbackRepository,
|
|
63
|
+
db,
|
|
64
|
+
});
|
|
38
65
|
const transport = new StdioServerTransport();
|
|
39
66
|
await server.connect(transport);
|
|
40
|
-
|
|
67
|
+
const searchMode = config.embedding.enabled ? "semantic + FTS5" : "FTS5 full-text search";
|
|
68
|
+
console.error(createBox([
|
|
69
|
+
`${symbols.info} Path: ${rootPath}`,
|
|
70
|
+
`${symbols.info} Notes: ${stats.totalNotes} indexed`,
|
|
71
|
+
`${symbols.info} Search: ${searchMode}`,
|
|
72
|
+
].join("\n"), { title: "knowledgine MCP Server", type: "info" }));
|
|
73
|
+
console.error(colors.success("MCP server started on stdio"));
|
|
74
|
+
// IngestEngine integration (only when --ingest flag is set)
|
|
75
|
+
let ingestWatcher;
|
|
76
|
+
let ingestRegistry;
|
|
77
|
+
if (options.ingest) {
|
|
78
|
+
const { createDefaultRegistry, initializePlugins } = await import("../lib/plugin-loader.js");
|
|
79
|
+
const { IngestEngine } = await import("@knowledgine/ingest");
|
|
80
|
+
const { IngestWatcher } = await import("../lib/ingest-watcher.js");
|
|
81
|
+
ingestRegistry = createDefaultRegistry();
|
|
82
|
+
const initResults = await initializePlugins(ingestRegistry);
|
|
83
|
+
// Warn about failed plugins but continue
|
|
84
|
+
for (const [pluginId, result] of initResults) {
|
|
85
|
+
if (!result.ok) {
|
|
86
|
+
console.error(`${symbols.warning} ${colors.warning(`Plugin "${pluginId}" failed to initialize: ${result.error}`)}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const engine = new IngestEngine(ingestRegistry, db, repository);
|
|
90
|
+
ingestWatcher = new IngestWatcher({
|
|
91
|
+
engine,
|
|
92
|
+
registry: ingestRegistry,
|
|
93
|
+
rootPath,
|
|
94
|
+
onComplete: (summaries) => {
|
|
95
|
+
const total = summaries.reduce((acc, s) => acc + s.processed, 0);
|
|
96
|
+
const errors = summaries.reduce((acc, s) => acc + s.errors, 0);
|
|
97
|
+
console.error(`${symbols.success} ${colors.success(`Ingest complete: ${total} events processed, ${errors} errors`)}`);
|
|
98
|
+
},
|
|
99
|
+
onError: (pluginId, error) => {
|
|
100
|
+
console.error(`${symbols.error} ${colors.error(`Ingest error (${pluginId}): ${error.message}`)}`);
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
// Run initial ingest in background (don't block MCP responses)
|
|
104
|
+
ingestWatcher.runInitialIngest().catch((error) => {
|
|
105
|
+
console.error(`${symbols.error} ${colors.error(`Initial ingest failed: ${error instanceof Error ? error.message : String(error)}`)}`);
|
|
106
|
+
});
|
|
107
|
+
console.error(`${symbols.info} ${colors.info("IngestEngine started (background ingestion)")}`);
|
|
108
|
+
}
|
|
41
109
|
// File watcher for auto-reindexing
|
|
42
110
|
const fileProcessor = new FileProcessor();
|
|
43
111
|
const patternExtractor = new PatternExtractor();
|
|
@@ -57,10 +125,10 @@ export async function startCommand(options) {
|
|
|
57
125
|
repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
|
|
58
126
|
}
|
|
59
127
|
}
|
|
60
|
-
console.error(`Indexed: ${filePath}`);
|
|
128
|
+
console.error(`${symbols.arrow} ${colors.info(`Indexed: ${filePath}`)}`);
|
|
61
129
|
}
|
|
62
130
|
catch (error) {
|
|
63
|
-
console.error(`Error indexing ${filePath}
|
|
131
|
+
console.error(`${symbols.error} ${colors.error(`Error indexing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
|
|
64
132
|
}
|
|
65
133
|
});
|
|
66
134
|
watcher.on("change", async (filePath) => {
|
|
@@ -73,24 +141,30 @@ export async function startCommand(options) {
|
|
|
73
141
|
repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
|
|
74
142
|
}
|
|
75
143
|
}
|
|
76
|
-
console.error(`Re-indexed: ${filePath}`);
|
|
144
|
+
console.error(`${symbols.arrow} ${colors.info(`Re-indexed: ${filePath}`)}`);
|
|
77
145
|
}
|
|
78
146
|
catch (error) {
|
|
79
|
-
console.error(`Error re-indexing ${filePath}
|
|
147
|
+
console.error(`${symbols.error} ${colors.error(`Error re-indexing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
|
|
80
148
|
}
|
|
81
149
|
});
|
|
82
150
|
watcher.on("unlink", (filePath) => {
|
|
83
151
|
try {
|
|
84
152
|
repository.deleteNoteByPath(filePath);
|
|
85
|
-
console.error(`Removed: ${filePath}`);
|
|
153
|
+
console.error(`${symbols.arrow} ${colors.info(`Removed: ${filePath}`)}`);
|
|
86
154
|
}
|
|
87
155
|
catch (error) {
|
|
88
|
-
console.error(`Error removing ${filePath}
|
|
156
|
+
console.error(`${symbols.error} ${colors.error(`Error removing ${filePath}: ${error instanceof Error ? error.message : error}`)}`);
|
|
89
157
|
}
|
|
90
158
|
});
|
|
91
159
|
// Graceful shutdown
|
|
92
160
|
const shutdown = async () => {
|
|
93
161
|
console.error("Shutting down...");
|
|
162
|
+
if (ingestWatcher) {
|
|
163
|
+
await ingestWatcher.stop();
|
|
164
|
+
}
|
|
165
|
+
if (ingestRegistry) {
|
|
166
|
+
await ingestRegistry.disposeAll();
|
|
167
|
+
}
|
|
94
168
|
if (embeddingProvider) {
|
|
95
169
|
await embeddingProvider.close();
|
|
96
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA2BD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IzE"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { resolve } from "path";
|
|
2
|
+
import { existsSync, statSync, readFileSync } from "fs";
|
|
3
|
+
import { loadConfig, resolveDefaultPath, createDatabase, Migrator, KnowledgeRepository, ALL_MIGRATIONS, ModelManager, } from "@knowledgine/core";
|
|
4
|
+
import { createBox, colors, symbols } from "../lib/ui/index.js";
|
|
5
|
+
import { getConfigPath, getTargetLabel, TARGETS, PROJECT_CONFIG_SUPPORT } from "./setup.js";
|
|
6
|
+
import * as TOML from "smol-toml";
|
|
7
|
+
function formatBytes(bytes) {
|
|
8
|
+
if (bytes < 1024)
|
|
9
|
+
return `${bytes} B`;
|
|
10
|
+
if (bytes < 1024 * 1024)
|
|
11
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
12
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
13
|
+
}
|
|
14
|
+
function checkMcpConfig(configPath, target) {
|
|
15
|
+
if (!existsSync(configPath))
|
|
16
|
+
return false;
|
|
17
|
+
try {
|
|
18
|
+
const raw = readFileSync(configPath, "utf-8");
|
|
19
|
+
if (configPath.endsWith(".toml")) {
|
|
20
|
+
const parsed = TOML.parse(raw);
|
|
21
|
+
const servers = parsed["mcp_servers"];
|
|
22
|
+
return servers != null && "knowledgine" in servers;
|
|
23
|
+
}
|
|
24
|
+
const config = JSON.parse(raw);
|
|
25
|
+
// Zed uses "context_servers", others use "mcpServers"
|
|
26
|
+
const mcpKey = target === "zed" ? "context_servers" : "mcpServers";
|
|
27
|
+
const servers = config[mcpKey];
|
|
28
|
+
return servers != null && "knowledgine" in servers;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export async function statusCommand(options) {
|
|
35
|
+
const rootPath = resolveDefaultPath(options.path);
|
|
36
|
+
const knowledgineDir = resolve(rootPath, ".knowledgine");
|
|
37
|
+
const dbPath = resolve(knowledgineDir, "index.sqlite");
|
|
38
|
+
console.error("");
|
|
39
|
+
// Database check
|
|
40
|
+
if (!existsSync(knowledgineDir) || !existsSync(dbPath)) {
|
|
41
|
+
const notInitContent = [
|
|
42
|
+
`${symbols.error} Status: Not initialized`,
|
|
43
|
+
"",
|
|
44
|
+
`${symbols.arrow} ${colors.hint(`Run 'knowledgine init --path ${rootPath}' to get started.`)}`,
|
|
45
|
+
].join("\n");
|
|
46
|
+
console.error(createBox(notInitContent, { title: "knowledgine Status", type: "info" }));
|
|
47
|
+
console.error("");
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const dbStat = statSync(dbPath);
|
|
51
|
+
const sizeStr = formatBytes(dbStat.size);
|
|
52
|
+
// Open DB and get stats
|
|
53
|
+
let totalNotes = 0;
|
|
54
|
+
let totalPatterns = 0;
|
|
55
|
+
let notesWithoutEmbeddings = 0;
|
|
56
|
+
try {
|
|
57
|
+
const db = createDatabase(dbPath);
|
|
58
|
+
new Migrator(db, ALL_MIGRATIONS).migrate();
|
|
59
|
+
const repository = new KnowledgeRepository(db);
|
|
60
|
+
const stats = repository.getStats();
|
|
61
|
+
totalNotes = stats.totalNotes;
|
|
62
|
+
totalPatterns = stats.totalPatterns;
|
|
63
|
+
notesWithoutEmbeddings = repository.getNotesWithoutEmbeddings().length;
|
|
64
|
+
db.close();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error(` Error reading database: ${error instanceof Error ? error.message : String(error)}`);
|
|
68
|
+
console.error("");
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const embeddingsGenerated = totalNotes - notesWithoutEmbeddings;
|
|
72
|
+
// Model check
|
|
73
|
+
const modelManager = new ModelManager();
|
|
74
|
+
const modelAvailable = modelManager.isModelAvailable();
|
|
75
|
+
// Semantic search mode
|
|
76
|
+
const config = loadConfig(rootPath);
|
|
77
|
+
const semanticMode = config.embedding.enabled || modelAvailable;
|
|
78
|
+
// MCP config checks — check all supported targets (global + project level)
|
|
79
|
+
const configuredTools = [];
|
|
80
|
+
for (const t of TARGETS) {
|
|
81
|
+
try {
|
|
82
|
+
// Check global config
|
|
83
|
+
const globalPath = getConfigPath(t.value);
|
|
84
|
+
if (checkMcpConfig(globalPath, t.value)) {
|
|
85
|
+
configuredTools.push(t.label);
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
// Check project-level config
|
|
89
|
+
const projectFn = PROJECT_CONFIG_SUPPORT[t.value];
|
|
90
|
+
if (projectFn) {
|
|
91
|
+
const projectPath = projectFn(rootPath);
|
|
92
|
+
if (checkMcpConfig(projectPath, t.value)) {
|
|
93
|
+
configuredTools.push(t.label);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// ignore unsupported targets
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Overall status
|
|
102
|
+
const isReady = totalNotes > 0;
|
|
103
|
+
const statusLabel = isReady
|
|
104
|
+
? semanticMode
|
|
105
|
+
? "Ready (semantic + FTS5)"
|
|
106
|
+
: "Ready (FTS5 only)"
|
|
107
|
+
: "Not initialized";
|
|
108
|
+
// Build content
|
|
109
|
+
const modelLine = modelAvailable
|
|
110
|
+
? `${symbols.success} all-MiniLM-L6-v2 (available)`
|
|
111
|
+
: `${symbols.warning} all-MiniLM-L6-v2 (not found)`;
|
|
112
|
+
const statusLine = isReady
|
|
113
|
+
? `${symbols.success} ${colors.success(statusLabel)}`
|
|
114
|
+
: `${symbols.error} ${colors.error(statusLabel)}`;
|
|
115
|
+
const hints = [];
|
|
116
|
+
if (!semanticMode && totalNotes > 0) {
|
|
117
|
+
hints.push(`${symbols.arrow} ${colors.hint("Run 'knowledgine upgrade --semantic' to enable semantic search.")}`);
|
|
118
|
+
}
|
|
119
|
+
if (configuredTools.length === 0 && totalNotes > 0) {
|
|
120
|
+
hints.push(`${symbols.arrow} ${colors.hint("Run 'knowledgine setup' to configure your AI tools.")}`);
|
|
121
|
+
}
|
|
122
|
+
const pad = (label) => colors.dim(label.padEnd(14));
|
|
123
|
+
const mcpLine = configuredTools.length > 0
|
|
124
|
+
? `${symbols.success} ${colors.success(configuredTools.join(", "))}`
|
|
125
|
+
: colors.hint("none configured");
|
|
126
|
+
const contentParts = [
|
|
127
|
+
`${colors.bold("Database")}`,
|
|
128
|
+
` ${pad("Path:")}${dbPath} (${sizeStr})`,
|
|
129
|
+
` ${pad("Notes:")}${colors.info(String(totalNotes))} indexed`,
|
|
130
|
+
` ${pad("Patterns:")}${colors.info(String(totalPatterns))} extracted`,
|
|
131
|
+
` ${pad("Embeddings:")}${colors.info(`${embeddingsGenerated}/${totalNotes}`)} generated`,
|
|
132
|
+
"",
|
|
133
|
+
`${colors.bold("Model:")} ${modelLine}`,
|
|
134
|
+
`${colors.bold("Search:")} ${semanticMode ? "semantic + FTS5" : "FTS5 only"}`,
|
|
135
|
+
"",
|
|
136
|
+
`${colors.bold("MCP:")} ${mcpLine}`,
|
|
137
|
+
"",
|
|
138
|
+
statusLine,
|
|
139
|
+
];
|
|
140
|
+
if (hints.length > 0) {
|
|
141
|
+
contentParts.push("", ...hints);
|
|
142
|
+
}
|
|
143
|
+
console.error(createBox(contentParts.join("\n"), {
|
|
144
|
+
title: "knowledgine Status",
|
|
145
|
+
type: isReady ? "success" : "info",
|
|
146
|
+
}));
|
|
147
|
+
console.error("");
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
export interface ToolSearchOptions {
|
|
3
|
+
path?: string;
|
|
4
|
+
limit?: string;
|
|
5
|
+
mode?: string;
|
|
6
|
+
format?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function toolSearchCommand(query: string, options: ToolSearchOptions): Promise<void>;
|
|
9
|
+
export interface ToolRelatedOptions {
|
|
10
|
+
path?: string;
|
|
11
|
+
id?: string;
|
|
12
|
+
file?: string;
|
|
13
|
+
limit?: string;
|
|
14
|
+
format?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function toolRelatedCommand(options: ToolRelatedOptions): Promise<void>;
|
|
17
|
+
export interface ToolStatsOptions {
|
|
18
|
+
path?: string;
|
|
19
|
+
format?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function toolStatsCommand(options: ToolStatsOptions): Promise<void>;
|
|
22
|
+
export interface ToolEntitiesOptions {
|
|
23
|
+
path?: string;
|
|
24
|
+
limit?: string;
|
|
25
|
+
format?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function toolEntitiesCommand(query: string, options: ToolEntitiesOptions): Promise<void>;
|
|
28
|
+
export declare function registerToolCommands(program: Command): void;
|
|
29
|
+
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/commands/tool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCzC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChG;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDnF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/E;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
|