@knowledgine/cli 0.2.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 +13 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +116 -11
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/demo.d.ts.map +1 -1
- package/dist/commands/demo.js +23 -19
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +62 -21
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/ingest.d.ts +1 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +82 -18
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +88 -60
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +14 -13
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +35 -12
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.d.ts +48 -5
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +263 -99
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +27 -20
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +81 -53
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tool.d.ts.map +1 -1
- package/dist/commands/tool.js +5 -5
- package/dist/commands/tool.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +64 -18
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/index.js +51 -17
- package/dist/index.js.map +1 -1
- 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.map +1 -1
- package/dist/lib/formatter.js +35 -32
- package/dist/lib/formatter.js.map +1 -1
- package/dist/lib/indexer.d.ts +2 -0
- package/dist/lib/indexer.d.ts.map +1 -1
- package/dist/lib/indexer.js +2 -0
- package/dist/lib/indexer.js.map +1 -1
- package/dist/lib/ingest-watcher.d.ts.map +1 -1
- package/dist/lib/ingest-watcher.js +1 -0
- package/dist/lib/ingest-watcher.js.map +1 -1
- package/dist/lib/progress.d.ts +6 -0
- package/dist/lib/progress.d.ts.map +1 -1
- package/dist/lib/progress.js +42 -5
- package/dist/lib/progress.js.map +1 -1
- 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.map +1 -1
- package/dist/lib/url-validator.js +5 -1
- package/dist/lib/url-validator.js.map +1 -1
- package/fixtures/demo/notes/api-design-decisions.md +7 -2
- package/fixtures/demo/notes/auth-debugging.md +8 -0
- package/fixtures/demo/notes/ci-cd-pipeline.md +7 -0
- package/fixtures/demo/notes/code-review-notes.md +7 -0
- package/fixtures/demo/notes/database-optimization.md +8 -0
- package/fixtures/demo/notes/docker-troubleshooting.md +7 -1
- package/fixtures/demo/notes/react-performance.md +7 -6
- package/fixtures/demo/notes/typescript-migration.md +13 -4
- package/package.json +11 -4
package/dist/commands/upgrade.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { resolve } from "path";
|
|
2
2
|
import { existsSync } from "fs";
|
|
3
|
-
import { loadConfig, writeRcConfig, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, downloadModel, } from "@knowledgine/core";
|
|
3
|
+
import { loadConfig, writeRcConfig, resolveDefaultPath, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, DEFAULT_MODEL_NAME, downloadModel, } from "@knowledgine/core";
|
|
4
4
|
import { createProgress } from "../lib/progress.js";
|
|
5
|
+
import { colors, symbols, createBox } from "../lib/ui/index.js";
|
|
5
6
|
export async function upgradeCommand(options) {
|
|
6
|
-
const rootPath =
|
|
7
|
+
const rootPath = resolveDefaultPath(options.path);
|
|
7
8
|
if (!options.semantic) {
|
|
8
9
|
console.error("Usage: knowledgine upgrade --semantic");
|
|
9
10
|
console.error("");
|
|
@@ -14,20 +15,60 @@ export async function upgradeCommand(options) {
|
|
|
14
15
|
// Check initialization
|
|
15
16
|
const knowledgineDir = resolve(rootPath, ".knowledgine");
|
|
16
17
|
if (!existsSync(knowledgineDir)) {
|
|
17
|
-
console.error(`Error: Not initialized. Run 'knowledgine init --path ${rootPath}' first.`);
|
|
18
|
+
console.error(colors.error(`Error: Not initialized. Run 'knowledgine init --path ${rootPath}' first.`));
|
|
18
19
|
process.exitCode = 1;
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
21
22
|
const config = loadConfig(rootPath);
|
|
22
23
|
config.embedding.enabled = true;
|
|
23
24
|
const db = createDatabase(config.dbPath);
|
|
24
|
-
await loadSqliteVecExtension(db);
|
|
25
|
+
const vecLoaded = await loadSqliteVecExtension(db);
|
|
25
26
|
new Migrator(db, ALL_MIGRATIONS).migrate();
|
|
27
|
+
// Ensure vec0 virtual table exists and is populated
|
|
28
|
+
if (vecLoaded) {
|
|
29
|
+
// Create vec table if it doesn't exist
|
|
30
|
+
try {
|
|
31
|
+
db.prepare("SELECT COUNT(*) FROM note_embeddings_vec").get();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
db.exec(`
|
|
35
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS note_embeddings_vec USING vec0(
|
|
36
|
+
note_id INTEGER PRIMARY KEY,
|
|
37
|
+
embedding FLOAT[384]
|
|
38
|
+
);
|
|
39
|
+
CREATE TRIGGER IF NOT EXISTS note_embeddings_ad AFTER DELETE ON note_embeddings BEGIN
|
|
40
|
+
DELETE FROM note_embeddings_vec WHERE note_id = old.note_id;
|
|
41
|
+
END;
|
|
42
|
+
`);
|
|
43
|
+
}
|
|
44
|
+
// Backfill: sync embeddings that exist in note_embeddings but not in note_embeddings_vec
|
|
45
|
+
const vecCount = db.prepare("SELECT COUNT(*) as c FROM note_embeddings_vec").get().c;
|
|
46
|
+
const embCount = db.prepare("SELECT COUNT(*) as c FROM note_embeddings").get().c;
|
|
47
|
+
if (embCount > 0 && vecCount < embCount) {
|
|
48
|
+
// Find embeddings missing from vec table
|
|
49
|
+
const missing = db
|
|
50
|
+
.prepare(`
|
|
51
|
+
SELECT e.note_id, e.embedding FROM note_embeddings e
|
|
52
|
+
WHERE e.note_id NOT IN (SELECT note_id FROM note_embeddings_vec)
|
|
53
|
+
`)
|
|
54
|
+
.all();
|
|
55
|
+
if (missing.length > 0) {
|
|
56
|
+
const insert = db.prepare("INSERT INTO note_embeddings_vec (note_id, embedding) VALUES (CAST(? AS INTEGER), ?)");
|
|
57
|
+
const tx = db.transaction(() => {
|
|
58
|
+
for (const row of missing) {
|
|
59
|
+
insert.run(row.note_id, row.embedding);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
tx();
|
|
63
|
+
console.error(`Synced ${missing.length} embeddings into vector index.`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
26
67
|
const repository = new KnowledgeRepository(db);
|
|
27
68
|
// Download model
|
|
28
69
|
const modelManager = new ModelManager();
|
|
29
70
|
if (!modelManager.isModelAvailable()) {
|
|
30
|
-
console.error("Downloading embedding model (~23MB)...");
|
|
71
|
+
console.error(colors.info("Downloading embedding model (~23MB)..."));
|
|
31
72
|
try {
|
|
32
73
|
await downloadModel(modelManager, {
|
|
33
74
|
onProgress: (progress) => {
|
|
@@ -38,26 +79,29 @@ export async function upgradeCommand(options) {
|
|
|
38
79
|
}
|
|
39
80
|
},
|
|
40
81
|
onFileComplete: (file) => {
|
|
41
|
-
process.stderr.write(`\r
|
|
82
|
+
process.stderr.write(`\r ${symbols.success} ${file} \n`);
|
|
42
83
|
},
|
|
43
84
|
});
|
|
44
|
-
console.error("Model download complete.");
|
|
85
|
+
console.error(`${symbols.success} ${colors.success("Model download complete.")}`);
|
|
45
86
|
}
|
|
46
87
|
catch (error) {
|
|
47
|
-
console.error(`\nModel download failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
48
|
-
console.error("Semantic search upgrade aborted.");
|
|
88
|
+
console.error(colors.error(`\nModel download failed: ${error instanceof Error ? error.message : String(error)}`));
|
|
89
|
+
console.error(colors.error("Semantic search upgrade aborted."));
|
|
49
90
|
db.close();
|
|
50
91
|
process.exitCode = 1;
|
|
51
92
|
return;
|
|
52
93
|
}
|
|
53
94
|
}
|
|
54
95
|
else {
|
|
55
|
-
console.error("Embedding model already available.");
|
|
96
|
+
console.error(`${symbols.success} ${colors.success("Embedding model already available.")}`);
|
|
56
97
|
}
|
|
57
98
|
// Generate embeddings for notes that don't have them
|
|
58
|
-
const embeddingProvider = new OnnxEmbeddingProvider(
|
|
99
|
+
const embeddingProvider = new OnnxEmbeddingProvider(DEFAULT_MODEL_NAME, modelManager);
|
|
59
100
|
const notesWithout = repository.getNotesWithoutEmbeddings();
|
|
60
101
|
if (notesWithout.length > 0) {
|
|
102
|
+
// Warm up the ONNX session (first call is slow due to model loading)
|
|
103
|
+
console.error(colors.info("\nLoading embedding model..."));
|
|
104
|
+
await embeddingProvider.embed("warmup");
|
|
61
105
|
console.error("");
|
|
62
106
|
const embProgress = createProgress(notesWithout.length, "Generating embeddings");
|
|
63
107
|
let generated = 0;
|
|
@@ -74,18 +118,20 @@ export async function upgradeCommand(options) {
|
|
|
74
118
|
}
|
|
75
119
|
}
|
|
76
120
|
embProgress.finish();
|
|
77
|
-
console.error(` Generated: ${generated}, Failed: ${failed}`);
|
|
121
|
+
console.error(` ${symbols.success} ${colors.success(`Generated: ${generated}`)}, Failed: ${failed}`);
|
|
78
122
|
}
|
|
79
123
|
else {
|
|
80
|
-
console.error("All notes already have embeddings.");
|
|
124
|
+
console.error(`${symbols.success} ${colors.success("All notes already have embeddings.")}`);
|
|
81
125
|
}
|
|
82
126
|
// Write .knowledginerc.json
|
|
83
127
|
writeRcConfig(rootPath, { semantic: true });
|
|
84
|
-
console.error(""
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
128
|
+
console.error("\n" +
|
|
129
|
+
createBox([
|
|
130
|
+
`${symbols.success} ${colors.success("Semantic search enabled")}`,
|
|
131
|
+
` Config: .knowledginerc.json written`,
|
|
132
|
+
"",
|
|
133
|
+
`${symbols.arrow} ${colors.hint("Restart MCP server to activate.")}`,
|
|
134
|
+
].join("\n"), { title: "Upgrade Complete", type: "success" }));
|
|
89
135
|
db.close();
|
|
90
136
|
}
|
|
91
137
|
//# sourceMappingURL=upgrade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,11 +8,12 @@ import { statusCommand } from "./commands/status.js";
|
|
|
8
8
|
import { upgradeCommand } from "./commands/upgrade.js";
|
|
9
9
|
import { ingestCommand } from "./commands/ingest.js";
|
|
10
10
|
import { pluginsListCommand, pluginsStatusCommand } from "./commands/plugins.js";
|
|
11
|
-
import { feedbackListCommand, feedbackApplyCommand, feedbackDismissCommand, feedbackStatsCommand, } from "./commands/feedback.js";
|
|
11
|
+
import { feedbackListCommand, feedbackApplyCommand, feedbackDismissCommand, feedbackStatsCommand, feedbackReportCommand, } from "./commands/feedback.js";
|
|
12
12
|
import { demoCommand } from "./commands/demo.js";
|
|
13
13
|
import { searchCommand } from "./commands/search.js";
|
|
14
|
-
import {
|
|
14
|
+
import { captureAddCommand, captureListCommand, captureDeleteCommand } from "./commands/capture.js";
|
|
15
15
|
import { registerToolCommands } from "./commands/tool.js";
|
|
16
|
+
import { createOutputErrorHandler } from "./lib/unknown-command-handler.js";
|
|
16
17
|
const program = new Command();
|
|
17
18
|
program
|
|
18
19
|
.name("knowledgine")
|
|
@@ -54,13 +55,14 @@ Example:
|
|
|
54
55
|
program
|
|
55
56
|
.command("setup")
|
|
56
57
|
.description("Generate MCP configuration for AI tools")
|
|
57
|
-
.option("--target <tool>", "Target AI tool (claude-desktop, cursor)")
|
|
58
|
+
.option("--target <tool>", "Target AI tool (claude-desktop, cursor, claude-code)")
|
|
58
59
|
.option("--path <dir>", "Root directory of indexed notes")
|
|
59
60
|
.option("--write", "Write configuration to file (default: dry-run)")
|
|
60
61
|
.addHelpText("after", `
|
|
61
62
|
Examples:
|
|
62
63
|
knowledgine setup --target claude-desktop --path ~/notes
|
|
63
|
-
knowledgine setup --target cursor --path ~/notes --write
|
|
64
|
+
knowledgine setup --target cursor --path ~/notes --write
|
|
65
|
+
knowledgine setup --target claude-code --path ~/notes`)
|
|
64
66
|
.action(setupCommand);
|
|
65
67
|
program
|
|
66
68
|
.command("status")
|
|
@@ -86,22 +88,23 @@ program
|
|
|
86
88
|
.option("--path <dir>", "Root directory")
|
|
87
89
|
.option("--full", "Force full re-ingest (ignore cursor)")
|
|
88
90
|
.option("--all", "Run all registered plugins")
|
|
91
|
+
.option("--repo <owner/repo>", "GitHub repository (required for --source github)")
|
|
92
|
+
.addHelpText("after", `
|
|
93
|
+
Examples:
|
|
94
|
+
knowledgine ingest --source markdown --path ~/notes
|
|
95
|
+
knowledgine ingest --source github --repo owner/repo --path ~/notes
|
|
96
|
+
knowledgine ingest --source claude-sessions --path ~/notes
|
|
97
|
+
knowledgine ingest --all --path ~/notes
|
|
98
|
+
knowledgine ingest --source markdown --full --path ~/notes`)
|
|
89
99
|
.action(ingestCommand);
|
|
90
|
-
const pluginsCmd = program
|
|
91
|
-
|
|
92
|
-
.description("Manage ingest plugins");
|
|
93
|
-
pluginsCmd
|
|
94
|
-
.command("list")
|
|
95
|
-
.description("List registered plugins")
|
|
96
|
-
.action(pluginsListCommand);
|
|
100
|
+
const pluginsCmd = program.command("plugins").description("Manage ingest plugins");
|
|
101
|
+
pluginsCmd.command("list").description("List registered plugins").action(pluginsListCommand);
|
|
97
102
|
pluginsCmd
|
|
98
103
|
.command("status")
|
|
99
104
|
.option("--path <dir>", "Root directory")
|
|
100
105
|
.description("Show plugin ingest status")
|
|
101
106
|
.action(pluginsStatusCommand);
|
|
102
|
-
const feedbackCmd = program
|
|
103
|
-
.command("feedback")
|
|
104
|
-
.description("Manage extraction feedback");
|
|
107
|
+
const feedbackCmd = program.command("feedback").description("Manage extraction feedback");
|
|
105
108
|
feedbackCmd
|
|
106
109
|
.command("list")
|
|
107
110
|
.description("List feedback records")
|
|
@@ -123,6 +126,16 @@ feedbackCmd
|
|
|
123
126
|
.description("Show feedback statistics")
|
|
124
127
|
.option("--path <dir>", "Root directory")
|
|
125
128
|
.action(feedbackStatsCommand);
|
|
129
|
+
feedbackCmd
|
|
130
|
+
.command("report")
|
|
131
|
+
.description("Report an entity extraction error")
|
|
132
|
+
.requiredOption("--entity <name>", "Entity name")
|
|
133
|
+
.requiredOption("--type <errorType>", "Error type: false_positive, wrong_type, missed_entity")
|
|
134
|
+
.option("--entity-type <type>", "Current entity type")
|
|
135
|
+
.option("--correct-type <type>", "Correct entity type (for wrong_type)")
|
|
136
|
+
.option("--details <text>", "Additional details")
|
|
137
|
+
.option("--path <dir>", "Root directory")
|
|
138
|
+
.action(feedbackReportCommand);
|
|
126
139
|
program
|
|
127
140
|
.command("demo")
|
|
128
141
|
.description("Show demo usage information or clean up demo files")
|
|
@@ -149,8 +162,9 @@ program
|
|
|
149
162
|
path: opts.path,
|
|
150
163
|
});
|
|
151
164
|
});
|
|
152
|
-
program
|
|
153
|
-
|
|
165
|
+
const captureCmd = program.command("capture").description("Capture and manage knowledge snippets");
|
|
166
|
+
captureCmd
|
|
167
|
+
.command("add [text]")
|
|
154
168
|
.description("Capture knowledge from text, URL, or file")
|
|
155
169
|
.option("-u, --url <url>", "URL to fetch and capture")
|
|
156
170
|
.option("-f, --file <path>", "File path to capture")
|
|
@@ -158,7 +172,27 @@ program
|
|
|
158
172
|
.option("--title <title>", "Title for the captured knowledge")
|
|
159
173
|
.option("--path <dir>", "Root directory")
|
|
160
174
|
.option("--format <format>", "Output format: json, plain", "plain")
|
|
161
|
-
.action(
|
|
175
|
+
.action(captureAddCommand);
|
|
176
|
+
captureCmd
|
|
177
|
+
.command("list")
|
|
178
|
+
.description("List captured notes")
|
|
179
|
+
.option("--path <dir>", "Root directory")
|
|
180
|
+
.option("--format <format>", "Output format: json, plain", "plain")
|
|
181
|
+
.action(captureListCommand);
|
|
182
|
+
captureCmd
|
|
183
|
+
.command("delete <id>")
|
|
184
|
+
.description("Delete a captured note")
|
|
185
|
+
.option("--path <dir>", "Root directory")
|
|
186
|
+
.action(captureDeleteCommand);
|
|
162
187
|
registerToolCommands(program);
|
|
188
|
+
program.showSuggestionAfterError(true);
|
|
189
|
+
program.configureOutput({
|
|
190
|
+
outputError: createOutputErrorHandler(() => program.commands.map((c) => c.name())),
|
|
191
|
+
});
|
|
192
|
+
// Global error handler for unhandled exceptions (e.g., native module errors)
|
|
193
|
+
process.on("uncaughtException", (error) => {
|
|
194
|
+
console.error(`Error: ${error.message}`);
|
|
195
|
+
process.exit(1);
|
|
196
|
+
});
|
|
163
197
|
program.parse();
|
|
164
198
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { KnowledgeRepository, GraphRepository } from "@knowledgine/core";
|
|
2
|
+
export interface PostIngestSummary {
|
|
3
|
+
totalNotes: number;
|
|
4
|
+
processedNotes: number;
|
|
5
|
+
totalEntities: number;
|
|
6
|
+
totalRelations: number;
|
|
7
|
+
totalPatterns: number;
|
|
8
|
+
errors: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 全ノートに対してパターン抽出、エンティティ抽出、関係推論をバッチ実行する。
|
|
12
|
+
* init コマンドから ingest パイプライン経由でノートが保存された後に呼ばれる。
|
|
13
|
+
*/
|
|
14
|
+
export declare function postIngestProcessing(repository: KnowledgeRepository, graphRepository: GraphRepository, onProgress?: (current: number, total: number) => void): Promise<PostIngestSummary>;
|
|
15
|
+
//# sourceMappingURL=entity-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/lib/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EAIhB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAkBD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,EAC/B,eAAe,EAAE,eAAe,EAChC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,iBAAiB,CAAC,CAuE5B"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { KnowledgeRepository, GraphRepository, EntityExtractor, RelationInferrer, PatternExtractor, } from "@knowledgine/core";
|
|
2
|
+
/**
|
|
3
|
+
* Deduplicate patterns by (type, lineNumber, content) key.
|
|
4
|
+
*/
|
|
5
|
+
function deduplicatePatterns(patterns) {
|
|
6
|
+
const seen = new Set();
|
|
7
|
+
const result = [];
|
|
8
|
+
for (const p of patterns) {
|
|
9
|
+
const key = JSON.stringify([p.type, p.lineNumber ?? null, p.content]);
|
|
10
|
+
if (!seen.has(key)) {
|
|
11
|
+
seen.add(key);
|
|
12
|
+
result.push(p);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 全ノートに対してパターン抽出、エンティティ抽出、関係推論をバッチ実行する。
|
|
19
|
+
* init コマンドから ingest パイプライン経由でノートが保存された後に呼ばれる。
|
|
20
|
+
*/
|
|
21
|
+
export async function postIngestProcessing(repository, graphRepository, onProgress) {
|
|
22
|
+
const notes = repository.getAllNotes();
|
|
23
|
+
const patternExtractor = new PatternExtractor();
|
|
24
|
+
const entityExtractor = new EntityExtractor();
|
|
25
|
+
const inferrer = new RelationInferrer();
|
|
26
|
+
let processedNotes = 0;
|
|
27
|
+
let totalEntities = 0;
|
|
28
|
+
let totalRelations = 0;
|
|
29
|
+
let totalPatterns = 0;
|
|
30
|
+
let errors = 0;
|
|
31
|
+
for (const note of notes) {
|
|
32
|
+
try {
|
|
33
|
+
const frontmatter = note.frontmatter_json ? JSON.parse(note.frontmatter_json) : {};
|
|
34
|
+
const now = new Date().toISOString();
|
|
35
|
+
// Pattern extraction
|
|
36
|
+
const dailyPatterns = patternExtractor.extractDailyPatterns(note.content);
|
|
37
|
+
const ticketPatterns = patternExtractor.extractTicketPatterns(note.content);
|
|
38
|
+
const allPatterns = deduplicatePatterns([...dailyPatterns, ...ticketPatterns]);
|
|
39
|
+
repository.savePatterns(note.id, allPatterns);
|
|
40
|
+
totalPatterns += allPatterns.length;
|
|
41
|
+
// Entity extraction
|
|
42
|
+
const extractedEntities = entityExtractor.extract(note.content, frontmatter);
|
|
43
|
+
const entityList = [];
|
|
44
|
+
for (const entity of extractedEntities) {
|
|
45
|
+
const entityId = graphRepository.upsertEntity({
|
|
46
|
+
name: entity.name,
|
|
47
|
+
entityType: entity.entityType,
|
|
48
|
+
createdAt: now,
|
|
49
|
+
});
|
|
50
|
+
graphRepository.linkEntityToNote(entityId, note.id);
|
|
51
|
+
entityList.push({ name: entity.name, entityType: entity.entityType });
|
|
52
|
+
}
|
|
53
|
+
totalEntities += extractedEntities.length;
|
|
54
|
+
// Relation inference
|
|
55
|
+
const inferredRelations = inferrer.infer(entityList, frontmatter);
|
|
56
|
+
for (const rel of inferredRelations) {
|
|
57
|
+
const fromEntity = graphRepository.getEntityByName(rel.fromName, rel.fromType);
|
|
58
|
+
const toEntity = graphRepository.getEntityByName(rel.toName, rel.toType);
|
|
59
|
+
if (fromEntity?.id && toEntity?.id) {
|
|
60
|
+
graphRepository.upsertRelation({
|
|
61
|
+
fromEntityId: fromEntity.id,
|
|
62
|
+
toEntityId: toEntity.id,
|
|
63
|
+
relationType: rel.relationType,
|
|
64
|
+
strength: rel.strength,
|
|
65
|
+
createdAt: now,
|
|
66
|
+
});
|
|
67
|
+
totalRelations++;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
processedNotes++;
|
|
71
|
+
onProgress?.(processedNotes, notes.length);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
errors++;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
totalNotes: notes.length,
|
|
79
|
+
processedNotes,
|
|
80
|
+
totalEntities,
|
|
81
|
+
totalRelations,
|
|
82
|
+
totalPatterns,
|
|
83
|
+
errors,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=entity-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/lib/entity-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/lib/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/lib/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACzC,MAAM,EAAE,YAAY,GACnB,MAAM,CAeR;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAsB1F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAgC5E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAiBzF"}
|
package/dist/lib/formatter.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createTable, colors, scoreColor } from "./ui/index.js";
|
|
1
2
|
export function formatSearchResults(results, format) {
|
|
2
3
|
if (format === "json") {
|
|
3
4
|
return JSON.stringify(results, null, 2);
|
|
@@ -8,10 +9,12 @@ export function formatSearchResults(results, format) {
|
|
|
8
9
|
// table
|
|
9
10
|
if (results.length === 0)
|
|
10
11
|
return "";
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const rows = results.map((r) => [
|
|
13
|
+
scoreColor(r.score)(r.score.toFixed(2)),
|
|
14
|
+
r.title,
|
|
15
|
+
colors.dim(r.filePath),
|
|
16
|
+
]);
|
|
17
|
+
return createTable({ head: ["Score", "Title", "File"], rows });
|
|
15
18
|
}
|
|
16
19
|
export function formatRelatedNotes(result, format) {
|
|
17
20
|
if (format === "json") {
|
|
@@ -25,19 +28,16 @@ export function formatRelatedNotes(result, format) {
|
|
|
25
28
|
return lines.join("\n");
|
|
26
29
|
}
|
|
27
30
|
// table
|
|
28
|
-
const
|
|
29
|
-
if (result.relatedNotes.length
|
|
30
|
-
|
|
31
|
-
lines.push(header);
|
|
32
|
-
lines.push(" " + "-".repeat(header.length - 2));
|
|
33
|
-
for (const n of result.relatedNotes) {
|
|
34
|
-
lines.push(` ${n.score.toFixed(2).padEnd(7)}${n.title.slice(0, 38).padEnd(40)}${n.filePath}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
lines.push(" (no related notes found)");
|
|
31
|
+
const header = `Related notes for noteId=${result.noteId}:`;
|
|
32
|
+
if (result.relatedNotes.length === 0) {
|
|
33
|
+
return `${header}\n (no related notes found)`;
|
|
39
34
|
}
|
|
40
|
-
|
|
35
|
+
const rows = result.relatedNotes.map((n) => [
|
|
36
|
+
scoreColor(n.score)(n.score.toFixed(2)),
|
|
37
|
+
n.title,
|
|
38
|
+
colors.dim(n.filePath),
|
|
39
|
+
]);
|
|
40
|
+
return `${header}\n${createTable({ head: ["Score", "Title", "File"], rows })}`;
|
|
41
41
|
}
|
|
42
42
|
export function formatStats(stats, format) {
|
|
43
43
|
if (format === "json") {
|
|
@@ -53,23 +53,24 @@ export function formatStats(stats, format) {
|
|
|
53
53
|
].join("\n");
|
|
54
54
|
}
|
|
55
55
|
// table
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
`${"Total Pairs".padEnd(30)}${stats.totalPairs}`,
|
|
63
|
-
`${"Embeddings Available".padEnd(30)}${stats.embeddingStatus.available}`,
|
|
56
|
+
const rows = [
|
|
57
|
+
["Total Notes", colors.info(String(stats.totalNotes))],
|
|
58
|
+
["Total Patterns", colors.info(String(stats.totalPatterns))],
|
|
59
|
+
["Total Links", colors.info(String(stats.totalLinks))],
|
|
60
|
+
["Total Pairs", colors.info(String(stats.totalPairs))],
|
|
61
|
+
["Embeddings Available", colors.info(String(stats.embeddingStatus.available))],
|
|
64
62
|
];
|
|
65
63
|
if (stats.embeddingStatus.notesWithoutEmbeddings !== null) {
|
|
66
|
-
|
|
64
|
+
rows.push([
|
|
65
|
+
"Notes Without Embeddings",
|
|
66
|
+
colors.info(String(stats.embeddingStatus.notesWithoutEmbeddings)),
|
|
67
|
+
]);
|
|
67
68
|
}
|
|
68
69
|
if (stats.graphStats) {
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
rows.push(["Graph Entities", colors.info(String(stats.graphStats.totalEntities))]);
|
|
71
|
+
rows.push(["Graph Relations", colors.info(String(stats.graphStats.totalRelations))]);
|
|
71
72
|
}
|
|
72
|
-
return
|
|
73
|
+
return createTable({ head: ["Metric", "Value"], rows });
|
|
73
74
|
}
|
|
74
75
|
export function formatEntities(result, format) {
|
|
75
76
|
if (format === "json") {
|
|
@@ -83,9 +84,11 @@ export function formatEntities(result, format) {
|
|
|
83
84
|
// table
|
|
84
85
|
if (result.entities.length === 0)
|
|
85
86
|
return "";
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
const rows = result.entities.map((e) => [
|
|
88
|
+
String(e.id),
|
|
89
|
+
colors.accent(e.entityType),
|
|
90
|
+
e.name,
|
|
91
|
+
]);
|
|
92
|
+
return createTable({ head: ["ID", "Type", "Name"], rows });
|
|
90
93
|
}
|
|
91
94
|
//# sourceMappingURL=formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/lib/formatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/lib/formatter.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/indexer.d.ts
CHANGED
|
@@ -13,9 +13,11 @@ export interface IndexFileResult {
|
|
|
13
13
|
noteId: number;
|
|
14
14
|
patternCount: number;
|
|
15
15
|
}
|
|
16
|
+
/** @deprecated Use IngestEngine with MarkdownPlugin instead */
|
|
16
17
|
export declare function indexFile(relativePath: string, rootPath: string, fileProcessor: FileProcessor, patternExtractor: PatternExtractor, repository: KnowledgeRepository, graphRepository?: GraphRepository): Promise<number>;
|
|
17
18
|
export interface IndexAllOptions {
|
|
18
19
|
onProgress?: (current: number, total: number, filePath: string) => void;
|
|
19
20
|
}
|
|
21
|
+
/** @deprecated Use IngestEngine with MarkdownPlugin instead */
|
|
20
22
|
export declare function indexAll(rootPath: string, repository: KnowledgeRepository, graphRepository?: GraphRepository, options?: IndexAllOptions): Promise<IndexSummary>;
|
|
21
23
|
//# sourceMappingURL=indexer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/lib/indexer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EAGnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAU/E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAWpF;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,SAAS,CAC7B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,mBAAmB,EAC/B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,MAAM,CAAC,CA+DjB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,mBAAmB,EAC/B,eAAe,CAAC,EAAE,eAAe,EACjC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/lib/indexer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EAGnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAU/E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAWpF;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+DAA+D;AAC/D,wBAAsB,SAAS,CAC7B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,mBAAmB,EAC/B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,MAAM,CAAC,CA+DjB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,+DAA+D;AAC/D,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,mBAAmB,EAC/B,eAAe,CAAC,EAAE,eAAe,EACjC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
|
package/dist/lib/indexer.js
CHANGED
|
@@ -25,6 +25,7 @@ export function deduplicatePatterns(patterns) {
|
|
|
25
25
|
}
|
|
26
26
|
return result;
|
|
27
27
|
}
|
|
28
|
+
/** @deprecated Use IngestEngine with MarkdownPlugin instead */
|
|
28
29
|
export async function indexFile(relativePath, rootPath, fileProcessor, patternExtractor, repository, graphRepository) {
|
|
29
30
|
const absolutePath = join(rootPath, relativePath);
|
|
30
31
|
const processed = await fileProcessor.processFile(absolutePath);
|
|
@@ -80,6 +81,7 @@ export async function indexFile(relativePath, rootPath, fileProcessor, patternEx
|
|
|
80
81
|
}
|
|
81
82
|
return noteId;
|
|
82
83
|
}
|
|
84
|
+
/** @deprecated Use IngestEngine with MarkdownPlugin instead */
|
|
83
85
|
export async function indexAll(rootPath, repository, graphRepository, options) {
|
|
84
86
|
const start = Date.now();
|
|
85
87
|
const fileProcessor = new FileProcessor();
|