@knowledgine/cli 0.0.1 → 0.2.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.
Files changed (87) hide show
  1. package/dist/commands/capture.d.ts +10 -0
  2. package/dist/commands/capture.d.ts.map +1 -0
  3. package/dist/commands/capture.js +132 -0
  4. package/dist/commands/capture.js.map +1 -0
  5. package/dist/commands/demo.d.ts +6 -0
  6. package/dist/commands/demo.d.ts.map +1 -0
  7. package/dist/commands/demo.js +44 -0
  8. package/dist/commands/demo.js.map +1 -0
  9. package/dist/commands/feedback.d.ts +18 -0
  10. package/dist/commands/feedback.d.ts.map +1 -0
  11. package/dist/commands/feedback.js +79 -0
  12. package/dist/commands/feedback.js.map +1 -0
  13. package/dist/commands/ingest.d.ts +8 -0
  14. package/dist/commands/ingest.d.ts.map +1 -0
  15. package/dist/commands/ingest.js +98 -0
  16. package/dist/commands/ingest.js.map +1 -0
  17. package/dist/commands/init.d.ts +3 -0
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +306 -16
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/plugins.d.ts +6 -0
  22. package/dist/commands/plugins.d.ts.map +1 -0
  23. package/dist/commands/plugins.js +40 -0
  24. package/dist/commands/plugins.js.map +1 -0
  25. package/dist/commands/search.d.ts +16 -0
  26. package/dist/commands/search.d.ts.map +1 -0
  27. package/dist/commands/search.js +117 -0
  28. package/dist/commands/search.js.map +1 -0
  29. package/dist/commands/setup.d.ts +14 -0
  30. package/dist/commands/setup.d.ts.map +1 -0
  31. package/dist/commands/setup.js +167 -0
  32. package/dist/commands/setup.js.map +1 -0
  33. package/dist/commands/start.d.ts +1 -0
  34. package/dist/commands/start.d.ts.map +1 -1
  35. package/dist/commands/start.js +105 -6
  36. package/dist/commands/start.js.map +1 -1
  37. package/dist/commands/status.d.ts +5 -0
  38. package/dist/commands/status.d.ts.map +1 -0
  39. package/dist/commands/status.js +121 -0
  40. package/dist/commands/status.js.map +1 -0
  41. package/dist/commands/tool.d.ts +29 -0
  42. package/dist/commands/tool.d.ts.map +1 -0
  43. package/dist/commands/tool.js +247 -0
  44. package/dist/commands/tool.js.map +1 -0
  45. package/dist/commands/upgrade.d.ts +6 -0
  46. package/dist/commands/upgrade.d.ts.map +1 -0
  47. package/dist/commands/upgrade.js +91 -0
  48. package/dist/commands/upgrade.js.map +1 -0
  49. package/dist/index.js +144 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/lib/demo-manager.d.ts +16 -0
  52. package/dist/lib/demo-manager.d.ts.map +1 -0
  53. package/dist/lib/demo-manager.js +37 -0
  54. package/dist/lib/demo-manager.js.map +1 -0
  55. package/dist/lib/formatter.d.ts +7 -0
  56. package/dist/lib/formatter.d.ts.map +1 -0
  57. package/dist/lib/formatter.js +91 -0
  58. package/dist/lib/formatter.js.map +1 -0
  59. package/dist/lib/indexer.d.ts +10 -3
  60. package/dist/lib/indexer.d.ts.map +1 -1
  61. package/dist/lib/indexer.js +45 -7
  62. package/dist/lib/indexer.js.map +1 -1
  63. package/dist/lib/ingest-watcher.d.ts +20 -0
  64. package/dist/lib/ingest-watcher.d.ts.map +1 -0
  65. package/dist/lib/ingest-watcher.js +44 -0
  66. package/dist/lib/ingest-watcher.js.map +1 -0
  67. package/dist/lib/plugin-loader.d.ts +5 -0
  68. package/dist/lib/plugin-loader.d.ts.map +1 -0
  69. package/dist/lib/plugin-loader.js +27 -0
  70. package/dist/lib/plugin-loader.js.map +1 -0
  71. package/dist/lib/progress.d.ts +57 -0
  72. package/dist/lib/progress.d.ts.map +1 -0
  73. package/dist/lib/progress.js +191 -0
  74. package/dist/lib/progress.js.map +1 -0
  75. package/dist/lib/url-validator.d.ts +2 -0
  76. package/dist/lib/url-validator.d.ts.map +1 -0
  77. package/dist/lib/url-validator.js +17 -0
  78. package/dist/lib/url-validator.js.map +1 -0
  79. package/fixtures/demo/notes/api-design-decisions.md +79 -0
  80. package/fixtures/demo/notes/auth-debugging.md +52 -0
  81. package/fixtures/demo/notes/ci-cd-pipeline.md +90 -0
  82. package/fixtures/demo/notes/code-review-notes.md +71 -0
  83. package/fixtures/demo/notes/database-optimization.md +73 -0
  84. package/fixtures/demo/notes/docker-troubleshooting.md +74 -0
  85. package/fixtures/demo/notes/react-performance.md +66 -0
  86. package/fixtures/demo/notes/typescript-migration.md +80 -0
  87. package/package.json +12 -6
@@ -0,0 +1,167 @@
1
+ import { resolve, join } from "path";
2
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync } from "fs";
3
+ import { homedir } from "os";
4
+ import { createInterface } from "readline";
5
+ function getClaudeDesktopConfigPath() {
6
+ switch (process.platform) {
7
+ case "darwin":
8
+ return join(homedir(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
9
+ case "linux":
10
+ return join(homedir(), ".config", "claude", "claude_desktop_config.json");
11
+ case "win32":
12
+ return join(process.env["APPDATA"] ?? join(homedir(), "AppData", "Roaming"), "Claude", "claude_desktop_config.json");
13
+ default:
14
+ return join(homedir(), ".config", "claude", "claude_desktop_config.json");
15
+ }
16
+ }
17
+ function getCursorConfigPath() {
18
+ return join(homedir(), ".cursor", "mcp.json");
19
+ }
20
+ function getConfigPath(target) {
21
+ switch (target) {
22
+ case "claude-desktop":
23
+ return getClaudeDesktopConfigPath();
24
+ case "cursor":
25
+ return getCursorConfigPath();
26
+ default:
27
+ throw new Error(`Unknown target: ${target}. Supported: claude-desktop, cursor`);
28
+ }
29
+ }
30
+ function getTargetLabel(target) {
31
+ switch (target) {
32
+ case "claude-desktop":
33
+ return "Claude Desktop";
34
+ case "cursor":
35
+ return "Cursor";
36
+ default:
37
+ return target;
38
+ }
39
+ }
40
+ function buildMcpConfig(rootPath) {
41
+ return {
42
+ command: "npx",
43
+ args: ["-y", "@knowledgine/cli", "start", "--path", rootPath],
44
+ };
45
+ }
46
+ function readExistingConfig(configPath) {
47
+ if (!existsSync(configPath)) {
48
+ return {};
49
+ }
50
+ const raw = readFileSync(configPath, "utf-8");
51
+ try {
52
+ return JSON.parse(raw);
53
+ }
54
+ catch {
55
+ throw new Error(`Failed to parse existing config: ${configPath}\n` +
56
+ `The file contains invalid JSON. Fix it manually or remove it before running setup.`);
57
+ }
58
+ }
59
+ function mergeConfig(existing, rootPath) {
60
+ const serverConfig = buildMcpConfig(rootPath);
61
+ return {
62
+ ...existing,
63
+ mcpServers: {
64
+ ...(existing.mcpServers ?? {}),
65
+ knowledgine: serverConfig,
66
+ },
67
+ };
68
+ }
69
+ function getDefaultIO() {
70
+ return {
71
+ input: process.stdin,
72
+ output: process.stderr,
73
+ isTTY: process.stderr.isTTY ?? false,
74
+ };
75
+ }
76
+ async function promptTarget(io) {
77
+ const targets = [
78
+ { value: "claude-desktop", label: "Claude Desktop" },
79
+ { value: "cursor", label: "Cursor" },
80
+ ];
81
+ return new Promise((resolvePrompt, reject) => {
82
+ const rl = createInterface({
83
+ input: io.input,
84
+ output: io.output,
85
+ });
86
+ io.output.write("Select target AI tool:\n");
87
+ for (let i = 0; i < targets.length; i++) {
88
+ io.output.write(` ${i + 1}) ${targets[i].label}\n`);
89
+ }
90
+ rl.question("Enter number (1-2): ", (answer) => {
91
+ rl.close();
92
+ const idx = parseInt(answer, 10) - 1;
93
+ if (idx >= 0 && idx < targets.length) {
94
+ resolvePrompt(targets[idx].value);
95
+ }
96
+ else {
97
+ reject(new Error("Invalid selection. Run with --target to specify directly."));
98
+ }
99
+ });
100
+ });
101
+ }
102
+ export async function setupCommand(options, io) {
103
+ const rootPath = resolve(options.path ?? process.cwd());
104
+ const setupIO = io ?? getDefaultIO();
105
+ // Check initialization
106
+ const knowledgineDir = resolve(rootPath, ".knowledgine");
107
+ if (!existsSync(knowledgineDir)) {
108
+ console.error(`Error: Not initialized. Run 'knowledgine init --path ${rootPath}' first.`);
109
+ process.exitCode = 1;
110
+ return;
111
+ }
112
+ // Determine target
113
+ let target = options.target;
114
+ if (!target) {
115
+ if (!setupIO.isTTY) {
116
+ console.error("Error: --target is required in non-interactive mode.");
117
+ console.error(" Supported targets: claude-desktop, cursor");
118
+ process.exitCode = 1;
119
+ return;
120
+ }
121
+ target = await promptTarget(setupIO);
122
+ }
123
+ const configPath = getConfigPath(target);
124
+ const targetLabel = getTargetLabel(target);
125
+ const shouldWrite = options.write === true;
126
+ // Read existing config (may throw on invalid JSON)
127
+ let existingConfig;
128
+ try {
129
+ existingConfig = readExistingConfig(configPath);
130
+ }
131
+ catch (error) {
132
+ console.error(error instanceof Error ? error.message : String(error));
133
+ process.exitCode = 1;
134
+ return;
135
+ }
136
+ const mergedConfig = mergeConfig(existingConfig, rootPath);
137
+ const configJson = JSON.stringify(mergedConfig, null, 2);
138
+ console.error(`\nMCP configuration for ${targetLabel}:`);
139
+ console.error(` Config: ${configPath}`);
140
+ console.error("");
141
+ console.error(configJson);
142
+ console.error("");
143
+ if (!shouldWrite) {
144
+ console.error(`To apply: Run with --write flag, then restart ${targetLabel}.`);
145
+ console.error(` knowledgine setup --target ${target} --path ${rootPath} --write`);
146
+ console.error("");
147
+ console.error("Run 'knowledgine status' to verify your setup.");
148
+ return;
149
+ }
150
+ // Write config
151
+ const configDir = resolve(configPath, "..");
152
+ if (!existsSync(configDir)) {
153
+ mkdirSync(configDir, { recursive: true });
154
+ }
155
+ // Backup existing file
156
+ if (existsSync(configPath)) {
157
+ const backupPath = configPath + ".bak";
158
+ copyFileSync(configPath, backupPath);
159
+ console.error(`Backup created: ${backupPath}`);
160
+ }
161
+ writeFileSync(configPath, configJson + "\n", "utf-8");
162
+ console.error(`Config written: ${configPath}`);
163
+ console.error("");
164
+ console.error(`Restart ${targetLabel} to activate knowledgine.`);
165
+ console.error("Run 'knowledgine status' to verify your setup.");
166
+ }
167
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export interface StartOptions {
2
2
  path?: string;
3
+ ingest?: boolean;
3
4
  }
4
5
  export declare function startCommand(options: StartOptions): Promise<void>;
5
6
  //# sourceMappingURL=start.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EvE"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAoBA,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,CAgNvE"}
@@ -1,28 +1,104 @@
1
1
  import { resolve } from "path";
2
2
  import { mkdirSync } from "fs";
3
3
  import { watch } from "chokidar";
4
- import { defineConfig, createDatabase, Migrator, KnowledgeRepository, FileProcessor, PatternExtractor, ALL_MIGRATIONS, } from "@knowledgine/core";
4
+ import { loadConfig, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, GraphRepository, FeedbackRepository, FileProcessor, PatternExtractor, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, } from "@knowledgine/core";
5
5
  import { createKnowledgineMcpServer, StdioServerTransport } from "@knowledgine/mcp-server";
6
6
  import { indexFile } from "../lib/indexer.js";
7
7
  export async function startCommand(options) {
8
8
  const rootPath = resolve(options.path ?? process.cwd());
9
9
  // Ensure .knowledgine directory exists
10
10
  mkdirSync(resolve(rootPath, ".knowledgine"), { recursive: true });
11
- // Initialize database + migrations
12
- const config = defineConfig({ rootPath });
11
+ // Load config (respects .knowledginerc.json and env vars)
12
+ const config = loadConfig(rootPath);
13
+ // Auto-detect model for backward compatibility
14
+ if (!config.embedding.enabled) {
15
+ const modelManager = new ModelManager();
16
+ if (modelManager.isModelAvailable(config.embedding.modelName)) {
17
+ config.embedding.enabled = true;
18
+ console.error("[knowledgine] Semantic search enabled (model detected)");
19
+ }
20
+ }
21
+ // Initialize database
13
22
  const db = createDatabase(config.dbPath);
23
+ // Load sqlite-vec if semantic search is enabled
24
+ if (config.embedding.enabled) {
25
+ await loadSqliteVecExtension(db);
26
+ }
14
27
  new Migrator(db, ALL_MIGRATIONS).migrate();
15
28
  const repository = new KnowledgeRepository(db);
29
+ const graphRepository = new GraphRepository(db);
30
+ const feedbackRepository = new FeedbackRepository(db);
16
31
  // Warn if no notes indexed (H-8)
17
32
  const stats = repository.getStats();
18
33
  if (stats.totalNotes === 0) {
19
34
  console.error("Warning: No notes indexed. Run `knowledgine init` first.");
20
35
  }
36
+ // Initialize embedding provider if model is available and semantic is enabled
37
+ let embeddingProvider;
38
+ if (config.embedding.enabled) {
39
+ const modelManager = new ModelManager();
40
+ if (modelManager.isModelAvailable()) {
41
+ embeddingProvider = new OnnxEmbeddingProvider(undefined, modelManager);
42
+ }
43
+ else {
44
+ // Warn if notes exist but no embeddings
45
+ const notesWithout = repository.getNotesWithoutEmbeddings();
46
+ if (notesWithout.length > 0) {
47
+ console.error(`Warning: ${notesWithout.length} notes have no embeddings. ` +
48
+ "Semantic search unavailable. Run 'knowledgine upgrade --semantic' to download the model and generate embeddings.");
49
+ }
50
+ }
51
+ }
52
+ else {
53
+ console.error("[knowledgine] Running with FTS5 full-text search only");
54
+ }
21
55
  // Start MCP server via stdio
22
- const server = createKnowledgineMcpServer(repository, rootPath);
56
+ const server = createKnowledgineMcpServer({
57
+ repository,
58
+ rootPath,
59
+ embeddingProvider,
60
+ graphRepository,
61
+ feedbackRepository,
62
+ db,
63
+ });
23
64
  const transport = new StdioServerTransport();
24
65
  await server.connect(transport);
25
66
  console.error("MCP server started on stdio");
67
+ // IngestEngine integration (only when --ingest flag is set)
68
+ let ingestWatcher;
69
+ let ingestRegistry;
70
+ if (options.ingest) {
71
+ const { createDefaultRegistry, initializePlugins } = await import("../lib/plugin-loader.js");
72
+ const { IngestEngine } = await import("@knowledgine/ingest");
73
+ const { IngestWatcher } = await import("../lib/ingest-watcher.js");
74
+ ingestRegistry = createDefaultRegistry();
75
+ const initResults = await initializePlugins(ingestRegistry);
76
+ // Warn about failed plugins but continue
77
+ for (const [pluginId, result] of initResults) {
78
+ if (!result.ok) {
79
+ console.error(`Warning: Plugin "${pluginId}" failed to initialize: ${result.error}`);
80
+ }
81
+ }
82
+ const engine = new IngestEngine(ingestRegistry, db, repository);
83
+ ingestWatcher = new IngestWatcher({
84
+ engine,
85
+ registry: ingestRegistry,
86
+ rootPath,
87
+ onComplete: (summaries) => {
88
+ const total = summaries.reduce((acc, s) => acc + s.processed, 0);
89
+ const errors = summaries.reduce((acc, s) => acc + s.errors, 0);
90
+ console.error(`Ingest complete: ${total} events processed, ${errors} errors`);
91
+ },
92
+ onError: (pluginId, error) => {
93
+ console.error(`Ingest error (${pluginId}): ${error.message}`);
94
+ },
95
+ });
96
+ // Run initial ingest in background (don't block MCP responses)
97
+ ingestWatcher.runInitialIngest().catch((error) => {
98
+ console.error(`Initial ingest failed: ${error instanceof Error ? error.message : String(error)}`);
99
+ });
100
+ console.error("IngestEngine started (background ingestion)");
101
+ }
26
102
  // File watcher for auto-reindexing
27
103
  const fileProcessor = new FileProcessor();
28
104
  const patternExtractor = new PatternExtractor();
@@ -34,7 +110,14 @@ export async function startCommand(options) {
34
110
  });
35
111
  watcher.on("add", async (filePath) => {
36
112
  try {
37
- await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository);
113
+ const noteId = await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository);
114
+ if (embeddingProvider) {
115
+ const note = repository.getNoteById(noteId);
116
+ if (note) {
117
+ const embedding = await embeddingProvider.embed(note.content);
118
+ repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
119
+ }
120
+ }
38
121
  console.error(`Indexed: ${filePath}`);
39
122
  }
40
123
  catch (error) {
@@ -43,7 +126,14 @@ export async function startCommand(options) {
43
126
  });
44
127
  watcher.on("change", async (filePath) => {
45
128
  try {
46
- await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository);
129
+ const noteId = await indexFile(filePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository);
130
+ if (embeddingProvider) {
131
+ const note = repository.getNoteById(noteId);
132
+ if (note) {
133
+ const embedding = await embeddingProvider.embed(note.content);
134
+ repository.saveEmbedding(noteId, embedding, config.embedding.modelName);
135
+ }
136
+ }
47
137
  console.error(`Re-indexed: ${filePath}`);
48
138
  }
49
139
  catch (error) {
@@ -62,6 +152,15 @@ export async function startCommand(options) {
62
152
  // Graceful shutdown
63
153
  const shutdown = async () => {
64
154
  console.error("Shutting down...");
155
+ if (ingestWatcher) {
156
+ await ingestWatcher.stop();
157
+ }
158
+ if (ingestRegistry) {
159
+ await ingestRegistry.disposeAll();
160
+ }
161
+ if (embeddingProvider) {
162
+ await embeddingProvider.close();
163
+ }
65
164
  await watcher.close();
66
165
  db.close();
67
166
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface StatusOptions {
2
+ path?: string;
3
+ }
4
+ export declare function statusCommand(options: StatusOptions): Promise<void>;
5
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA0CD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+FzE"}
@@ -0,0 +1,121 @@
1
+ import { resolve, join } from "path";
2
+ import { existsSync, statSync, readFileSync } from "fs";
3
+ import { homedir } from "os";
4
+ import { loadConfig, createDatabase, Migrator, KnowledgeRepository, ALL_MIGRATIONS, ModelManager, } from "@knowledgine/core";
5
+ function formatBytes(bytes) {
6
+ if (bytes < 1024)
7
+ return `${bytes} B`;
8
+ if (bytes < 1024 * 1024)
9
+ return `${(bytes / 1024).toFixed(1)} KB`;
10
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
11
+ }
12
+ function getClaudeDesktopConfigPath() {
13
+ switch (process.platform) {
14
+ case "darwin":
15
+ return join(homedir(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
16
+ case "linux":
17
+ return join(homedir(), ".config", "claude", "claude_desktop_config.json");
18
+ case "win32":
19
+ return join(process.env["APPDATA"] ?? join(homedir(), "AppData", "Roaming"), "Claude", "claude_desktop_config.json");
20
+ default:
21
+ return join(homedir(), ".config", "claude", "claude_desktop_config.json");
22
+ }
23
+ }
24
+ function getCursorConfigPath() {
25
+ return join(homedir(), ".cursor", "mcp.json");
26
+ }
27
+ function checkMcpConfig(configPath) {
28
+ if (!existsSync(configPath))
29
+ return false;
30
+ try {
31
+ const raw = readFileSync(configPath, "utf-8");
32
+ const config = JSON.parse(raw);
33
+ return config.mcpServers != null && "knowledgine" in config.mcpServers;
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
39
+ export async function statusCommand(options) {
40
+ const rootPath = resolve(options.path ?? process.cwd());
41
+ const knowledgineDir = resolve(rootPath, ".knowledgine");
42
+ const dbPath = resolve(knowledgineDir, "index.sqlite");
43
+ console.error("");
44
+ // Database check
45
+ if (!existsSync(knowledgineDir) || !existsSync(dbPath)) {
46
+ console.error(" Status: Not initialized");
47
+ console.error(` Run 'knowledgine init --path ${rootPath}' to get started.`);
48
+ console.error("");
49
+ return;
50
+ }
51
+ const dbStat = statSync(dbPath);
52
+ console.error(` Database: ${dbPath} (${formatBytes(dbStat.size)})`);
53
+ // Open DB and get stats
54
+ let totalNotes = 0;
55
+ let totalPatterns = 0;
56
+ let notesWithoutEmbeddings = 0;
57
+ try {
58
+ const db = createDatabase(dbPath);
59
+ new Migrator(db, ALL_MIGRATIONS).migrate();
60
+ const repository = new KnowledgeRepository(db);
61
+ const stats = repository.getStats();
62
+ totalNotes = stats.totalNotes;
63
+ totalPatterns = stats.totalPatterns;
64
+ notesWithoutEmbeddings = repository.getNotesWithoutEmbeddings().length;
65
+ db.close();
66
+ }
67
+ catch (error) {
68
+ console.error(` Error reading database: ${error instanceof Error ? error.message : String(error)}`);
69
+ console.error("");
70
+ return;
71
+ }
72
+ const embeddingsGenerated = totalNotes - notesWithoutEmbeddings;
73
+ console.error(` Notes: ${totalNotes} indexed`);
74
+ console.error(` Patterns: ${totalPatterns} extracted`);
75
+ console.error(` Embeddings: ${embeddingsGenerated}/${totalNotes} generated`);
76
+ // Model check
77
+ const modelManager = new ModelManager();
78
+ const modelAvailable = modelManager.isModelAvailable();
79
+ console.error(` Model: all-MiniLM-L6-v2 (${modelAvailable ? "available" : "not found"})`);
80
+ // Semantic search mode
81
+ const config = loadConfig(rootPath);
82
+ const semanticMode = config.embedding.enabled || modelAvailable;
83
+ console.error(` Search mode: ${semanticMode ? "semantic + FTS5" : "FTS5 only"}`);
84
+ // MCP config checks
85
+ const targets = [
86
+ {
87
+ name: "Claude Desktop",
88
+ configured: checkMcpConfig(getClaudeDesktopConfigPath()),
89
+ configPath: getClaudeDesktopConfigPath(),
90
+ },
91
+ {
92
+ name: "Cursor",
93
+ configured: checkMcpConfig(getCursorConfigPath()),
94
+ configPath: getCursorConfigPath(),
95
+ },
96
+ ];
97
+ console.error(" MCP Config:");
98
+ for (const t of targets) {
99
+ const status = t.configured ? "configured" : "not configured";
100
+ console.error(` ${t.name}: ${status}`);
101
+ }
102
+ // Overall status
103
+ const isReady = totalNotes > 0;
104
+ const statusLabel = isReady
105
+ ? semanticMode
106
+ ? "Ready (semantic + FTS5)"
107
+ : "Ready (FTS5 only)"
108
+ : "Not initialized";
109
+ console.error(` Status: ${statusLabel}`);
110
+ if (!semanticMode && totalNotes > 0) {
111
+ console.error("");
112
+ console.error(" Hint: Run 'knowledgine upgrade --semantic' to enable semantic search.");
113
+ }
114
+ const unconfigured = targets.filter((t) => !t.configured);
115
+ if (unconfigured.length > 0 && totalNotes > 0) {
116
+ console.error("");
117
+ console.error(" Hint: Run 'knowledgine setup' to configure your AI tool.");
118
+ }
119
+ console.error("");
120
+ }
121
+ //# 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":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,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,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAyCf;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"}