@astrofoundry/grimoire 3.13.0 → 3.14.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.
Files changed (65) hide show
  1. package/dist/admin-HA6FNUV4.js +1516 -0
  2. package/dist/admin-HA6FNUV4.js.map +7 -0
  3. package/dist/chunk-BRS6X3AE.js +12 -0
  4. package/dist/chunk-BRS6X3AE.js.map +7 -0
  5. package/dist/cli.js +255 -713
  6. package/dist/cli.js.map +7 -1
  7. package/package.json +11 -12
  8. package/dist/apikey.d.ts +0 -5
  9. package/dist/apikey.d.ts.map +0 -1
  10. package/dist/apikey.js +0 -84
  11. package/dist/apikey.js.map +0 -1
  12. package/dist/chunker.d.ts +0 -7
  13. package/dist/chunker.d.ts.map +0 -1
  14. package/dist/chunker.js +0 -158
  15. package/dist/chunker.js.map +0 -1
  16. package/dist/cli.d.ts +0 -3
  17. package/dist/cli.d.ts.map +0 -1
  18. package/dist/config.d.ts +0 -23
  19. package/dist/config.d.ts.map +0 -1
  20. package/dist/config.js +0 -89
  21. package/dist/config.js.map +0 -1
  22. package/dist/consumer-config.d.ts +0 -11
  23. package/dist/consumer-config.d.ts.map +0 -1
  24. package/dist/consumer-config.js +0 -60
  25. package/dist/consumer-config.js.map +0 -1
  26. package/dist/consumer.d.ts +0 -11
  27. package/dist/consumer.d.ts.map +0 -1
  28. package/dist/consumer.js +0 -84
  29. package/dist/consumer.js.map +0 -1
  30. package/dist/converter.d.ts +0 -12
  31. package/dist/converter.d.ts.map +0 -1
  32. package/dist/converter.js +0 -95
  33. package/dist/converter.js.map +0 -1
  34. package/dist/embedder.d.ts +0 -9
  35. package/dist/embedder.d.ts.map +0 -1
  36. package/dist/embedder.js +0 -108
  37. package/dist/embedder.js.map +0 -1
  38. package/dist/format.d.ts +0 -5
  39. package/dist/format.d.ts.map +0 -1
  40. package/dist/format.js +0 -6
  41. package/dist/format.js.map +0 -1
  42. package/dist/llms-ingest.d.ts +0 -3
  43. package/dist/llms-ingest.d.ts.map +0 -1
  44. package/dist/llms-ingest.js +0 -85
  45. package/dist/llms-ingest.js.map +0 -1
  46. package/dist/reranker.d.ts +0 -6
  47. package/dist/reranker.d.ts.map +0 -1
  48. package/dist/reranker.js +0 -21
  49. package/dist/reranker.js.map +0 -1
  50. package/dist/scraper.d.ts +0 -9
  51. package/dist/scraper.d.ts.map +0 -1
  52. package/dist/scraper.js +0 -98
  53. package/dist/scraper.js.map +0 -1
  54. package/dist/search.d.ts +0 -8
  55. package/dist/search.d.ts.map +0 -1
  56. package/dist/search.js +0 -43
  57. package/dist/search.js.map +0 -1
  58. package/dist/store.d.ts +0 -15
  59. package/dist/store.d.ts.map +0 -1
  60. package/dist/store.js +0 -149
  61. package/dist/store.js.map +0 -1
  62. package/dist/types.d.ts +0 -26
  63. package/dist/types.d.ts.map +0 -1
  64. package/dist/types.js +0 -2
  65. package/dist/types.js.map +0 -1
package/dist/scraper.js DELETED
@@ -1,98 +0,0 @@
1
- import { mkdir, writeFile } from "node:fs/promises";
2
- import { join } from "node:path";
3
- import { chromium } from "playwright";
4
- export function slugifyUrl(url) {
5
- const parsed = new URL(url);
6
- return parsed.pathname
7
- .replace(/^\//, "")
8
- .replace(/\/$/, "")
9
- .replace(/\//g, "-")
10
- .replace(/[^a-zA-Z0-9-]/g, "");
11
- }
12
- export function filterUrls(urls, includePatterns, excludePatterns) {
13
- let filtered = urls.filter((url) => url.startsWith("http") && !url.includes("?hl=") && !url.endsWith("#"));
14
- if (includePatterns && includePatterns.length > 0) {
15
- filtered = filtered.filter((url) => includePatterns.some((pattern) => url.includes(pattern)));
16
- }
17
- if (excludePatterns && excludePatterns.length > 0) {
18
- filtered = filtered.filter((url) => !excludePatterns.some((pattern) => url.includes(pattern)));
19
- }
20
- return [...new Set(filtered)].sort();
21
- }
22
- async function fetchSitemapUrls(sitemapUrl) {
23
- const response = await fetch(sitemapUrl);
24
- const xml = await response.text();
25
- const locs = [...xml.matchAll(/<loc>([^<]+)<\/loc>/g)].map((m) => m[1]);
26
- if (xml.includes("<sitemapindex")) {
27
- const nested = await Promise.all(locs.map((loc) => fetchSitemapUrls(loc)));
28
- return nested.flat();
29
- }
30
- return locs;
31
- }
32
- async function discoverFromSitemap(sitemapUrl, source) {
33
- const urls = await fetchSitemapUrls(sitemapUrl);
34
- return filterUrls(urls, source.include_patterns, source.exclude_patterns);
35
- }
36
- export async function discoverUrls(page, source) {
37
- if (source.sitemap_url) {
38
- return discoverFromSitemap(source.sitemap_url, source);
39
- }
40
- await page.goto(source.start_url, { waitUntil: source.headed ? "networkidle" : "domcontentloaded" });
41
- const rawUrls = await page.$$eval(`${source.nav_selector} a[href]`, (links) => links.map((a) => a.href));
42
- const discovered = filterUrls(rawUrls, source.include_patterns, source.exclude_patterns);
43
- if (!discovered.includes(source.start_url)) {
44
- discovered.unshift(source.start_url);
45
- }
46
- return discovered;
47
- }
48
- export async function fetchPage(page, url, headed) {
49
- await page.goto(url, { waitUntil: headed ? "networkidle" : "domcontentloaded" });
50
- return page.content();
51
- }
52
- const DEFAULT_CONCURRENCY = 50;
53
- async function runPool(items, concurrency, fn) {
54
- let nextIndex = 0;
55
- async function worker() {
56
- while (nextIndex < items.length) {
57
- const index = nextIndex++;
58
- await fn(items[index], index);
59
- }
60
- }
61
- const workers = Array.from({ length: Math.min(concurrency, items.length) }, () => worker());
62
- await Promise.all(workers);
63
- }
64
- export async function scrapeSource(source, sourceName, dataDir, onProgress) {
65
- const rawDir = join(dataDir, "raw", sourceName);
66
- await mkdir(rawDir, { recursive: true });
67
- const concurrency = source.concurrency ?? DEFAULT_CONCURRENCY;
68
- const browser = await chromium.launch({ channel: "chrome", headless: !source.headed });
69
- const context = await browser.newContext(source.user_agent ? { userAgent: source.user_agent } : {});
70
- const discoveryPage = await context.newPage();
71
- const urls = await discoverUrls(discoveryPage, source);
72
- await discoveryPage.close();
73
- let completed = 0;
74
- try {
75
- await runPool(urls, concurrency, async (url) => {
76
- const page = await context.newPage();
77
- try {
78
- const html = await fetchPage(page, url, source.headed);
79
- const slug = slugifyUrl(url);
80
- await writeFile(join(rawDir, `${slug}.html`), html, "utf-8");
81
- completed++;
82
- onProgress?.(completed, urls.length, url);
83
- }
84
- finally {
85
- await page.close();
86
- }
87
- });
88
- await writeFile(join(rawDir, "urls.json"), JSON.stringify(urls), "utf-8");
89
- return urls;
90
- }
91
- finally {
92
- await browser.close();
93
- }
94
- }
95
- export async function createBrowser() {
96
- return chromium.launch({ channel: "chrome" });
97
- }
98
- //# sourceMappingURL=scraper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
package/dist/search.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import type { SearchResult } from "./types.js";
2
- export type { SearchResult };
3
- export declare function search(query: string, options?: {
4
- source?: string;
5
- candidates?: number;
6
- topN?: number;
7
- }): Promise<SearchResult[]>;
8
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EAAE,YAAY,EAAE,CAAC;AAM7B,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CAuCzB"}
package/dist/search.js DELETED
@@ -1,43 +0,0 @@
1
- import { embedText } from "./embedder.js";
2
- import { vectorSearch } from "./store.js";
3
- import { rerank } from "./reranker.js";
4
- function hasReranker() {
5
- return !!process.env.RERANKER_URL;
6
- }
7
- export async function search(query, options = {}) {
8
- const { source, candidates = 20, topN = 5 } = options;
9
- const queryEmbedding = await embedText(query);
10
- const rawResults = await vectorSearch(queryEmbedding, candidates, source);
11
- if (rawResults.length === 0)
12
- return [];
13
- if (hasReranker()) {
14
- const documents = rawResults.map((r) => r.data.content);
15
- const reranked = await rerank(query, documents, topN);
16
- return reranked.map((r) => {
17
- const original = rawResults[r.index];
18
- const data = original.data;
19
- return {
20
- id: original.id,
21
- source: data.source,
22
- url: data.url,
23
- title: data.title,
24
- heading_path: data.heading_path,
25
- content: data.content,
26
- relevance_score: r.relevance_score,
27
- };
28
- });
29
- }
30
- return rawResults.slice(0, topN).map((r) => {
31
- const data = r.data;
32
- return {
33
- id: r.id,
34
- source: data.source,
35
- url: data.url,
36
- title: data.title,
37
- heading_path: data.heading_path,
38
- content: data.content,
39
- relevance_score: Math.max(0, 1 - r.distance / 2),
40
- };
41
- });
42
- }
43
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,SAAS,WAAW;IAClB,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAa,EACb,UAAmE,EAAE;IAErE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAEtD,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE1E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAEtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,MAAgB;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAa;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAwB;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAiB;gBAC/B,eAAe,EAAE,CAAC,CAAC,eAAe;aACnC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,IAAI,CAAC,MAAgB;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAa;YACvB,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAwB;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAiB;YAC/B,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;SACjD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/store.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import type { Chunk, SourceMeta } from "./types.js";
2
- export declare function storeChunks(chunks: Chunk[], embeddings: number[][], onProgress?: (current: number, total: number) => void): Promise<void>;
3
- export declare function purgeSource(sourceName: string): Promise<number>;
4
- export declare function updateSourceMeta(sourceName: string, chunkCount: number, urlCount: number, version?: string): Promise<void>;
5
- export declare function getSourceMeta(sourceName: string): Promise<SourceMeta | null>;
6
- export declare function getAllSourcesMeta(): Promise<SourceMeta[]>;
7
- export declare function deleteSourceMeta(sourceName: string): Promise<void>;
8
- export declare function deleteChunksByIds(ids: string[], onProgress?: (current: number, total: number) => void): Promise<void>;
9
- export declare function getSourceChunkIds(sourceName: string): Promise<Set<string>>;
10
- export declare function vectorSearch(queryEmbedding: number[], limit: number, source?: string): Promise<{
11
- id: string;
12
- data: Record<string, unknown>;
13
- distance: number;
14
- }[]>;
15
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4CpD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,EAAE,MAAM,EAAE,EAAE,EACtB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBrE;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAIlF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAG/D;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EAAE,EACb,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAIhF;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAwB5E"}
package/dist/store.js DELETED
@@ -1,149 +0,0 @@
1
- import { initializeApp, applicationDefault, getApps } from "firebase-admin/app";
2
- import { getFirestore, FieldValue, } from "firebase-admin/firestore";
3
- const BATCH_SIZE = 500;
4
- const MAX_RETRIES = 5;
5
- const BASE_DELAY_MS = 5000;
6
- async function retryOnQuota(fn) {
7
- for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
8
- try {
9
- return await fn();
10
- }
11
- catch (err) {
12
- const message = err instanceof Error ? err.message : String(err);
13
- if ((message.includes("RESOURCE_EXHAUSTED") || message.includes("Quota exceeded")) && attempt < MAX_RETRIES - 1) {
14
- const delay = BASE_DELAY_MS * Math.pow(2, attempt);
15
- console.log(` Quota exceeded, retrying in ${delay / 1000}s...`);
16
- await new Promise((resolve) => setTimeout(resolve, delay));
17
- continue;
18
- }
19
- throw err;
20
- }
21
- }
22
- throw new Error("Max retries exceeded");
23
- }
24
- let db;
25
- function getDb() {
26
- if (!db) {
27
- if (getApps().length === 0) {
28
- initializeApp({ credential: applicationDefault() });
29
- }
30
- db = getFirestore();
31
- }
32
- return db;
33
- }
34
- function chunksCol() {
35
- return getDb().collection("grimoire_chunks");
36
- }
37
- function sourcesCol() {
38
- return getDb().collection("grimoire_sources");
39
- }
40
- export async function storeChunks(chunks, embeddings, onProgress) {
41
- const database = getDb();
42
- const col = chunksCol();
43
- for (let i = 0; i < chunks.length; i += BATCH_SIZE) {
44
- const batch = database.batch();
45
- const slice = chunks.slice(i, i + BATCH_SIZE);
46
- const embSlice = embeddings.slice(i, i + BATCH_SIZE);
47
- for (let j = 0; j < slice.length; j++) {
48
- const chunk = slice[j];
49
- batch.set(col.doc(chunk.id), {
50
- source: chunk.source,
51
- url: chunk.url,
52
- title: chunk.title,
53
- heading_path: chunk.heading_path,
54
- content: chunk.content,
55
- token_count: chunk.token_count,
56
- embedded_at: new Date().toISOString(),
57
- embedding: FieldValue.vector(embSlice[j]),
58
- });
59
- }
60
- await retryOnQuota(() => batch.commit());
61
- onProgress?.(Math.min(i + BATCH_SIZE, chunks.length), chunks.length);
62
- }
63
- }
64
- export async function purgeSource(sourceName) {
65
- const database = getDb();
66
- const col = chunksCol();
67
- const snapshot = await col.where("source", "==", sourceName).get();
68
- if (snapshot.empty)
69
- return 0;
70
- let batch = database.batch();
71
- let count = 0;
72
- for (const doc of snapshot.docs) {
73
- batch.delete(doc.ref);
74
- count++;
75
- if (count % BATCH_SIZE === 0) {
76
- await retryOnQuota(() => batch.commit());
77
- batch = database.batch();
78
- }
79
- }
80
- if (count % BATCH_SIZE !== 0) {
81
- await retryOnQuota(() => batch.commit());
82
- }
83
- return count;
84
- }
85
- export async function updateSourceMeta(sourceName, chunkCount, urlCount, version) {
86
- await sourcesCol().doc(sourceName).set({
87
- source: sourceName,
88
- ...(version ? { version } : {}),
89
- last_refreshed: new Date().toISOString(),
90
- chunk_count: chunkCount,
91
- url_count: urlCount,
92
- });
93
- }
94
- export async function getSourceMeta(sourceName) {
95
- const doc = await sourcesCol().doc(sourceName).get();
96
- if (!doc.exists)
97
- return null;
98
- return doc.data();
99
- }
100
- export async function getAllSourcesMeta() {
101
- const snapshot = await sourcesCol().get();
102
- return snapshot.docs.map((doc) => doc.data());
103
- }
104
- export async function deleteSourceMeta(sourceName) {
105
- await sourcesCol().doc(sourceName).delete();
106
- }
107
- export async function deleteChunksByIds(ids, onProgress) {
108
- if (ids.length === 0)
109
- return;
110
- const database = getDb();
111
- const col = chunksCol();
112
- for (let i = 0; i < ids.length; i += BATCH_SIZE) {
113
- const batch = database.batch();
114
- const slice = ids.slice(i, i + BATCH_SIZE);
115
- for (const id of slice) {
116
- batch.delete(col.doc(id));
117
- }
118
- await retryOnQuota(() => batch.commit());
119
- onProgress?.(Math.min(i + BATCH_SIZE, ids.length), ids.length);
120
- }
121
- }
122
- export async function getSourceChunkIds(sourceName) {
123
- const col = chunksCol();
124
- const snapshot = await col.where("source", "==", sourceName).select().get();
125
- return new Set(snapshot.docs.map((doc) => doc.id));
126
- }
127
- export async function vectorSearch(queryEmbedding, limit, source) {
128
- const col = chunksCol();
129
- let query = col;
130
- if (source) {
131
- query = query.where("source", "==", source);
132
- }
133
- const snapshot = await query
134
- .findNearest({
135
- vectorField: "embedding",
136
- queryVector: FieldValue.vector(queryEmbedding),
137
- limit,
138
- distanceMeasure: "COSINE",
139
- distanceResultField: "_distance",
140
- })
141
- .get();
142
- return snapshot.docs.map((doc) => {
143
- const data = doc.data();
144
- const distance = data._distance ?? 0;
145
- delete data._distance;
146
- return { id: doc.id, data, distance };
147
- });
148
- }
149
- //# sourceMappingURL=store.js.map
package/dist/store.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EACL,YAAY,EACZ,UAAU,GAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,KAAK,UAAU,YAAY,CAAI,EAAoB;IACjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBAChH,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC;gBACjE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC;AAED,IAAI,EAAyB,CAAC;AAE9B,SAAS,KAAK;IACZ,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,aAAa,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,EAAE,GAAG,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,KAAK,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAe,EACf,UAAsB,EACtB,UAAqD;IAErD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IACnE,IAAI,QAAQ,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAE7B,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,UAAkB,EAClB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;QACrC,MAAM,EAAE,UAAU;QAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACxC,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAgB,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IACvD,MAAM,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAa,EACb,UAAqD;IAErD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7B,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAC5E,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,cAAwB,EACxB,KAAa,EACb,MAAe;IAEf,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,IAAI,KAAK,GAAG,GAA8B,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK;SACzB,WAAW,CAAC;QACX,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC;QAC9C,KAAK;QACL,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,WAAW;KACjC,CAAC;SACD,GAAG,EAAE,CAAC;IAET,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAI,IAAI,CAAC,SAAoB,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/types.d.ts DELETED
@@ -1,26 +0,0 @@
1
- export interface Chunk {
2
- id: string;
3
- source: string;
4
- url: string;
5
- title: string;
6
- heading_path: string[];
7
- content: string;
8
- token_count: number;
9
- }
10
- export interface SearchResult {
11
- id: string;
12
- source: string;
13
- url: string;
14
- title: string;
15
- heading_path: string[];
16
- content: string;
17
- relevance_score: number;
18
- }
19
- export interface SourceMeta {
20
- source: string;
21
- version?: string;
22
- last_refreshed: string;
23
- chunk_count: number;
24
- url_count: number;
25
- }
26
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}