@autorag/librarian 2.1.0 → 2.2.0

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 (41) hide show
  1. package/README.md +73 -15
  2. package/dist/agent/agent.d.ts +11 -0
  3. package/dist/agent/search-bm25-tool.d.ts +1 -1
  4. package/dist/agent/search-minsync-tool.d.ts +1 -1
  5. package/dist/cli/index.js +4206 -2039
  6. package/dist/datasource/connector-skill.d.ts +1 -1
  7. package/dist/datasource/connector.d.ts +1 -1
  8. package/dist/datasource/crawler-client.d.ts +9 -0
  9. package/dist/datasource/crawler-skill.d.ts +41 -0
  10. package/dist/datasource/crawler-types.d.ts +53 -0
  11. package/dist/datasource/index.d.ts +6 -4
  12. package/dist/datasource/skills/discrawl/client.d.ts +23 -0
  13. package/dist/datasource/skills/discrawl/config.d.ts +9 -0
  14. package/dist/datasource/skills/discrawl/index.d.ts +5 -0
  15. package/dist/datasource/skills/discrawl/methods.d.ts +55 -0
  16. package/dist/datasource/skills/discrawl/paths.d.ts +30 -0
  17. package/dist/datasource/skills/discrawl/skill.d.ts +58 -0
  18. package/dist/datasource/skills/discrawl/types.d.ts +198 -0
  19. package/dist/datasource/skills/notion/index.d.ts +15 -2
  20. package/dist/datasource/skills/obsidian/client.d.ts +15 -0
  21. package/dist/datasource/skills/obsidian/index.d.ts +6 -2
  22. package/dist/datasource/skills/obsidian/methods.d.ts +26 -0
  23. package/dist/datasource/skills/obsidian/paths.d.ts +27 -0
  24. package/dist/datasource/skills/obsidian/skill.d.ts +40 -17
  25. package/dist/datasource/skills/obsidian/types.d.ts +90 -0
  26. package/dist/datasource/skills/slack/index.d.ts +15 -2
  27. package/dist/datasource/skills/telecrawl/index.d.ts +15 -0
  28. package/dist/datasource/skills/wacrawl/index.d.ts +15 -0
  29. package/dist/index.js +4231 -2048
  30. package/dist/retrieval/merger.d.ts +1 -0
  31. package/dist/retrieval/scope.d.ts +10 -0
  32. package/package.json +18 -18
  33. package/skills/autorag-setup/SKILL.md +29 -7
  34. package/dist/datasource/skills/discord/connector.d.ts +0 -30
  35. package/dist/datasource/skills/discord/index.d.ts +0 -2
  36. package/dist/datasource/skills/discord/skill.d.ts +0 -20
  37. package/dist/datasource/skills/notion/connector.d.ts +0 -26
  38. package/dist/datasource/skills/notion/skill.d.ts +0 -20
  39. package/dist/datasource/skills/obsidian/connector.d.ts +0 -22
  40. package/dist/datasource/skills/slack/connector.d.ts +0 -28
  41. package/dist/datasource/skills/slack/skill.d.ts +0 -20
@@ -1,20 +1,43 @@
1
- /**
2
- * Obsidian vault datasource skill (issue #1314).
3
- *
4
- * Thin composition of ObsidianConnector with the shared
5
- * {@link ConnectorDatasourceSkill} base: descriptor, polling metadata,
6
- * ok/fail indexing with path/PII-opaque diagnostics, lexical retrieval via
7
- * the shared pipeline, opaque `/obsidian/<instance>/…` sources, and a
8
- * progressive-disclosure agent-skill manifest.
9
- */
10
- import { ConnectorDatasourceSkill, type ConnectorSkillDefinition, type ConnectorSkillOptions } from "../../connector-skill.js";
11
- import { ObsidianConnector, type ObsidianConnectorOptions } from "./connector.js";
12
- export declare const OBSIDIAN_SKILL_DEFINITION: ConnectorSkillDefinition;
13
- export interface ObsidianSkillOptions extends Omit<ConnectorSkillOptions, "connector"> {
14
- /** Trusted connector configuration; a pre-built connector wins. */
15
- readonly connector?: ObsidianConnector;
16
- readonly connectorOptions?: ObsidianConnectorOptions;
1
+ import type { RetrievalMethod } from "../../../retrieval/types.js";
2
+ import type { DatasourceIndexResult, DatasourceSkill, DatasourceSkillDescriptor, DatasourceSkillManifest, PollingMetadata, SourceDescription } from "../../types.js";
3
+ import { type ObsidianSearchClient } from "./methods.js";
4
+ import type { QmdEmbedResult, QmdEnsureResult, QmdUpdateResult } from "./types.js";
5
+ export interface ObsidianSkillClient extends ObsidianSearchClient {
6
+ ensureCollection(): Promise<QmdEnsureResult>;
7
+ update(): Promise<QmdUpdateResult>;
8
+ embed(): Promise<QmdEmbedResult>;
17
9
  }
18
- export declare class ObsidianSkill extends ConnectorDatasourceSkill {
10
+ export interface ObsidianSkillOptions {
11
+ readonly client?: ObsidianSkillClient;
12
+ readonly vaultPath?: string;
13
+ readonly binaryPath?: string;
14
+ readonly instanceId?: string;
15
+ readonly instances?: readonly string[];
16
+ readonly pollingIntervalMs?: number;
17
+ readonly tags?: readonly string[];
18
+ readonly lastIndexedAt?: number;
19
+ readonly workspaceRoot?: string;
20
+ readonly collectionName?: string;
21
+ readonly timeoutMs?: number;
22
+ readonly connectorOptions?: {
23
+ readonly vaultPath?: string;
24
+ };
25
+ }
26
+ export declare class ObsidianSkill implements DatasourceSkill {
27
+ private readonly client;
28
+ private readonly instanceId;
29
+ private readonly instances;
30
+ private readonly pollingIntervalMs;
31
+ private readonly tags;
32
+ private readonly vaultPath;
33
+ private lastIndexedAt;
34
+ private lastError;
19
35
  constructor(options?: ObsidianSkillOptions);
36
+ describe(): DatasourceSkillDescriptor;
37
+ polling(): PollingMetadata;
38
+ index(): Promise<DatasourceIndexResult>;
39
+ retrievalMethods(): readonly RetrievalMethod[];
40
+ describeSources(): readonly SourceDescription[];
41
+ skillManifest(): DatasourceSkillManifest;
42
+ private fail;
20
43
  }
@@ -0,0 +1,90 @@
1
+ import type { RetrievalOptions } from "../../../retrieval/types.js";
2
+ /**
3
+ * Search modes accepted by the external `qmd` CLI.
4
+ *
5
+ * - `search` — BM25 / FTS5 lexical search
6
+ * - `vsearch` — dense vector semantic search
7
+ */
8
+ export type QmdSearchMode = "search" | "vsearch";
9
+ /**
10
+ * Configuration for {@link QmdClient}. The client spawns the `qmd` binary as a
11
+ * child process and isolates config/cache under the AutoRAG workspace.
12
+ */
13
+ export interface QmdOptions {
14
+ /** Explicit path to the `qmd` binary. Defaults to a bare `qmd` PATH lookup. */
15
+ readonly binaryPath?: string;
16
+ /** Spawn timeout in milliseconds. Default 60_000 (embed can be slow). */
17
+ readonly timeoutMs?: number;
18
+ /** Max stdout/stderr bytes retained. Default 1_048_576 (1 MiB). */
19
+ readonly maxBufferBytes?: number;
20
+ /** Absolute path to the Obsidian vault. Required for ensure/update. */
21
+ readonly vaultPath?: string;
22
+ /** AutoRAG workspace root used to isolate qmd config/cache. */
23
+ readonly workspaceRoot?: string;
24
+ /** Instance id used for source paths and collection naming. Default `default`. */
25
+ readonly instanceId?: string;
26
+ /** Explicit collection name; defaults to a sanitized instance id. */
27
+ readonly collectionName?: string;
28
+ /** Environment overrides merged on top of a restricted process env. */
29
+ readonly env?: Readonly<Record<string, string | undefined>>;
30
+ }
31
+ export declare const DEFAULT_QMD_BINARY = "qmd";
32
+ export declare const DEFAULT_QMD_TIMEOUT_MS = 60000;
33
+ export declare const DEFAULT_QMD_MAX_BUFFER_BYTES = 1048576;
34
+ export type QmdFailureReason = "binary-missing" | "not-configured" | "nonzero-exit" | "spawn-error" | "timeout" | "aborted" | "stdout-too-large" | "stderr-too-large" | "invalid-json" | "invalid-shape";
35
+ export interface QmdFailure {
36
+ readonly ok: false;
37
+ readonly reason: QmdFailureReason;
38
+ readonly stdout: string;
39
+ readonly stderr: string;
40
+ readonly code: number | null;
41
+ }
42
+ export interface QmdOk<T> {
43
+ readonly ok: true;
44
+ readonly data: T;
45
+ readonly stdout: string;
46
+ readonly stderr: string;
47
+ readonly code: number;
48
+ }
49
+ export interface QmdUpdateInfo {
50
+ readonly indexed: number;
51
+ readonly updated: number;
52
+ readonly unchanged: number;
53
+ readonly removed: number;
54
+ readonly needsEmbedding?: boolean;
55
+ readonly metadata?: Readonly<Record<string, unknown>>;
56
+ }
57
+ export interface QmdEmbedInfo {
58
+ readonly embedded: boolean;
59
+ readonly metadata?: Readonly<Record<string, unknown>>;
60
+ }
61
+ export interface QmdEnsureInfo {
62
+ readonly collectionName: string;
63
+ readonly vaultPath: string;
64
+ readonly configDir: string;
65
+ }
66
+ /** A scored search hit from `qmd search` / `qmd vsearch`. */
67
+ export interface QmdSearchHit {
68
+ readonly chunkId: string;
69
+ readonly score: number;
70
+ readonly content: string;
71
+ readonly title?: string;
72
+ readonly file?: string;
73
+ readonly docid?: string;
74
+ readonly metadata?: Readonly<Record<string, unknown>>;
75
+ }
76
+ export interface QmdSearchOk {
77
+ readonly ok: true;
78
+ readonly hits: readonly QmdSearchHit[];
79
+ readonly stdout: string;
80
+ readonly stderr: string;
81
+ readonly code: number;
82
+ readonly data: {
83
+ readonly hits: readonly QmdSearchHit[];
84
+ };
85
+ }
86
+ export type QmdEnsureResult = QmdOk<QmdEnsureInfo> | QmdFailure;
87
+ export type QmdUpdateResult = QmdOk<QmdUpdateInfo> | QmdFailure;
88
+ export type QmdEmbedResult = QmdOk<QmdEmbedInfo> | QmdFailure;
89
+ export type QmdSearchResult = QmdSearchOk | QmdFailure;
90
+ export type QmdSearchOptions = RetrievalOptions;
@@ -1,2 +1,15 @@
1
- export { SlackConnector, type SlackConnectorOptions } from "./connector.js";
2
- export { SLACK_SKILL_DEFINITION, SlackSkill, type SlackSkillOptions } from "./skill.js";
1
+ import { CrawlerCliClient } from "../../crawler-client.js";
2
+ import { CrawlerDatasourceSkill, type CrawlerDatasourceSkillOptions, type CrawlerSkillClient } from "../../crawler-skill.js";
3
+ import type { CrawlerCliOptions } from "../../crawler-types.js";
4
+ export interface SlacrawlOptions extends CrawlerCliOptions {
5
+ }
6
+ export declare class SlacrawlClient extends CrawlerCliClient {
7
+ constructor(options?: SlacrawlOptions);
8
+ }
9
+ export interface SlackSkillOptions extends Omit<CrawlerDatasourceSkillOptions, "client"> {
10
+ readonly client?: CrawlerSkillClient;
11
+ readonly connectorOptions?: SlacrawlOptions;
12
+ }
13
+ export declare class SlackSkill extends CrawlerDatasourceSkill {
14
+ constructor(options?: SlackSkillOptions);
15
+ }
@@ -0,0 +1,15 @@
1
+ import { CrawlerCliClient } from "../../crawler-client.js";
2
+ import { CrawlerDatasourceSkill, type CrawlerDatasourceSkillOptions, type CrawlerSkillClient } from "../../crawler-skill.js";
3
+ import type { CrawlerCliOptions } from "../../crawler-types.js";
4
+ export interface TelecrawlOptions extends CrawlerCliOptions {
5
+ }
6
+ export declare class TelecrawlClient extends CrawlerCliClient {
7
+ constructor(options?: TelecrawlOptions);
8
+ }
9
+ export interface TelecrawlSkillOptions extends Omit<CrawlerDatasourceSkillOptions, "client"> {
10
+ readonly client?: CrawlerSkillClient;
11
+ readonly connectorOptions?: TelecrawlOptions;
12
+ }
13
+ export declare class TelecrawlSkill extends CrawlerDatasourceSkill {
14
+ constructor(options?: TelecrawlSkillOptions);
15
+ }
@@ -0,0 +1,15 @@
1
+ import { CrawlerCliClient } from "../../crawler-client.js";
2
+ import { CrawlerDatasourceSkill, type CrawlerDatasourceSkillOptions, type CrawlerSkillClient } from "../../crawler-skill.js";
3
+ import type { CrawlerCliOptions } from "../../crawler-types.js";
4
+ export interface WacrawlOptions extends CrawlerCliOptions {
5
+ }
6
+ export declare class WacrawlClient extends CrawlerCliClient {
7
+ constructor(options?: WacrawlOptions);
8
+ }
9
+ export interface WacrawlSkillOptions extends Omit<CrawlerDatasourceSkillOptions, "client"> {
10
+ readonly client?: CrawlerSkillClient;
11
+ readonly connectorOptions?: WacrawlOptions;
12
+ }
13
+ export declare class WacrawlSkill extends CrawlerDatasourceSkill {
14
+ constructor(options?: WacrawlSkillOptions);
15
+ }