@autorag/librarian 2.10.2 → 2.10.4

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/README.md CHANGED
@@ -140,8 +140,9 @@ does, and searches them right alongside your files:
140
140
  or connect your own provider key and pay the provider directly.
141
141
 
142
142
  > [!TIP]
143
- > **The app's source lives in [NomaDamas/AutoRAG-app](https://github.com/NomaDamas/AutoRAG-app)**
144
- > (Electron + React, AGPL-3.0). It depends on `@autorag/librarian` from this
143
+ > **The Dazzi desktop app's source lives in [NomaDamas/AutoRAG-app](https://github.com/NomaDamas/AutoRAG-app)**
144
+ > (Electron + React, [Fair Source](https://fair.io/) under `FSL-1.1-MIT`). It
145
+ > depends on the open-source `@autorag/librarian` engine (Apache-2.0) from this
145
146
  > repository; build, run, and file app issues there.
146
147
 
147
148
  ### One engine, every surface
@@ -150,7 +151,7 @@ The app is one way in. The same librarian runs everywhere else:
150
151
 
151
152
  | Surface | Use it for | Start here |
152
153
  |---|---|---|
153
- | **Desktop app** | Browsing and asking in one window | [NomaDamas/AutoRAG-app](https://github.com/NomaDamas/AutoRAG-app) |
154
+ | **Desktop app (Dazzi)** | Browsing and asking in one window | [NomaDamas/AutoRAG-app](https://github.com/NomaDamas/AutoRAG-app) (Fair Source, FSL-1.1-MIT) |
154
155
  | **Terminal UI** | Interactive, steerable search sessions | [`autorag tui`](#2-search-from-cli) |
155
156
  | **CLI** | Scripts, indexing, health checks | [CLI Command Reference](#cli-command-reference) |
156
157
  | **MCP server** | Feeding retrieval to Claude Code, Codex, and other agents | [AutoRAG Lite MCP Server](#autorag-lite-mcp-server) |
@@ -263,6 +264,25 @@ autorag refresh
263
264
  autorag status
264
265
  ```
265
266
 
267
+ ### Excluding files and folders
268
+
269
+ Leave generated workspaces or archives out when initializing:
270
+
271
+ ```bash
272
+ autorag init --search-paths "$HOME/Documents" \
273
+ --exclude "$HOME/Documents/Build output" \
274
+ --exclude "$HOME/Documents/Archive, old"
275
+ ```
276
+
277
+ Repeat `--exclude` for each file or folder. Each argument is one complete path,
278
+ including spaces and commas; relative paths resolve from the current directory.
279
+ Excluding a folder also excludes its descendants. Paths are literal, not globs.
280
+
281
+ For an existing configuration, edit its `excludePaths` array and run
282
+ `autorag refresh` to update the indexes. File-name search applies exclusions to
283
+ native fsearch and Everything results as well as the filesystem walk. See the
284
+ [exclusion configuration examples](docs/minsync-setup.md#excluding-files-and-folders).
285
+
266
286
  ### Document languages and parsers
267
287
 
268
288
  One global `languages` setting describes the corpus. It is resolved from
@@ -247,7 +247,7 @@ export interface AutoRAGAgentOptions {
247
247
  * `searchPaths`). Enabled by default on Windows; ignored elsewhere.
248
248
  * `false` disables it. The remaining fields are test seams.
249
249
  */
250
- everything?: Omit<EverythingClientOptions, "root" | "folders"> | false;
250
+ everything?: Omit<EverythingClientOptions, "root" | "folders" | "excludeFolders"> | false;
251
251
  /**
252
252
  * macOS/Linux-only instant file/folder name search through the user's
253
253
  * fsearch-cli (FSearch, GPL — spawned as a separate process, never
@@ -17,3 +17,20 @@ export declare const ANSWER_IMAGE_DELTA_RULE = "An image already embedded in the
17
17
  * caller only ever sees numbered citations backed by recorded evidence.
18
18
  */
19
19
  export declare const ANSWER_CITATION_RULE = "**Citations**: cite supporting evidence inline with the evidence id shown next to each retrieved result, in square brackets (e.g. [e3], or [e3][e7] for two). Copy ids exactly; never invent one. For a local file you opened yourself with `bash`, cite `[file:<absolute path>]`. Cite the evidence that backs a sentence at the end of that sentence. Do not cite numbers, paths, or anything else.";
20
+ /**
21
+ * Deliverable/artifact rule (issue #1832). The 5-bullet cap and direct-answer
22
+ * format remain the default unless the user explicitly asks otherwise; when the
23
+ * caller requests a deliverable (a reply email, letter, legal opinion, summary
24
+ * document, insertable case citation block, checklist, report, or workflow
25
+ * document), the agent produces the complete finished artifact as a file in a
26
+ * format aligned with the context and domain, and keeps the answer itself
27
+ * concise by stating the created file's location and briefly summarizing what
28
+ * was generated (citing only the underlying source evidence).
29
+ */
30
+ export declare const ANSWER_DELIVERABLE_RULE = "**Deliverables and artifacts**: if the user asks you to draft, write, generate, or prepare a deliverable or artifact (a reply email, letter, legal opinion, summary document, standard-format case citation block, checklist, report, or workflow document \u2014 including requests phrased as \"how should I reply...\" to a specific message), produce the finished, ready-to-use artifact as a file (using `write`, `edit`, or `bash` in local sessions, without overwriting existing source files) in a file format, extension, and structure aligned with the context and domain (e.g. `.eml` or `.md`/`.txt` with headers for an email reply; `.md`, `.txt`, `.docx`, `.hwp`, or `.pdf` matching workspace conventions for a legal opinion, insertable case-citation block, or summary document; `.csv`, `.xlsx`, or `.json` for structured tabular data), containing the complete unabridged artifact (including required headers, precedent passages, pinpoint paragraphs, and standard-format citations) inside the file instead of merely describing how to produce it. Do NOT dump the full artifact text into your reply: unless the user explicitly requests otherwise, keep your reply concise within the at-most-5-bullet direct-answer format, clearly stating the created file's exact path/location and briefly summarizing what was generated with inline citations to the underlying source evidence (`[eN]` or `[file:<source path>]`); never cite the newly created deliverable file itself as `[file:...]`.";
31
+ /**
32
+ * Verification-phase deliverable rule: create the context-aligned deliverable
33
+ * file (in local sessions) and report its location and concise summary if the
34
+ * fast-phase draft could not write the file yet or only gave advice about it.
35
+ */
36
+ export declare const ANSWER_DELIVERABLE_DELTA_RULE = "If a deliverable or artifact was requested and the first answer could not write the file yet (the fast phase runs without tool calls) or only gave advice about it, create the complete context-aligned deliverable file now during verification and report the created file's location and a brief summary concisely.";
@@ -9,7 +9,7 @@ export type SearchDocumentDiagnosticSeverity = "info" | "warning" | "error";
9
9
  * (#21/#22) does not require another source-breaking type change; codes not yet
10
10
  * emitted are still valid members.
11
11
  */
12
- export type SearchDocumentDiagnosticCode = "empty-query" | "no-verified-results" | "unknown-warning" | "caller-tool-dropped" | "minsync-staging-excluded" | "minsync-sync-failed" | "minsync-lock-held" | "embedder-unavailable" | "embedding-identity-mismatch" | "parser-skipped" | "parser-failed" | "parser-crashed" | "source-vanished" | "source-unreadable" | "source-read-failed" | "mirror-write-failed" | "parser-warning" | "duplicate-excluded" | "unsupported-file" | "stale-index" | "deleted-mirror" | "search-root-unavailable" | "mass-delete-suppressed" | "walk-truncated" | "directory-unreadable" | "pdf-extract-thin" | "retrieval-method-failed" | "rerank-failed" | "jikji-unavailable" | "jikji-prepare-failed" | "jikji-find-failed" | "everything-index-failed" | "fsearch-index-failed" | "fsearch-binary-missing" | "refresh-failed" | "refresh-interrupted" | "watch-failed" | "watch-limited" | "unknown-datasource-skill" | "no-final-answer" | "model-request-failed" | "tool-call-burst" | "query-routed" | "query-route-fallback" | "query-decomposition-failed" | "follow-up-skipped" | "follow-up-check-fallback" | "datasources-selected" | "datasource-selection-fallback" | "citation-without-result" | "evidence-judged" | "evidence-judgment-fallback" | "memory-search-fallback" | "self-config-unavailable" | "self-config-rolled-back";
12
+ export type SearchDocumentDiagnosticCode = "empty-query" | "no-verified-results" | "unknown-warning" | "caller-tool-dropped" | "minsync-staging-excluded" | "minsync-file-skipped" | "minsync-sync-failed" | "minsync-lock-held" | "embedder-unavailable" | "embedding-identity-mismatch" | "parser-skipped" | "parser-failed" | "parser-crashed" | "source-vanished" | "source-unreadable" | "source-read-failed" | "mirror-write-failed" | "parser-warning" | "duplicate-excluded" | "unsupported-file" | "stale-index" | "deleted-mirror" | "search-root-unavailable" | "mass-delete-suppressed" | "walk-truncated" | "directory-unreadable" | "pdf-extract-thin" | "retrieval-method-failed" | "rerank-failed" | "jikji-unavailable" | "jikji-prepare-failed" | "jikji-find-failed" | "everything-index-failed" | "fsearch-index-failed" | "fsearch-binary-missing" | "refresh-failed" | "refresh-interrupted" | "watch-failed" | "watch-limited" | "unknown-datasource-skill" | "no-final-answer" | "model-request-failed" | "tool-call-burst" | "query-routed" | "query-route-fallback" | "query-decomposition-failed" | "follow-up-skipped" | "follow-up-check-fallback" | "datasources-selected" | "datasource-selection-fallback" | "citation-without-result" | "evidence-judged" | "evidence-judgment-fallback" | "memory-search-fallback" | "self-config-unavailable" | "self-config-rolled-back";
13
13
  export interface SearchDocumentDiagnostic {
14
14
  readonly code: SearchDocumentDiagnosticCode;
15
15
  readonly severity: SearchDocumentDiagnosticSeverity;
@@ -1,6 +1,8 @@
1
1
  export interface CommandContext {
2
2
  positionals: string[];
3
3
  flags: Record<string, string | boolean | undefined>;
4
+ /** All values of repeatable flags, in command-line order. */
5
+ repeatedFlags?: Readonly<Record<string, readonly string[]>>;
4
6
  json: boolean;
5
7
  debug: boolean;
6
8
  cwd: string;
@@ -5,6 +5,7 @@ export type { CommandName };
5
5
  interface ParsedArgs {
6
6
  positionals: string[];
7
7
  flags: Record<string, string | boolean>;
8
+ repeatedFlags?: Readonly<Record<string, readonly string[]>>;
8
9
  }
9
10
  export declare function parseArgs(argv: readonly string[]): ParsedArgs | {
10
11
  error: string;