snipara-companion 3.6.5 → 3.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  Release notes for `snipara-companion`, newest first.
4
4
 
5
+ ## New In 3.6.6
6
+
7
+ - Secures workspace and global companion configuration with owner-only
8
+ directory/file permissions and automatically ignores the secret-bearing
9
+ workspace config in Git.
10
+ - Makes initial document indexing an explicit `init` next step and distinguishes
11
+ a zero-document index from an ordinary query with no relevant matches.
12
+ - Warns once per day when the installed companion is behind npm, while keeping
13
+ offline and automated runs non-blocking.
14
+ - Enables command suggestions and help recovery for mistyped or undiscovered
15
+ commands.
16
+
5
17
  ## New In 3.6.5
6
18
 
7
19
  - Adds a local `agent-context` manifest and resolver for composing shared
package/README.md CHANGED
@@ -65,6 +65,19 @@ Hosted MCP call and labels supported retrieval traffic as
65
65
  `snipara-companion`, unless the caller supplied an explicit client label. This
66
66
  improves join coverage without inventing a second server-side identity.
67
67
 
68
+ The workspace API key is stored in `.snipara/companion/config.json`. Companion
69
+ keeps that directory and file owner-only on POSIX systems (`0700`/`0600`) and
70
+ adds `/.snipara/companion/` to the workspace `.gitignore`. After initialization,
71
+ index documentation before expecting project-specific query results:
72
+
73
+ ```bash
74
+ npx -y snipara-companion@latest sync-documents --dir ./docs --recursive --reindex
75
+ npx -y snipara-companion@latest doctor
76
+ ```
77
+
78
+ An empty index is reported explicitly as “0 documents indexed” with that
79
+ recovery command; it is not presented as an ordinary no-match.
80
+
68
81
  Example output excerpt:
69
82
 
70
83
  ```text
package/dist/index.d.ts CHANGED
@@ -272,6 +272,14 @@ interface ContextQueryResult {
272
272
  search_mode?: ContextQuerySearchMode;
273
273
  timing?: Record<string, number>;
274
274
  retrieval_diagnostics?: Record<string, unknown>;
275
+ index_state?: {
276
+ status: "empty" | "ready";
277
+ indexed_documents: number;
278
+ files_loaded: number;
279
+ message?: string;
280
+ recommended_command?: string;
281
+ recommended_tool?: string;
282
+ };
275
283
  }
276
284
  type ContextQuerySearchMode = "keyword" | "semantic" | "hybrid";
277
285
  interface ContextQueryOptions {