@autorag/librarian 2.9.0 → 2.10.1

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 (71) hide show
  1. package/LICENSE +195 -21
  2. package/NOTICE +17 -21
  3. package/README.md +372 -143
  4. package/dist/agent/agent.d.ts +93 -22
  5. package/dist/agent/answer-citations.d.ts +22 -0
  6. package/dist/agent/answer-guidelines.d.ts +9 -9
  7. package/dist/agent/citations.d.ts +35 -23
  8. package/dist/agent/context-token-guard.d.ts +23 -0
  9. package/dist/agent/evidence-ledger.d.ts +7 -12
  10. package/dist/agent/index.d.ts +2 -2
  11. package/dist/agent/jev-extension.d.ts +5 -4
  12. package/dist/agent/jikji-find-tool.d.ts +1 -0
  13. package/dist/agent/pi-session.d.ts +35 -2
  14. package/dist/agent/request-limits.d.ts +20 -0
  15. package/dist/agent/{emit-results-tool.d.ts → results.d.ts} +5 -40
  16. package/dist/agent/search-all-tool.d.ts +1 -0
  17. package/dist/agent/search-documents.d.ts +14 -19
  18. package/dist/agent/search-single-datasource-tool.d.ts +1 -0
  19. package/dist/agent/self-config.d.ts +1 -1
  20. package/dist/cli/commands/report.d.ts +1 -1
  21. package/dist/cli/commands/tui.d.ts +3 -2
  22. package/dist/cli/config.d.ts +13 -11
  23. package/dist/cli/index.js +3939 -1684
  24. package/dist/cloud/authorize.d.ts +12 -0
  25. package/dist/cloud/callback-server.d.ts +33 -0
  26. package/dist/cloud/callback.d.ts +23 -0
  27. package/dist/cloud/config.d.ts +41 -0
  28. package/dist/cloud/errors.d.ts +46 -0
  29. package/dist/cloud/index.d.ts +12 -0
  30. package/dist/cloud/jev-backend.d.ts +90 -0
  31. package/dist/cloud/models.d.ts +32 -0
  32. package/dist/cloud/oauth-login.d.ts +22 -0
  33. package/dist/cloud/pkce.d.ts +20 -0
  34. package/dist/cloud/provider.d.ts +40 -0
  35. package/dist/cloud/token.d.ts +22 -0
  36. package/dist/core.d.ts +2 -5
  37. package/dist/core.js +3803 -1613
  38. package/dist/datasource/crawler-skill.d.ts +17 -0
  39. package/dist/datasource/sidecar/config.d.ts +26 -0
  40. package/dist/datasource/sidecar/descriptors.d.ts +67 -0
  41. package/dist/datasource/sidecar/fusion.d.ts +25 -0
  42. package/dist/datasource/sidecar/index.d.ts +131 -0
  43. package/dist/datasource/sidecar/methods.d.ts +27 -0
  44. package/dist/datasource/types.d.ts +3 -1
  45. package/dist/embedding-runtime/index.d.ts +6 -6
  46. package/dist/embedding-runtime/manifest.d.ts +0 -12
  47. package/dist/embedding-runtime/types.d.ts +1 -1
  48. package/dist/index.d.ts +2 -1
  49. package/dist/index.js +3982 -1676
  50. package/dist/mcp/index.js +3908 -1662
  51. package/dist/minsync/client.d.ts +3 -3
  52. package/dist/minsync/installer.d.ts +1 -1
  53. package/dist/minsync/process.d.ts +1 -0
  54. package/dist/minsync/types.d.ts +1 -1
  55. package/dist/observability/run-log.d.ts +1 -1
  56. package/dist/parser/defaults.d.ts +6 -4
  57. package/dist/parser/ocr-engines.d.ts +6 -0
  58. package/dist/retrieval/index.d.ts +2 -2
  59. package/dist/retrieval/rerank.d.ts +20 -3
  60. package/dist/retrieval/types.d.ts +0 -23
  61. package/licenses/embedding-assets.json +0 -35
  62. package/package.json +24 -27
  63. package/skills/autorag/SKILL.md +1 -1
  64. package/skills/autorag-doctor/SKILL.md +1 -1
  65. package/skills/autorag-lite-setup/SKILL.md +2 -2
  66. package/skills/autorag-setup/SKILL.md +3 -3
  67. package/dist/agent/fast-answer-tool.d.ts +0 -56
  68. package/licenses/gemma-notice.txt +0 -24
  69. package/licenses/gemma-section-3.2-flow-down.txt +0 -9
  70. package/licenses/gemma-terms-of-use.html +0 -4750
  71. package/licenses/gemma-terms-of-use.txt +0 -158
@@ -1,5 +1,6 @@
1
1
  import type { RetrievalMethod } from "../retrieval/types.js";
2
2
  import type { CrawlerSearchOptions, CrawlerSearchResult, CrawlerSyncResult } from "./crawler-types.js";
3
+ import { type CrawlerSidecarOptions } from "./sidecar/index.js";
3
4
  import type { DatasourceIndexResult, DatasourceSkill, DatasourceSkillDescriptor, DatasourceSkillManifest, PollingMetadata, SourceDescription } from "./types.js";
4
5
  export interface CrawlerSkillClient {
5
6
  sync(signal?: AbortSignal): Promise<CrawlerSyncResult>;
@@ -27,6 +28,12 @@ export interface CrawlerDatasourceSkillOptions {
27
28
  /** Omitted/empty means search every chat/channel. */
28
29
  readonly channelIds?: readonly string[];
29
30
  readonly channelNames?: readonly string[];
31
+ /**
32
+ * Opt-in read-only sidecar over the crawler's own SQLite archive: adds BM25-ranked,
33
+ * semantic and hybrid methods next to the CLI-backed FTS method. The crawler database
34
+ * is never written; sidecar state lives in `sidecarDbPath`.
35
+ */
36
+ readonly sidecar?: CrawlerSidecarOptions;
30
37
  }
31
38
  export declare class CrawlerDatasourceSkill implements DatasourceSkill {
32
39
  private readonly definition;
@@ -37,12 +44,22 @@ export declare class CrawlerDatasourceSkill implements DatasourceSkill {
37
44
  private readonly tags;
38
45
  private readonly channelIds;
39
46
  private readonly channelNames;
47
+ private readonly sidecar;
40
48
  private lastIndexedAt;
41
49
  constructor(definition: CrawlerDatasourceDefinition, options: CrawlerDatasourceSkillOptions);
42
50
  describe(): DatasourceSkillDescriptor;
43
51
  polling(): PollingMetadata;
44
52
  index(): Promise<DatasourceIndexResult>;
53
+ /**
54
+ * Embed new crawler messages into the sidecar. Never fails the index (the CLI sync already succeeded and BM25
55
+ * stays available): any sidecar problem, including a thrown database error, becomes a warning. A bounded sync
56
+ * that left a backlog says so, so a partial semantic index is not mistaken for a complete one.
57
+ */
58
+ private syncSidecar;
59
+ /** Release the sidecar's database handles. Safe to call repeatedly; later use reopens them. */
60
+ close(): void;
45
61
  retrievalMethods(): readonly RetrievalMethod[];
62
+ private cliMethod;
46
63
  describeSources(): readonly SourceDescription[];
47
64
  skillManifest(): DatasourceSkillManifest;
48
65
  private fail;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Turns a datasource's `connector.sidecar` config into {@link CrawlerSidecarOptions}.
3
+ *
4
+ * On by default for every datasource that has a crawler descriptor; opt out with
5
+ *
6
+ * "connector": { "sidecar": false }
7
+ *
8
+ * or tune it:
9
+ *
10
+ * "connector": { "sidecar": { "crawlerDbPath": "~/.slacrawl/slacrawl.db", "semantic": false } }
11
+ *
12
+ * The sidecar's own database always lives under the AutoRAG workspace, one file
13
+ * per datasource instance, never next to (or inside) the crawler's archive.
14
+ */
15
+ import type { CrawlerDescriptor } from "./descriptors.js";
16
+ import type { CrawlerSidecarOptions } from "./index.js";
17
+ export interface ResolveSidecarInput {
18
+ readonly descriptor: CrawlerDescriptor;
19
+ readonly connector: Record<string, unknown> | undefined;
20
+ readonly workspaceRoot: string | undefined;
21
+ readonly registrationName: string;
22
+ readonly instanceId: string;
23
+ /** Where the crawler keeps its archive when the user did not say. */
24
+ readonly defaultCrawlerDb: string;
25
+ }
26
+ export declare function resolveSidecarOptions(input: ResolveSidecarInput): CrawlerSidecarOptions | undefined;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Declarative description of a crawler's read-only SQLite schema. The sidecar
3
+ * engine (index.ts) is crawler-agnostic: everything that differs between
4
+ * slacrawl, telecrawl, wacrawl and notcrawl is expressed here as SQL fragments.
5
+ *
6
+ * Every SQL fragment is a trusted constant authored in this file. User input
7
+ * (the search query, workspace id) is only ever bound as a parameter.
8
+ *
9
+ * The crawler database is opened read-only and ATTACHed; the sidecar owns a
10
+ * separate database file, so a crawler that rebuilds, migrates, purges or
11
+ * vacuums its own file can never lose or corrupt sidecar state.
12
+ */
13
+ export interface CrawlerDescriptor {
14
+ readonly id: string;
15
+ /**
16
+ * True when the crawler's own TOML config (`connector.configPath`) can relocate its archive via
17
+ * `db_path`. The sidecar then follows that setting instead of assuming the default archive.
18
+ */
19
+ readonly archivePathInConfig?: boolean;
20
+ /** `message_key` stored in the sidecar for each row; unique per message within one crawler DB. */
21
+ readonly keyExpression: string;
22
+ /**
23
+ * Public chunk id for a stored key. MUST equal the id the crawler's CLI client derives for the
24
+ * same message (see each skill's `parseHits`), so the retrieval merger deduplicates a message
25
+ * found by both the CLI-backed and the sidecar methods.
26
+ */
27
+ readonly chunkId: (key: string, metadata: Readonly<Record<string, string>>) => string;
28
+ /** FROM + JOINs exposing alias `m` (message-like row) and any lookup aliases used below. */
29
+ readonly fromClause: string;
30
+ /** Row visibility predicate: excludes soft-deleted rows. May reference a `:scope` parameter when `scopeColumn` is set. */
31
+ readonly liveWhere: string;
32
+ /** Column that the optional workspace/account scope filters on; omitted when the crawler has one account per DB. */
33
+ readonly scopeExpression?: string;
34
+ /** SQL returning the embeddable/displayed body of the row. */
35
+ readonly textExpression: string;
36
+ /** Optional extra text prepended to the embedding input (title, channel). */
37
+ readonly titleExpression?: string;
38
+ /** Seconds-since-epoch expression used for `publishedAt`; omitted when unknown. */
39
+ readonly epochSecondsExpression?: string;
40
+ /**
41
+ * FTS5 relation joined to the message row. `joinOn` ties the FTS row to alias `m`;
42
+ * `table` is the FTS table (also the argument to bm25()).
43
+ */
44
+ readonly fts: {
45
+ readonly table: string;
46
+ readonly joinOn: string;
47
+ };
48
+ /** Extra result columns mapped into hit metadata: a SQL expression and the metadata key it fills. */
49
+ readonly metadata: readonly {
50
+ readonly sql: string;
51
+ readonly key: string;
52
+ }[];
53
+ /**
54
+ * SQL for the chat/channel id and name the allowlist (`channels.ids/names`) matches. Pushed into the
55
+ * row predicate, so excluded chats are never searched, embedded, or kept in the sidecar.
56
+ */
57
+ readonly channelIdExpression: string;
58
+ readonly channelNameExpression: string;
59
+ /** Path-opaque label for the hierarchy: ["workspaces", ws, "channels", name] etc. */
60
+ readonly hierarchy: (metadata: Readonly<Record<string, unknown>>) => readonly string[];
61
+ }
62
+ export declare const CRAWLER_DESCRIPTORS: {
63
+ readonly slack: CrawlerDescriptor;
64
+ readonly telegram: CrawlerDescriptor;
65
+ readonly whatsapp: CrawlerDescriptor;
66
+ };
67
+ export type SidecarCrawlerId = keyof typeof CRAWLER_DESCRIPTORS;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Pure ranking primitives shared by every crawler sidecar: float32 vector
3
+ * (de)serialization, cosine top-k, and reciprocal rank fusion. No I/O.
4
+ */
5
+ export declare function encodeVector(vector: readonly number[]): Uint8Array;
6
+ /** Inverse of {@link encodeVector}; undefined when the blob is not a whole number of float32s. */
7
+ export declare function decodeVector(blob: Uint8Array): Float32Array | undefined;
8
+ /** Cosine similarity; 0 (never NaN) for zero-length, zero-norm, or mismatched-dimension inputs. */
9
+ export declare function cosine(a: ArrayLike<number>, b: ArrayLike<number>): number;
10
+ export interface KeyedVector {
11
+ readonly key: string;
12
+ readonly vector: ArrayLike<number>;
13
+ }
14
+ export interface ScoredKey {
15
+ readonly key: string;
16
+ readonly score: number;
17
+ }
18
+ /** Best `k` positive-similarity keys, descending; ties broken by key for determinism. */
19
+ export declare function topKByCosine(query: ArrayLike<number>, rows: Iterable<KeyedVector>, k: number): ScoredKey[];
20
+ /**
21
+ * Reciprocal rank fusion over ranked key lists (best first). A key repeated
22
+ * inside one list counts once, at its best rank. Ties keep first-seen order,
23
+ * so earlier lists win.
24
+ */
25
+ export declare function reciprocalRankFusion(lists: readonly (readonly string[])[]): ScoredKey[];
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Crawler sidecar: BM25 + semantic + hybrid retrieval over a crawler's own
3
+ * SQLite archive without touching it.
4
+ *
5
+ * The sidecar owns a separate database file (MAIN). The crawler's database is
6
+ * ATTACHed read-only, so a crawler that migrates, purges, vacuums or rebuilds
7
+ * its file cannot lose sidecar state, and the sidecar cannot corrupt the
8
+ * crawler. Only vectors keyed by the crawler's message key are stored; message
9
+ * bodies are always read from the crawler database at query time.
10
+ *
11
+ * Everything crawler-specific lives in a {@link CrawlerDescriptor}; this file
12
+ * is shared by every crawler.
13
+ */
14
+ import type { Embedder } from "../../embedding-runtime/gateway-embedder.js";
15
+ import type { CrawlerDescriptor } from "./descriptors.js";
16
+ export interface SidecarHit {
17
+ readonly key: string;
18
+ readonly content: string;
19
+ readonly score: number;
20
+ readonly title?: string;
21
+ /** Milliseconds since epoch. */
22
+ readonly publishedAt?: number;
23
+ readonly metadata: Readonly<Record<string, string>>;
24
+ }
25
+ export type SidecarSyncResult = {
26
+ readonly ok: true;
27
+ readonly embedded: number;
28
+ /** Messages the embedder rejected on their own; retried only after their text changes. */
29
+ readonly skipped: number;
30
+ readonly pruned: number;
31
+ /** Messages still waiting for a vector after this sync (0 when fully caught up). */
32
+ readonly remaining: number;
33
+ } | {
34
+ readonly ok: false;
35
+ readonly message: string;
36
+ };
37
+ export interface CrawlerSidecarOptions {
38
+ readonly descriptor: CrawlerDescriptor;
39
+ readonly crawlerDbPath: string;
40
+ readonly sidecarDbPath: string;
41
+ /** Restricts every query to one workspace/account when the descriptor supports scoping. */
42
+ readonly workspaceId?: string;
43
+ /**
44
+ * Chat/channel allowlist (`channels.ids/names`). Empty means every chat. Applied in SQL, so excluded chats are
45
+ * never searched, embedded, or kept as vectors.
46
+ */
47
+ readonly channelIds?: readonly string[];
48
+ readonly channelNames?: readonly string[];
49
+ /** Required for semantic and hybrid search; lexical search works without it. */
50
+ readonly embedder?: Embedder;
51
+ /** Messages per embedding request and per write transaction. Default {@link DEFAULT_BATCH_SIZE}. */
52
+ readonly batchSize?: number;
53
+ /**
54
+ * Most messages one `sync()` will embed. A first sync over a large archive otherwise holds the whole
55
+ * refresh for minutes; the remainder is picked up by the next sync, and BM25 never waits for vectors.
56
+ * Default {@link DEFAULT_MAX_EMBED_PER_SYNC}.
57
+ */
58
+ readonly maxEmbedPerSync?: number;
59
+ }
60
+ export declare class CrawlerSidecar {
61
+ readonly descriptor: CrawlerDescriptor;
62
+ private readonly options;
63
+ private readonly select;
64
+ private readonly where;
65
+ /** Opened on first use: building a skill must not create files, directories, or file descriptors. */
66
+ private opened;
67
+ /** Identity of the attached crawler file; a crawler that replaces or deletes its archive forces a re-attach. */
68
+ private attached;
69
+ /**
70
+ * The last query's embedding and ranking. The semantic and hybrid methods of one search ask for the same
71
+ * query, so they share one embedding call and one vector scan. Short-lived, and dropped on any write.
72
+ */
73
+ private lastSemantic;
74
+ constructor(options: CrawlerSidecarOptions);
75
+ /** The sidecar database, created on first call. Only reached once the crawler archive exists. */
76
+ private get db();
77
+ /**
78
+ * Attach the crawler archive read-only, once it exists and has the expected
79
+ * shape. The crawler may not have synced yet, or may have replaced or deleted
80
+ * its file, so this is re-checked on every call: a changed file is re-attached,
81
+ * a missing one detached. Nothing is created on disk until the archive exists.
82
+ */
83
+ private attachCrawler;
84
+ private detachCrawler;
85
+ /** True when a semantic index can be built: an embedder is configured. */
86
+ get semanticEnabled(): boolean;
87
+ /** Release the database handle. Safe to call repeatedly; a later search reopens and re-attaches. */
88
+ close(): void;
89
+ /** Bound parameters for {@link where}, in the order its predicates appear. */
90
+ private whereParams;
91
+ /** BM25-ranked lexical search. Natural-language queries are OR-ed term by term. */
92
+ searchLexical(query: string, topK: number): SidecarHit[];
93
+ /** Cosine search over embedded messages. Empty when there is no embedder or the query embedding fails. */
94
+ searchSemantic(query: string, topK: number): Promise<SidecarHit[]>;
95
+ /** Best `pool` stored vectors for `query`, reusing the previous ranking when it already covers `pool`. */
96
+ private rankSemantic;
97
+ /** Reciprocal-rank fusion of lexical and semantic rankings; lexical-only when semantic is unavailable. */
98
+ searchHybrid(query: string, topK: number): Promise<SidecarHit[]>;
99
+ /**
100
+ * Bring the vector table in line with the crawler archive: drop vectors of
101
+ * purged/deleted messages, embed new or edited ones, re-embed all on an
102
+ * embedding identity change. An embedder failure keeps what was already
103
+ * stored. A message the embedder keeps rejecting while others succeed is
104
+ * skipped until its text changes, so it cannot stall the backlog behind it.
105
+ * Database errors (for example a lock held past the busy timeout) throw.
106
+ */
107
+ sync(): Promise<SidecarSyncResult>;
108
+ private adoptIdentity;
109
+ /** Delete vectors whose message no longer exists, is deleted, or fell out of scope. */
110
+ private prune;
111
+ /** Keys with no vector yet, or whose embedded text changed since. */
112
+ private pendingKeys;
113
+ /** Live rows for the given keys, in the order given. */
114
+ private hydrate;
115
+ /**
116
+ * Upsert vectors keyed by message. `undefined` stores an empty vector: the message is recorded as tried at
117
+ * this text hash (so it is not retried every sync) but never ranked.
118
+ */
119
+ private store;
120
+ private storedVectors;
121
+ private transaction;
122
+ private toRow;
123
+ private toHit;
124
+ }
125
+ /**
126
+ * FTS5 MATCH expression for free text: every alphanumeric term quoted and
127
+ * OR-ed. Quoting neutralizes FTS operators (AND, NOT, NEAR, *, parentheses),
128
+ * so user text can never change the query's structure. Undefined when the
129
+ * text contains no searchable term.
130
+ */
131
+ export declare function toMatchQuery(text: string): string | undefined;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * RetrievalMethod adapters over a {@link CrawlerSidecar}. One class serves every
3
+ * crawler and every mode; the only per-instance input is the datasource identity
4
+ * (the channel allowlist is applied by the sidecar's SQL).
5
+ */
6
+ import type { RetrievalMethod, RetrievalMethodDescriptor, RetrievalOptions, RetrievalResult } from "../../retrieval/types.js";
7
+ import type { CrawlerDescriptor } from "./descriptors.js";
8
+ import type { CrawlerSidecar } from "./index.js";
9
+ export type SidecarMode = "bm25" | "semantic" | "hybrid";
10
+ export interface SidecarMethodOptions {
11
+ readonly sidecar: CrawlerSidecar;
12
+ readonly descriptor: CrawlerDescriptor;
13
+ readonly mode: SidecarMode;
14
+ readonly datasourceId: string;
15
+ readonly skillType: string;
16
+ readonly instanceId: string;
17
+ readonly tags: readonly string[];
18
+ }
19
+ /** Result method name; `bm25` keeps the `-sidecar-` infix so it never collides with the CLI-backed `-fts` method. */
20
+ export declare function sidecarMethodName(datasourceId: string, mode: SidecarMode): string;
21
+ export declare class SidecarRetrievalMethod implements RetrievalMethod {
22
+ private readonly options;
23
+ constructor(options: SidecarMethodOptions);
24
+ describe(): RetrievalMethodDescriptor;
25
+ retrieve(query: string, options: RetrievalOptions): Promise<RetrievalResult[]>;
26
+ private toResult;
27
+ }
@@ -145,7 +145,9 @@ export interface DatasourceIndexFail {
145
145
  * `index()`; they return a fail variant instead.
146
146
  */
147
147
  export type DatasourceIndexResult = DatasourceIndexOk | DatasourceIndexFail;
148
- export type DatasourceDiagnosticCode = "datasource-unavailable" | "datasource-cli-error" | "datasource-empty" | "datasource-rate-limited" | "datasource-auth-error" | "datasource-embedding-egress-rejected" | "datasource-index-failed" | "datasource-permission-denied" | "datasource-remote-embedding-rejected";
148
+ export type DatasourceDiagnosticCode = "datasource-unavailable" | "datasource-cli-error" | "datasource-empty" | "datasource-rate-limited" | "datasource-auth-error" | "datasource-embedding-egress-rejected" | "datasource-index-failed"
149
+ /** Index succeeded but is incomplete (e.g. a semantic backlog still draining); not a failure. */
150
+ | "datasource-index-partial" | "datasource-permission-denied" | "datasource-remote-embedding-rejected";
149
151
  /** Path-opaque diagnostic emitted by the datasource layer. */
150
152
  export interface DatasourceDiagnostic {
151
153
  readonly code: DatasourceDiagnosticCode;
@@ -87,15 +87,15 @@ export declare function createEmbeddingRuntime(options?: EmbeddingRuntimeOptions
87
87
  stopRuntime: () => Promise<void>;
88
88
  runtimeStatus: () => Promise<RuntimeStatus>;
89
89
  prefetchModel: (profileId?: ProfileId) => Promise<{
90
- profileId: ProfileId;
90
+ profileId: "qwen3-embedding-0.6b";
91
91
  path: string;
92
92
  }>;
93
93
  importModel: (profileId: ProfileId | undefined, sourcePath: string) => Promise<{
94
- profileId: ProfileId;
94
+ profileId: "qwen3-embedding-0.6b";
95
95
  path: string;
96
96
  }>;
97
97
  verifyModel: (profileId?: ProfileId) => Promise<{
98
- profileId: ProfileId;
98
+ profileId: "qwen3-embedding-0.6b";
99
99
  path: string;
100
100
  hash: string;
101
101
  }>;
@@ -106,15 +106,15 @@ export declare const releaseRuntimeHandles: () => Promise<void>;
106
106
  export declare const stopRuntime: () => Promise<void>;
107
107
  export declare const runtimeStatus: () => Promise<RuntimeStatus>;
108
108
  export declare const prefetchModel: (profileId?: ProfileId) => Promise<{
109
- profileId: ProfileId;
109
+ profileId: "qwen3-embedding-0.6b";
110
110
  path: string;
111
111
  }>;
112
112
  export declare const importModel: (profileId: ProfileId | undefined, sourcePath: string) => Promise<{
113
- profileId: ProfileId;
113
+ profileId: "qwen3-embedding-0.6b";
114
114
  path: string;
115
115
  }>;
116
116
  export declare const verifyModel: (profileId?: ProfileId) => Promise<{
117
- profileId: ProfileId;
117
+ profileId: "qwen3-embedding-0.6b";
118
118
  path: string;
119
119
  hash: string;
120
120
  }>;
@@ -14,19 +14,7 @@ export declare const MODEL_ASSETS: {
14
14
  readonly upstreamCardUrl: "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B";
15
15
  readonly modelCard: "docs/model-cards/qwen3-embedding-0.6b.md";
16
16
  };
17
- readonly embeddinggemma: {
18
- readonly url: "https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF/resolve/0f741b5a6585bd53aeb15cd1372c56f2a0f65e12/embeddinggemma-300M-Q8_0.gguf";
19
- readonly revision: "0f741b5a6585bd53aeb15cd1372c56f2a0f65e12";
20
- readonly sha256: "b5ce9d77a3fc4b3b39ccb5643c36777911cc4eb46a66962eadfa3f5f60490d63";
21
- readonly license: "Gemma Terms of Use";
22
- readonly noticeReference: "Google EmbeddingGemma model card and Gemma Terms of Use";
23
- readonly intendedUse: "Local loopback embedding for AutoRAG MinSync and native-datasource semantic retrieval. Not a generative model.";
24
- readonly unsuitableUse: "Chat or generation, remote embedding of corpus text, shipping weights in the npm package, any GGUF other than the pinned SHA-256, uses restricted by the Gemma Prohibited Use Policy.";
25
- readonly upstreamCardUrl: "https://ai.google.dev/gemma/docs/embeddinggemma/model_card";
26
- readonly modelCard: "docs/model-cards/embeddinggemma-300m.md";
27
- };
28
17
  };
29
18
  export declare const MODEL_ASSET_URLS: {
30
19
  readonly qwen3: "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B-GGUF/resolve/370f27d7550e0def9b39c1f16d3fbaa13aa67728/Qwen3-Embedding-0.6B-Q8_0.gguf";
31
- readonly embeddinggemma: "https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF/resolve/0f741b5a6585bd53aeb15cd1372c56f2a0f65e12/embeddinggemma-300M-Q8_0.gguf";
32
20
  };
@@ -1,6 +1,6 @@
1
1
  export type BackendKind = "auto" | "cpu" | "vulkan";
2
2
  export type PlatformId = "darwin-arm64-metal" | "win-x64-cpu" | "win-x64-vulkan";
3
- export type ProfileId = "qwen3-embedding-0.6b" | "embeddinggemma-300m";
3
+ export type ProfileId = "qwen3-embedding-0.6b";
4
4
  export interface ProtocolCapabilities {
5
5
  readonly healthz: boolean;
6
6
  readonly embed: boolean;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { AutoRAGAgent, type AutoRAGAgentOptions, type AutoRAGRefreshComponentStatus, type AutoRAGRefreshOptions, type AutoRAGRefreshResult, type AutoRAGRefreshStatus, type AutoRAGWatchRefreshHandle, type AutoRAGWatchRefreshOptions, type AutoRefreshOptions, type RefreshMethod, } from "./agent/agent.js";
2
- export { type AutoRAGResultsDetails, createEmitResultsTool, EMIT_AUTORAG_RESULTS_TOOL_NAME, emitResultsSchema, reportSchema, type SearchDocumentDiagnostic, type SearchDocumentDiagnosticCode, type SearchDocumentDiagnosticSeverity, type SearchDocumentsResponse, type SearchDocumentsStreamEvent, type SearchDocumentWarning, } from "./agent/index.js";
2
+ export { type AutoRAGResultsDetails, reportSchema, type SearchDocumentDiagnostic, type SearchDocumentDiagnosticCode, type SearchDocumentDiagnosticSeverity, type SearchDocumentsResponse, type SearchDocumentsStreamEvent, type SearchDocumentWarning, } from "./agent/index.js";
3
3
  export { buildSystemPrompt, type SystemPromptConfig } from "./agent/system-prompt.js";
4
+ export * from "./cloud/index.js";
4
5
  export { AutoRAGLite, type AutoRAGLiteOptions, buildAgentOptions, type CliConfig, createAutoRAGLite, type ResolveConfigInput, resolveConfig, resolveConfigReadOnly, writeConfigObject, writeDefaultConfig, } from "./core.js";
5
6
  export * from "./datasource/index.js";
6
7
  export * from "./dupey/index.js";