@askdb/rag 0.2.0-beta.3 → 0.2.0-beta.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
@@ -20,8 +20,12 @@ pnpm add ai @ai-sdk/openai
20
20
 
21
21
  ```ts
22
22
  import { ask, loadSchema } from "@askdb/core";
23
- import { buildSchemaIndex, loadChunkerSourcesFromDir } from "@askdb/rag";
24
- import { createMemoryStore } from "@askdb/rag/stores/memory";
23
+ import {
24
+ buildSchemaIndex,
25
+ loadChunkerSourcesFromDir,
26
+ createMemoryStore,
27
+ createAiSdkEmbedder,
28
+ } from "@askdb/rag";
25
29
 
26
30
  const schemaDir = "./fixtures/schemas/orders-users.schema";
27
31
  const schema = loadSchema(schemaDir);
@@ -58,14 +62,47 @@ The default CLI embedder is a deterministic mock for smoke tests. Use `--embedde
58
62
 
59
63
  ## Public Surface
60
64
 
65
+ All exports are available from the root `@askdb/rag` import. Sub-path imports are also supported and point to the same modules — use whichever style you prefer.
66
+
67
+ ### Core
68
+
61
69
  - `chunkSchema`, `chunkSchemaDir`, `chunkSchemaBundle` — deterministic Schema v2 chunking.
62
70
  - `buildSchemaIndex` — chunk, embed, upsert, write `schema.lock.json`, and return a retriever.
63
71
  - `createRetriever` — bind an existing store and embedder without indexing.
64
- - `@askdb/rag/stores/memory` — in-memory cosine store.
65
- - `@askdb/rag/stores/file` — binary embedding file plus JSON metadata.
66
- - `@askdb/rag/stores/pgvector` — pgvector adapter with documented setup SQL.
67
- - `@askdb/rag/embedders/ai-sdk` — generic AI SDK `EmbeddingModel<string>` adapter.
68
- - `@askdb/rag/embedders/openai` — optional OpenAI convenience helper using `text-embedding-3-small` by default.
72
+
73
+ ### Stores
74
+
75
+ | Root import | Sub-path import | Description |
76
+ |---|---|---|
77
+ | `createMemoryStore` | `@askdb/rag/stores/memory` | In-memory cosine store. Zero deps. |
78
+ | `createFileStore` | `@askdb/rag/stores/file` | Binary embedding file + JSON metadata. |
79
+ | `createPgvectorStore` | `@askdb/rag/stores/pgvector` | pgvector adapter with documented setup SQL. Requires `pg`. |
80
+
81
+ ### Embedders
82
+
83
+ | Root import | Sub-path import | Description |
84
+ |---|---|---|
85
+ | `createAiSdkEmbedder` | `@askdb/rag/embedders/ai-sdk` | Generic AI SDK `EmbeddingModel<string>` adapter. Requires `ai`. |
86
+ | `createOpenAiEmbedder` | `@askdb/rag/embedders/openai` | OpenAI convenience helper (`text-embedding-3-small` by default). Requires `ai` and `@ai-sdk/openai`. |
87
+
88
+ ### Import examples
89
+
90
+ ```ts
91
+ // Everything from the root — simplest DX
92
+ import {
93
+ buildSchemaIndex,
94
+ createMemoryStore,
95
+ createAiSdkEmbedder,
96
+ createPgvectorStore,
97
+ } from "@askdb/rag";
98
+
99
+ // Sub-path imports — same modules, explicit namespacing
100
+ import { createMemoryStore } from "@askdb/rag/stores/memory";
101
+ import { createFileStore } from "@askdb/rag/stores/file";
102
+ import { createPgvectorStore } from "@askdb/rag/stores/pgvector";
103
+ import { createAiSdkEmbedder } from "@askdb/rag/embedders/ai-sdk";
104
+ import { createOpenAiEmbedder } from "@askdb/rag/embedders/openai";
105
+ ```
69
106
 
70
107
  ## Sensitive Fields
71
108
 
package/dist/index.d.ts CHANGED
@@ -3,4 +3,9 @@ export { chunkSchema, chunkSchemaDir, chunkSchemaBundle, loadChunkerSourcesFromD
3
3
  export { buildSchemaIndex, createRetriever, chunkContentHash, readLockFile, writeLockFile, type BuildSchemaIndexOptions, type BuildSchemaIndexResult, type IndexProgressEvent, type SchemaLockFile, } from "./indexer/index.js";
4
4
  export { synthesizeRetrievedDdl } from "@askdb/core";
5
5
  export { AskDbRagLogEvent, type AskDbRagLogEventName } from "./log-events.js";
6
+ export { createMemoryStore, type MemoryStore } from "./stores/memory.js";
7
+ export { createFileStore, type FileStore, type FileStoreOptions } from "./stores/file.js";
8
+ export { createPgvectorStore, type PgvectorStore, type PgClient, type PgvectorIndexStrategy, type CreatePgvectorStoreOptions, } from "./stores/pgvector.js";
9
+ export { createAiSdkEmbedder, type CreateAiSdkEmbedderOptions, type AiSdkEmbedderUsage, } from "./embedders/ai-sdk.js";
10
+ export { createOpenAiEmbedder, type CreateOpenAiEmbedderOptions } from "./embedders/openai.js";
6
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,YAAY,EACV,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  // Public API surface for `@askdb/rag`.
2
2
  //
3
- // Adapters live behind `./stores/<name>` sub-exports so consumers only
4
- // pay for what they import. The core (`.`) export ships chunker, indexer,
5
- // retriever wiring, and the BYO interfaces.
3
+ // All adapters (stores, embedders) are re-exported here for convenience so
4
+ // consumers can import everything from `@askdb/rag`. Sub-path exports
5
+ // (`@askdb/rag/stores/memory`, `@askdb/rag/embedders/ai-sdk`, etc.) remain
6
+ // available and point to the same modules — use whichever style you prefer.
6
7
  export { chunkSchema, chunkSchemaDir, chunkSchemaBundle, loadChunkerSourcesFromDir, loadChunkerSourcesFromBundleJson, DEFAULT_CHUNK_MAX_CHARS, } from "./chunker/index.js";
7
8
  export { buildSchemaIndex, createRetriever, chunkContentHash, readLockFile, writeLockFile, } from "./indexer/index.js";
8
9
  // Re-export the synthesis helper from core so consumers can import it from
@@ -10,4 +11,11 @@ export { buildSchemaIndex, createRetriever, chunkContentHash, readLockFile, writ
10
11
  // because `ask()` calls it internally when a retriever is supplied.
11
12
  export { synthesizeRetrievedDdl } from "@askdb/core";
12
13
  export { AskDbRagLogEvent } from "./log-events.js";
14
+ // Stores
15
+ export { createMemoryStore } from "./stores/memory.js";
16
+ export { createFileStore } from "./stores/file.js";
17
+ export { createPgvectorStore, } from "./stores/pgvector.js";
18
+ // Embedders
19
+ export { createAiSdkEmbedder, } from "./embedders/ai-sdk.js";
20
+ export { createOpenAiEmbedder } from "./embedders/openai.js";
13
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,4CAA4C;AAc5C,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,GAKd,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,4EAA4E;AAC5E,oEAAoE;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,2EAA2E;AAC3E,4EAA4E;AAc5E,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,GAKd,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,4EAA4E;AAC5E,oEAAoE;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,iBAAiB,CAAC;AAE9E,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAyC,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,mBAAmB,GAKpB,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAoC,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/rag",
3
- "version": "0.2.0-beta.3",
3
+ "version": "0.2.0-beta.4",
4
4
  "description": "AskDB RAG layer: deterministic chunker over Schema v2, BYO embedder + vector store (in-memory, file-backed, pgvector), and an optional retriever wired into @askdb/core ask().",
5
5
  "keywords": [
6
6
  "askdb",
@@ -65,8 +65,8 @@
65
65
  "node": ">=20"
66
66
  },
67
67
  "dependencies": {
68
- "@askdb/core": "0.5.0-beta.4",
69
- "@askdb/config": "0.3.0-beta.2"
68
+ "@askdb/config": "0.3.0-beta.2",
69
+ "@askdb/core": "0.5.0-beta.4"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "@ai-sdk/openai": ">=1",