nusus 0.4.1 → 0.5.0
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 +5 -2
- package/dist/turath/client.d.ts +1 -0
- package/dist/turath/client.d.ts.map +1 -1
- package/dist/turath/client.js +59 -17
- package/dist/turath/client.js.map +1 -1
- package/package.json +1 -1
- package/scripts/search.mjs +72 -2
package/README.md
CHANGED
|
@@ -68,8 +68,10 @@ nusus retrieve "النية" --max-passages 3 --max-chars 2000
|
|
|
68
68
|
|
|
69
69
|
# Page / metadata (live)
|
|
70
70
|
nusus get-page --book-id 147927 --page-id 5
|
|
71
|
+
nusus get-pages --book-id 147927 --from 5 --to 7
|
|
71
72
|
nusus get-context --book-id 147927 --page-id 5 --pages-before 1 --pages-after 1
|
|
72
73
|
nusus get-book 147927
|
|
74
|
+
nusus find-toc "الحديث الأول" --book-id 147927 --limit 10
|
|
73
75
|
nusus get-author 44
|
|
74
76
|
```
|
|
75
77
|
|
|
@@ -77,9 +79,10 @@ Default stdout is **JSONL** (one object per line, camelCase, every line has `typ
|
|
|
77
79
|
|
|
78
80
|
| Record `type` | Commands |
|
|
79
81
|
| --- | --- |
|
|
80
|
-
| `meta` | First line of `find-books`, `find-authors`, `search`, `retrieve` |
|
|
82
|
+
| `meta` | First line of `find-books`, `find-authors`, `search`, `retrieve`, `get-pages`, `find-toc` |
|
|
81
83
|
| `book` / `author` / `category` / `catalog` | Discovery + `get-book` / `get-author` |
|
|
82
|
-
| `passage` | `search`, `retrieve`, `get-page`, `get-context` |
|
|
84
|
+
| `passage` | `search`, `retrieve`, `get-page`, `get-pages`, `get-context` |
|
|
85
|
+
| `toc-entry` | `find-toc` |
|
|
83
86
|
|
|
84
87
|
| Exit | Meaning |
|
|
85
88
|
| --- | --- |
|
package/dist/turath/client.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export declare const createTurathClient: (options?: TurathClientOptions) => {
|
|
|
38
38
|
search: (query: string, options?: TurathSearchOptions) => Promise<SearchPage>;
|
|
39
39
|
searchAll: (query: string, options?: Omit<TurathSearchOptions, "page">) => AsyncGenerator<Passage>;
|
|
40
40
|
getContext: (source: Passage, options?: ContextOptions) => Promise<Passage>;
|
|
41
|
+
getContextByPage: (bookId: TurathId, pageId: TurathId, options?: ContextOptions) => Promise<Passage>;
|
|
41
42
|
retrieve: (query: string, options?: RetrieveOptions) => Promise<RetrievedContext>;
|
|
42
43
|
formatCitation: (source: CitationSource) => string;
|
|
43
44
|
getLocator: (source: CitationSource) => import("../models.js").SourceLocator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/turath/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,OAAO,EAEP,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,QAAQ,EACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAA6D,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWhH,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/turath/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,OAAO,EAEP,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,QAAQ,EACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAA6D,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWhH,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AA6BnD,eAAO,MAAM,kBAAkB,GAAI,UAAS,mBAAwB;;;;;0BAG/B,QAAQ,eAAc,cAAc;sBAOxC,QAAQ,eAAc,cAAc,KAAQ,OAAO,CAAC,IAAI,CAAC;sBAKzD,QAAQ,UAAU,QAAQ,eAAc,cAAc,KAAQ,OAAO,CAAC,OAAO,CAAC;uBA6BnG,QAAQ,SACT;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,eACvB,cAAc,KACzB,OAAO,CAAC,OAAO,EAAE,CAAC;oBASQ,MAAM,YAAW,mBAAmB,KAAQ,OAAO,CAAC,UAAU,CAAC;uBA2BlD,MAAM,YAAW,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAQ,cAAc,CAAC,OAAO,CAAC;yBAmDzF,OAAO,YAAW,cAAc,KAAQ,OAAO,CAAC,OAAO,CAAC;+BAiBhF,QAAQ,UACR,QAAQ,YACP,cAAc,KACtB,OAAO,CAAC,OAAO,CAAC;sBAWY,MAAM,YAAW,eAAe,KAAQ,OAAO,CAAC,gBAAgB,CAAC;6BAwDrE,cAAc;yBAClB,cAAc;2BACZ,cAAc;CAExC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
package/dist/turath/client.js
CHANGED
|
@@ -25,6 +25,8 @@ const only = (values, name) => {
|
|
|
25
25
|
return id(values[0], name);
|
|
26
26
|
};
|
|
27
27
|
const emptyObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && Object.keys(value).length === 0;
|
|
28
|
+
/** Parallel page fetches for multi-page context; bounded for large ranges. */
|
|
29
|
+
const PAGE_FETCH_CONCURRENCY = 6;
|
|
28
30
|
export const createTurathClient = (options = {}) => {
|
|
29
31
|
const request = createTransport(options);
|
|
30
32
|
const getAuthor = async (authorId, { signal } = {}) => {
|
|
@@ -46,15 +48,30 @@ export const createTurathClient = (options = {}) => {
|
|
|
46
48
|
throw new NususError("NOT_FOUND", `Book ${book}, page ${page} not found`);
|
|
47
49
|
return normalizePage(raw, book);
|
|
48
50
|
};
|
|
51
|
+
const fetchPagesConcurrent = async (book, pageNumbers, signal) => {
|
|
52
|
+
if (!pageNumbers.length)
|
|
53
|
+
return [];
|
|
54
|
+
const results = new Array(pageNumbers.length);
|
|
55
|
+
let cursor = 0;
|
|
56
|
+
const worker = async () => {
|
|
57
|
+
while (cursor < pageNumbers.length) {
|
|
58
|
+
const index = cursor;
|
|
59
|
+
cursor += 1;
|
|
60
|
+
results[index] = await getPage(book, pageNumbers[index], { signal });
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const workers = Math.min(PAGE_FETCH_CONCURRENCY, pageNumbers.length);
|
|
64
|
+
await Promise.all(Array.from({ length: workers }, worker));
|
|
65
|
+
return results;
|
|
66
|
+
};
|
|
49
67
|
const getPages = async (bookId, range, { signal } = {}) => {
|
|
50
68
|
integer(range.from, "from", 1);
|
|
51
69
|
integer(range.to, "to", range.from);
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
for (let page = range.from; page <= range.to; page += 1)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return pages;
|
|
70
|
+
const book = id(bookId, "book id");
|
|
71
|
+
const pageNumbers = [];
|
|
72
|
+
for (let page = range.from; page <= range.to; page += 1)
|
|
73
|
+
pageNumbers.push(page);
|
|
74
|
+
return fetchPagesConcurrent(book, pageNumbers, signal);
|
|
58
75
|
};
|
|
59
76
|
const search = async (query, options = {}) => {
|
|
60
77
|
if (!query.trim())
|
|
@@ -95,23 +112,26 @@ export const createTurathClient = (options = {}) => {
|
|
|
95
112
|
page += 1;
|
|
96
113
|
}
|
|
97
114
|
};
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const before = integer(options.pagesBefore ?? 1, "pagesBefore");
|
|
104
|
-
const after = integer(options.pagesAfter ?? 1, "pagesAfter");
|
|
105
|
-
const pages = [];
|
|
106
|
-
for (let page = Math.max(1, center - before); page <= center + after; page += 1) {
|
|
115
|
+
const fetchPageRange = async (book, from, to, center, signal) => {
|
|
116
|
+
const pageNumbers = [];
|
|
117
|
+
for (let page = from; page <= to; page += 1)
|
|
118
|
+
pageNumbers.push(page);
|
|
119
|
+
const fetched = await Promise.all(pageNumbers.map(async (page) => {
|
|
107
120
|
try {
|
|
108
|
-
|
|
121
|
+
return { page, passage: await getPage(book, page, { signal }) };
|
|
109
122
|
}
|
|
110
123
|
catch (error) {
|
|
111
124
|
if (!(error instanceof NususError) || error.code !== "NOT_FOUND" || page === center)
|
|
112
125
|
throw error;
|
|
126
|
+
return undefined;
|
|
113
127
|
}
|
|
114
|
-
}
|
|
128
|
+
}));
|
|
129
|
+
return fetched
|
|
130
|
+
.filter((entry) => entry !== undefined)
|
|
131
|
+
.sort((a, b) => a.page - b.page)
|
|
132
|
+
.map((entry) => entry.passage);
|
|
133
|
+
};
|
|
134
|
+
const buildContextPassage = (source, pages) => {
|
|
115
135
|
const headings = [...new Set(pages.flatMap((page) => page.headings))];
|
|
116
136
|
return decoratePassage({
|
|
117
137
|
...source,
|
|
@@ -120,6 +140,27 @@ export const createTurathClient = (options = {}) => {
|
|
|
120
140
|
raw: pages.map((page) => page.raw),
|
|
121
141
|
});
|
|
122
142
|
};
|
|
143
|
+
const getContext = async (source, options = {}) => {
|
|
144
|
+
const center = source.location.internalPage;
|
|
145
|
+
if (center === undefined)
|
|
146
|
+
throw new NususError("INVALID_ARGUMENT", "passage has no internal page");
|
|
147
|
+
integer(center, "internal page", 1);
|
|
148
|
+
const before = integer(options.pagesBefore ?? 1, "pagesBefore");
|
|
149
|
+
const after = integer(options.pagesAfter ?? 1, "pagesAfter");
|
|
150
|
+
const pages = await fetchPageRange(source.book.id, Math.max(1, center - before), center + after, center, options.signal);
|
|
151
|
+
return buildContextPassage(source, pages);
|
|
152
|
+
};
|
|
153
|
+
const getContextByPage = async (bookId, pageId, options = {}) => {
|
|
154
|
+
const book = id(bookId, "book id");
|
|
155
|
+
const center = integer(Number(id(pageId, "page id")), "page id", 1);
|
|
156
|
+
const before = integer(options.pagesBefore ?? 1, "pagesBefore");
|
|
157
|
+
const after = integer(options.pagesAfter ?? 1, "pagesAfter");
|
|
158
|
+
const pages = await fetchPageRange(book, Math.max(1, center - before), center + after, center, options.signal);
|
|
159
|
+
const centerPage = pages.find((page) => page.location.internalPage === center);
|
|
160
|
+
if (!centerPage)
|
|
161
|
+
throw new NususError("NOT_FOUND", `Book ${book}, page ${center} not found`);
|
|
162
|
+
return buildContextPassage(centerPage, pages);
|
|
163
|
+
};
|
|
123
164
|
const retrieve = async (query, options = {}) => {
|
|
124
165
|
const maxPassages = integer(options.maxPassages ?? 5, "maxPassages", 1);
|
|
125
166
|
const maxChars = integer(options.maxCharsPerPassage ?? 4_000, "maxCharsPerPassage", 1);
|
|
@@ -173,6 +214,7 @@ export const createTurathClient = (options = {}) => {
|
|
|
173
214
|
search,
|
|
174
215
|
searchAll,
|
|
175
216
|
getContext,
|
|
217
|
+
getContextByPage,
|
|
176
218
|
retrieve,
|
|
177
219
|
formatCitation: (source) => formatCitation(source),
|
|
178
220
|
getLocator: (source) => getLocator(source),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/turath/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/turath/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/scripts/search.mjs
CHANGED
|
@@ -11,6 +11,7 @@ import { NususError } from "../dist/errors.js";
|
|
|
11
11
|
const DEFAULT_TIMEOUT = 15_000;
|
|
12
12
|
const MAX_TIMEOUT = 600_000;
|
|
13
13
|
const MAX_FILTER_IDS = 50;
|
|
14
|
+
const MAX_PAGE_SPAN = 20;
|
|
14
15
|
const VERSION = createRequire(import.meta.url)(join(dirname(fileURLToPath(import.meta.url)), "../package.json")).version;
|
|
15
16
|
|
|
16
17
|
const EXIT = {
|
|
@@ -94,6 +95,11 @@ const writeText = (record) => {
|
|
|
94
95
|
`passage\t${record.book?.id ?? "?"}\t${record.citation ?? ""}\t${record.url ?? ""}\t${preview(record.text)}\n`,
|
|
95
96
|
);
|
|
96
97
|
break;
|
|
98
|
+
case "toc-entry":
|
|
99
|
+
process.stdout.write(
|
|
100
|
+
`toc-entry\t${record.bookId ?? "?"}\t${record.page ?? ""}\t${record.level ?? ""}\t${record.title}\n`,
|
|
101
|
+
);
|
|
102
|
+
break;
|
|
97
103
|
default:
|
|
98
104
|
process.stdout.write(`${record.type}\t${JSON.stringify(record)}\n`);
|
|
99
105
|
}
|
|
@@ -494,8 +500,7 @@ const COMMANDS = {
|
|
|
494
500
|
const pageId = parsePositiveId(requireFlag(flags, "page-id"), "page-id");
|
|
495
501
|
const pagesBefore = parseIntFlag(flags["pages-before"], "pages-before", { def: 1, min: 0, max: 3 });
|
|
496
502
|
const pagesAfter = parseIntFlag(flags["pages-after"], "pages-after", { def: 1, min: 0, max: 3 });
|
|
497
|
-
const
|
|
498
|
-
const ctx = await turath.getContext(center, { pagesBefore, pagesAfter });
|
|
503
|
+
const ctx = await turath.getContextByPage(bookId, pageId, { pagesBefore, pagesAfter });
|
|
499
504
|
emit(format, toPassageRecord(ctx));
|
|
500
505
|
},
|
|
501
506
|
},
|
|
@@ -519,6 +524,69 @@ const COMMANDS = {
|
|
|
519
524
|
emit(format, toAuthorRecord(author));
|
|
520
525
|
},
|
|
521
526
|
},
|
|
527
|
+
"get-pages": {
|
|
528
|
+
help: `nusus get-pages --book-id <id> --from <n> --to <m>
|
|
529
|
+
Fetch a contiguous internal page range (max span ${MAX_PAGE_SPAN}).
|
|
530
|
+
Emits meta then one passage per page.
|
|
531
|
+
page numbers are Turath internal pages, not printed pages.`,
|
|
532
|
+
flags: [...GLOBAL_FLAGS, "book-id", "from", "to"],
|
|
533
|
+
run: async ({ turath, format, positionals, flags }) => {
|
|
534
|
+
if (positionals.length) usage("get-pages takes --book-id, --from, and --to flags only");
|
|
535
|
+
const bookId = parsePositiveId(requireFlag(flags, "book-id"), "book-id");
|
|
536
|
+
const from = parseIntFlag(flags.from, "from", { min: 1 });
|
|
537
|
+
const to = parseIntFlag(flags.to, "to", { min: from });
|
|
538
|
+
if (to - from + 1 > MAX_PAGE_SPAN) {
|
|
539
|
+
usage(`page span must be at most ${MAX_PAGE_SPAN} (got ${to - from + 1})`);
|
|
540
|
+
}
|
|
541
|
+
const pages = await turath.getPages(bookId, { from, to });
|
|
542
|
+
emit(format, {
|
|
543
|
+
type: "meta",
|
|
544
|
+
command: "get-pages",
|
|
545
|
+
bookId,
|
|
546
|
+
from,
|
|
547
|
+
to,
|
|
548
|
+
returned: pages.length,
|
|
549
|
+
});
|
|
550
|
+
for (const page of pages) emit(format, toPassageRecord(page));
|
|
551
|
+
},
|
|
552
|
+
},
|
|
553
|
+
"find-toc": {
|
|
554
|
+
help: `nusus find-toc <query> --book-id <id> [--limit N]
|
|
555
|
+
Filter a book's TOC headings by substring match on title (no stemming).
|
|
556
|
+
--limit default 20, max 100`,
|
|
557
|
+
flags: [...GLOBAL_FLAGS, "book-id", "limit"],
|
|
558
|
+
run: async ({ turath, format, positionals, flags }) => {
|
|
559
|
+
const query = takeQuery(positionals);
|
|
560
|
+
const bookId = parsePositiveId(requireFlag(flags, "book-id"), "book-id");
|
|
561
|
+
const limit = parseIntFlag(flags.limit, "limit", { def: 20, min: 1, max: 100 });
|
|
562
|
+
const book = await turath.getBook(bookId);
|
|
563
|
+
const toc = book.toc ?? [];
|
|
564
|
+
const needle = String(query);
|
|
565
|
+
const matches = [];
|
|
566
|
+
for (const entry of toc) {
|
|
567
|
+
if (!entry.title.includes(needle)) continue;
|
|
568
|
+
matches.push(entry);
|
|
569
|
+
if (matches.length >= limit) break;
|
|
570
|
+
}
|
|
571
|
+
emit(format, {
|
|
572
|
+
type: "meta",
|
|
573
|
+
command: "find-toc",
|
|
574
|
+
query,
|
|
575
|
+
bookId,
|
|
576
|
+
limit,
|
|
577
|
+
returned: matches.length,
|
|
578
|
+
});
|
|
579
|
+
for (const entry of matches) {
|
|
580
|
+
emit(format, {
|
|
581
|
+
type: "toc-entry",
|
|
582
|
+
bookId,
|
|
583
|
+
title: entry.title,
|
|
584
|
+
...(entry.level !== undefined && { level: entry.level }),
|
|
585
|
+
...(entry.page !== undefined && { page: entry.page }),
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
},
|
|
589
|
+
},
|
|
522
590
|
};
|
|
523
591
|
|
|
524
592
|
const GLOBAL_HELP = `nusus <command> [args] [options]
|
|
@@ -531,8 +599,10 @@ Commands:
|
|
|
531
599
|
search <query> Live Turath search (JSONL meta + passages)
|
|
532
600
|
retrieve <query> Live retrieve with citations/locators
|
|
533
601
|
get-page Fetch one internal page
|
|
602
|
+
get-pages Fetch a contiguous internal page range
|
|
534
603
|
get-context Fetch page plus surrounding pages
|
|
535
604
|
get-book <book-id> Book metadata + TOC
|
|
605
|
+
find-toc <query> Filter book TOC by title substring
|
|
536
606
|
get-author <author-id> Author metadata
|
|
537
607
|
|
|
538
608
|
Global options:
|