@knowledgine/cli 0.2.0 → 0.3.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 (265) hide show
  1. package/dist/commands/capture.d.ts +13 -0
  2. package/dist/commands/capture.d.ts.map +1 -1
  3. package/dist/commands/capture.js +113 -12
  4. package/dist/commands/capture.js.map +1 -1
  5. package/dist/commands/demo.d.ts.map +1 -1
  6. package/dist/commands/demo.js +23 -19
  7. package/dist/commands/demo.js.map +1 -1
  8. package/dist/commands/deprecation-check.d.ts +7 -0
  9. package/dist/commands/deprecation-check.d.ts.map +1 -0
  10. package/dist/commands/deprecation-check.js +75 -0
  11. package/dist/commands/deprecation-check.js.map +1 -0
  12. package/dist/commands/explain.d.ts +10 -0
  13. package/dist/commands/explain.d.ts.map +1 -0
  14. package/dist/commands/explain.js +252 -0
  15. package/dist/commands/explain.js.map +1 -0
  16. package/dist/commands/feedback-suggest.d.ts +8 -0
  17. package/dist/commands/feedback-suggest.d.ts.map +1 -0
  18. package/dist/commands/feedback-suggest.js +43 -0
  19. package/dist/commands/feedback-suggest.js.map +1 -0
  20. package/dist/commands/feedback.d.ts +9 -0
  21. package/dist/commands/feedback.d.ts.map +1 -1
  22. package/dist/commands/feedback.js +57 -21
  23. package/dist/commands/feedback.js.map +1 -1
  24. package/dist/commands/ingest.d.ts +1 -0
  25. package/dist/commands/ingest.d.ts.map +1 -1
  26. package/dist/commands/ingest.js +96 -19
  27. package/dist/commands/ingest.js.map +1 -1
  28. package/dist/commands/init.d.ts +2 -0
  29. package/dist/commands/init.d.ts.map +1 -1
  30. package/dist/commands/init.js +126 -61
  31. package/dist/commands/init.js.map +1 -1
  32. package/dist/commands/plugins.d.ts.map +1 -1
  33. package/dist/commands/plugins.js +14 -13
  34. package/dist/commands/plugins.js.map +1 -1
  35. package/dist/commands/recall.d.ts +10 -0
  36. package/dist/commands/recall.d.ts.map +1 -0
  37. package/dist/commands/recall.js +199 -0
  38. package/dist/commands/recall.js.map +1 -0
  39. package/dist/commands/search.d.ts +3 -0
  40. package/dist/commands/search.d.ts.map +1 -1
  41. package/dist/commands/search.js +55 -13
  42. package/dist/commands/search.js.map +1 -1
  43. package/dist/commands/serve.d.ts +8 -0
  44. package/dist/commands/serve.d.ts.map +1 -0
  45. package/dist/commands/serve.js +60 -0
  46. package/dist/commands/serve.js.map +1 -0
  47. package/dist/commands/setup-rules.d.ts +27 -0
  48. package/dist/commands/setup-rules.d.ts.map +1 -0
  49. package/dist/commands/setup-rules.js +309 -0
  50. package/dist/commands/setup-rules.js.map +1 -0
  51. package/dist/commands/setup-skills.d.ts +55 -0
  52. package/dist/commands/setup-skills.d.ts.map +1 -0
  53. package/dist/commands/setup-skills.js +356 -0
  54. package/dist/commands/setup-skills.js.map +1 -0
  55. package/dist/commands/setup.d.ts +62 -5
  56. package/dist/commands/setup.d.ts.map +1 -1
  57. package/dist/commands/setup.js +358 -104
  58. package/dist/commands/setup.js.map +1 -1
  59. package/dist/commands/start.d.ts.map +1 -1
  60. package/dist/commands/start.js +27 -20
  61. package/dist/commands/start.js.map +1 -1
  62. package/dist/commands/status.d.ts.map +1 -1
  63. package/dist/commands/status.js +81 -53
  64. package/dist/commands/status.js.map +1 -1
  65. package/dist/commands/suggest.d.ts +11 -0
  66. package/dist/commands/suggest.d.ts.map +1 -0
  67. package/dist/commands/suggest.js +255 -0
  68. package/dist/commands/suggest.js.map +1 -0
  69. package/dist/commands/tool.d.ts.map +1 -1
  70. package/dist/commands/tool.js +5 -5
  71. package/dist/commands/tool.js.map +1 -1
  72. package/dist/commands/undeprecate.d.ts +5 -0
  73. package/dist/commands/undeprecate.d.ts.map +1 -0
  74. package/dist/commands/undeprecate.js +27 -0
  75. package/dist/commands/undeprecate.js.map +1 -0
  76. package/dist/commands/upgrade.d.ts.map +1 -1
  77. package/dist/commands/upgrade.js +64 -18
  78. package/dist/commands/upgrade.js.map +1 -1
  79. package/dist/index.js +92 -20
  80. package/dist/index.js.map +1 -1
  81. package/dist/lib/content-extractor.d.ts +8 -0
  82. package/dist/lib/content-extractor.d.ts.map +1 -0
  83. package/dist/lib/content-extractor.js +50 -0
  84. package/dist/lib/content-extractor.js.map +1 -0
  85. package/dist/lib/diff-parser.d.ts +14 -0
  86. package/dist/lib/diff-parser.d.ts.map +1 -0
  87. package/dist/lib/diff-parser.js +108 -0
  88. package/dist/lib/diff-parser.js.map +1 -0
  89. package/dist/lib/entity-extractor.d.ts +17 -0
  90. package/dist/lib/entity-extractor.d.ts.map +1 -0
  91. package/dist/lib/entity-extractor.js +23 -0
  92. package/dist/lib/entity-extractor.js.map +1 -0
  93. package/dist/lib/formatter.d.ts.map +1 -1
  94. package/dist/lib/formatter.js +31 -32
  95. package/dist/lib/formatter.js.map +1 -1
  96. package/dist/lib/indexer.d.ts +2 -0
  97. package/dist/lib/indexer.d.ts.map +1 -1
  98. package/dist/lib/indexer.js +2 -0
  99. package/dist/lib/indexer.js.map +1 -1
  100. package/dist/lib/ingest-watcher.d.ts.map +1 -1
  101. package/dist/lib/ingest-watcher.js +2 -0
  102. package/dist/lib/ingest-watcher.js.map +1 -1
  103. package/dist/lib/plugin-loader.d.ts.map +1 -1
  104. package/dist/lib/plugin-loader.js +3 -1
  105. package/dist/lib/plugin-loader.js.map +1 -1
  106. package/dist/lib/progress.d.ts +8 -0
  107. package/dist/lib/progress.d.ts.map +1 -1
  108. package/dist/lib/progress.js +45 -6
  109. package/dist/lib/progress.js.map +1 -1
  110. package/dist/lib/ui/box.d.ts +7 -0
  111. package/dist/lib/ui/box.d.ts.map +1 -0
  112. package/dist/lib/ui/box.js +19 -0
  113. package/dist/lib/ui/box.js.map +1 -0
  114. package/dist/lib/ui/error-formatter.d.ts +8 -0
  115. package/dist/lib/ui/error-formatter.d.ts.map +1 -0
  116. package/dist/lib/ui/error-formatter.js +19 -0
  117. package/dist/lib/ui/error-formatter.js.map +1 -0
  118. package/dist/lib/ui/index.d.ts +7 -0
  119. package/dist/lib/ui/index.d.ts.map +1 -0
  120. package/dist/lib/ui/index.js +7 -0
  121. package/dist/lib/ui/index.js.map +1 -0
  122. package/dist/lib/ui/output.d.ts +2 -0
  123. package/dist/lib/ui/output.d.ts.map +1 -0
  124. package/dist/lib/ui/output.js +4 -0
  125. package/dist/lib/ui/output.js.map +1 -0
  126. package/dist/lib/ui/spinner.d.ts +4 -0
  127. package/dist/lib/ui/spinner.d.ts.map +1 -0
  128. package/dist/lib/ui/spinner.js +5 -0
  129. package/dist/lib/ui/spinner.js.map +1 -0
  130. package/dist/lib/ui/table.d.ts +9 -0
  131. package/dist/lib/ui/table.d.ts.map +1 -0
  132. package/dist/lib/ui/table.js +28 -0
  133. package/dist/lib/ui/table.js.map +1 -0
  134. package/dist/lib/ui/theme.d.ts +21 -0
  135. package/dist/lib/ui/theme.d.ts.map +1 -0
  136. package/dist/lib/ui/theme.js +29 -0
  137. package/dist/lib/ui/theme.js.map +1 -0
  138. package/dist/lib/unknown-command-handler.d.ts +14 -0
  139. package/dist/lib/unknown-command-handler.d.ts.map +1 -0
  140. package/dist/lib/unknown-command-handler.js +25 -0
  141. package/dist/lib/unknown-command-handler.js.map +1 -0
  142. package/dist/lib/url-validator.d.ts.map +1 -1
  143. package/dist/lib/url-validator.js +5 -1
  144. package/dist/lib/url-validator.js.map +1 -1
  145. package/dist/templates/rules/antigravity.d.ts +6 -0
  146. package/dist/templates/rules/antigravity.d.ts.map +1 -0
  147. package/dist/templates/rules/antigravity.js +30 -0
  148. package/dist/templates/rules/antigravity.js.map +1 -0
  149. package/dist/templates/rules/claude-code.d.ts +6 -0
  150. package/dist/templates/rules/claude-code.d.ts.map +1 -0
  151. package/dist/templates/rules/claude-code.js +32 -0
  152. package/dist/templates/rules/claude-code.js.map +1 -0
  153. package/dist/templates/rules/cline.d.ts +6 -0
  154. package/dist/templates/rules/cline.d.ts.map +1 -0
  155. package/dist/templates/rules/cline.js +35 -0
  156. package/dist/templates/rules/cline.js.map +1 -0
  157. package/dist/templates/rules/codex.d.ts +6 -0
  158. package/dist/templates/rules/codex.d.ts.map +1 -0
  159. package/dist/templates/rules/codex.js +37 -0
  160. package/dist/templates/rules/codex.js.map +1 -0
  161. package/dist/templates/rules/continue.d.ts +6 -0
  162. package/dist/templates/rules/continue.d.ts.map +1 -0
  163. package/dist/templates/rules/continue.js +31 -0
  164. package/dist/templates/rules/continue.js.map +1 -0
  165. package/dist/templates/rules/core-rules.d.ts +6 -0
  166. package/dist/templates/rules/core-rules.d.ts.map +1 -0
  167. package/dist/templates/rules/core-rules.js +33 -0
  168. package/dist/templates/rules/core-rules.js.map +1 -0
  169. package/dist/templates/rules/cursor.d.ts +6 -0
  170. package/dist/templates/rules/cursor.d.ts.map +1 -0
  171. package/dist/templates/rules/cursor.js +29 -0
  172. package/dist/templates/rules/cursor.js.map +1 -0
  173. package/dist/templates/rules/gemini.d.ts +6 -0
  174. package/dist/templates/rules/gemini.d.ts.map +1 -0
  175. package/dist/templates/rules/gemini.js +30 -0
  176. package/dist/templates/rules/gemini.js.map +1 -0
  177. package/dist/templates/rules/github-copilot.d.ts +6 -0
  178. package/dist/templates/rules/github-copilot.d.ts.map +1 -0
  179. package/dist/templates/rules/github-copilot.js +42 -0
  180. package/dist/templates/rules/github-copilot.js.map +1 -0
  181. package/dist/templates/rules/index.d.ts +13 -0
  182. package/dist/templates/rules/index.d.ts.map +1 -0
  183. package/dist/templates/rules/index.js +13 -0
  184. package/dist/templates/rules/index.js.map +1 -0
  185. package/dist/templates/rules/opencode.d.ts +6 -0
  186. package/dist/templates/rules/opencode.d.ts.map +1 -0
  187. package/dist/templates/rules/opencode.js +30 -0
  188. package/dist/templates/rules/opencode.js.map +1 -0
  189. package/dist/templates/rules/windsurf.d.ts +6 -0
  190. package/dist/templates/rules/windsurf.d.ts.map +1 -0
  191. package/dist/templates/rules/windsurf.js +24 -0
  192. package/dist/templates/rules/windsurf.js.map +1 -0
  193. package/dist/templates/rules/zed.d.ts +6 -0
  194. package/dist/templates/rules/zed.d.ts.map +1 -0
  195. package/dist/templates/rules/zed.js +34 -0
  196. package/dist/templates/rules/zed.js.map +1 -0
  197. package/dist/templates/skills/index.d.ts +26 -0
  198. package/dist/templates/skills/index.d.ts.map +1 -0
  199. package/dist/templates/skills/index.js +75 -0
  200. package/dist/templates/skills/index.js.map +1 -0
  201. package/dist/templates/skills/knowledgine-capture/references.d.ts +2 -0
  202. package/dist/templates/skills/knowledgine-capture/references.d.ts.map +1 -0
  203. package/dist/templates/skills/knowledgine-capture/references.js +414 -0
  204. package/dist/templates/skills/knowledgine-capture/references.js.map +1 -0
  205. package/dist/templates/skills/knowledgine-capture/skill-md.d.ts +2 -0
  206. package/dist/templates/skills/knowledgine-capture/skill-md.d.ts.map +1 -0
  207. package/dist/templates/skills/knowledgine-capture/skill-md.js +97 -0
  208. package/dist/templates/skills/knowledgine-capture/skill-md.js.map +1 -0
  209. package/dist/templates/skills/knowledgine-debrief/references.d.ts +2 -0
  210. package/dist/templates/skills/knowledgine-debrief/references.d.ts.map +1 -0
  211. package/dist/templates/skills/knowledgine-debrief/references.js +140 -0
  212. package/dist/templates/skills/knowledgine-debrief/references.js.map +1 -0
  213. package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts +2 -0
  214. package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts.map +1 -0
  215. package/dist/templates/skills/knowledgine-debrief/skill-md.js +74 -0
  216. package/dist/templates/skills/knowledgine-debrief/skill-md.js.map +1 -0
  217. package/dist/templates/skills/knowledgine-explain/references.d.ts +2 -0
  218. package/dist/templates/skills/knowledgine-explain/references.d.ts.map +1 -0
  219. package/dist/templates/skills/knowledgine-explain/references.js +183 -0
  220. package/dist/templates/skills/knowledgine-explain/references.js.map +1 -0
  221. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +2 -0
  222. package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +1 -0
  223. package/dist/templates/skills/knowledgine-explain/skill-md.js +89 -0
  224. package/dist/templates/skills/knowledgine-explain/skill-md.js.map +1 -0
  225. package/dist/templates/skills/knowledgine-feedback/references.d.ts +2 -0
  226. package/dist/templates/skills/knowledgine-feedback/references.d.ts.map +1 -0
  227. package/dist/templates/skills/knowledgine-feedback/references.js +214 -0
  228. package/dist/templates/skills/knowledgine-feedback/references.js.map +1 -0
  229. package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts +2 -0
  230. package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts.map +1 -0
  231. package/dist/templates/skills/knowledgine-feedback/skill-md.js +107 -0
  232. package/dist/templates/skills/knowledgine-feedback/skill-md.js.map +1 -0
  233. package/dist/templates/skills/knowledgine-ingest/references.d.ts +2 -0
  234. package/dist/templates/skills/knowledgine-ingest/references.d.ts.map +1 -0
  235. package/dist/templates/skills/knowledgine-ingest/references.js +243 -0
  236. package/dist/templates/skills/knowledgine-ingest/references.js.map +1 -0
  237. package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts +2 -0
  238. package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts.map +1 -0
  239. package/dist/templates/skills/knowledgine-ingest/skill-md.js +80 -0
  240. package/dist/templates/skills/knowledgine-ingest/skill-md.js.map +1 -0
  241. package/dist/templates/skills/knowledgine-recall/references.d.ts +2 -0
  242. package/dist/templates/skills/knowledgine-recall/references.d.ts.map +1 -0
  243. package/dist/templates/skills/knowledgine-recall/references.js +207 -0
  244. package/dist/templates/skills/knowledgine-recall/references.js.map +1 -0
  245. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +2 -0
  246. package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +1 -0
  247. package/dist/templates/skills/knowledgine-recall/skill-md.js +86 -0
  248. package/dist/templates/skills/knowledgine-recall/skill-md.js.map +1 -0
  249. package/dist/templates/skills/knowledgine-suggest/references.d.ts +2 -0
  250. package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +1 -0
  251. package/dist/templates/skills/knowledgine-suggest/references.js +121 -0
  252. package/dist/templates/skills/knowledgine-suggest/references.js.map +1 -0
  253. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +2 -0
  254. package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +1 -0
  255. package/dist/templates/skills/knowledgine-suggest/skill-md.js +94 -0
  256. package/dist/templates/skills/knowledgine-suggest/skill-md.js.map +1 -0
  257. package/fixtures/demo/notes/api-design-decisions.md +7 -2
  258. package/fixtures/demo/notes/auth-debugging.md +8 -0
  259. package/fixtures/demo/notes/ci-cd-pipeline.md +7 -0
  260. package/fixtures/demo/notes/code-review-notes.md +7 -0
  261. package/fixtures/demo/notes/database-optimization.md +8 -0
  262. package/fixtures/demo/notes/docker-troubleshooting.md +7 -1
  263. package/fixtures/demo/notes/react-performance.md +7 -6
  264. package/fixtures/demo/notes/typescript-migration.md +13 -4
  265. package/package.json +13 -4
@@ -1,20 +1,20 @@
1
1
  import { resolve } from "path";
2
2
  import { mkdirSync } from "fs";
3
- import { defineConfig, createDatabase, Migrator, ALL_MIGRATIONS, } from "@knowledgine/core";
3
+ import { defineConfig, resolveDefaultPath, createDatabase, Migrator, ALL_MIGRATIONS, } from "@knowledgine/core";
4
4
  import { CursorStore } from "@knowledgine/ingest";
5
5
  import { createDefaultRegistry } from "../lib/plugin-loader.js";
6
+ import { createTable } from "../lib/ui/index.js";
6
7
  export async function pluginsListCommand() {
7
8
  const registry = createDefaultRegistry();
8
9
  const plugins = registry.list();
9
- const header = `${"ID".padEnd(20)}${"Name".padEnd(25)}${"Version".padEnd(10)}Priority`;
10
- console.error(header);
11
- for (const plugin of plugins) {
10
+ const rows = plugins.map((plugin) => {
12
11
  const { id, name, version, priority } = plugin.manifest;
13
- console.error(`${id.padEnd(20)}${name.padEnd(25)}${version.padEnd(10)}${priority}`);
14
- }
12
+ return [id, name, version, String(priority)];
13
+ });
14
+ console.error(createTable({ head: ["ID", "Name", "Version", "Priority"], rows }));
15
15
  }
16
16
  export async function pluginsStatusCommand(options) {
17
- const rootPath = resolve(options.path ?? process.cwd());
17
+ const rootPath = resolveDefaultPath(options.path);
18
18
  const knowledgineDir = resolve(rootPath, ".knowledgine");
19
19
  mkdirSync(knowledgineDir, { recursive: true });
20
20
  const config = defineConfig({ rootPath });
@@ -25,16 +25,17 @@ export async function pluginsStatusCommand(options) {
25
25
  const cursorMap = new Map(cursors.map((c) => [c.pluginId, c]));
26
26
  const registry = createDefaultRegistry();
27
27
  const plugins = registry.list();
28
- const header = `${"Plugin".padEnd(20)}${"Last Ingest".padEnd(25)}Checkpoint`;
29
- console.error(header);
30
- for (const plugin of plugins) {
28
+ const rows = plugins.map((plugin) => {
31
29
  const cursor = cursorMap.get(plugin.manifest.id);
32
30
  const lastIngest = cursor
33
31
  ? cursor.lastIngestAt.toISOString().replace("T", " ").slice(0, 19)
34
32
  : "never";
35
- const checkpoint = cursor ? cursor.checkpoint.slice(0, 20) + (cursor.checkpoint.length > 20 ? "..." : "") : "-";
36
- console.error(`${plugin.manifest.id.padEnd(20)}${lastIngest.padEnd(25)}${checkpoint}`);
37
- }
33
+ const checkpoint = cursor
34
+ ? cursor.checkpoint.slice(0, 20) + (cursor.checkpoint.length > 20 ? "..." : "")
35
+ : "-";
36
+ return [plugin.manifest.id, lastIngest, checkpoint];
37
+ });
38
+ console.error(createTable({ head: ["Plugin", "Last Ingest", "Checkpoint"], rows }));
38
39
  db.close();
39
40
  }
40
41
  //# sourceMappingURL=plugins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Command } from "commander";
2
+ export interface RecallCommandOptions {
3
+ related?: string;
4
+ format?: string;
5
+ path?: string;
6
+ limit?: string;
7
+ agentic?: boolean;
8
+ }
9
+ export declare function registerRecallCommand(program: Command): void;
10
+ //# sourceMappingURL=recall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/commands/recall.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoND,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAU5D"}
@@ -0,0 +1,199 @@
1
+ import { resolve } from "path";
2
+ import { existsSync } from "fs";
3
+ import { loadConfig, resolveDefaultPath, createDatabase, Migrator, KnowledgeRepository, GraphRepository, KnowledgeService, ALL_MIGRATIONS, } from "@knowledgine/core";
4
+ function toYaml(obj, indent = 0) {
5
+ const pad = " ".repeat(indent);
6
+ if (obj === null || obj === undefined) {
7
+ return "null";
8
+ }
9
+ if (typeof obj === "boolean" || typeof obj === "number") {
10
+ return String(obj);
11
+ }
12
+ if (typeof obj === "string") {
13
+ // エスケープが必要な文字を含む場合はクォート
14
+ if (obj.includes("\n") || obj.includes(":") || obj.includes("#") || obj.startsWith(" ")) {
15
+ return `"${obj.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n")}"`;
16
+ }
17
+ return obj;
18
+ }
19
+ if (Array.isArray(obj)) {
20
+ if (obj.length === 0)
21
+ return "[]";
22
+ return obj
23
+ .map((item) => {
24
+ const val = toYaml(item, indent + 1);
25
+ if (typeof item === "object" && item !== null && !Array.isArray(item)) {
26
+ return `${pad}- \n${val}`;
27
+ }
28
+ return `${pad}- ${val}`;
29
+ })
30
+ .join("\n");
31
+ }
32
+ if (typeof obj === "object") {
33
+ const entries = Object.entries(obj);
34
+ if (entries.length === 0)
35
+ return "{}";
36
+ return entries
37
+ .map(([key, val]) => {
38
+ if (typeof val === "object" && val !== null && !Array.isArray(val)) {
39
+ return `${pad}${key}:\n${toYaml(val, indent + 1)}`;
40
+ }
41
+ if (Array.isArray(val) && val.length > 0 && typeof val[0] === "object") {
42
+ return `${pad}${key}:\n${toYaml(val, indent + 1)}`;
43
+ }
44
+ return `${pad}${key}: ${toYaml(val, indent)}`;
45
+ })
46
+ .join("\n");
47
+ }
48
+ return String(obj);
49
+ }
50
+ function formatRecallSearchPlain(query, result) {
51
+ const lines = [];
52
+ if (result.results.length === 0) {
53
+ return `No results for "${query}".`;
54
+ }
55
+ lines.push(`Recall results for "${query}" (${result.totalResults} matches):`);
56
+ lines.push("");
57
+ for (let i = 0; i < result.results.length; i++) {
58
+ const r = result.results[i];
59
+ lines.push(` ${i + 1}. [${r.score.toFixed(2)}] ${r.filePath}`);
60
+ lines.push(` ${r.title}`);
61
+ if (r.matchReason.length > 0) {
62
+ lines.push(` Reason: ${r.matchReason.filter((m) => !m.startsWith("Warning:")).join(", ")}`);
63
+ }
64
+ lines.push("");
65
+ }
66
+ return lines.join("\n");
67
+ }
68
+ function formatRecallRelatedPlain(result) {
69
+ const lines = [];
70
+ lines.push(`Recall for note ID: ${result.noteId}`);
71
+ lines.push("");
72
+ // 関連ノート
73
+ if (result.relatedNotes.length > 0) {
74
+ lines.push("Related Notes:");
75
+ for (const n of result.relatedNotes) {
76
+ lines.push(` [${n.score.toFixed(2)}] ${n.filePath} ${n.title}`);
77
+ if (n.reasons.length > 0) {
78
+ lines.push(` Reason: ${n.reasons.join(", ")}`);
79
+ }
80
+ }
81
+ lines.push("");
82
+ }
83
+ // PSP(Problem-Solution Pairs)
84
+ if (result.problemSolutionPairs.length > 0) {
85
+ lines.push("Problem-Solution Pairs:");
86
+ for (const p of result.problemSolutionPairs) {
87
+ lines.push(` [confidence: ${p.confidence.toFixed(2)}]`);
88
+ lines.push(` Problem: ${p.problemPattern}`);
89
+ lines.push(` Solution: ${p.solutionPattern}`);
90
+ }
91
+ lines.push("");
92
+ }
93
+ // グラフ関係
94
+ if (result.graphRelations.length > 0) {
95
+ lines.push("Knowledge Graph Relations:");
96
+ for (const g of result.graphRelations) {
97
+ lines.push(` [${g.entityType}] ${g.name}`);
98
+ for (const related of g.relatedEntities) {
99
+ lines.push(` -> [${related.entityType}] ${related.name} (${related.hops} hop${related.hops !== 1 ? "s" : ""})`);
100
+ }
101
+ }
102
+ lines.push("");
103
+ }
104
+ if (result.relatedNotes.length === 0 &&
105
+ result.problemSolutionPairs.length === 0 &&
106
+ result.graphRelations.length === 0) {
107
+ lines.push("No related knowledge found.");
108
+ }
109
+ return lines.join("\n");
110
+ }
111
+ async function recallAction(query, options) {
112
+ const rootPath = resolveDefaultPath(options.path);
113
+ const knowledgineDir = resolve(rootPath, ".knowledgine");
114
+ if (!existsSync(knowledgineDir)) {
115
+ console.error('Not initialized. Run "knowledgine init --path <dir>" first.');
116
+ process.exitCode = 1;
117
+ return;
118
+ }
119
+ const format = options.format ?? "plain";
120
+ if (!["json", "yaml", "plain"].includes(format)) {
121
+ console.error("Error: --format must be one of: json, yaml, plain");
122
+ process.exitCode = 1;
123
+ return;
124
+ }
125
+ const limit = options.limit ? parseInt(options.limit, 10) : 10;
126
+ if (isNaN(limit) || limit < 1) {
127
+ console.error("Error: --limit must be a positive integer");
128
+ process.exitCode = 1;
129
+ return;
130
+ }
131
+ const config = loadConfig(rootPath);
132
+ const db = createDatabase(config.dbPath);
133
+ try {
134
+ new Migrator(db, ALL_MIGRATIONS).migrate();
135
+ const repository = new KnowledgeRepository(db);
136
+ const graphRepository = new GraphRepository(db);
137
+ const service = new KnowledgeService({ repository, rootPath, graphRepository });
138
+ // --related モード
139
+ if (options.related !== undefined) {
140
+ const noteId = parseInt(options.related, 10);
141
+ if (isNaN(noteId) || noteId < 1) {
142
+ console.error("Error: --related must be a positive integer (note ID)");
143
+ process.exitCode = 1;
144
+ return;
145
+ }
146
+ const result = await service.findRelated({ noteId, limit });
147
+ if (format === "json") {
148
+ console.log(JSON.stringify({ ok: true, command: "recall", result }, null, 2));
149
+ }
150
+ else if (format === "yaml") {
151
+ console.log(toYaml({ ok: true, command: "recall", result }));
152
+ }
153
+ else {
154
+ console.error(formatRecallRelatedPlain(result));
155
+ }
156
+ return;
157
+ }
158
+ // クエリ検索モード
159
+ if (!query) {
160
+ console.error("Error: query argument is required (or use --related <noteId>)");
161
+ process.exitCode = 1;
162
+ return;
163
+ }
164
+ const result = await service.search({
165
+ query,
166
+ limit,
167
+ mode: "keyword",
168
+ agentic: options.agentic,
169
+ });
170
+ if (format === "json") {
171
+ console.log(JSON.stringify({ ok: true, command: "recall", result }, null, 2));
172
+ }
173
+ else if (format === "yaml") {
174
+ console.log(toYaml({ ok: true, command: "recall", result }));
175
+ }
176
+ else {
177
+ console.error(formatRecallSearchPlain(query, result));
178
+ }
179
+ }
180
+ catch (error) {
181
+ console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
182
+ process.exitCode = 1;
183
+ }
184
+ finally {
185
+ db.close();
186
+ }
187
+ }
188
+ export function registerRecallCommand(program) {
189
+ program
190
+ .command("recall [query]")
191
+ .description("Recall knowledge from the knowledge base")
192
+ .option("--related <noteId>", "Find related knowledge by note ID")
193
+ .option("--format <format>", "Output format: json, yaml, plain", "plain")
194
+ .option("--path <dir>", "Project root path")
195
+ .option("--limit <n>", "Max results", "10")
196
+ .option("--agentic", "Include deprecated notes (agentic mode)")
197
+ .action(recallAction);
198
+ }
199
+ //# sourceMappingURL=recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/commands/recall.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export interface SearchCommandOptions {
6
6
  related?: string;
7
7
  relatedFile?: string;
8
8
  path?: string;
9
+ fallback?: boolean;
10
+ agentic?: boolean;
11
+ includeDeprecated?: boolean;
9
12
  }
10
13
  export declare function searchCommand(query: string, options: SearchCommandOptions): Promise<void>;
11
14
  /** @deprecated Use searchCommand with format option instead */
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAgFf;AAwBD,+DAA+D;AAC/D,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,IAAI,CAiBN"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2I/F;AAwBD,+DAA+D;AAC/D,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,IAAI,CAiBN"}
@@ -1,14 +1,12 @@
1
1
  import { resolve } from "path";
2
2
  import { existsSync } from "fs";
3
- import { loadConfig, createDatabase, Migrator, KnowledgeRepository, KnowledgeSearcher, GraphRepository, KnowledgeService, ALL_MIGRATIONS, } from "@knowledgine/core";
3
+ import { loadConfig, resolveDefaultPath, createDatabase, loadSqliteVecExtension, Migrator, KnowledgeRepository, GraphRepository, KnowledgeService, ALL_MIGRATIONS, OnnxEmbeddingProvider, ModelManager, DEFAULT_MODEL_NAME, } from "@knowledgine/core";
4
4
  import { getDemoNotesPath } from "./demo.js";
5
5
  import { formatSearchResults as formatToolSearchResults, formatRelatedNotes, } from "../lib/formatter.js";
6
+ import { colors, symbols } from "../lib/ui/index.js";
6
7
  export async function searchCommand(query, options) {
7
- const rootPath = options.demo
8
- ? getDemoNotesPath()
9
- : options.path
10
- ? resolve(options.path)
11
- : resolve(process.cwd());
8
+ const fallbackAllowed = options.fallback !== false;
9
+ const rootPath = options.demo ? getDemoNotesPath() : resolveDefaultPath(options.path);
12
10
  const knowledgineDir = resolve(rootPath, ".knowledgine");
13
11
  if (!existsSync(knowledgineDir)) {
14
12
  console.error(options.demo
@@ -20,6 +18,9 @@ export async function searchCommand(query, options) {
20
18
  const config = loadConfig(rootPath);
21
19
  const db = createDatabase(config.dbPath);
22
20
  try {
21
+ if (config.embedding?.enabled) {
22
+ await loadSqliteVecExtension(db);
23
+ }
23
24
  new Migrator(db, ALL_MIGRATIONS).migrate();
24
25
  const repository = new KnowledgeRepository(db);
25
26
  const graphRepository = new GraphRepository(db);
@@ -54,15 +55,56 @@ export async function searchCommand(query, options) {
54
55
  }
55
56
  return;
56
57
  }
58
+ // Initialize embedding provider if semantic is enabled and requested
59
+ let embeddingProvider;
60
+ if (mode !== "keyword" && config.embedding?.enabled) {
61
+ const modelManager = new ModelManager();
62
+ if (modelManager.isModelAvailable()) {
63
+ embeddingProvider = new OnnxEmbeddingProvider(DEFAULT_MODEL_NAME, modelManager);
64
+ }
65
+ }
66
+ // --no-fallback: semantic/hybrid が利用できない場合はエラー終了
67
+ const semanticUnavailable = mode !== "keyword" && (!config.embedding?.enabled || !embeddingProvider);
68
+ if (!fallbackAllowed && semanticUnavailable) {
69
+ console.error(`${symbols.error} ${colors.error(`${mode} search is not available and --no-fallback was specified.`)}`);
70
+ console.error(`${symbols.arrow} ${colors.hint("Run 'knowledgine upgrade --semantic' to enable semantic search.")}`);
71
+ process.exitCode = 1;
72
+ return;
73
+ }
57
74
  // 通常の検索モード
58
- const service = new KnowledgeService({ repository, rootPath, graphRepository });
59
- const result = await service.search({ query, limit, mode });
75
+ const service = new KnowledgeService({
76
+ repository,
77
+ rootPath,
78
+ graphRepository,
79
+ embeddingProvider,
80
+ });
81
+ const result = await service.search({
82
+ query,
83
+ limit,
84
+ mode,
85
+ agentic: options.agentic,
86
+ includeDeprecated: options.includeDeprecated,
87
+ });
88
+ const warnings = result.results.flatMap((r) => r.matchReason.filter((m) => m.startsWith("Warning:")));
89
+ if (warnings.length > 0) {
90
+ console.error(`\n${symbols.warning} ${colors.warning(warnings[0])}\n`);
91
+ }
92
+ // セマンティック検索が要求されたが利用不可の場合の警告(フォールバック許可時のみ)
93
+ if (semanticUnavailable) {
94
+ console.error(`${symbols.warning} ${colors.warning("Semantic search is not configured. Falling back to FTS5.")}`);
95
+ console.error(`${symbols.arrow} ${colors.hint("Run 'knowledgine upgrade --semantic' to enable semantic search.")}`);
96
+ console.error("");
97
+ }
98
+ // actualMode が要求モードと異なる場合(フォールバック発生)の通知
99
+ if (result.actualMode !== result.mode) {
100
+ console.error(`${symbols.info} ${colors.hint(`Requested mode: ${result.mode}, actual mode used: ${result.actualMode}`)}`);
101
+ }
60
102
  if (format === "json") {
61
103
  console.log(JSON.stringify({ ok: true, command: "search", result }));
62
104
  }
63
105
  else if (format === "table") {
64
106
  if (result.results.length === 0) {
65
- console.error(`No results for "${query}".`);
107
+ console.error(`${symbols.info} ${colors.hint(`No results for "${query}".`)}`);
66
108
  }
67
109
  else {
68
110
  console.error(formatToolSearchResults(result.results, "table"));
@@ -84,10 +126,10 @@ export async function searchCommand(query, options) {
84
126
  /** 後方互換のためのレガシー出力形式 */
85
127
  function formatLegacySearchResults(query, results) {
86
128
  if (results.length === 0) {
87
- console.error(`No results for "${query}".`);
129
+ console.error(`${symbols.info} ${colors.hint(`No results for "${query}".`)}`);
88
130
  return;
89
131
  }
90
- console.error(`Results for "${query}" (${results.length} matches):`);
132
+ console.error(colors.bold(`Results for "${query}" (${results.length} matches):`));
91
133
  console.error("");
92
134
  for (let i = 0; i < results.length; i++) {
93
135
  const r = results[i];
@@ -100,10 +142,10 @@ function formatLegacySearchResults(query, results) {
100
142
  /** @deprecated Use searchCommand with format option instead */
101
143
  export function formatSearchResults(query, results) {
102
144
  if (results.length === 0) {
103
- console.error(`No results for "${query}".`);
145
+ console.error(`${symbols.info} ${colors.hint(`No results for "${query}".`)}`);
104
146
  return;
105
147
  }
106
- console.error(`Results for "${query}" (${results.length} matches):`);
148
+ console.error(colors.bold(`Results for "${query}" (${results.length} matches):`));
107
149
  console.error("");
108
150
  for (let i = 0; i < results.length; i++) {
109
151
  const r = results[i];
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Command } from "commander";
2
+ export interface ServeCommandOptions {
3
+ port?: string;
4
+ host?: string;
5
+ path?: string;
6
+ }
7
+ export declare function registerServeCommand(program: Command): void;
8
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ3D"}
@@ -0,0 +1,60 @@
1
+ import { Command } from "commander";
2
+ import { existsSync } from "fs";
3
+ import { resolve } from "path";
4
+ import { serve } from "@hono/node-server";
5
+ import { loadConfig, resolveDefaultPath, createDatabase, Migrator, ALL_MIGRATIONS, KnowledgeRepository, GraphRepository, KnowledgeService, VERSION, } from "@knowledgine/core";
6
+ import { createRestApp } from "@knowledgine/mcp-server";
7
+ export function registerServeCommand(program) {
8
+ program
9
+ .command("serve")
10
+ .description("Start REST API server for knowledge base access")
11
+ .option("--port <n>", "Port number", "3456")
12
+ .option("--host <host>", "Host to bind", "127.0.0.1")
13
+ .option("--path <dir>", "Project root path")
14
+ .action(serveAction);
15
+ }
16
+ async function serveAction(options) {
17
+ const rootPath = resolveDefaultPath(options.path);
18
+ const knowledgineDir = resolve(rootPath, ".knowledgine");
19
+ if (!existsSync(knowledgineDir)) {
20
+ console.error('Not initialized. Run "knowledgine init --path <dir>" first.');
21
+ process.exitCode = 1;
22
+ return;
23
+ }
24
+ const config = loadConfig(rootPath);
25
+ const db = createDatabase(config.dbPath);
26
+ try {
27
+ new Migrator(db, ALL_MIGRATIONS).migrate();
28
+ const repository = new KnowledgeRepository(db);
29
+ const graphRepository = new GraphRepository(db);
30
+ const service = new KnowledgeService({ repository, rootPath, graphRepository });
31
+ const app = createRestApp(service, VERSION);
32
+ const port = parseInt(options.port ?? "3456", 10);
33
+ const hostname = options.host ?? "127.0.0.1";
34
+ const stats = service.getStats();
35
+ const server = serve({
36
+ fetch: app.fetch,
37
+ port,
38
+ hostname,
39
+ }, () => {
40
+ console.error(`knowledgine REST API server running`);
41
+ console.error(` URL: http://${hostname}:${port}`);
42
+ console.error(` Notes: ${stats.totalNotes} indexed`);
43
+ });
44
+ // Graceful shutdown
45
+ const shutdown = () => {
46
+ console.error("\nShutting down...");
47
+ server.close();
48
+ db.close();
49
+ process.exit(0);
50
+ };
51
+ process.on("SIGINT", shutdown);
52
+ process.on("SIGTERM", shutdown);
53
+ }
54
+ catch (error) {
55
+ db.close();
56
+ console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
57
+ process.exitCode = 1;
58
+ }
59
+ }
60
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface RuleTarget {
2
+ value: string;
3
+ label: string;
4
+ description: string;
5
+ supported: boolean;
6
+ getRulePath: (root: string) => string;
7
+ strategy: "append-section" | "create-file";
8
+ getTemplate: (root: string) => string;
9
+ sharedFile?: string;
10
+ }
11
+ export interface RuleWriteResult {
12
+ target: string;
13
+ status: "ok" | "skipped" | "fail";
14
+ filePath: string;
15
+ error?: string;
16
+ note?: string;
17
+ }
18
+ export declare const RULE_TARGETS: RuleTarget[];
19
+ export declare function writeRuleFile(target: RuleTarget, projectRoot: string, options: {
20
+ dryRun?: boolean;
21
+ force?: boolean;
22
+ }): RuleWriteResult;
23
+ export declare function interactiveRulesSetup(projectRoot: string, preselectedMcpTargets?: string[]): Promise<RuleWriteResult[]>;
24
+ export declare function nonInteractiveRulesSetup(target: string, projectRoot: string, options: {
25
+ write?: boolean;
26
+ }): void;
27
+ //# sourceMappingURL=setup-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-rules.d.ts","sourceRoot":"","sources":["../../src/commands/setup-rules.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,QAAQ,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAC3C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,UAAU,EA4HpC,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,eAAe,CAgEjB;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC,CAwF5B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,IAAI,CAkDN"}