@zenera/rag 1.1.11 → 1.1.14

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,12 +1,20 @@
1
+ <div align="center">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/andreyryabov/ZeneraNeo/main/docs/imgs/banner-rag-dark.svg">
4
+ <img src="https://raw.githubusercontent.com/andreyryabov/ZeneraNeo/main/docs/imgs/banner-rag-light.svg" alt="ZENERA RAG" width="702">
5
+ </picture>
6
+
7
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/andreyryabov/ZeneraNeo/blob/main/LICENSE)
8
+ [![Node](https://img.shields.io/badge/node-%E2%89%A524-brightgreen.svg)](https://nodejs.org)
9
+
10
+ </div>
11
+
1
12
  # @zenera/rag
2
13
 
3
14
  **A corpus, indexed and searched by meaning — an OpenAPI description as a
4
15
  graph, a pile of markdown as quotable passages — for agents that have to work
5
16
  with something they have not read.**
6
17
 
7
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/andreyryabov/ZeneraNeo/blob/main/LICENSE)
8
- [![Node](https://img.shields.io/badge/node-%E2%89%A524-brightgreen.svg)](https://nodejs.org)
9
-
10
18
  > Part of [ZeneraNeo](https://github.com/andreyryabov/ZeneraNeo). It ships no
11
19
  > binary of its own: installing it adds a `rag` **subcommand** to
12
20
  > [`zen`](https://github.com/andreyryabov/ZeneraNeo/blob/main/packages/cli/README.md),
@@ -149,7 +157,7 @@ verbatim with their line numbers, and a marker wherever something between two
149
157
  of them was left out:
150
158
 
151
159
  ```
152
- ## nsx_4.2.0/api/routing.md — 9 of 148 lines
160
+ ## acme_4.2.0/api/routing.md — 9 of 148 lines
153
161
 
154
162
  5 | ## Rate limits
155
163
  7 | Requests are counted per tenant and rejected past the limit.
@@ -164,7 +172,7 @@ interface**, not an afterthought. The second call is the same question inside
164
172
  one part of the tree:
165
173
 
166
174
  ```sh
167
- zen rag docs search --file "nsx_4.2.*/api/**" "rate limit for the users route"
175
+ zen rag docs search --file "acme_4.2.*/api/**" "rate limit for the users route"
168
176
  zen rag docs search --section "Rate limits" --kind table "requests per minute"
169
177
  zen rag docs search --mode text "X-RateLimit-Remaining" # exact wording only
170
178
  zen rag docs search --interactive # narrow by typing
@@ -112,7 +112,7 @@ export const command = {
112
112
  '',
113
113
  dim(' A --file pattern with * or ? is a glob over the whole document name,'),
114
114
  dim(' otherwise a substring. Names are relative to what was indexed, so'),
115
- dim(' --file "nsx_4.2*/api/**" is one release and --file routing is a word.'),
115
+ dim(' --file "acme_4.2*/api/**" is one release and --file routing is a word.'),
116
116
  '',
117
117
  'Exact listing — no embedder, no credential',
118
118
  ...table([
package/dist/docs/load.js CHANGED
@@ -17,7 +17,7 @@ import { parseAll } from "./pool.js";
17
17
  //
18
18
  // Every document is given a NAME, which is its path relative to the common root
19
19
  // of everything that was named — so indexing two release trees keeps
20
- // `nsx_4.1.0/api/routing.md` and `nsx_4.2.0/api/routing.md` apart, and a search
20
+ // `acme_4.1.0/api/routing.md` and `acme_4.2.0/api/routing.md` apart, and a search
21
21
  // can be narrowed to one of them with a pattern over exactly that string. The
22
22
  // name is the identity: it is stamped on every chunk, it is what `sources/`
23
23
  // files are called, and nothing anywhere records where the file was on the
@@ -16,7 +16,7 @@ import { SEARCH_MODES } from "./search.js";
16
16
  //
17
17
  // `search_docs` is shaped for the second call rather than the first. The first
18
18
  // is always a sentence and always returns too much of the wrong tree; the
19
- // second is the same sentence with `files: ["nsx_4.2*/api/**"]`, or
19
+ // second is the same sentence with `files: ["acme_4.2*/api/**"]`, or
20
20
  // `section: "Rate limits"`, or `kind: ["table"]` because the answer is a table
21
21
  // and not the prose around it. Those are parameters and not separate tools, so
22
22
  // narrowing costs one call and not three.
@@ -56,7 +56,7 @@ export function docsTools(index, options = {}) {
56
56
  description: 'What is wanted, as a sentence rather than keywords.',
57
57
  },
58
58
  files: strings('Only documents whose name matches. A glob if it has * or ?, e.g. ' +
59
- '"guides/**" or "nsx_4.2*/api/**"; otherwise a substring.'),
59
+ '"guides/**" or "acme_4.2*/api/**"; otherwise a substring.'),
60
60
  exclude_files: strings('Documents to leave out, matched the same way.'),
61
61
  section: strings('Only under these headings, and whatever nests inside them. A heading ' +
62
62
  'title, or a structure path from an earlier answer.'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenera/rag",
3
- "version": "1.1.11",
3
+ "version": "1.1.14",
4
4
  "description": "Retrieval over a corpus: openapi/swagger documents as a searchable graph, markdown and text as searchable passages.",
5
5
  "keywords": [
6
6
  "agents",
@@ -61,8 +61,8 @@
61
61
  "dependencies": {
62
62
  "@apidevtools/swagger-parser": "^12.0.0",
63
63
  "@lancedb/lancedb": "^0.38.0",
64
- "@zenera/cli": "^1.1.11",
65
- "@zenera/neo": "^1.1.11",
64
+ "@zenera/cli": "^1.1.14",
65
+ "@zenera/neo": "^1.1.14",
66
66
  "graphology": "^0.26.0",
67
67
  "remark-frontmatter": "^5.0.0",
68
68
  "remark-gfm": "^4.0.1",