oh-my-claudecode 0.1.5 → 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.
Files changed (155) hide show
  1. package/README.md +26 -3
  2. package/bin/yith-mcp.js +5 -0
  3. package/dist/agents/cthulhu.d.ts.map +1 -1
  4. package/dist/agents/cthulhu.js +7 -0
  5. package/dist/agents/cthulhu.js.map +1 -1
  6. package/dist/cli/doctor.d.ts +7 -0
  7. package/dist/cli/doctor.d.ts.map +1 -1
  8. package/dist/cli/doctor.js +120 -0
  9. package/dist/cli/doctor.js.map +1 -1
  10. package/dist/cli/index.js +7 -2
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/install.d.ts.map +1 -1
  13. package/dist/cli/install.js +173 -0
  14. package/dist/cli/install.js.map +1 -1
  15. package/dist/features/yith-archive/config.d.ts.map +1 -1
  16. package/dist/features/yith-archive/config.js +6 -1
  17. package/dist/features/yith-archive/config.js.map +1 -1
  18. package/dist/features/yith-archive/functions/auto-forget.d.ts.map +1 -1
  19. package/dist/features/yith-archive/functions/auto-forget.js +3 -2
  20. package/dist/features/yith-archive/functions/auto-forget.js.map +1 -1
  21. package/dist/features/yith-archive/functions/compress.d.ts +7 -0
  22. package/dist/features/yith-archive/functions/compress.d.ts.map +1 -1
  23. package/dist/features/yith-archive/functions/compress.js +127 -0
  24. package/dist/features/yith-archive/functions/compress.js.map +1 -1
  25. package/dist/features/yith-archive/functions/consolidate.d.ts +11 -0
  26. package/dist/features/yith-archive/functions/consolidate.d.ts.map +1 -1
  27. package/dist/features/yith-archive/functions/consolidate.js +221 -3
  28. package/dist/features/yith-archive/functions/consolidate.js.map +1 -1
  29. package/dist/features/yith-archive/functions/consolidation-pipeline.d.ts +21 -0
  30. package/dist/features/yith-archive/functions/consolidation-pipeline.d.ts.map +1 -1
  31. package/dist/features/yith-archive/functions/consolidation-pipeline.js +522 -0
  32. package/dist/features/yith-archive/functions/consolidation-pipeline.js.map +1 -1
  33. package/dist/features/yith-archive/functions/crystallize.d.ts +20 -0
  34. package/dist/features/yith-archive/functions/crystallize.d.ts.map +1 -1
  35. package/dist/features/yith-archive/functions/crystallize.js +136 -0
  36. package/dist/features/yith-archive/functions/crystallize.js.map +1 -1
  37. package/dist/features/yith-archive/functions/diagnostics.d.ts.map +1 -1
  38. package/dist/features/yith-archive/functions/diagnostics.js +2 -1
  39. package/dist/features/yith-archive/functions/diagnostics.js.map +1 -1
  40. package/dist/features/yith-archive/functions/evict.d.ts.map +1 -1
  41. package/dist/features/yith-archive/functions/evict.js +3 -2
  42. package/dist/features/yith-archive/functions/evict.js.map +1 -1
  43. package/dist/features/yith-archive/functions/export-import.d.ts.map +1 -1
  44. package/dist/features/yith-archive/functions/export-import.js +19 -1
  45. package/dist/features/yith-archive/functions/export-import.js.map +1 -1
  46. package/dist/features/yith-archive/functions/flow-compress.d.ts +2 -0
  47. package/dist/features/yith-archive/functions/flow-compress.d.ts.map +1 -1
  48. package/dist/features/yith-archive/functions/flow-compress.js +130 -1
  49. package/dist/features/yith-archive/functions/flow-compress.js.map +1 -1
  50. package/dist/features/yith-archive/functions/graph.d.ts +2 -0
  51. package/dist/features/yith-archive/functions/graph.d.ts.map +1 -1
  52. package/dist/features/yith-archive/functions/graph.js +115 -0
  53. package/dist/features/yith-archive/functions/graph.js.map +1 -1
  54. package/dist/features/yith-archive/functions/query-expansion.d.ts +2 -0
  55. package/dist/features/yith-archive/functions/query-expansion.d.ts.map +1 -1
  56. package/dist/features/yith-archive/functions/query-expansion.js +75 -0
  57. package/dist/features/yith-archive/functions/query-expansion.js.map +1 -1
  58. package/dist/features/yith-archive/functions/reflect.d.ts +6 -0
  59. package/dist/features/yith-archive/functions/reflect.d.ts.map +1 -1
  60. package/dist/features/yith-archive/functions/reflect.js +240 -0
  61. package/dist/features/yith-archive/functions/reflect.js.map +1 -1
  62. package/dist/features/yith-archive/functions/relations.d.ts.map +1 -1
  63. package/dist/features/yith-archive/functions/relations.js +5 -4
  64. package/dist/features/yith-archive/functions/relations.js.map +1 -1
  65. package/dist/features/yith-archive/functions/remember.d.ts.map +1 -1
  66. package/dist/features/yith-archive/functions/remember.js +6 -3
  67. package/dist/features/yith-archive/functions/remember.js.map +1 -1
  68. package/dist/features/yith-archive/functions/retention.d.ts.map +1 -1
  69. package/dist/features/yith-archive/functions/retention.js +2 -1
  70. package/dist/features/yith-archive/functions/retention.js.map +1 -1
  71. package/dist/features/yith-archive/functions/search.d.ts +52 -0
  72. package/dist/features/yith-archive/functions/search.d.ts.map +1 -1
  73. package/dist/features/yith-archive/functions/search.js +243 -27
  74. package/dist/features/yith-archive/functions/search.js.map +1 -1
  75. package/dist/features/yith-archive/functions/skill-extract.d.ts +2 -0
  76. package/dist/features/yith-archive/functions/skill-extract.d.ts.map +1 -1
  77. package/dist/features/yith-archive/functions/skill-extract.js +192 -0
  78. package/dist/features/yith-archive/functions/skill-extract.js.map +1 -1
  79. package/dist/features/yith-archive/functions/sliding-window.d.ts +22 -0
  80. package/dist/features/yith-archive/functions/sliding-window.d.ts.map +1 -1
  81. package/dist/features/yith-archive/functions/sliding-window.js +327 -0
  82. package/dist/features/yith-archive/functions/sliding-window.js.map +1 -1
  83. package/dist/features/yith-archive/functions/snapshot.d.ts.map +1 -1
  84. package/dist/features/yith-archive/functions/snapshot.js +14 -0
  85. package/dist/features/yith-archive/functions/snapshot.js.map +1 -1
  86. package/dist/features/yith-archive/functions/summarize.d.ts +2 -0
  87. package/dist/features/yith-archive/functions/summarize.d.ts.map +1 -1
  88. package/dist/features/yith-archive/functions/summarize.js +113 -0
  89. package/dist/features/yith-archive/functions/summarize.js.map +1 -1
  90. package/dist/features/yith-archive/functions/temporal-graph.d.ts +5 -0
  91. package/dist/features/yith-archive/functions/temporal-graph.d.ts.map +1 -1
  92. package/dist/features/yith-archive/functions/temporal-graph.js +129 -0
  93. package/dist/features/yith-archive/functions/temporal-graph.js.map +1 -1
  94. package/dist/features/yith-archive/functions/working-memory.d.ts.map +1 -1
  95. package/dist/features/yith-archive/functions/working-memory.js +2 -1
  96. package/dist/features/yith-archive/functions/working-memory.js.map +1 -1
  97. package/dist/features/yith-archive/index.d.ts +15 -0
  98. package/dist/features/yith-archive/index.d.ts.map +1 -1
  99. package/dist/features/yith-archive/index.js +60 -19
  100. package/dist/features/yith-archive/index.js.map +1 -1
  101. package/dist/features/yith-archive/providers/embedding/local.d.ts +28 -2
  102. package/dist/features/yith-archive/providers/embedding/local.d.ts.map +1 -1
  103. package/dist/features/yith-archive/providers/embedding/local.js +57 -7
  104. package/dist/features/yith-archive/providers/embedding/local.js.map +1 -1
  105. package/dist/features/yith-archive/providers/index.d.ts +31 -1
  106. package/dist/features/yith-archive/providers/index.d.ts.map +1 -1
  107. package/dist/features/yith-archive/providers/index.js +70 -0
  108. package/dist/features/yith-archive/providers/index.js.map +1 -1
  109. package/dist/features/yith-archive/state/hybrid-search.d.ts.map +1 -1
  110. package/dist/features/yith-archive/state/hybrid-search.js +28 -8
  111. package/dist/features/yith-archive/state/hybrid-search.js.map +1 -1
  112. package/dist/features/yith-archive/state/index-persistence.d.ts +31 -1
  113. package/dist/features/yith-archive/state/index-persistence.d.ts.map +1 -1
  114. package/dist/features/yith-archive/state/index-persistence.js +92 -5
  115. package/dist/features/yith-archive/state/index-persistence.js.map +1 -1
  116. package/dist/features/yith-archive/state/kv.d.ts +9 -1
  117. package/dist/features/yith-archive/state/kv.d.ts.map +1 -1
  118. package/dist/features/yith-archive/state/kv.js +33 -5
  119. package/dist/features/yith-archive/state/kv.js.map +1 -1
  120. package/dist/features/yith-archive/state/logger.d.ts.map +1 -1
  121. package/dist/features/yith-archive/state/logger.js +6 -3
  122. package/dist/features/yith-archive/state/logger.js.map +1 -1
  123. package/dist/features/yith-archive/state/schema.d.ts +2 -0
  124. package/dist/features/yith-archive/state/schema.d.ts.map +1 -1
  125. package/dist/features/yith-archive/state/schema.js +2 -0
  126. package/dist/features/yith-archive/state/schema.js.map +1 -1
  127. package/dist/features/yith-archive/state/search-index.d.ts +32 -1
  128. package/dist/features/yith-archive/state/search-index.d.ts.map +1 -1
  129. package/dist/features/yith-archive/state/search-index.js +77 -7
  130. package/dist/features/yith-archive/state/search-index.js.map +1 -1
  131. package/dist/features/yith-archive/state/work-packets.d.ts +208 -0
  132. package/dist/features/yith-archive/state/work-packets.d.ts.map +1 -0
  133. package/dist/features/yith-archive/state/work-packets.js +201 -0
  134. package/dist/features/yith-archive/state/work-packets.js.map +1 -0
  135. package/dist/hooks/cthulhu-auto.d.ts +1 -1
  136. package/dist/hooks/cthulhu-auto.d.ts.map +1 -1
  137. package/dist/hooks/cthulhu-auto.js +7 -0
  138. package/dist/hooks/cthulhu-auto.js.map +1 -1
  139. package/dist/hooks/memory-override.d.ts +1 -1
  140. package/dist/hooks/memory-override.d.ts.map +1 -1
  141. package/dist/hooks/memory-override.js +69 -20
  142. package/dist/hooks/memory-override.js.map +1 -1
  143. package/dist/mcp/yith-catalog.d.ts +66 -0
  144. package/dist/mcp/yith-catalog.d.ts.map +1 -0
  145. package/dist/mcp/yith-catalog.js +316 -0
  146. package/dist/mcp/yith-catalog.js.map +1 -0
  147. package/dist/mcp/yith-server.d.ts +13 -0
  148. package/dist/mcp/yith-server.d.ts.map +1 -0
  149. package/dist/mcp/yith-server.js +102 -0
  150. package/dist/mcp/yith-server.js.map +1 -0
  151. package/dist/mcp/yith-tools.d.ts +27 -0
  152. package/dist/mcp/yith-tools.d.ts.map +1 -0
  153. package/dist/mcp/yith-tools.js +405 -0
  154. package/dist/mcp/yith-tools.js.map +1 -0
  155. package/package.json +4 -2
package/README.md CHANGED
@@ -57,7 +57,8 @@ These aren't three plugins you pick and choose. They're one integrated system th
57
57
  | Capability | What it does |
58
58
  |---|---|
59
59
  | **11 Elder God agents** | Cthulhu orchestrator + 10 specialists (search, advisory, planning, review, docs, autonomy, vision, etc.) |
60
- | **Yith Archive** | Persistent cross-session memory with retrieval-based injection. Dozens of memory primitives: remember, search, consolidate, evict, crystallize, reflect, temporal graph, pattern extraction, and more. |
60
+ | **Yith Archive** | Persistent cross-session memory with retrieval-based injection. Dozens of memory primitives: remember, search, consolidate, evict, crystallize, reflect, temporal graph, pattern extraction, and more. Exposed to Claude Code as a stdio MCP server with 7 tools. |
61
+ | **Work-packet protocol** | LLM-requiring memory ops (consolidate, summarize, reflect, etc.) run in sessions with no API key — each function has a state-machine variant that emits prompts for the parent agent to execute with its own subscription auth. |
61
62
  | **Block Summarizer** | In-session delegation summarization with on-disk block archive |
62
63
  | **8 lifecycle hooks** | Auto-activation, memory redirect, todo enforcement, completion loops, code-quality checks, rule injection, write guards |
63
64
  | **9 slash commands** | Direct-invoke any mode or flow from the Claude Code chat bar |
@@ -135,12 +136,34 @@ Named for the Great Race of Yith from *The Shadow Out of Time* — mind-transfer
135
136
 
136
137
  ### What it gives you
137
138
 
138
- - **Hybrid retrieval** — BM25 keyword search combined with optional semantic embedding search (via `@xenova/transformers`) and a graph retrieval weight. Only the most relevant memories get injected into new sessions, not everything.
139
+ - **Hybrid retrieval** — BM25 keyword search combined with semantic embedding search (local nomic model by default, 768 dims, lazy-downloaded on first use) and a graph retrieval weight. Memories AND observations both land in the same index at write-time, so `yith_search` returns freshly-written memories immediately.
140
+ - **Exposed as an MCP server** — during `install`, Yith Archive is registered with Claude Code as a stdio MCP server named `yith-archive`. Sessions get 7 tools: `yith_remember`, `yith_search`, `yith_recall`, `yith_context`, `yith_observe`, `yith_commit_work`, and `yith_trigger` (escape hatch for ~90 advanced memory functions, with a curated top-20 catalog embedded in the tool description).
139
141
  - **Rich memory primitives** — `remember`, `search`, `recall`, `context`, `observe`, plus dozens more under the hood: consolidation pipelines, temporal graph retrieval, lesson crystallization, pattern extraction, eviction and retention policies, file-scoped memory index, sliding window compression, query expansion, working memory, session timeline, export/import.
140
142
  - **Automatic capture** — notable events during a session can be observed into the archive; a background consolidation pass merges similar memories into distilled lessons.
141
- - **Zero external runtime** — file-backed JSON storage under `~/.oh-my-claudecode/yith/store.json`. No database, no background server, no subprocess, no network, no ports to manage.
143
+ - **Zero external runtime** — file-backed JSON storage under `~/.oh-my-claudecode/yith/store.json`. Atomic writes via tmpfile + rename so a crash mid-write can't corrupt the store. No database, no background server, no subprocess, no network, no ports to manage.
144
+ - **Crash-safe work-packet flows** — pending continuations for LLM-requiring operations persist to the same store and survive server restarts; resuming with the same continuation token picks up where the flow left off.
142
145
  - **Replaces Claude Code's built-in auto-memory** via the `memory-override` SessionStart hook, which tells the session not to write to the built-in memory files. Disable the override with `disabled_hooks: ["memory-override"]` if you prefer to keep the built-in system active.
143
146
 
147
+ ### Work-packet protocol — LLM ops without an API key
148
+
149
+ 13 of Yith's memory operations need an LLM to do their work (`crystallize`, `consolidate`, `consolidate-pipeline`, `compress`, `summarize`, `flow-compress`, `graph-extract`, `temporal-graph-extract`, `expand-query`, `skill-extract`, `reflect`, `enrich-window`, `enrich-session`). If Yith has its own `ANTHROPIC_API_KEY` in `~/.oh-my-claudecode/yith/.env`, these run directly in-process.
150
+
151
+ If no API key is configured, the session doesn't lose access to these functions — they just route through the **work-packet protocol** instead. Each LLM-requiring function has a `-step` state-machine variant that emits `WorkPacket` descriptors (systemPrompt + userPrompt + metadata) instead of calling the LLM itself. The flow looks like this:
152
+
153
+ ```
154
+ yith_trigger("mem::consolidate-pipeline", {...})
155
+
156
+ {status: "needs_llm_work", workPackets: [...], continuation: "wp_..."}
157
+
158
+ Claude Code session executes each packet's prompts with its own subscription auth
159
+
160
+ yith_commit_work(continuation, [{id, completion}, ...])
161
+
162
+ {status: "needs_llm_work", ...} (another round) OR {status: "success", result}
163
+ ```
164
+
165
+ Multi-call functions like `consolidate-pipeline` chain multiple rounds (semantic → reflect → procedural). Loop functions like `consolidate` / `reflect` / `enrich-session` emit packets in adaptive batches via `planLoopBatches` — small loops go "all-at-once" in one round, large loops batch in chunks sized by packet count or total prompt bytes. `doctor --yith-functions` marks LLM-requiring functions with a ⚡ so callers know to expect the `needs_llm_work` envelope.
166
+
144
167
  ### Programmatic API
145
168
 
146
169
  ```ts
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import('../dist/mcp/yith-server.js').catch((err) => {
3
+ console.error('yith-mcp: failed to load server', err.message);
4
+ process.exit(1);
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"cthulhu.d.ts","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAIlG;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,uBAAuB,EAAE,mBAKrC,CAAA;AA6VD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,eAAe,GAAE,cAAc,EAAO,EACtC,kBAAkB,GAAE,MAAM,EAAO,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,mBAAmB,GAAE,iBAAiB,EAAO,EAC7C,aAAa,UAAQ,GACpB,WAAW,CAyBb;yBAhCe,kBAAkB"}
1
+ {"version":3,"file":"cthulhu.d.ts","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAIlG;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,uBAAuB,EAAE,mBAKrC,CAAA;AAoWD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,eAAe,GAAE,cAAc,EAAO,EACtC,kBAAkB,GAAE,MAAM,EAAO,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,mBAAmB,GAAE,iBAAiB,EAAO,EAC7C,aAAa,UAAQ,GACpB,WAAW,CAyBb;yBAhCe,kBAAkB"}
@@ -328,6 +328,13 @@ If the user's approach seems problematic:
328
328
  - **NEVER** suppress type errors or linter warnings with ignore comments
329
329
  - **NEVER** add features not requested
330
330
  - **NEVER** refactor while fixing bugs
331
+ - **NEVER** estimate work in human time units (days, weeks, sprints, story
332
+ points, "a few hours of dev work"). You are not a human team and you do not
333
+ run on a human calendar. Effort is measured in tool calls, files touched,
334
+ parallel agent fires, and verification passes — not engineering-days.
335
+ If the user asks "how long", respond in those units, or in a seconds-to-minutes
336
+ range scoped to the current session. Human-time framing is a category error
337
+ and must be refused.
331
338
 
332
339
  ## Anti-Patterns
333
340
 
@@ -1 +1 @@
1
- {"version":3,"file":"cthulhu.js","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cthulhu.js","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Print the full Yith function catalog grouped by category. Invoked via
3
+ * `oh-my-claudecode doctor --yith-functions`. Doesn't touch the runtime
4
+ * archive — just reads from the static catalog module, which is the
5
+ * single source of truth for what functions exist.
6
+ */
7
+ export declare function printYithFunctionCatalog(): void;
1
8
  export declare function runDoctor(projectDirectory?: string): Promise<void>;
2
9
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAkCA,wBAAsB,SAAS,CAAC,gBAAgB,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHvF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAoBA;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAiC/C;AAwBD,wBAAsB,SAAS,CAAC,gBAAgB,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4NvF"}
@@ -3,11 +3,42 @@ import * as path from "path";
3
3
  import { ALL_HOOK_DEFINITIONS } from "../hooks/index.js";
4
4
  import { AGENT_METADATA_MAP } from "../agents/builtin-agents.js";
5
5
  import { loadPluginConfig } from "../plugin-config.js";
6
+ import { FULL_CATALOG, groupFullCatalog, LLM_REQUIRED_FUNCTIONS, } from "../mcp/yith-catalog.js";
6
7
  const HOME = process.env.HOME ?? process.env.USERPROFILE ?? "";
7
8
  const CLAUDE_DIR = path.join(HOME, ".claude");
8
9
  const HOOKS_DIR = path.join(CLAUDE_DIR, "hooks");
9
10
  const SKILLS_DIR = path.join(CLAUDE_DIR, "skills");
10
11
  const SETTINGS_PATH = path.join(CLAUDE_DIR, "settings.json");
12
+ const YITH_DATA_DIR = path.join(HOME, ".oh-my-claudecode", "yith");
13
+ const YITH_ENV_PATH = path.join(YITH_DATA_DIR, ".env");
14
+ const MCP_SERVER_NAME = "yith-archive";
15
+ /**
16
+ * Print the full Yith function catalog grouped by category. Invoked via
17
+ * `oh-my-claudecode doctor --yith-functions`. Doesn't touch the runtime
18
+ * archive — just reads from the static catalog module, which is the
19
+ * single source of truth for what functions exist.
20
+ */
21
+ export function printYithFunctionCatalog() {
22
+ console.log("\n╔══════════════════════════════════════════════════════╗");
23
+ console.log("║ Yith Memory Function Catalog ║");
24
+ console.log("╚══════════════════════════════════════════════════════╝\n");
25
+ console.log(` ${FULL_CATALOG.length} functions available via yith_trigger(name, args)`);
26
+ console.log(` ⚡ = needs an LLM (routes through work-packet loop in no-key mode)\n`);
27
+ const groups = groupFullCatalog();
28
+ for (const [category, entries] of groups) {
29
+ console.log(` ── ${category} ${"─".repeat(Math.max(2, 50 - category.length))}`);
30
+ const width = Math.max(...entries.map((e) => e.name.length));
31
+ for (const entry of entries) {
32
+ const marker = LLM_REQUIRED_FUNCTIONS.has(entry.name) ? "⚡ " : " ";
33
+ console.log(` ${marker}${entry.name.padEnd(width)} ${entry.summary}`);
34
+ }
35
+ console.log();
36
+ }
37
+ console.log(" Note: these are NOT first-class MCP tools. Invoke them via:");
38
+ console.log(' yith_trigger({ name: "mem::consolidate-pipeline", args: {} })\n');
39
+ console.log(" The five core memory operations (remember, search, recall, context,");
40
+ console.log(" observe) are first-class MCP tools prefixed `yith_` — use those directly.\n");
41
+ }
11
42
  function check(name, condition, okMsg, failMsg) {
12
43
  return {
13
44
  name,
@@ -78,6 +109,95 @@ export async function runDoctor(projectDirectory = process.cwd()) {
78
109
  });
79
110
  }
80
111
  }
112
+ // ── Check 8: Yith data directory ────────────────────────────────────────────
113
+ const yithDirExists = fs.existsSync(YITH_DATA_DIR);
114
+ results.push(check("Yith data dir", yithDirExists, `${YITH_DATA_DIR} exists`, `${YITH_DATA_DIR} not found — run: oh-my-claudecode install`));
115
+ // ── Check 9: Yith MCP server registered ─────────────────────────────────────
116
+ if (settingsExists) {
117
+ try {
118
+ const settings = JSON.parse(fs.readFileSync(SETTINGS_PATH, "utf-8"));
119
+ const mcpServers = settings.mcpServers;
120
+ const yithEntry = mcpServers?.[MCP_SERVER_NAME];
121
+ if (yithEntry) {
122
+ const serverCmd = yithEntry.args?.[0] ?? yithEntry.command ?? "(unknown)";
123
+ results.push({
124
+ name: "Yith MCP server",
125
+ status: "ok",
126
+ message: `Registered → ${path.basename(serverCmd)}`,
127
+ });
128
+ }
129
+ else {
130
+ results.push({
131
+ name: "Yith MCP server",
132
+ status: "error",
133
+ message: "Not registered in settings.json.mcpServers — run: oh-my-claudecode install",
134
+ });
135
+ }
136
+ }
137
+ catch {
138
+ results.push({
139
+ name: "Yith MCP server",
140
+ status: "error",
141
+ message: "Failed to parse settings.json",
142
+ });
143
+ }
144
+ }
145
+ // ── Check 10: Boot Yith archive and report health ──────────────────────────
146
+ if (yithDirExists) {
147
+ try {
148
+ const { createYithArchive } = await import("../features/yith-archive/index.js");
149
+ const archive = createYithArchive();
150
+ const memoriesMap = (await archive.kv.get("mem:memories", "")) ?? {};
151
+ // kv.list on the memories scope returns the individual memory records.
152
+ const memoryCount = (await archive.kv.list("mem:memories")).length;
153
+ const observationCount = (await archive.kv.list("mem:observations")).length;
154
+ void memoriesMap;
155
+ // Read meta header to report embedding provider state
156
+ const meta = await archive.kv
157
+ .get("mem:index:meta", "current")
158
+ .catch(() => null);
159
+ const providerLine = meta
160
+ ? `${meta.embeddingProvider} (${meta.dimensions} dims, gen ${meta.generation})`
161
+ : "pending first flush";
162
+ results.push({
163
+ name: "Yith archive",
164
+ status: "ok",
165
+ message: `Loaded — ${memoryCount} memories, ${observationCount} observations, embeddings: ${providerLine}`,
166
+ });
167
+ await archive.shutdown();
168
+ }
169
+ catch (err) {
170
+ results.push({
171
+ name: "Yith archive",
172
+ status: "error",
173
+ message: `Failed to boot: ${err instanceof Error ? err.message : String(err)}`,
174
+ });
175
+ }
176
+ }
177
+ // ── Check 11: Yith .env permissions if it exists ────────────────────────────
178
+ if (fs.existsSync(YITH_ENV_PATH)) {
179
+ try {
180
+ const stat = fs.statSync(YITH_ENV_PATH);
181
+ const mode = stat.mode & 0o777;
182
+ if (mode === 0o600) {
183
+ results.push({
184
+ name: "Yith .env perms",
185
+ status: "ok",
186
+ message: `${YITH_ENV_PATH} mode 600`,
187
+ });
188
+ }
189
+ else {
190
+ results.push({
191
+ name: "Yith .env perms",
192
+ status: "warn",
193
+ message: `${YITH_ENV_PATH} mode ${mode.toString(8)} — should be 600`,
194
+ });
195
+ }
196
+ }
197
+ catch {
198
+ /* skip */
199
+ }
200
+ }
81
201
  // ── Print results ────────────────────────────────────────────────────────────
82
202
  const icons = { ok: "✓", warn: "⚠", error: "✗" };
83
203
  const colors = { ok: "\x1b[32m", warn: "\x1b[33m", error: "\x1b[31m" };
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -2,7 +2,7 @@ import { Command } from "commander";
2
2
  import * as path from "path";
3
3
  import { fileURLToPath } from "url";
4
4
  import { runInstall } from "./install.js";
5
- import { runDoctor } from "./doctor.js";
5
+ import { runDoctor, printYithFunctionCatalog } from "./doctor.js";
6
6
  const __filename = fileURLToPath(import.meta.url);
7
7
  const __dirname = path.dirname(__filename);
8
8
  const PACKAGE_ROOT = path.resolve(__dirname, "../..");
@@ -25,7 +25,12 @@ program
25
25
  .command("doctor")
26
26
  .description("Health diagnostics — verify installation is complete")
27
27
  .argument("[directory]", "Project directory to check", process.cwd())
28
- .action(async (directory) => {
28
+ .option("--yith-functions", "Print the full Yith memory function catalog and exit")
29
+ .action(async (directory, options) => {
30
+ if (options.yithFunctions) {
31
+ printYithFunctionCatalog();
32
+ return;
33
+ }
29
34
  await runDoctor(directory);
30
35
  });
31
36
  program
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,4CAA4C,CAAC;KACzD,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,UAAU,EAAE,4CAA4C,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,UAAU,CAAC;QACf,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sDAAsD,CAAC;KACnE,QAAQ,CAAC,aAAa,EAAE,4BAA4B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;IAClC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAA;IAC1E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;IAE9E,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAE7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,WAAW;QACvB,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,QAAQ;QAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC,CAAA;IAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;IACvG,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"AAqJA,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFhB"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"AA4UA,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGhB"}
@@ -8,11 +8,167 @@ const HOOKS_DIR = path.join(CLAUDE_DIR, "hooks");
8
8
  const COMMANDS_DIR = path.join(CLAUDE_DIR, "commands");
9
9
  const LEGACY_SKILLS_DIR = path.join(CLAUDE_DIR, "skills");
10
10
  const SETTINGS_PATH = path.join(CLAUDE_DIR, "settings.json");
11
+ const YITH_DATA_DIR = path.join(HOME, ".oh-my-claudecode", "yith");
12
+ const YITH_ENV_PATH = path.join(YITH_DATA_DIR, ".env");
13
+ const MCP_SERVER_NAME = "yith-archive";
14
+ /**
15
+ * Map of env var names to hosted embedding providers the installer supports.
16
+ * The installer uses this for both pre-existing-key detection and interactive
17
+ * selection. Order matters — it's the preference used when multiple keys
18
+ * happen to be set (mirrors detectEmbeddingProvider in yith-archive/config.ts).
19
+ */
20
+ const EMBEDDING_PROVIDERS = [
21
+ {
22
+ id: "local",
23
+ label: "Local nomic",
24
+ envKey: "",
25
+ description: "nomic-embed-text-v1.5, ~137 MB, downloaded on first use — private, offline, zero setup",
26
+ },
27
+ {
28
+ id: "gemini",
29
+ label: "Gemini",
30
+ envKey: "GEMINI_API_KEY",
31
+ description: "free tier: 1,500 RPM, generous for backfill",
32
+ },
33
+ {
34
+ id: "openai",
35
+ label: "OpenAI",
36
+ envKey: "OPENAI_API_KEY",
37
+ description: "paid, text-embedding-3-small",
38
+ },
39
+ {
40
+ id: "voyage",
41
+ label: "Voyage",
42
+ envKey: "VOYAGE_API_KEY",
43
+ description: "Anthropic's recommended partner",
44
+ },
45
+ ];
11
46
  function ensureDir(dir) {
12
47
  if (!fs.existsSync(dir)) {
13
48
  fs.mkdirSync(dir, { recursive: true });
14
49
  }
15
50
  }
51
+ /** Create the Yith data dir with restrictive permissions. Idempotent. */
52
+ function ensureYithDataDir() {
53
+ if (!fs.existsSync(YITH_DATA_DIR)) {
54
+ fs.mkdirSync(YITH_DATA_DIR, { recursive: true, mode: 0o700 });
55
+ console.log(` Created Yith data dir: ${YITH_DATA_DIR}`);
56
+ }
57
+ else {
58
+ // Tighten perms if a previous install created the dir world-readable.
59
+ try {
60
+ fs.chmodSync(YITH_DATA_DIR, 0o700);
61
+ }
62
+ catch {
63
+ /* non-fatal */
64
+ }
65
+ }
66
+ }
67
+ /**
68
+ * Check the environment for an already-set embedding-provider API key.
69
+ * Returns the matching provider id + key value, or null if none set.
70
+ * Used to pre-seed the interactive prompt so users aren't asked twice.
71
+ */
72
+ function detectExistingEmbeddingKey() {
73
+ for (const p of EMBEDDING_PROVIDERS) {
74
+ if (p.envKey && process.env[p.envKey]) {
75
+ return { id: p.id, key: process.env[p.envKey] };
76
+ }
77
+ }
78
+ return null;
79
+ }
80
+ /**
81
+ * Prompt the user for an embedding provider choice. Returns the selected
82
+ * provider id and (if a hosted provider was picked) the API key to write
83
+ * into the Yith .env. Honors pre-existing env keys by offering them as
84
+ * the default instead of re-asking. Returns "local" with no key if the
85
+ * user takes the default or declines every hosted option.
86
+ */
87
+ async function promptEmbeddingProvider(rl) {
88
+ const existing = detectExistingEmbeddingKey();
89
+ if (existing) {
90
+ const label = EMBEDDING_PROVIDERS.find((p) => p.id === existing.id).label;
91
+ const answer = await ask(rl, `\n► Embeddings: detected ${existing.id.toUpperCase()}_API_KEY in your shell — use ${label} for Yith embeddings? [Y/n] `);
92
+ if (answer.trim().toLowerCase() !== "n") {
93
+ return { providerId: existing.id, apiKey: existing.key };
94
+ }
95
+ // User declined the detected key — fall through to full menu.
96
+ }
97
+ console.log("\n► Embeddings:");
98
+ console.log(" Yith Archive uses local embeddings by default. Alternatives are available if you'd rather");
99
+ console.log(" use a hosted provider:\n");
100
+ EMBEDDING_PROVIDERS.forEach((p, i) => {
101
+ const tag = p.id === "local" ? " [default]" : "";
102
+ console.log(` ${i + 1}. ${p.label}${tag} — ${p.description}`);
103
+ });
104
+ const answer = await ask(rl, "\n Choice [1]: ");
105
+ const idx = parseInt(answer.trim() || "1", 10) - 1;
106
+ const chosen = EMBEDDING_PROVIDERS[idx];
107
+ if (!chosen || chosen.id === "local") {
108
+ return { providerId: "local" };
109
+ }
110
+ // Hosted provider chosen — collect the key. Plain readline input, not
111
+ // hidden — matches how `git credential` etc. work for local tools and
112
+ // keeps the install flow simple. Users running in screen-shared sessions
113
+ // can set the env var before running install instead.
114
+ const keyPrompt = `\n Enter ${chosen.envKey} (or press Enter to fall back to local): `;
115
+ const rawKey = await ask(rl, keyPrompt);
116
+ const key = rawKey.trim();
117
+ if (!key) {
118
+ console.log(" No key entered — falling back to local embeddings.");
119
+ return { providerId: "local" };
120
+ }
121
+ return { providerId: chosen.id, apiKey: key };
122
+ }
123
+ /**
124
+ * Write (or update) the Yith .env file with a single KEY=value line for
125
+ * the given embedding provider. Preserves any existing lines untouched.
126
+ * Sets file mode 0600 so the API key isn't world-readable.
127
+ */
128
+ function writeYithEnvKey(envKey, value) {
129
+ ensureYithDataDir();
130
+ let existing = "";
131
+ if (fs.existsSync(YITH_ENV_PATH)) {
132
+ existing = fs.readFileSync(YITH_ENV_PATH, "utf-8");
133
+ }
134
+ const lines = existing.split("\n").filter((l) => !l.startsWith(`${envKey}=`));
135
+ lines.push(`${envKey}=${value}`);
136
+ // Trim trailing empty line noise and ensure exactly one newline at EOF.
137
+ const content = lines.filter((l, i, arr) => !(l === "" && i === arr.length - 1)).join("\n") + "\n";
138
+ fs.writeFileSync(YITH_ENV_PATH, content, { mode: 0o600 });
139
+ // writeFileSync won't tighten perms if the file already exists with a
140
+ // looser mode — apply explicitly to cover that case.
141
+ try {
142
+ fs.chmodSync(YITH_ENV_PATH, 0o600);
143
+ }
144
+ catch {
145
+ /* non-fatal */
146
+ }
147
+ console.log(` Saved ${envKey} to ${YITH_ENV_PATH} (mode 600)`);
148
+ }
149
+ /**
150
+ * Register the yith-mcp server in settings.json → mcpServers. Idempotent:
151
+ * if the entry already exists with a matching command, leaves it alone.
152
+ * Uses an absolute path to bin/yith-mcp.js from the installed package so
153
+ * Claude Code can spawn it regardless of whether `yith-mcp` is on PATH.
154
+ */
155
+ function registerYithMcpServer(settings, packageRoot) {
156
+ const serverPath = path.join(packageRoot, "bin", "yith-mcp.js");
157
+ const mcpServers = settings.mcpServers ?? {};
158
+ const existing = mcpServers[MCP_SERVER_NAME];
159
+ if (existing?.command === "node" && existing.args?.[0] === serverPath) {
160
+ console.log(` MCP server already registered: ${MCP_SERVER_NAME}`);
161
+ }
162
+ else {
163
+ mcpServers[MCP_SERVER_NAME] = {
164
+ type: "stdio",
165
+ command: "node",
166
+ args: [serverPath],
167
+ };
168
+ console.log(` Registered MCP server: ${MCP_SERVER_NAME} → node ${serverPath}`);
169
+ }
170
+ settings.mcpServers = mcpServers;
171
+ }
16
172
  function ask(rl, question) {
17
173
  return new Promise(resolve => rl.question(question, resolve));
18
174
  }
@@ -142,6 +298,7 @@ export async function runInstall(options) {
142
298
  ensureDir(CLAUDE_DIR);
143
299
  let disabledHooks = new Set();
144
300
  let disabledCommands = new Set();
301
+ let embeddingChoice = { providerId: "local" };
145
302
  if (!noTui) {
146
303
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
147
304
  console.log("The Elder Gods shall be configured for your codebase.\n");
@@ -165,6 +322,7 @@ export async function runInstall(options) {
165
322
  if (commandAnswer.toLowerCase() === "n") {
166
323
  disabledCommands = new Set(["all"]);
167
324
  }
325
+ embeddingChoice = await promptEmbeddingProvider(rl);
168
326
  rl.close();
169
327
  console.log();
170
328
  }
@@ -172,10 +330,21 @@ export async function runInstall(options) {
172
330
  // Install hook scripts
173
331
  console.log("► Hooks:");
174
332
  installHooks(disabledHooks);
333
+ // Ensure Yith data dir before writing .env or settings
334
+ console.log("\n► Yith Archive:");
335
+ ensureYithDataDir();
336
+ if (embeddingChoice.providerId !== "local" && embeddingChoice.apiKey) {
337
+ const envKey = EMBEDDING_PROVIDERS.find((p) => p.id === embeddingChoice.providerId).envKey;
338
+ writeYithEnvKey(envKey, embeddingChoice.apiKey);
339
+ }
340
+ else {
341
+ console.log(" Embeddings: local nomic (no API key needed)");
342
+ }
175
343
  // Update settings.json
176
344
  console.log("\n► Settings:");
177
345
  const settings = loadSettings();
178
346
  registerHooksInSettings(settings, disabledHooks);
347
+ registerYithMcpServer(settings, packageRoot);
179
348
  saveSettings(settings);
180
349
  console.log(` Saved settings to ${SETTINGS_PATH}`);
181
350
  // Clean up stragglers left by older buggy installs that wrote to ~/.claude/skills/
@@ -198,6 +367,10 @@ export async function runInstall(options) {
198
367
  console.log("╚══════════════════════════════════════════════════════╝");
199
368
  console.log(`\nConfig: ${path.join(CLAUDE_DIR, "oh-my-claudecode.jsonc")}`);
200
369
  console.log(`Commands: ${COMMANDS_DIR}`);
370
+ console.log(`Yith data: ${YITH_DATA_DIR}`);
371
+ if (embeddingChoice.providerId === "local") {
372
+ console.log("\nNote: first Yith session will download the nomic embedding model (~137 MB). One-time.");
373
+ }
201
374
  console.log("Start a new Claude Code session and type /cthulhu to begin.\n");
202
375
  }
203
376
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/features/yith-archive/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAEjB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,UAAU,EACX,MAAM,YAAY,CAAC;AA0EpB,wBAAgB,UAAU,IAAI,iBAAiB,CAe9C;AASD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzD;AAED,wBAAgB,mBAAmB,IAAI,eAAe,CAarD;AAED,wBAAgB,uBAAuB,CACrC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,CAkB3D;AAED,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAOlD;AAED,wBAAgB,kBAAkB,IAAI;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAOA;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAMjD;AAUD,wBAAgB,kBAAkB,IAAI,cAAc,CAWnD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/features/yith-archive/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAEjB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,UAAU,EACX,MAAM,YAAY,CAAC;AA0EpB,wBAAgB,UAAU,IAAI,iBAAiB,CAe9C;AASD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzD;AAED,wBAAgB,mBAAmB,IAAI,eAAe,CAarD;AAED,wBAAgB,uBAAuB,CACrC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,GAAG,IAAI,CAiBf;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,CAkB3D;AAED,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAOlD;AAED,wBAAgB,kBAAkB,IAAI;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAOA;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAMjD;AAUD,wBAAgB,kBAAkB,IAAI,cAAc,CAWnD"}
@@ -119,7 +119,12 @@ export function detectEmbeddingProvider(env) {
119
119
  return "cohere";
120
120
  if (source["OPENROUTER_API_KEY"])
121
121
  return "openrouter";
122
- return null;
122
+ // Default: local CPU embeddings via @xenova/transformers. Zero config,
123
+ // zero API keys, private. The actual model download happens on first
124
+ // use (see LocalEmbeddingProvider.getExtractor), not at boot. If xenova
125
+ // isn't installed the LocalEmbeddingProvider will throw on first embed,
126
+ // and HybridSearch will fall back to BM25-only ranking.
127
+ return "local";
123
128
  }
124
129
  export function loadClaudeBridgeConfig() {
125
130
  const env = getMergedEnv();