@knowledgine/cli 0.6.1 → 0.6.3

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 (78) hide show
  1. package/dist/CLAUDE.md +7 -0
  2. package/dist/commands/benchmark.d.ts +6 -0
  3. package/dist/commands/benchmark.d.ts.map +1 -0
  4. package/dist/commands/benchmark.js +136 -0
  5. package/dist/commands/benchmark.js.map +1 -0
  6. package/dist/commands/deprecation-check.d.ts +1 -0
  7. package/dist/commands/deprecation-check.d.ts.map +1 -1
  8. package/dist/commands/deprecation-check.js +23 -5
  9. package/dist/commands/deprecation-check.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +23 -0
  11. package/dist/commands/doctor.d.ts.map +1 -0
  12. package/dist/commands/doctor.js +600 -0
  13. package/dist/commands/doctor.js.map +1 -0
  14. package/dist/commands/explain.d.ts.map +1 -1
  15. package/dist/commands/explain.js +4 -1
  16. package/dist/commands/explain.js.map +1 -1
  17. package/dist/commands/ingest.d.ts +1 -0
  18. package/dist/commands/ingest.d.ts.map +1 -1
  19. package/dist/commands/ingest.js +142 -2
  20. package/dist/commands/ingest.js.map +1 -1
  21. package/dist/commands/init.d.ts.map +1 -1
  22. package/dist/commands/init.js +2 -0
  23. package/dist/commands/init.js.map +1 -1
  24. package/dist/commands/search.d.ts +2 -1
  25. package/dist/commands/search.d.ts.map +1 -1
  26. package/dist/commands/search.js +54 -14
  27. package/dist/commands/search.js.map +1 -1
  28. package/dist/commands/serve.d.ts +1 -0
  29. package/dist/commands/serve.d.ts.map +1 -1
  30. package/dist/commands/serve.js +16 -1
  31. package/dist/commands/serve.js.map +1 -1
  32. package/dist/commands/setup.d.ts.map +1 -1
  33. package/dist/commands/setup.js +8 -0
  34. package/dist/commands/setup.js.map +1 -1
  35. package/dist/commands/status.d.ts.map +1 -1
  36. package/dist/commands/status.js +5 -2
  37. package/dist/commands/status.js.map +1 -1
  38. package/dist/commands/suggest.d.ts.map +1 -1
  39. package/dist/commands/suggest.js +12 -0
  40. package/dist/commands/suggest.js.map +1 -1
  41. package/dist/commands/upgrade.d.ts +1 -0
  42. package/dist/commands/upgrade.d.ts.map +1 -1
  43. package/dist/commands/upgrade.js +99 -2
  44. package/dist/commands/upgrade.js.map +1 -1
  45. package/dist/index.js +45 -10
  46. package/dist/index.js.map +1 -1
  47. package/dist/lib/entity-extractor.d.ts +17 -0
  48. package/dist/lib/entity-extractor.d.ts.map +1 -0
  49. package/dist/lib/entity-extractor.js +22 -0
  50. package/dist/lib/entity-extractor.js.map +1 -0
  51. package/dist/lib/formatter.d.ts.map +1 -1
  52. package/dist/lib/formatter.js +13 -8
  53. package/dist/lib/formatter.js.map +1 -1
  54. package/dist/templates/skills/knowledgine-explain/references.d.ts +2 -0
  55. package/dist/templates/skills/knowledgine-explain/references.d.ts.map +1 -0
  56. package/dist/templates/skills/knowledgine-explain/references.js +183 -0
  57. package/dist/templates/skills/knowledgine-explain/references.js.map +1 -0
  58. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +2 -0
  59. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +1 -0
  60. package/dist/templates/skills/knowledgine-explain/skill-md.js +89 -0
  61. package/dist/templates/skills/knowledgine-explain/skill-md.js.map +1 -0
  62. package/dist/templates/skills/knowledgine-recall/references.d.ts +2 -0
  63. package/dist/templates/skills/knowledgine-recall/references.d.ts.map +1 -0
  64. package/dist/templates/skills/knowledgine-recall/references.js +207 -0
  65. package/dist/templates/skills/knowledgine-recall/references.js.map +1 -0
  66. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +2 -0
  67. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +1 -0
  68. package/dist/templates/skills/knowledgine-recall/skill-md.js +86 -0
  69. package/dist/templates/skills/knowledgine-recall/skill-md.js.map +1 -0
  70. package/dist/templates/skills/knowledgine-suggest/references.d.ts +2 -0
  71. package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +1 -0
  72. package/dist/templates/skills/knowledgine-suggest/references.js +121 -0
  73. package/dist/templates/skills/knowledgine-suggest/references.js.map +1 -0
  74. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +2 -0
  75. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +1 -0
  76. package/dist/templates/skills/knowledgine-suggest/skill-md.js +94 -0
  77. package/dist/templates/skills/knowledgine-suggest/skill-md.js.map +1 -0
  78. package/package.json +4 -4
package/dist/CLAUDE.md ADDED
@@ -0,0 +1,7 @@
1
+ <claude-mem-context>
2
+ # Recent Activity
3
+
4
+ <!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
5
+
6
+ *No recent activity*
7
+ </claude-mem-context>
@@ -0,0 +1,6 @@
1
+ export interface BenchmarkOptions {
2
+ path?: string;
3
+ semantic?: boolean;
4
+ }
5
+ export declare function benchmarkCommand(options: BenchmarkOptions): Promise<void>;
6
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqJ/E"}
@@ -0,0 +1,136 @@
1
+ import { resolve } from "path";
2
+ import { existsSync } from "fs";
3
+ import { createDatabase, Migrator, ALL_MIGRATIONS } from "@knowledgine/core";
4
+ function cosineSimilarityFromL2(a, b) {
5
+ // L2-normalized vectors: cosine_similarity = 1 - L2_distance^2 / 2
6
+ let sumSq = 0;
7
+ for (let i = 0; i < a.length; i++) {
8
+ const diff = a[i] - b[i];
9
+ sumSq += diff * diff;
10
+ }
11
+ const l2dist = Math.sqrt(sumSq);
12
+ return Math.max(0, 1 - (l2dist * l2dist) / 2);
13
+ }
14
+ function sampleIndices(total, maxSamples) {
15
+ if (total <= maxSamples)
16
+ return Array.from({ length: total }, (_, i) => i);
17
+ const step = total / maxSamples;
18
+ return Array.from({ length: maxSamples }, (_, i) => Math.floor(i * step));
19
+ }
20
+ export async function benchmarkCommand(options) {
21
+ const rootPath = options.path ? resolve(options.path) : process.cwd();
22
+ const dbPath = resolve(rootPath, ".knowledgine", "index.sqlite");
23
+ if (!existsSync(dbPath)) {
24
+ console.error(`Error: Database not found at ${dbPath}`);
25
+ console.error("Run 'knowledgine init --path <dir>' first.");
26
+ process.exit(1);
27
+ }
28
+ if (!options.semantic) {
29
+ console.error("Use --semantic to run the semantic score distribution benchmark.");
30
+ process.exit(0);
31
+ }
32
+ let db;
33
+ try {
34
+ db = createDatabase(dbPath);
35
+ new Migrator(db, ALL_MIGRATIONS).migrate();
36
+ }
37
+ catch (err) {
38
+ console.error(`Error opening database: ${err instanceof Error ? err.message : String(err)}`);
39
+ process.exit(1);
40
+ }
41
+ const countRow = db.prepare("SELECT COUNT(*) AS count FROM note_embeddings").get();
42
+ const totalEmbeddings = countRow?.count ?? 0;
43
+ if (totalEmbeddings === 0) {
44
+ console.error("No embeddings found. Run 'knowledgine upgrade --semantic' first.");
45
+ db.close();
46
+ process.exit(0);
47
+ }
48
+ const MAX_SAMPLES = 50;
49
+ const indices = sampleIndices(totalEmbeddings, MAX_SAMPLES);
50
+ // Fetch only the sampled rows by offset to avoid loading all BLOBs.
51
+ const stmtOffset = db.prepare("SELECT note_id, embedding, dimensions FROM note_embeddings ORDER BY note_id LIMIT 1 OFFSET ?");
52
+ const sample = indices
53
+ .map((offset) => stmtOffset.get(offset))
54
+ .filter((row) => row !== undefined);
55
+ console.error(`\nSemantic Score Distribution Benchmark`);
56
+ console.error(`Total embeddings: ${totalEmbeddings}`);
57
+ console.error(`Sample size: ${sample.length}`);
58
+ console.error(`Computing pairwise cosine similarities...\n`);
59
+ const BYTES_PER_FLOAT32 = 4;
60
+ const scores = [];
61
+ let skippedPairs = 0;
62
+ for (let i = 0; i < sample.length; i++) {
63
+ const rowA = sample[i];
64
+ const dimsA = rowA.dimensions;
65
+ const maxFloatsA = rowA.embedding.byteLength / BYTES_PER_FLOAT32;
66
+ if (!Number.isInteger(dimsA) || dimsA <= 0 || dimsA > maxFloatsA)
67
+ continue;
68
+ const a = new Float32Array(rowA.embedding.buffer, rowA.embedding.byteOffset, dimsA);
69
+ for (let j = i + 1; j < sample.length; j++) {
70
+ const rowB = sample[j];
71
+ const dimsB = rowB.dimensions;
72
+ const maxFloatsB = rowB.embedding.byteLength / BYTES_PER_FLOAT32;
73
+ if (!Number.isInteger(dimsB) || dimsB <= 0 || dimsB > maxFloatsB || dimsB !== dimsA) {
74
+ skippedPairs++;
75
+ continue;
76
+ }
77
+ const b = new Float32Array(rowB.embedding.buffer, rowB.embedding.byteOffset, dimsB);
78
+ scores.push(cosineSimilarityFromL2(a, b));
79
+ }
80
+ }
81
+ if (scores.length === 0) {
82
+ console.error("Not enough samples to compute distribution (need at least 2 valid matching-dimension embeddings).");
83
+ if (skippedPairs > 0) {
84
+ console.error(`Note: Skipped ${skippedPairs} pair(s) due to invalid or mismatched dimensions.`);
85
+ }
86
+ db.close();
87
+ return;
88
+ }
89
+ if (skippedPairs > 0) {
90
+ console.error(`Note: Skipped ${skippedPairs} pair(s) with invalid or mismatched dimensions.`);
91
+ }
92
+ scores.sort((a, b) => a - b);
93
+ const n = scores.length;
94
+ const mean = scores.reduce((s, x) => s + x, 0) / n;
95
+ const variance = scores.reduce((s, x) => s + (x - mean) ** 2, 0) / n;
96
+ const stddev = Math.sqrt(variance);
97
+ const min = scores[0];
98
+ const max = scores[n - 1];
99
+ const p25 = scores[Math.floor(n * 0.25)];
100
+ const median = scores[Math.floor(n * 0.5)];
101
+ const p75 = scores[Math.floor(n * 0.75)];
102
+ const p90 = scores[Math.floor(n * 0.9)];
103
+ console.error(`Results (${n} pairs):`);
104
+ console.error(` mean: ${(mean * 100).toFixed(2)}%`);
105
+ console.error(` stddev: ${(stddev * 100).toFixed(2)}%`);
106
+ console.error(` min: ${(min * 100).toFixed(2)}%`);
107
+ console.error(` p25: ${(p25 * 100).toFixed(2)}%`);
108
+ console.error(` median: ${(median * 100).toFixed(2)}%`);
109
+ console.error(` p75: ${(p75 * 100).toFixed(2)}%`);
110
+ console.error(` p90: ${(p90 * 100).toFixed(2)}%`);
111
+ console.error(` max: ${(max * 100).toFixed(2)}%`);
112
+ console.error("");
113
+ if (stddev < 0.05) {
114
+ console.error("Warning: Low stddev indicates score flattening. Check embedding normalization.");
115
+ }
116
+ else {
117
+ console.error("Score distribution looks healthy (stddev >= 5%).");
118
+ }
119
+ console.error("");
120
+ // Also output as JSON to stdout for scripting
121
+ console.log(JSON.stringify({
122
+ totalEmbeddings: totalEmbeddings,
123
+ sampleSize: sample.length,
124
+ pairCount: n,
125
+ mean: parseFloat((mean * 100).toFixed(4)),
126
+ stddev: parseFloat((stddev * 100).toFixed(4)),
127
+ min: parseFloat((min * 100).toFixed(4)),
128
+ p25: parseFloat((p25 * 100).toFixed(4)),
129
+ median: parseFloat((median * 100).toFixed(4)),
130
+ p75: parseFloat((p75 * 100).toFixed(4)),
131
+ p90: parseFloat((p90 * 100).toFixed(4)),
132
+ max: parseFloat((max * 100).toFixed(4)),
133
+ }, null, 2));
134
+ db.close();
135
+ }
136
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export interface DeprecationCheckOptions {
2
2
  path?: string;
3
3
  apply?: boolean;
4
4
  threshold?: string;
5
+ excludeTranslations?: boolean;
5
6
  }
6
7
  export declare function deprecationCheckCommand(options: DeprecationCheckOptions): Promise<void>;
7
8
  //# sourceMappingURL=deprecation-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deprecation-check.d.ts","sourceRoot":"","sources":["../../src/commands/deprecation-check.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8BD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE7F"}
1
+ {"version":3,"file":"deprecation-check.d.ts","sourceRoot":"","sources":["../../src/commands/deprecation-check.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA4CD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E7F"}
@@ -3,10 +3,24 @@ import { loadConfig, resolveDefaultPath, createDatabase, Migrator, KnowledgeRepo
3
3
  * 簡易テキスト類似度(Jaccard係数)でdeprecation候補を検出する
4
4
  */
5
5
  function jaccardSimilarity(a, b) {
6
- const tokenize = (text) => new Set(text
7
- .toLowerCase()
8
- .split(/\W+/)
9
- .filter((t) => t.length > 2));
6
+ const tokenize = (text) => {
7
+ const lower = text.toLowerCase();
8
+ const tokens = new Set();
9
+ // Word-level tokens for Latin/Cyrillic text
10
+ for (const token of lower.split(/\W+/)) {
11
+ if (token.length > 2)
12
+ tokens.add(token);
13
+ }
14
+ // Bigram tokens for CJK characters
15
+ const cjkRe = /[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF\uAC00-\uD7AF]/g;
16
+ const cjkChars = lower.match(cjkRe);
17
+ if (cjkChars && cjkChars.length >= 2) {
18
+ for (let i = 0; i < cjkChars.length - 1; i++) {
19
+ tokens.add(cjkChars[i] + cjkChars[i + 1]);
20
+ }
21
+ }
22
+ return tokens;
23
+ };
10
24
  const setA = tokenize(a);
11
25
  const setB = tokenize(b);
12
26
  if (setA.size === 0 || setB.size === 0)
@@ -31,7 +45,11 @@ export async function deprecationCheckCommand(options) {
31
45
  new Migrator(db, ALL_MIGRATIONS).migrate();
32
46
  const repository = new KnowledgeRepository(db);
33
47
  try {
34
- const allNotes = repository.getAllNotes().filter((n) => !n.deprecated);
48
+ let allNotes = repository.getAllNotes().filter((n) => !n.deprecated);
49
+ if (options.excludeTranslations) {
50
+ const translationPattern = /\.(po|pot|mo|xlf|xliff)$|[\\/](locales?|i18n|translations?)[\\/]|\.i18n\./i;
51
+ allNotes = allNotes.filter((n) => !translationPattern.test(n.file_path));
52
+ }
35
53
  const candidates = [];
36
54
  // O(n²) comparison — intended for small knowledge bases
37
55
  // For large bases, use findNotesByTimeProximity() as pre-filter
@@ -1 +1 @@
1
- {"version":3,"file":"deprecation-check.js","sourceRoot":"","sources":["../../src/commands/deprecation-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deprecation-check.js","sourceRoot":"","sources":["../../src/commands/deprecation-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface DiagnosticResult {
2
+ name: string;
3
+ status: "pass" | "warning" | "error";
4
+ message: string;
5
+ fix?: string;
6
+ }
7
+ export interface DoctorOptions {
8
+ path?: string;
9
+ fix?: boolean;
10
+ }
11
+ export declare function checkKnowledgineDir(knowledgineDir: string): DiagnosticResult;
12
+ export declare function checkDatabaseExists(dbPath: string): DiagnosticResult;
13
+ export declare function checkDatabaseNotEmpty(dbPath: string): DiagnosticResult;
14
+ export declare function checkDatabasePermissions(dbPath: string): DiagnosticResult;
15
+ export declare function checkFTS5Integrity(dbPath: string): DiagnosticResult;
16
+ export declare function checkModelFiles(): DiagnosticResult;
17
+ export declare function checkEmbeddingCoverage(dbPath: string): DiagnosticResult;
18
+ export declare function checkSqliteVec(dbPath: string): Promise<DiagnosticResult>;
19
+ export declare function checkStaleEmbeddings(dbPath: string): DiagnosticResult;
20
+ export declare function checkNodeVersion(): DiagnosticResult;
21
+ export declare function checkSearchLatency(dbPath: string): Promise<DiagnosticResult>;
22
+ export declare function doctorCommand(options: DoctorOptions): Promise<void>;
23
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAGD,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CAc5E;AAGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAwBpE;AAGD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAsBtE;AAGD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CA+BzE;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CA8CnE;AAGD,wBAAgB,eAAe,IAAI,gBAAgB,CA0BlD;AAGD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAsEvE;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqC9E;AAGD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CA8DrE;AAGD,wBAAgB,gBAAgB,IAAI,gBAAgB,CAwBnD;AAGD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuDlF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2KzE"}