@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 +44 -7
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
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 {
|
|
24
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
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,
|
|
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
|
+
"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/
|
|
69
|
-
"@askdb/
|
|
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",
|