@dotdotgod/claude-code 0.6.1 → 0.6.2

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.
Binary file
package/mcp/server.mjs CHANGED
@@ -23240,28 +23240,33 @@ async function cliJson(args, cwd) {
23240
23240
  throw new Error(`Expected JSON from dotdotgod: ${out.slice(0, 500)}`);
23241
23241
  }
23242
23242
  }
23243
+ function embeddingRuntimeRecovery() {
23244
+ return {
23245
+ code: "EMBEDDING_RUNTIME_MISSING",
23246
+ message: "Semantic vectors need an optional runtime; continue with keyword/map retrieval or ask before installation.",
23247
+ recovery: { kind: "embedding-runtime-install", requiresConfirmation: true, statusTool: "dotdotgod_embedding_status", installTool: "dotdotgod_embedding_install", cliCommand: "dotdotgod embedding install --confirm" }
23248
+ };
23249
+ }
23243
23250
  async function projectLoad(input) {
23244
23251
  const root2 = resolve5(input.root || process.cwd());
23245
23252
  const focus = input.focus?.trim() ?? "";
23246
23253
  const tree = markdownTree(root2, input.maxDepth ?? (focus ? 3 : 5));
23247
23254
  let query = null;
23248
23255
  let queryUnavailable;
23256
+ let vectorUnavailable;
23249
23257
  if (focus) {
23250
23258
  try {
23251
23259
  query = await cliJson(["query", root2, focus, "--limit", String(Math.min(input.limit ?? 30, 30)), "--json"], root2);
23260
+ if (query.warnings?.some((warning) => warning.includes("Optional local embedding runtime is not installed"))) vectorUnavailable = embeddingRuntimeRecovery();
23252
23261
  } catch (error2) {
23253
23262
  const missingRuntime = String(error2?.message ?? error2).includes("Optional local embedding runtime is not installed");
23254
- queryUnavailable = missingRuntime ? {
23255
- code: "EMBEDDING_RUNTIME_MISSING",
23256
- message: "Local semantic search requires an optional embedding runtime; continue with the documentation map or ask the user before installation.",
23257
- recovery: { kind: "embedding-runtime-install", requiresConfirmation: true, statusTool: "dotdotgod_embedding_status", installTool: "dotdotgod_embedding_install", cliCommand: "dotdotgod embedding install --confirm" }
23258
- } : {
23263
+ queryUnavailable = missingRuntime ? embeddingRuntimeRecovery() : {
23259
23264
  code: "QUERY_UNAVAILABLE",
23260
23265
  message: "Semantic project query is unavailable; continue with the documentation map and targeted reads."
23261
23266
  };
23262
23267
  }
23263
23268
  }
23264
- return { ok: true, root: root2, focus, documentationTree: tree, query, ...queryUnavailable ? { queryUnavailable } : {} };
23269
+ return { ok: true, root: root2, focus, documentationTree: tree, query, ...queryUnavailable ? { queryUnavailable } : {}, ...vectorUnavailable ? { vectorUnavailable } : {} };
23265
23270
  }
23266
23271
  async function projectEmbeddingStatus(input = {}) {
23267
23272
  const root2 = resolve5(input.root || process.cwd());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dotdotgod/claude-code",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Claude Code adapter for dotdotgod project memory workflows.",
5
5
  "type": "module",
6
6
  "license": "Elastic-2.0",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "esbuild": "0.27.3",
28
- "@dotdotgod/context": "0.6.1"
28
+ "@dotdotgod/context": "0.6.2"
29
29
  },
30
30
  "files": [
31
31
  ".claude-plugin",
@@ -21,9 +21,9 @@ Load the repository's dotdotgod project memory without modifying maintained file
21
21
  1. Identify the repository root. Expose `Help: dotdotgod --help` as optional CLI discovery guidance without checking or reporting installation status, and do not require Help execution for Load to continue.
22
22
  2. When baseline context is missing, read `AGENTS.md`, the adapter entrypoint, `README.md`, and `docs/README.md` when present.
23
23
  3. Without arguments, run `dotdotgod map <root> --depth 5 --json` and use its configured prefix-compressed documentation tree. The command owns `documentation.root`, `load.documentationSummary.exclude`, deterministic Markdown discovery, and boundary summaries.
24
- 4. With arguments, run `dotdotgod query <root> "<focus>" --limit 30 --json` for at most 30 distinct Markdown files and `dotdotgod map <root> --depth 3 --json` for the configured navigation tree.
24
+ 4. With arguments, run `dotdotgod query <root> "<focus>" --limit 30 --json` for at most 30 documentation-file or code-symbol results and `dotdotgod map <root> --depth 3 --json` for the configured navigation tree.
25
25
  5. If the CLI or shell execution is unavailable, preserve Load behavior by building the same tree from the configured documentation root when known, excluding local memory, and using README routing. At the depth boundary, list every direct Markdown file and immediate child directory, then summarize hidden descendants separately under each named child with exact recursive directory and Markdown-file counts.
26
- 6. Read bodies selectively from query results, explicit paths, and README indexes. Read relevant active plans only when needed, use `docs/archive/README.md` (or the configured archive `README.md` under an alternate documentation root) as the history map, and avoid broad generated, dependency, cache, or secret reads.
26
+ 6. Query searches full documentation content and code outlines/comments, not implementation bodies. Preserve result kind, source ranges and retrieval warnings; verify source freshness before reading a symbol's implementation. Read bodies selectively from query results, explicit paths, and README indexes. Read relevant active plans only when needed, use `docs/archive/README.md` (or the configured archive `README.md` under an alternate documentation root) as the history map, and avoid broad generated, dependency, cache, or secret reads.
27
27
 
28
28
  ## Output
29
29