@askdb/rag 0.2.0-beta.30 → 0.2.0-beta.32

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
@@ -1,6 +1,6 @@
1
1
  # @askdb/rag
2
2
 
3
- Deterministic retrieval over AskDB Schema v2 artifacts. `@askdb/rag` chunks the describable schema, indexes chunks with your embedder and vector store, and returns a retriever you can pass to `@askdb/core` `ask({ retriever })`.
3
+ Deterministic retrieval over AskDB schema artifacts. `@askdb/rag` chunks the describable schema, indexes chunks with your embedder and vector store, and returns a retriever you can pass to `@askdb/core` `ask({ retriever })`.
4
4
 
5
5
  > Status: pre-1.0. Phase 8 ships BYO embeddings and BYO stores with in-memory, file-backed, and pgvector adapters.
6
6
 
@@ -10,7 +10,7 @@ Deterministic retrieval over AskDB Schema v2 artifacts. `@askdb/rag` chunks the
10
10
  pnpm add @askdb/rag @askdb/core ai
11
11
  # only if you use the pgvector adapter:
12
12
  pnpm add pg
13
- # only if you use the OpenAI embedder helper:
13
+ # only if you build OpenAI embedding models with the AI SDK yourself:
14
14
  pnpm add @ai-sdk/openai
15
15
  ```
16
16
 
@@ -68,7 +68,7 @@ All exports are available from the root `@askdb/rag` import. Sub-path imports ar
68
68
 
69
69
  ### Core
70
70
 
71
- - `chunkSchema`, `chunkSchemaDir`, `chunkSchemaBundle` — deterministic Schema v2 chunking.
71
+ - `chunkSchema`, `chunkSchemaDir`, `chunkSchemaBundle` — deterministic schema artifact chunking.
72
72
  - `buildSchemaIndex` — chunk, embed, upsert, write `schema.lock.json`, and return a retriever.
73
73
  - `createRetriever` — bind an existing store and embedder without indexing.
74
74
 
@@ -87,7 +87,6 @@ All exports are available from the root `@askdb/rag` import. Sub-path imports ar
87
87
  | `createAiSdkEmbedder` | `@askdb/rag/embedders/ai-sdk` | Generic AI SDK `EmbeddingModel` adapter. Requires `ai`. |
88
88
  | `detectEmbeddingDimensions` | — | Learns an embedder's vector width by embedding one short text. Use it for a new pgvector table instead of hard-coding a width. |
89
89
  | `aiSdkEmbedderId` | `@askdb/rag/embedders/ai-sdk` | The `embedderId` Studio and `askdb rag` record for an `ai.embedding` model (`ai-sdk:<provider>:<model>:<dimensions or default>`), so an index built by one is accepted by the other. |
90
- | `createOpenAiEmbedder` | `@askdb/rag/embedders/openai` | **Deprecated.** OpenAI convenience helper. Use `createAiSdkEmbedder` with an AI SDK embedding model (e.g. from `@ai-sdk/openai`) or one built by the `@askdb/ai` registry instead. Removed in 1.0. |
91
90
 
92
91
  ### Import examples
93
92
 
@@ -105,8 +104,7 @@ import { createMemoryStore } from "@askdb/rag/stores/memory";
105
104
  import { createFileStore } from "@askdb/rag/stores/file";
106
105
  import { createPgvectorStore } from "@askdb/rag/stores/pgvector";
107
106
  import { createAiSdkEmbedder } from "@askdb/rag/embedders/ai-sdk";
108
- // Recommended: bring your own embedding model (e.g. @ai-sdk/openai, or @askdb/ai's registry) + createAiSdkEmbedder
109
- // import { createOpenAiEmbedder } from "@askdb/rag/embedders/openai"; // deprecated, removed in 1.0
107
+ // Bring your own embedding model (e.g. from @ai-sdk/openai, or @askdb/ai's createEmbeddingModelFromSection) + createAiSdkEmbedder
110
108
  ```
111
109
 
112
110
  ## Sensitive Fields
package/dist/index.d.ts CHANGED
@@ -7,6 +7,5 @@ export { createMemoryStore, type MemoryStore } from "./stores/memory.js";
7
7
  export { createFileStore, type FileStore, type FileStoreOptions } from "./stores/file.js";
8
8
  export { createPgvectorStore, PgvectorDimensionMismatchError, type PgvectorStore, type PgClient, type PgvectorIndexStrategy, type CreatePgvectorStoreOptions, } from "./stores/pgvector.js";
9
9
  export { aiSdkEmbedderId, createAiSdkEmbedder, type AiSdkEmbedderIdOptions, type AiSdkProviderOptions, type CreateAiSdkEmbedderOptions, type AiSdkEmbedderUsage, } from "./embedders/ai-sdk.js";
10
- export { createOpenAiEmbedder, type CreateOpenAiEmbedderOptions } from "./embedders/openai.js";
11
10
  export { detectEmbeddingDimensions } from "./embedders/dimensions.js";
12
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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,qBAAqB,EACrB,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,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,KAAK,UAAU,EACf,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,8BAA8B,EAC9B,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,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,qBAAqB,EACrB,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,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,KAAK,UAAU,EACf,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,8BAA8B,EAC9B,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -17,6 +17,5 @@ export { createFileStore } from "./stores/file.js";
17
17
  export { createPgvectorStore, PgvectorDimensionMismatchError, } from "./stores/pgvector.js";
18
18
  // Embedders
19
19
  export { aiSdkEmbedderId, createAiSdkEmbedder, } from "./embedders/ai-sdk.js";
20
- export { createOpenAiEmbedder } from "./embedders/openai.js";
21
20
  export { detectEmbeddingDimensions } from "./embedders/dimensions.js";
22
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,2EAA2E;AAC3E,sEAAsE;AACtE,2EAA2E;AAC3E,4EAA4E;AAe5E,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,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,GAMpB,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,EACnB,8BAA8B,GAK/B,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EACL,eAAe,EACf,mBAAmB,GAKpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAoC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,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;AAe5E,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,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,GAMpB,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,EACnB,8BAA8B,GAK/B,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EACL,eAAe,EACf,mBAAmB,GAKpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@askdb/rag",
3
- "version": "0.2.0-beta.30",
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().",
3
+ "version": "0.2.0-beta.32",
4
+ "description": "AskDB RAG layer: deterministic chunker over the schema artifact, BYO embedder + vector store (in-memory, file-backed, pgvector), and an optional retriever wired into @askdb/core ask().",
5
5
  "keywords": [
6
6
  "askdb",
7
7
  "rag",
@@ -47,11 +47,6 @@
47
47
  "import": "./dist/stores/pgvector.js",
48
48
  "default": "./dist/stores/pgvector.js"
49
49
  },
50
- "./embedders/openai": {
51
- "types": "./dist/embedders/openai.d.ts",
52
- "import": "./dist/embedders/openai.js",
53
- "default": "./dist/embedders/openai.js"
54
- },
55
50
  "./embedders/ai-sdk": {
56
51
  "types": "./dist/embedders/ai-sdk.d.ts",
57
52
  "import": "./dist/embedders/ai-sdk.js",
@@ -68,7 +63,7 @@
68
63
  "node": ">=22.23.4"
69
64
  },
70
65
  "dependencies": {
71
- "@askdb/core": "1.0.0-beta.50"
66
+ "@askdb/core": "1.0.0-beta.52"
72
67
  },
73
68
  "peerDependencies": {
74
69
  "@ai-sdk/openai": "^3.0.0 || ^4.0.29",
@@ -1,25 +0,0 @@
1
- import type { Embedder } from "../types.js";
2
- export type CreateOpenAiEmbedderOptions = {
3
- /** Defaults to `text-embedding-3-small`. */
4
- model?: string;
5
- /** Optional override; otherwise the OpenAI provider reads `OPENAI_API_KEY`. */
6
- apiKey?: string;
7
- /** Optional OpenAI-compatible base URL, e.g. an AI gateway ending in `/v1`. */
8
- baseURL?: string;
9
- /** Optional dimensionality override for text-embedding-3 models. */
10
- dimensions?: number;
11
- /** Optional end-user id forwarded to OpenAI embedding settings. */
12
- user?: string;
13
- };
14
- /**
15
- * Reference AI SDK embedder for OpenAI embeddings.
16
- *
17
- * `ai` and `@ai-sdk/openai` are optional peers of `@askdb/rag`; this helper
18
- * lazy-loads them so chunking and non-OpenAI stores remain zero-provider.
19
- *
20
- * @deprecated Construct the model yourself and use `createAiSdkEmbedder`, or use the
21
- * `@askdb/ai` registry (`createAiRegistry(["openai"]).createEmbeddingModelFromEnv(env)`)
22
- * so env-var conventions stay consistent. This helper will be removed in 1.0.
23
- */
24
- export declare function createOpenAiEmbedder(options?: CreateOpenAiEmbedderOptions): Embedder;
25
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/embedders/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,2BAAgC,GACxC,QAAQ,CAaV"}
@@ -1,34 +0,0 @@
1
- import { createAiSdkEmbedder } from "./ai-sdk.js";
2
- /**
3
- * Reference AI SDK embedder for OpenAI embeddings.
4
- *
5
- * `ai` and `@ai-sdk/openai` are optional peers of `@askdb/rag`; this helper
6
- * lazy-loads them so chunking and non-OpenAI stores remain zero-provider.
7
- *
8
- * @deprecated Construct the model yourself and use `createAiSdkEmbedder`, or use the
9
- * `@askdb/ai` registry (`createAiRegistry(["openai"]).createEmbeddingModelFromEnv(env)`)
10
- * so env-var conventions stay consistent. This helper will be removed in 1.0.
11
- */
12
- export function createOpenAiEmbedder(options = {}) {
13
- return async (texts) => {
14
- const { createOpenAI } = await import("@ai-sdk/openai");
15
- const provider = createOpenAI({
16
- ...(options.apiKey ? { apiKey: options.apiKey } : {}),
17
- ...(options.baseURL ? { baseURL: options.baseURL } : {}),
18
- });
19
- const embedder = createAiSdkEmbedder({
20
- model: provider.embedding(options.model ?? "text-embedding-3-small"),
21
- providerOptions: openAiProviderOptions(options),
22
- });
23
- return embedder(texts);
24
- };
25
- }
26
- function openAiProviderOptions(options) {
27
- const openai = {};
28
- if (options.dimensions !== undefined)
29
- openai.dimensions = options.dimensions;
30
- if (options.user !== undefined)
31
- openai.user = options.user;
32
- return Object.keys(openai).length > 0 ? { openai } : undefined;
33
- }
34
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/embedders/openai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAe7E;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAuC,EAAE;IAEzC,OAAO,KAAK,EAAE,KAAe,EAAE,EAAE;QAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAAC;YACpE,eAAe,EAAE,qBAAqB,CAAC,OAAO,CAAC;SAChD,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAoC;IACjE,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC"}