@autorag/librarian 2.13.4 → 2.13.5

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 (91) hide show
  1. package/NOTICE +3 -0
  2. package/README.md +50 -18
  3. package/dist/agent/agent.d.ts +110 -39
  4. package/dist/agent/cloud-release-extension.d.ts +43 -0
  5. package/dist/agent/decision-backends.d.ts +49 -0
  6. package/dist/agent/decision-model-check.d.ts +92 -0
  7. package/dist/agent/dupey-tool.d.ts +2 -0
  8. package/dist/agent/everything-search-tool.d.ts +1 -0
  9. package/dist/agent/fsearch-search-tool.d.ts +1 -0
  10. package/dist/agent/index.d.ts +4 -1
  11. package/dist/agent/jev-extension.d.ts +27 -32
  12. package/dist/agent/jikji-find-tool.d.ts +5 -0
  13. package/dist/agent/name-candidates.d.ts +88 -0
  14. package/dist/agent/permission-gate.d.ts +2 -5
  15. package/dist/agent/query-routing.d.ts +1 -1
  16. package/dist/agent/search-documents.d.ts +1 -1
  17. package/dist/agent/sllm-decision.d.ts +34 -0
  18. package/dist/cli/commands/duplicates.d.ts +3 -2
  19. package/dist/cli/commands/models.d.ts +2 -0
  20. package/dist/cli/commands/search.d.ts +2 -0
  21. package/dist/cli/config.d.ts +49 -30
  22. package/dist/cli/index.js +13123 -9835
  23. package/dist/cli/setup.d.ts +27 -1
  24. package/dist/cloud/jev-backend.d.ts +26 -4
  25. package/dist/core.js +5772 -2598
  26. package/dist/datasource/index.d.ts +2 -2
  27. package/dist/datasource/skills/obsidian/index.d.ts +1 -1
  28. package/dist/datasource/skills/obsidian/methods.d.ts +1 -1
  29. package/dist/datasource/skills/obsidian/skill.d.ts +1 -0
  30. package/dist/datasource/skills/obsidian/vault-index.d.ts +1 -1
  31. package/dist/datasource/skills/wombat/client.d.ts +17 -0
  32. package/dist/datasource/skills/wombat/index.d.ts +4 -0
  33. package/dist/datasource/skills/wombat/methods.d.ts +15 -0
  34. package/dist/datasource/skills/wombat/skill.d.ts +38 -0
  35. package/dist/datasource/skills/wombat/types.d.ts +89 -0
  36. package/dist/dupey/cli.d.ts +21 -1
  37. package/dist/dupey/filter.d.ts +8 -1
  38. package/dist/dupey/index.d.ts +1 -0
  39. package/dist/dupey/scan-plan.d.ts +23 -0
  40. package/dist/embedding/index.d.ts +3 -1
  41. package/dist/everything/client.d.ts +1 -2
  42. package/dist/filesystem/cloud-placeholder.d.ts +313 -21
  43. package/dist/filesystem/shared-exclusive-queue.d.ts +16 -0
  44. package/dist/fsearch/client.d.ts +3 -2
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +5877 -2663
  47. package/dist/jikji/answer-pack.d.ts +7 -1
  48. package/dist/jikji/client.d.ts +28 -14
  49. package/dist/jikji/diagnostics.d.ts +16 -2
  50. package/dist/jikji/index.d.ts +3 -3
  51. package/dist/jikji/installer.d.ts +11 -5
  52. package/dist/jikji/retry-command.d.ts +10 -0
  53. package/dist/jikji/types.d.ts +47 -1
  54. package/dist/jikji/version.d.ts +20 -0
  55. package/dist/mcp/index.js +5847 -2660
  56. package/dist/mcp/server.d.ts +3 -0
  57. package/dist/minsync/binary.d.ts +10 -5
  58. package/dist/minsync/client.d.ts +7 -10
  59. package/dist/minsync/embedder-config.d.ts +11 -10
  60. package/dist/minsync/errors.d.ts +3 -0
  61. package/dist/minsync/index.d.ts +1 -1
  62. package/dist/minsync/installer.d.ts +1 -1
  63. package/dist/minsync/method.d.ts +1 -0
  64. package/dist/minsync/types.d.ts +0 -9
  65. package/dist/minsync/version.d.ts +20 -0
  66. package/dist/mirror/cloud-fingerprints.d.ts +30 -0
  67. package/dist/mirror/cloud.d.ts +79 -0
  68. package/dist/mirror/index.d.ts +4 -0
  69. package/dist/mirror/sync.d.ts +33 -1
  70. package/dist/parser/csv.d.ts +26 -0
  71. package/dist/parser/defaults.d.ts +1 -1
  72. package/dist/parser/index.d.ts +2 -0
  73. package/dist/parser/kordoc.d.ts +6 -3
  74. package/dist/parser/parse-worker.js +668 -28
  75. package/dist/parser/spreadsheet-render.d.ts +53 -0
  76. package/dist/parser/spreadsheet.d.ts +27 -0
  77. package/dist/profiles/loop-guard.d.ts +8 -2
  78. package/dist/profiles/retrieval-tools.d.ts +2 -1
  79. package/dist/profiles.js +16381 -13206
  80. package/dist/retrieval/skip.d.ts +1 -1
  81. package/dist/retrieval/types.d.ts +1 -1
  82. package/package.json +3 -3
  83. package/skills/autorag/SKILL.md +7 -4
  84. package/skills/autorag-doctor/SKILL.md +8 -3
  85. package/skills/autorag-lite-setup/SKILL.md +4 -4
  86. package/skills/autorag-setup/SKILL.md +53 -30
  87. package/dist/datasource/skills/cloud-drive/index.d.ts +0 -2
  88. package/dist/datasource/skills/cloud-drive/rclone-connector.d.ts +0 -49
  89. package/dist/datasource/skills/cloud-drive/skill.d.ts +0 -14
  90. package/dist/minsync/kiwi.d.ts +0 -17
  91. package/dist/minsync/lexical-language.d.ts +0 -18
@@ -6,7 +6,6 @@ export { mapDatasourceDiagnostic, mapDatasourceDiagnostics } from "./diagnostics
6
6
  export { type CronParseResult, isDue, parseCronExpr } from "./polling.js";
7
7
  export { DatasourceSkillRegistry, type RegisteredDatasourceSkill } from "./registry.js";
8
8
  export { buildDatasourceChunkSource, buildDatasourceInstanceSource, DATASOURCE_CHUNKS_SEGMENT, datasourceSourceHasFragment, datasourceSourcePath, filterDatasourceScope, isDatasourceSource, matchesDatasourceScope, matchesVirtualPathScope, normalizeVirtualPath, type ResultsByMethod, } from "./scope.js";
9
- export { CLOUD_DRIVE_SKILL_DEFINITION, CloudDriveSkill, type CloudDriveSkillOptions, RcloneConnector, type RcloneConnectorOptions, type RcloneRunner, type RcloneRunResult, } from "./skills/cloud-drive/index.js";
10
9
  export { DEFAULT_DISCRAWL_EMBEDDING_MODEL, DEFAULT_DISCRAWL_MODE, DiscrawlClient, type DiscrawlFailureReason, DiscrawlFtsMethod, DiscrawlHybridMethod, type DiscrawlOptions, type DiscrawlSearchHit, type DiscrawlSearchMode, type DiscrawlSearchOptions, type DiscrawlSearchResult, DiscrawlSemanticMethod, DiscrawlSkill, type DiscrawlSkillClient, type DiscrawlSkillOptions, ENGLISH_ONLY_EMBEDDING_MODELS, } from "./skills/discrawl/index.js";
11
10
  export { BUILTIN_DATASOURCE_SKILL_NAMES, type BuildDatasourceSkillsResult, buildDatasourceSkills, type DatasourceSkillConfig, type DatasourcesConfig, } from "./skills/factory.js";
12
11
  export { GitHubConnector, type GitHubConnectorOptions, GitHubSkill, type GitHubSkillOptions, } from "./skills/github/index.js";
@@ -16,9 +15,10 @@ export type { LazykatokFailureReason, LazykatokHit, LazykatokOptions, LazykatokS
16
15
  export { LazykatokBm25Method, LazykatokClient, LazykatokHybridMethod, LazykatokSkill, } from "./skills/lazykatok/index.js";
17
16
  export { MAILCRAWL_MODES, MailcrawlClient, type MailcrawlFailure, type MailcrawlFailureReason, type MailcrawlIndexInfo, MailcrawlMethod, type MailcrawlOptions, type MailcrawlSearchHit, type MailcrawlSearchMode, type MailcrawlSearchResult, MailcrawlSkill, type MailcrawlSyncInfo, type MailcrawlSyncResult, } from "./skills/mailcrawl/index.js";
18
17
  export { NotcrawlClient, type NotcrawlOptions, NotionSkill, type NotionSkillOptions, } from "./skills/notion/index.js";
19
- export { ObsidianBm25Method, type ObsidianMethodOptions, ObsidianSemanticMethod, ObsidianSkill, type ObsidianSkillOptions, } from "./skills/obsidian/index.js";
18
+ export { type ObsidianMethodOptions, ObsidianSemanticMethod, ObsidianSkill, type ObsidianSkillOptions, ObsidianSparseMethod, } from "./skills/obsidian/index.js";
20
19
  export { RssConnector, type RssConnectorOptions, type RssFeedConfig, RssSkill, type RssSkillOptions, } from "./skills/rss/index.js";
21
20
  export { SlackSkill, type SlackSkillOptions, SlacrawlClient, type SlacrawlOptions, } from "./skills/slack/index.js";
22
21
  export { TelecrawlClient, type TelecrawlOptions, TelecrawlSkill, type TelecrawlSkillOptions, } from "./skills/telecrawl/index.js";
23
22
  export { WacrawlClient, type WacrawlOptions, WacrawlSkill, type WacrawlSkillOptions } from "./skills/wacrawl/index.js";
23
+ export { WOMBAT_MODES, WombatClient, type WombatFailure, type WombatFailureReason, WombatMethod, type WombatOptions, type WombatSearchHit, type WombatSearchMode, type WombatSearchResult, WombatSkill, type WombatSkillOptions, type WombatSyncResult, } from "./skills/wombat/index.js";
24
24
  export type { DatasourceDiagnostic, DatasourceDiagnosticCode, DatasourceIndexFail, DatasourceIndexOk, DatasourceIndexOptions, DatasourceIndexResult, DatasourceInstance, DatasourceSkill, DatasourceSkillDescriptor, DatasourceSkillManifest, PollingMetadata, SourceDescription, } from "./types.js";
@@ -1,4 +1,4 @@
1
- export { ObsidianBm25Method, type ObsidianMethodOptions, ObsidianSemanticMethod } from "./methods.js";
1
+ export { type ObsidianMethodOptions, ObsidianSemanticMethod, ObsidianSparseMethod } from "./methods.js";
2
2
  export { encodeSourceSegment, obsidianDatasourceDir, obsidianInstanceSource, obsidianMinSyncWorkspace, obsidianNoteSource, } from "./paths.js";
3
3
  export { ObsidianSkill, type ObsidianSkillOptions } from "./skill.js";
4
4
  export type { ObsidianMinSyncOptions, ObsidianSearchMode } from "./vault-index.js";
@@ -13,7 +13,7 @@ declare class ObsidianMinSyncMethod implements RetrievalMethod {
13
13
  describe(): RetrievalMethodDescriptor;
14
14
  retrieve(query: string, options: RetrievalOptions): Promise<RetrievalResult[]>;
15
15
  }
16
- export declare class ObsidianBm25Method extends ObsidianMinSyncMethod {
16
+ export declare class ObsidianSparseMethod extends ObsidianMinSyncMethod {
17
17
  constructor(options: ObsidianMethodOptions);
18
18
  }
19
19
  export declare class ObsidianSemanticMethod extends ObsidianMinSyncMethod {
@@ -28,6 +28,7 @@ export declare class ObsidianSkill implements DatasourceSkill {
28
28
  private readonly instances;
29
29
  private readonly pollingIntervalMs;
30
30
  private readonly tags;
31
+ private readonly sparseOnly;
31
32
  private lastIndexedAt;
32
33
  private lastError;
33
34
  constructor(options?: ObsidianSkillOptions);
@@ -9,7 +9,7 @@ export interface ObsidianVaultIndexOptions {
9
9
  readonly workspaceRoot: string | undefined;
10
10
  readonly minSync?: ObsidianMinSyncOptions;
11
11
  }
12
- export type ObsidianSearchMode = "bm25" | "semantic";
12
+ export type ObsidianSearchMode = "sparse" | "semantic";
13
13
  export interface ObsidianSearchOptions {
14
14
  readonly topK?: number;
15
15
  readonly scope?: string;
@@ -0,0 +1,17 @@
1
+ import type { WombatDoctorResult, WombatOptions, WombatSearchMode, WombatSearchOptions, WombatSearchResult, WombatSyncResult } from "./types.js";
2
+ export interface WombatSearchClient {
3
+ search(mode: WombatSearchMode, query: string, options?: WombatSearchOptions): Promise<WombatSearchResult>;
4
+ }
5
+ export interface WombatSyncClient extends WombatSearchClient {
6
+ doctor(signal?: AbortSignal): Promise<WombatDoctorResult>;
7
+ sync(signal?: AbortSignal): Promise<WombatSyncResult>;
8
+ }
9
+ export declare class WombatClient implements WombatSyncClient {
10
+ private readonly options;
11
+ constructor(options?: WombatOptions);
12
+ doctor(signal?: AbortSignal): Promise<WombatDoctorResult>;
13
+ /** Parse new and changed sessions into the mirror, then let MinSync index it incrementally. */
14
+ sync(signal?: AbortSignal): Promise<WombatSyncResult>;
15
+ search(mode: WombatSearchMode, query: string, options?: WombatSearchOptions): Promise<WombatSearchResult>;
16
+ private run;
17
+ }
@@ -0,0 +1,4 @@
1
+ export { WombatClient, type WombatSearchClient, type WombatSyncClient } from "./client.js";
2
+ export { WOMBAT_MODES, WombatMethod } from "./methods.js";
3
+ export { validateWombatInstanceId, WombatSkill, type WombatSkillOptions } from "./skill.js";
4
+ export type { WombatDoctorInfo, WombatDoctorResult, WombatFailure, WombatFailureReason, WombatOptions, WombatSearchHit, WombatSearchMode, WombatSearchOptions, WombatSearchResult, WombatSyncInfo, WombatSyncResult, } from "./types.js";
@@ -0,0 +1,15 @@
1
+ import type { RetrievalMethod, RetrievalMethodDescriptor, RetrievalOptions, RetrievalResult } from "../../../retrieval/types.js";
2
+ import type { WombatSearchClient } from "./client.js";
3
+ import type { WombatSearchMode } from "./types.js";
4
+ export declare const WOMBAT_MODES: readonly WombatSearchMode[];
5
+ /** Retrieval over indexed coding-agent sessions (Codex, Claude Code, OpenCode, pi, omp) through the external wombat CLI. */
6
+ export declare class WombatMethod implements RetrievalMethod {
7
+ private readonly client;
8
+ private readonly mode;
9
+ private readonly instanceId;
10
+ private readonly tags;
11
+ private readonly agents;
12
+ constructor(client: WombatSearchClient, mode: WombatSearchMode, instanceId: string, tags: readonly string[], agents?: readonly string[]);
13
+ describe(): RetrievalMethodDescriptor;
14
+ retrieve(query: string, options: RetrievalOptions): Promise<RetrievalResult[]>;
15
+ }
@@ -0,0 +1,38 @@
1
+ import type { RetrievalMethod } from "../../../retrieval/types.js";
2
+ import type { DatasourceIndexOptions, DatasourceIndexResult, DatasourceSkill, DatasourceSkillDescriptor, DatasourceSkillManifest, PollingMetadata, SourceDescription } from "../../types.js";
3
+ import { type WombatSyncClient } from "./client.js";
4
+ import type { WombatOptions } from "./types.js";
5
+ export interface WombatSkillOptions extends WombatOptions {
6
+ readonly client?: WombatSyncClient;
7
+ readonly datasourceId?: string;
8
+ readonly instanceId?: string;
9
+ readonly instances?: readonly string[];
10
+ readonly pollingIntervalMs?: number;
11
+ readonly tags?: readonly string[];
12
+ readonly connectorOptions?: WombatOptions;
13
+ }
14
+ /** An instance id becomes a path segment of every source, so it must be one safe segment. */
15
+ export declare function validateWombatInstanceId(instanceId: string): void;
16
+ /**
17
+ * Coding-agent session history (Codex, Claude Code, OpenCode, pi, omp) indexed by the external `wombat` CLI.
18
+ * wombat parses each agent's own log format, keeps only the user and assistant conversation, and lets MinSync
19
+ * index it incrementally; AutoRAG never reads those logs or the MinSync store itself.
20
+ */
21
+ export declare class WombatSkill implements DatasourceSkill {
22
+ private readonly client;
23
+ private readonly instanceId;
24
+ private readonly instances;
25
+ private readonly interval;
26
+ private readonly tags;
27
+ private readonly agents;
28
+ private lastIndexedAt;
29
+ constructor(options?: WombatSkillOptions);
30
+ describe(): DatasourceSkillDescriptor;
31
+ polling(): PollingMetadata;
32
+ index(options?: DatasourceIndexOptions): Promise<DatasourceIndexResult>;
33
+ /** Hybrid first; SPLADE keyword search when the dense side is unavailable (for example, no embedder yet). */
34
+ retrievalMethods(): readonly RetrievalMethod[];
35
+ describeSources(): readonly SourceDescription[];
36
+ skillManifest(): DatasourceSkillManifest;
37
+ private fail;
38
+ }
@@ -0,0 +1,89 @@
1
+ /** Retrieval modes of the `wombat` CLI: `keyword` is SPLADE sparse, `semantic` is dense, `hybrid` fuses both. */
2
+ export type WombatSearchMode = "keyword" | "semantic" | "hybrid";
3
+ export interface WombatSearchOptions {
4
+ readonly topK?: number;
5
+ readonly signal?: AbortSignal;
6
+ }
7
+ export interface WombatOptions {
8
+ readonly binaryPath?: string;
9
+ readonly instanceId?: string;
10
+ /** `--data-dir`: holds the mirror, the MinSync index and the session catalog (default `~/.wombat`). */
11
+ readonly dataDir?: string;
12
+ /** `--config`: a wombat `config.toml`. */
13
+ readonly configPath?: string;
14
+ /** Restrict indexing and search to these coding agents (`codex`, `claude-code`, `opencode`, `pi`, `omp`). */
15
+ readonly agents?: readonly string[];
16
+ /** `--include-subagents`: index subagent / sidechain transcripts too. */
17
+ readonly includeSubagents?: boolean;
18
+ /** `--include-ephemeral`: index headless, benchmark and temp-directory sessions too. */
19
+ readonly includeEphemeral?: boolean;
20
+ /** Applies to search and `doctor`; `sync` honors `indexTimeoutMs` instead. */
21
+ readonly timeoutMs?: number;
22
+ /** Non-interactive budget for `sync --index`; defaults to one hour. */
23
+ readonly indexTimeoutMs?: number;
24
+ readonly maxBufferBytes?: number;
25
+ readonly env?: Readonly<Record<string, string | undefined>>;
26
+ }
27
+ export type WombatFailureReason = "binary-missing" | "nonzero-exit" | "spawn-error" | "timeout" | "aborted" | "stdout-too-large" | "stderr-too-large" | "invalid-output" | "remote-embedding-rejected";
28
+ export interface WombatFailure {
29
+ readonly ok: false;
30
+ readonly reason: WombatFailureReason;
31
+ readonly stdout: string;
32
+ readonly stderr: string;
33
+ readonly code: number | null;
34
+ }
35
+ export interface WombatDoctorInfo {
36
+ readonly ready: boolean;
37
+ readonly version?: string;
38
+ readonly minsyncVersion?: string;
39
+ readonly indexedSessions: number;
40
+ readonly indexedTurns: number;
41
+ }
42
+ export interface WombatSyncInfo {
43
+ readonly discovered?: number;
44
+ readonly processed?: number;
45
+ readonly written?: number;
46
+ readonly skipped?: number;
47
+ readonly deleted?: number;
48
+ readonly failed?: number;
49
+ readonly totalSessions: number;
50
+ readonly totalMessages: number;
51
+ /** Chunks MinSync added or updated while indexing; absent when MinSync reported nothing. */
52
+ readonly chunkCount?: number;
53
+ readonly indexOk: boolean;
54
+ }
55
+ /** One indexed chunk of a coding-agent session, with the pointers needed to reach the full trace. */
56
+ export interface WombatSearchHit {
57
+ readonly chunkId: string;
58
+ readonly snippet: string;
59
+ readonly score: number;
60
+ readonly mode: WombatSearchMode;
61
+ readonly agent: string;
62
+ readonly sessionId: string;
63
+ /** `<agent>:<session id>`: what `wombat show` and `wombat trace` take. */
64
+ readonly catalogKey: string;
65
+ readonly title: string;
66
+ readonly cwd?: string;
67
+ readonly sourcePath?: string;
68
+ readonly startTurn?: number;
69
+ readonly endTurn?: number;
70
+ readonly startedAt?: string;
71
+ readonly endedAt?: string;
72
+ }
73
+ export interface WombatOk<T> {
74
+ readonly ok: true;
75
+ readonly data: T;
76
+ readonly stdout: string;
77
+ readonly stderr: string;
78
+ readonly code: number;
79
+ }
80
+ export interface WombatSearchOk {
81
+ readonly ok: true;
82
+ readonly hits: readonly WombatSearchHit[];
83
+ readonly stdout: string;
84
+ readonly stderr: string;
85
+ readonly code: number;
86
+ }
87
+ export type WombatDoctorResult = WombatOk<WombatDoctorInfo> | WombatFailure;
88
+ export type WombatSyncResult = WombatOk<WombatSyncInfo> | WombatFailure;
89
+ export type WombatSearchResult = WombatSearchOk | WombatFailure;
@@ -34,10 +34,30 @@ export interface DupeyCliOptions {
34
34
  readonly timeoutMs?: number;
35
35
  readonly run?: (args: readonly string[]) => Promise<string>;
36
36
  }
37
+ /** One file's identity as `dupey fingerprint` reports it. `exact` equals `dupey scan --json`'s `content_hash`. */
38
+ export interface DupeyFingerprint {
39
+ readonly path: string;
40
+ readonly format: string;
41
+ readonly chars: number;
42
+ readonly exact: string;
43
+ readonly minhashWidth: number;
44
+ /** The document's own last-modified time, or `null` when dupey records none (`-`). */
45
+ readonly modified: string | null;
46
+ readonly revision: string | null;
47
+ }
37
48
  export declare class DupeyCliError extends Error {
38
49
  constructor(message: string);
39
50
  }
40
- export declare function scanWithDupey(dir: string, options?: DupeyCliOptions): Promise<DupeyScanResult>;
51
+ export declare function scanWithDupey(dir: string, options?: DupeyCliOptions & {
52
+ readonly excludeDirs?: readonly string[];
53
+ }): Promise<DupeyScanResult>;
54
+ /**
55
+ * Read one file's canonical-text identity with `dupey fingerprint` while it is on disk. This is how a cloud
56
+ * file is judged for exact-duplicate exclusion without ever reading it again after its single download:
57
+ * `exact` is the same hash `dupey scan --json` would report (`content_hash`), so a scanned copy elsewhere
58
+ * and this stored fingerprint group together.
59
+ */
60
+ export declare function fingerprintWithDupey(path: string, options?: DupeyCliOptions): Promise<DupeyFingerprint>;
41
61
  export type DupeyRelation = "exact" | "near" | "contains" | "different";
42
62
  export type DupeyCompareResult = {
43
63
  readonly relation: DupeyRelation;
@@ -4,6 +4,13 @@ export interface ExactDuplicateFilterResult {
4
4
  readonly keepers: ReadonlySet<string>;
5
5
  readonly errors: readonly string[];
6
6
  }
7
+ /** A cloud or network file's stored dupey identity: its exact hash and the document's own modified time (if any). */
8
+ export interface ExactDuplicateFingerprint {
9
+ readonly exact: string;
10
+ readonly modified: string | null;
11
+ /** Characters dupey extracted. `0` means no text, so the hash says nothing about the content. */
12
+ readonly chars: number;
13
+ }
7
14
  /** Selects the newest copy for each exact canonical-text hash.
8
15
  *
9
16
  * Uses dupey's own latest-copy ranking — the most recent internal document
@@ -11,4 +18,4 @@ export interface ExactDuplicateFilterResult {
11
18
  * none — so AutoRAG and dupey never disagree about which copy is newest.
12
19
  * Filesystem mtime is consulted only when dupey supplies no ranking.
13
20
  */
14
- export declare function selectExactDuplicateExclusions(root: string, scan: DupeyScanResult, isUnavailable?: (path: string) => boolean): Promise<ExactDuplicateFilterResult>;
21
+ export declare function selectExactDuplicateExclusions(root: string, scan: DupeyScanResult, isUnavailable?: (path: string) => boolean, fingerprints?: ReadonlyMap<string, ExactDuplicateFingerprint>): Promise<ExactDuplicateFilterResult>;
@@ -1,2 +1,3 @@
1
1
  export * from "./cli.js";
2
2
  export * from "./filter.js";
3
+ export * from "./scan-plan.js";
@@ -0,0 +1,23 @@
1
+ import { type CloudFileProbe, type CloudRoot } from "../filesystem/cloud-placeholder.js";
2
+ /** One `dupey scan` to run: the directory and the cloud or network folder names nested in it that must not be walked. */
3
+ export interface DupeyScanTarget {
4
+ readonly path: string;
5
+ readonly excludeDirs: readonly string[];
6
+ }
7
+ export interface DupeyScanPlan {
8
+ readonly targets: readonly DupeyScanTarget[];
9
+ /** Roots inside a cloud or network folder: never scanned, because `dupey scan` opens every file's contents. */
10
+ readonly skipped: readonly string[];
11
+ }
12
+ /**
13
+ * The machine's cloud and network roots for the roots about to be scanned. A probe that is missing or fails
14
+ * reads as no roots, never an error: an unknown root is scanned as before.
15
+ */
16
+ export declare function listCloudRoots(probe: CloudFileProbe | undefined, roots: readonly string[]): Promise<readonly CloudRoot[]>;
17
+ /**
18
+ * Which roots `dupey scan` may walk. A root inside a cloud or network folder is skipped whole and a cloud or
19
+ * network folder nested under a root is excluded by name: `dupey scan` reads file contents, which re-downloads
20
+ * a released placeholder (measured: a OneDrive folder of 1.1k placeholders ran past the 120 s scan timeout and
21
+ * every read failed with ETIMEDOUT) and re-reads a network file over the wire.
22
+ */
23
+ export declare function planDupeyScans(roots: readonly string[], cloudRoots: readonly CloudRoot[]): DupeyScanPlan;
@@ -17,7 +17,9 @@ export interface EmbedderFromConfigOptions {
17
17
  /**
18
18
  * The single embedder AutoRAG shares between its own semantic stores and the datasources: a configured
19
19
  * remote endpoint, else the `minsync serve` daemon the operator runs, else MinSync's in-process engine.
20
- * AutoRAG never starts the daemon for it.
20
+ * AutoRAG never starts the daemon for it. A sparse-only config (`minSync.embedder.id: "none"`) asked for no
21
+ * dense model, so the embedder reports no backend and every embed fails with that reason: consumers keep their
22
+ * lexical path and nothing loads Qwen3.
21
23
  */
22
24
  export declare function createEmbedderFromConfig(options: EmbedderFromConfigOptions): ManagedEmbedder;
23
25
  /**
@@ -110,7 +110,7 @@ export declare class EverythingClient {
110
110
  private readonly stateDir;
111
111
  private readonly isExcludedPath;
112
112
  private binaries;
113
- private operation;
113
+ private readonly queue;
114
114
  constructor(options: EverythingClientOptions);
115
115
  isSupported(): boolean;
116
116
  /**
@@ -129,7 +129,6 @@ export declare class EverythingClient {
129
129
  index(): Promise<EverythingIndexResult>;
130
130
  /** Exit this workspace's Everything instance if it is running. Never installs binaries. */
131
131
  stop(): Promise<void>;
132
- private serialize;
133
132
  /**
134
133
  * Resolve the ES + Everything executables. `"cached"` reads only the
135
134
  * already extracted, hash-verified workspace cache and never writes;