@debriefer/sources 1.0.1
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 +59 -0
- package/dist/__tests__/archives/chronicling-america.test.d.ts +8 -0
- package/dist/__tests__/archives/chronicling-america.test.d.ts.map +1 -0
- package/dist/__tests__/archives/chronicling-america.test.js +151 -0
- package/dist/__tests__/archives/chronicling-america.test.js.map +1 -0
- package/dist/__tests__/archives/europeana.test.d.ts +8 -0
- package/dist/__tests__/archives/europeana.test.d.ts.map +1 -0
- package/dist/__tests__/archives/europeana.test.js +200 -0
- package/dist/__tests__/archives/europeana.test.js.map +1 -0
- package/dist/__tests__/archives/internet-archive.test.d.ts +8 -0
- package/dist/__tests__/archives/internet-archive.test.d.ts.map +1 -0
- package/dist/__tests__/archives/internet-archive.test.js +189 -0
- package/dist/__tests__/archives/internet-archive.test.js.map +1 -0
- package/dist/__tests__/archives/trove.test.d.ts +8 -0
- package/dist/__tests__/archives/trove.test.d.ts.map +1 -0
- package/dist/__tests__/archives/trove.test.js +202 -0
- package/dist/__tests__/archives/trove.test.js.map +1 -0
- package/dist/__tests__/books/google-books.test.d.ts +8 -0
- package/dist/__tests__/books/google-books.test.d.ts.map +1 -0
- package/dist/__tests__/books/google-books.test.js +221 -0
- package/dist/__tests__/books/google-books.test.js.map +1 -0
- package/dist/__tests__/books/open-library.test.d.ts +8 -0
- package/dist/__tests__/books/open-library.test.d.ts.map +1 -0
- package/dist/__tests__/books/open-library.test.js +159 -0
- package/dist/__tests__/books/open-library.test.js.map +1 -0
- package/dist/__tests__/news/guardian.test.d.ts +9 -0
- package/dist/__tests__/news/guardian.test.d.ts.map +1 -0
- package/dist/__tests__/news/guardian.test.js +224 -0
- package/dist/__tests__/news/guardian.test.js.map +1 -0
- package/dist/__tests__/news/nytimes.test.d.ts +9 -0
- package/dist/__tests__/news/nytimes.test.d.ts.map +1 -0
- package/dist/__tests__/news/nytimes.test.js +271 -0
- package/dist/__tests__/news/nytimes.test.js.map +1 -0
- package/dist/__tests__/news/site-search-source.test.d.ts +9 -0
- package/dist/__tests__/news/site-search-source.test.d.ts.map +1 -0
- package/dist/__tests__/news/site-search-source.test.js +342 -0
- package/dist/__tests__/news/site-search-source.test.js.map +1 -0
- package/dist/__tests__/obituary/find-a-grave.test.d.ts +8 -0
- package/dist/__tests__/obituary/find-a-grave.test.d.ts.map +1 -0
- package/dist/__tests__/obituary/find-a-grave.test.js +238 -0
- package/dist/__tests__/obituary/find-a-grave.test.js.map +1 -0
- package/dist/__tests__/shared/duckduckgo-search.test.d.ts +9 -0
- package/dist/__tests__/shared/duckduckgo-search.test.d.ts.map +1 -0
- package/dist/__tests__/shared/duckduckgo-search.test.js +218 -0
- package/dist/__tests__/shared/duckduckgo-search.test.js.map +1 -0
- package/dist/__tests__/shared/fetch-page.test.d.ts +9 -0
- package/dist/__tests__/shared/fetch-page.test.d.ts.map +1 -0
- package/dist/__tests__/shared/fetch-page.test.js +281 -0
- package/dist/__tests__/shared/fetch-page.test.js.map +1 -0
- package/dist/__tests__/shared/html-utils.test.d.ts +2 -0
- package/dist/__tests__/shared/html-utils.test.d.ts.map +1 -0
- package/dist/__tests__/shared/html-utils.test.js +169 -0
- package/dist/__tests__/shared/html-utils.test.js.map +1 -0
- package/dist/__tests__/shared/readability-extract.test.d.ts +2 -0
- package/dist/__tests__/shared/readability-extract.test.d.ts.map +1 -0
- package/dist/__tests__/shared/readability-extract.test.js +107 -0
- package/dist/__tests__/shared/readability-extract.test.js.map +1 -0
- package/dist/__tests__/shared/sanitize-text.test.d.ts +2 -0
- package/dist/__tests__/shared/sanitize-text.test.d.ts.map +1 -0
- package/dist/__tests__/shared/sanitize-text.test.js +77 -0
- package/dist/__tests__/shared/sanitize-text.test.js.map +1 -0
- package/dist/__tests__/shared/search-utils.test.d.ts +2 -0
- package/dist/__tests__/shared/search-utils.test.d.ts.map +1 -0
- package/dist/__tests__/shared/search-utils.test.js +26 -0
- package/dist/__tests__/shared/search-utils.test.js.map +1 -0
- package/dist/__tests__/structured/wikidata.test.d.ts +9 -0
- package/dist/__tests__/structured/wikidata.test.d.ts.map +1 -0
- package/dist/__tests__/structured/wikidata.test.js +509 -0
- package/dist/__tests__/structured/wikidata.test.js.map +1 -0
- package/dist/__tests__/structured/wikipedia.test.d.ts +9 -0
- package/dist/__tests__/structured/wikipedia.test.d.ts.map +1 -0
- package/dist/__tests__/structured/wikipedia.test.js +643 -0
- package/dist/__tests__/structured/wikipedia.test.js.map +1 -0
- package/dist/__tests__/web-search/base.test.d.ts +9 -0
- package/dist/__tests__/web-search/base.test.d.ts.map +1 -0
- package/dist/__tests__/web-search/base.test.js +622 -0
- package/dist/__tests__/web-search/base.test.js.map +1 -0
- package/dist/__tests__/web-search/bing.test.d.ts +10 -0
- package/dist/__tests__/web-search/bing.test.d.ts.map +1 -0
- package/dist/__tests__/web-search/bing.test.js +277 -0
- package/dist/__tests__/web-search/bing.test.js.map +1 -0
- package/dist/__tests__/web-search/brave.test.d.ts +10 -0
- package/dist/__tests__/web-search/brave.test.d.ts.map +1 -0
- package/dist/__tests__/web-search/brave.test.js +264 -0
- package/dist/__tests__/web-search/brave.test.js.map +1 -0
- package/dist/__tests__/web-search/duckduckgo.test.d.ts +10 -0
- package/dist/__tests__/web-search/duckduckgo.test.d.ts.map +1 -0
- package/dist/__tests__/web-search/duckduckgo.test.js +107 -0
- package/dist/__tests__/web-search/duckduckgo.test.js.map +1 -0
- package/dist/__tests__/web-search/google.test.d.ts +9 -0
- package/dist/__tests__/web-search/google.test.d.ts.map +1 -0
- package/dist/__tests__/web-search/google.test.js +189 -0
- package/dist/__tests__/web-search/google.test.js.map +1 -0
- package/dist/archives/chronicling-america.d.ts +33 -0
- package/dist/archives/chronicling-america.d.ts.map +1 -0
- package/dist/archives/chronicling-america.js +85 -0
- package/dist/archives/chronicling-america.js.map +1 -0
- package/dist/archives/europeana.d.ts +37 -0
- package/dist/archives/europeana.d.ts.map +1 -0
- package/dist/archives/europeana.js +92 -0
- package/dist/archives/europeana.js.map +1 -0
- package/dist/archives/internet-archive.d.ts +32 -0
- package/dist/archives/internet-archive.d.ts.map +1 -0
- package/dist/archives/internet-archive.js +90 -0
- package/dist/archives/internet-archive.js.map +1 -0
- package/dist/archives/trove.d.ts +37 -0
- package/dist/archives/trove.d.ts.map +1 -0
- package/dist/archives/trove.js +97 -0
- package/dist/archives/trove.js.map +1 -0
- package/dist/books/google-books.d.ts +48 -0
- package/dist/books/google-books.d.ts.map +1 -0
- package/dist/books/google-books.js +111 -0
- package/dist/books/google-books.js.map +1 -0
- package/dist/books/open-library.d.ts +44 -0
- package/dist/books/open-library.d.ts.map +1 -0
- package/dist/books/open-library.js +103 -0
- package/dist/books/open-library.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/news/guardian.d.ts +51 -0
- package/dist/news/guardian.d.ts.map +1 -0
- package/dist/news/guardian.js +131 -0
- package/dist/news/guardian.js.map +1 -0
- package/dist/news/nytimes.d.ts +27 -0
- package/dist/news/nytimes.d.ts.map +1 -0
- package/dist/news/nytimes.js +104 -0
- package/dist/news/nytimes.js.map +1 -0
- package/dist/news/site-search-source.d.ts +89 -0
- package/dist/news/site-search-source.d.ts.map +1 -0
- package/dist/news/site-search-source.js +182 -0
- package/dist/news/site-search-source.js.map +1 -0
- package/dist/news/sources.d.ts +52 -0
- package/dist/news/sources.d.ts.map +1 -0
- package/dist/news/sources.js +276 -0
- package/dist/news/sources.js.map +1 -0
- package/dist/obituary/find-a-grave.d.ts +43 -0
- package/dist/obituary/find-a-grave.d.ts.map +1 -0
- package/dist/obituary/find-a-grave.js +173 -0
- package/dist/obituary/find-a-grave.js.map +1 -0
- package/dist/shared/duckduckgo-search.d.ts +86 -0
- package/dist/shared/duckduckgo-search.d.ts.map +1 -0
- package/dist/shared/duckduckgo-search.js +218 -0
- package/dist/shared/duckduckgo-search.js.map +1 -0
- package/dist/shared/fetch-page.d.ts +50 -0
- package/dist/shared/fetch-page.d.ts.map +1 -0
- package/dist/shared/fetch-page.js +212 -0
- package/dist/shared/fetch-page.js.map +1 -0
- package/dist/shared/html-utils.d.ts +99 -0
- package/dist/shared/html-utils.d.ts.map +1 -0
- package/dist/shared/html-utils.js +246 -0
- package/dist/shared/html-utils.js.map +1 -0
- package/dist/shared/readability-extract.d.ts +33 -0
- package/dist/shared/readability-extract.d.ts.map +1 -0
- package/dist/shared/readability-extract.js +45 -0
- package/dist/shared/readability-extract.js.map +1 -0
- package/dist/shared/sanitize-text.d.ts +24 -0
- package/dist/shared/sanitize-text.d.ts.map +1 -0
- package/dist/shared/sanitize-text.js +49 -0
- package/dist/shared/sanitize-text.js.map +1 -0
- package/dist/shared/search-utils.d.ts +18 -0
- package/dist/shared/search-utils.d.ts.map +1 -0
- package/dist/shared/search-utils.js +20 -0
- package/dist/shared/search-utils.js.map +1 -0
- package/dist/structured/wikidata.d.ts +128 -0
- package/dist/structured/wikidata.d.ts.map +1 -0
- package/dist/structured/wikidata.js +361 -0
- package/dist/structured/wikidata.js.map +1 -0
- package/dist/structured/wikipedia.d.ts +184 -0
- package/dist/structured/wikipedia.d.ts.map +1 -0
- package/dist/structured/wikipedia.js +275 -0
- package/dist/structured/wikipedia.js.map +1 -0
- package/dist/web-search/base.d.ts +128 -0
- package/dist/web-search/base.d.ts.map +1 -0
- package/dist/web-search/base.js +251 -0
- package/dist/web-search/base.js.map +1 -0
- package/dist/web-search/bing.d.ts +21 -0
- package/dist/web-search/bing.d.ts.map +1 -0
- package/dist/web-search/bing.js +53 -0
- package/dist/web-search/bing.js.map +1 -0
- package/dist/web-search/brave.d.ts +21 -0
- package/dist/web-search/brave.d.ts.map +1 -0
- package/dist/web-search/brave.js +56 -0
- package/dist/web-search/brave.js.map +1 -0
- package/dist/web-search/duckduckgo.d.ts +15 -0
- package/dist/web-search/duckduckgo.d.ts.map +1 -0
- package/dist/web-search/duckduckgo.js +21 -0
- package/dist/web-search/duckduckgo.js.map +1 -0
- package/dist/web-search/google.d.ts +24 -0
- package/dist/web-search/google.d.ts.map +1 -0
- package/dist/web-search/google.js +48 -0
- package/dist/web-search/google.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configurable site-search source for news and reference sites.
|
|
3
|
+
*
|
|
4
|
+
* Uses DuckDuckGo `site:` search to find articles on a specific domain,
|
|
5
|
+
* picks the best URL based on path preferences, fetches the page,
|
|
6
|
+
* extracts article content, and returns a sanitized finding.
|
|
7
|
+
*
|
|
8
|
+
* This is the reusable base that 19+ news/reference source factories
|
|
9
|
+
* instantiate with different SiteSearchConfig values (AP, BBC, Reuters, etc.).
|
|
10
|
+
*/
|
|
11
|
+
import { BaseResearchSource, } from "@debriefer/core";
|
|
12
|
+
import { searchDuckDuckGo } from "../shared/duckduckgo-search.js";
|
|
13
|
+
import { fetchPage } from "../shared/fetch-page.js";
|
|
14
|
+
import { extractArticleContent } from "../shared/readability-extract.js";
|
|
15
|
+
import { sanitizeSourceText } from "../shared/sanitize-text.js";
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// pickBestUrl
|
|
18
|
+
// ============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Pick the best URL from search results based on path preferences.
|
|
21
|
+
*
|
|
22
|
+
* Scoring:
|
|
23
|
+
* - +10 for each preferredPaths match found in the URL pathname
|
|
24
|
+
* - -10 for each avoidPaths match found in the URL pathname
|
|
25
|
+
* - Returns highest-scored URL, falling back to first result
|
|
26
|
+
* - Returns null for empty array
|
|
27
|
+
*
|
|
28
|
+
* @param results - Array of search results from DDG
|
|
29
|
+
* @param options - Optional path preference configuration
|
|
30
|
+
* @returns The best URL string, or null if no results
|
|
31
|
+
*/
|
|
32
|
+
export function pickBestUrl(results, options) {
|
|
33
|
+
if (results.length === 0) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const preferredPaths = options?.preferredPaths ?? [];
|
|
37
|
+
const avoidPaths = options?.avoidPaths ?? [];
|
|
38
|
+
// If no preferences, return first result
|
|
39
|
+
if (preferredPaths.length === 0 && avoidPaths.length === 0) {
|
|
40
|
+
return results[0].url;
|
|
41
|
+
}
|
|
42
|
+
let bestUrl = results[0].url;
|
|
43
|
+
let bestScore = -Infinity;
|
|
44
|
+
for (const result of results) {
|
|
45
|
+
let score = 0;
|
|
46
|
+
let pathname;
|
|
47
|
+
try {
|
|
48
|
+
pathname = new URL(result.url).pathname;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// If URL is unparseable, treat pathname as empty
|
|
52
|
+
pathname = "";
|
|
53
|
+
}
|
|
54
|
+
for (const preferred of preferredPaths) {
|
|
55
|
+
if (pathname.includes(preferred)) {
|
|
56
|
+
score += 10;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
for (const avoid of avoidPaths) {
|
|
60
|
+
if (pathname.includes(avoid)) {
|
|
61
|
+
score -= 10;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (score > bestScore) {
|
|
65
|
+
bestScore = score;
|
|
66
|
+
bestUrl = result.url;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return bestUrl;
|
|
70
|
+
}
|
|
71
|
+
// ============================================================================
|
|
72
|
+
// SiteSearchSource
|
|
73
|
+
// ============================================================================
|
|
74
|
+
/**
|
|
75
|
+
* A configurable research source that searches a specific news/reference
|
|
76
|
+
* site via DuckDuckGo `site:` queries.
|
|
77
|
+
*
|
|
78
|
+
* All metadata (name, type, reliabilityTier, domain, isFree, estimatedCostPerQuery)
|
|
79
|
+
* is derived from the provided SiteSearchConfig.
|
|
80
|
+
*/
|
|
81
|
+
export class SiteSearchSource extends BaseResearchSource {
|
|
82
|
+
name;
|
|
83
|
+
type;
|
|
84
|
+
reliabilityTier;
|
|
85
|
+
domain;
|
|
86
|
+
isFree = true;
|
|
87
|
+
estimatedCostPerQuery = 0;
|
|
88
|
+
config;
|
|
89
|
+
constructor(config, options) {
|
|
90
|
+
super({ rateLimitMs: config.rateLimitMs ?? 1500, ...options });
|
|
91
|
+
this.config = config;
|
|
92
|
+
this.name = config.name;
|
|
93
|
+
this.type = config.type;
|
|
94
|
+
this.reliabilityTier = config.reliabilityTier;
|
|
95
|
+
this.domain = config.domain;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Build search query for this subject.
|
|
99
|
+
*
|
|
100
|
+
* Format: `"subject name" queryTerms` (queryTerms omitted if empty).
|
|
101
|
+
*/
|
|
102
|
+
buildQuery(subject) {
|
|
103
|
+
const base = `"${subject.name}"`;
|
|
104
|
+
if (this.config.queryTerms) {
|
|
105
|
+
return `${base} (${this.config.queryTerms})`;
|
|
106
|
+
}
|
|
107
|
+
return base;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Fetch a finding from this news/reference site.
|
|
111
|
+
*
|
|
112
|
+
* Pipeline:
|
|
113
|
+
* 1. Search DDG with `site:domain` filter
|
|
114
|
+
* 2. Pick best URL based on path preferences
|
|
115
|
+
* 3. Fetch the page
|
|
116
|
+
* 4. Extract article content via Readability
|
|
117
|
+
* 5. Check minimum content length
|
|
118
|
+
* 6. Sanitize text
|
|
119
|
+
* 7. Return RawFinding with metadata
|
|
120
|
+
*/
|
|
121
|
+
async fetchResult(subject, signal) {
|
|
122
|
+
const query = this.buildQuery(subject);
|
|
123
|
+
// Build domain filter: primary domain, plus additional domains via OR
|
|
124
|
+
const allDomains = [this.config.domain, ...(this.config.additionalDomains ?? [])];
|
|
125
|
+
// Search each domain and collect all results
|
|
126
|
+
const allResults = [];
|
|
127
|
+
for (const domain of allDomains) {
|
|
128
|
+
const results = await searchDuckDuckGo({ query, domainFilter: domain, signal });
|
|
129
|
+
allResults.push(...results);
|
|
130
|
+
}
|
|
131
|
+
if (allResults.length === 0) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
// Pick best URL
|
|
135
|
+
const bestUrl = pickBestUrl(allResults, {
|
|
136
|
+
preferredPaths: this.config.preferredPaths,
|
|
137
|
+
avoidPaths: this.config.avoidPaths,
|
|
138
|
+
});
|
|
139
|
+
if (!bestUrl) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
// Fetch the page
|
|
143
|
+
const page = await fetchPage({ url: bestUrl, signal });
|
|
144
|
+
if (page.fetchMethod === "none" || !page.content) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
// Extract article content
|
|
148
|
+
const actualUrl = page.url || bestUrl;
|
|
149
|
+
const extracted = extractArticleContent(page.content, actualUrl);
|
|
150
|
+
if (!extracted) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
// Check minimum content length
|
|
154
|
+
const minContentLength = this.config.minContentLength ?? 200;
|
|
155
|
+
if (extracted.text.length < minContentLength) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
// Sanitize and return
|
|
159
|
+
const text = sanitizeSourceText(extracted.text);
|
|
160
|
+
return {
|
|
161
|
+
text,
|
|
162
|
+
confidence: -1,
|
|
163
|
+
costUsd: 0,
|
|
164
|
+
url: actualUrl,
|
|
165
|
+
publication: this.config.name,
|
|
166
|
+
metadata: {
|
|
167
|
+
title: extracted.title,
|
|
168
|
+
author: extracted.author,
|
|
169
|
+
siteName: extracted.siteName,
|
|
170
|
+
domain: (() => {
|
|
171
|
+
try {
|
|
172
|
+
return new URL(actualUrl).hostname;
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
return this.config.domain;
|
|
176
|
+
}
|
|
177
|
+
})(),
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=site-search-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-search-source.js","sourceRoot":"","sources":["../../src/news/site-search-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory functions for 21 site-search sources (news, reference, obituary).
|
|
3
|
+
*
|
|
4
|
+
* Each factory creates a SiteSearchSource configured for a specific
|
|
5
|
+
* news or reference site, with appropriate reliability tier, path
|
|
6
|
+
* preferences, and query terms.
|
|
7
|
+
*/
|
|
8
|
+
import { type BaseSourceOptions } from "@debriefer/core";
|
|
9
|
+
import { SiteSearchSource } from "./site-search-source.js";
|
|
10
|
+
/** AP News — general-interest wire service. */
|
|
11
|
+
export declare function apNews(options?: BaseSourceOptions): SiteSearchSource;
|
|
12
|
+
/** BBC News — British public-service broadcaster. */
|
|
13
|
+
export declare function bbcNews(options?: BaseSourceOptions): SiteSearchSource;
|
|
14
|
+
/** Reuters — international news agency. */
|
|
15
|
+
export declare function reuters(options?: BaseSourceOptions): SiteSearchSource;
|
|
16
|
+
/** NPR — U.S. public radio network. */
|
|
17
|
+
export declare function npr(options?: BaseSourceOptions): SiteSearchSource;
|
|
18
|
+
/** The Independent — British broadsheet newspaper. */
|
|
19
|
+
export declare function independent(options?: BaseSourceOptions): SiteSearchSource;
|
|
20
|
+
/** The Telegraph — British broadsheet newspaper. */
|
|
21
|
+
export declare function telegraph(options?: BaseSourceOptions): SiteSearchSource;
|
|
22
|
+
/** The Washington Post — U.S. national newspaper. */
|
|
23
|
+
export declare function washingtonPost(options?: BaseSourceOptions): SiteSearchSource;
|
|
24
|
+
/** Los Angeles Times — U.S. West Coast newspaper. */
|
|
25
|
+
export declare function laTimes(options?: BaseSourceOptions): SiteSearchSource;
|
|
26
|
+
/** Time — U.S. news magazine. */
|
|
27
|
+
export declare function time(options?: BaseSourceOptions): SiteSearchSource;
|
|
28
|
+
/** The New Yorker — U.S. magazine of reportage and commentary. */
|
|
29
|
+
export declare function newYorker(options?: BaseSourceOptions): SiteSearchSource;
|
|
30
|
+
/** PBS — U.S. public television network. */
|
|
31
|
+
export declare function pbs(options?: BaseSourceOptions): SiteSearchSource;
|
|
32
|
+
/** Britannica — general-purpose reference encyclopaedia. */
|
|
33
|
+
export declare function britannica(options?: BaseSourceOptions): SiteSearchSource;
|
|
34
|
+
/** Rolling Stone — music, film, and culture magazine. */
|
|
35
|
+
export declare function rollingStone(options?: BaseSourceOptions): SiteSearchSource;
|
|
36
|
+
/** Smithsonian Magazine — history, science, and culture magazine. */
|
|
37
|
+
export declare function smithsonian(options?: BaseSourceOptions): SiteSearchSource;
|
|
38
|
+
/** National Geographic — science, exploration, and nature magazine. */
|
|
39
|
+
export declare function nationalGeographic(options?: BaseSourceOptions): SiteSearchSource;
|
|
40
|
+
/** History.com — history-focused editorial site (A&E Networks). */
|
|
41
|
+
export declare function historyCom(options?: BaseSourceOptions): SiteSearchSource;
|
|
42
|
+
/** TCM (Turner Classic Movies) — classic film database and editorial. */
|
|
43
|
+
export declare function tcm(options?: BaseSourceOptions): SiteSearchSource;
|
|
44
|
+
/** AllMusic — music reference database. */
|
|
45
|
+
export declare function allMusic(options?: BaseSourceOptions): SiteSearchSource;
|
|
46
|
+
/** People — celebrity and human-interest magazine. */
|
|
47
|
+
export declare function people(options?: BaseSourceOptions): SiteSearchSource;
|
|
48
|
+
/** Biography.com — biographical reference site (A&E Networks). */
|
|
49
|
+
export declare function biographyCom(options?: BaseSourceOptions): SiteSearchSource;
|
|
50
|
+
/** Legacy.com — obituary and memorial aggregator. */
|
|
51
|
+
export declare function legacy(options?: BaseSourceOptions): SiteSearchSource;
|
|
52
|
+
//# sourceMappingURL=sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/news/sources.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAM1D,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAapE;AAED,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAarE;AAED,2CAA2C;AAC3C,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAarE;AAED,uCAAuC;AACvC,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAajE;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAazE;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAavE;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAa5E;AAED,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAarE;AAED,iCAAiC;AACjC,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAalE;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAavE;AAED,4CAA4C;AAC5C,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAajE;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAaxE;AAMD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAa1E;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAazE;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAahF;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAaxE;AAED,yEAAyE;AACzE,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAajE;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAatE;AAMD,sDAAsD;AACtD,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAapE;AAMD,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAY1E;AAMD,qDAAqD;AACrD,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAapE"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory functions for 21 site-search sources (news, reference, obituary).
|
|
3
|
+
*
|
|
4
|
+
* Each factory creates a SiteSearchSource configured for a specific
|
|
5
|
+
* news or reference site, with appropriate reliability tier, path
|
|
6
|
+
* preferences, and query terms.
|
|
7
|
+
*/
|
|
8
|
+
import { ReliabilityTier } from "@debriefer/core";
|
|
9
|
+
import { SiteSearchSource } from "./site-search-source.js";
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// TIER_1_NEWS (0.95)
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/** AP News — general-interest wire service. */
|
|
14
|
+
export function apNews(options) {
|
|
15
|
+
return new SiteSearchSource({
|
|
16
|
+
name: "AP News",
|
|
17
|
+
type: "ap-news",
|
|
18
|
+
domain: "apnews.com",
|
|
19
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
20
|
+
rateLimitMs: 1500,
|
|
21
|
+
preferredPaths: ["/article/"],
|
|
22
|
+
queryTerms: "profile OR biography OR interview",
|
|
23
|
+
}, options);
|
|
24
|
+
}
|
|
25
|
+
/** BBC News — British public-service broadcaster. */
|
|
26
|
+
export function bbcNews(options) {
|
|
27
|
+
return new SiteSearchSource({
|
|
28
|
+
name: "BBC News",
|
|
29
|
+
type: "bbc-news",
|
|
30
|
+
domain: "bbc.com",
|
|
31
|
+
additionalDomains: ["bbc.co.uk"],
|
|
32
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
33
|
+
rateLimitMs: 1500,
|
|
34
|
+
queryTerms: "profile OR biography OR life story",
|
|
35
|
+
}, options);
|
|
36
|
+
}
|
|
37
|
+
/** Reuters — international news agency. */
|
|
38
|
+
export function reuters(options) {
|
|
39
|
+
return new SiteSearchSource({
|
|
40
|
+
name: "Reuters",
|
|
41
|
+
type: "reuters",
|
|
42
|
+
domain: "reuters.com",
|
|
43
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
44
|
+
rateLimitMs: 2000,
|
|
45
|
+
preferredPaths: ["/world/", "/lifestyle/", "/entertainment/", "/business/"],
|
|
46
|
+
queryTerms: "profile OR biography OR interview",
|
|
47
|
+
}, options);
|
|
48
|
+
}
|
|
49
|
+
/** NPR — U.S. public radio network. */
|
|
50
|
+
export function npr(options) {
|
|
51
|
+
return new SiteSearchSource({
|
|
52
|
+
name: "NPR",
|
|
53
|
+
type: "npr",
|
|
54
|
+
domain: "npr.org",
|
|
55
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
56
|
+
rateLimitMs: 1500,
|
|
57
|
+
preferredPaths: ["/sections/", "/music/", "/books/", "/movies/"],
|
|
58
|
+
queryTerms: "profile OR biography OR interview",
|
|
59
|
+
}, options);
|
|
60
|
+
}
|
|
61
|
+
/** The Independent — British broadsheet newspaper. */
|
|
62
|
+
export function independent(options) {
|
|
63
|
+
return new SiteSearchSource({
|
|
64
|
+
name: "The Independent",
|
|
65
|
+
type: "independent",
|
|
66
|
+
domain: "independent.co.uk",
|
|
67
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
68
|
+
rateLimitMs: 2000,
|
|
69
|
+
preferredPaths: ["/arts-entertainment/", "/news/", "/life-style/"],
|
|
70
|
+
queryTerms: "profile OR biography OR interview",
|
|
71
|
+
}, options);
|
|
72
|
+
}
|
|
73
|
+
/** The Telegraph — British broadsheet newspaper. */
|
|
74
|
+
export function telegraph(options) {
|
|
75
|
+
return new SiteSearchSource({
|
|
76
|
+
name: "The Telegraph",
|
|
77
|
+
type: "telegraph",
|
|
78
|
+
domain: "telegraph.co.uk",
|
|
79
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
80
|
+
rateLimitMs: 2000,
|
|
81
|
+
preferredPaths: ["/films/", "/culture/", "/obituaries/", "/news/"],
|
|
82
|
+
queryTerms: "profile OR biography OR interview",
|
|
83
|
+
}, options);
|
|
84
|
+
}
|
|
85
|
+
/** The Washington Post — U.S. national newspaper. */
|
|
86
|
+
export function washingtonPost(options) {
|
|
87
|
+
return new SiteSearchSource({
|
|
88
|
+
name: "The Washington Post",
|
|
89
|
+
type: "washington-post",
|
|
90
|
+
domain: "washingtonpost.com",
|
|
91
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
92
|
+
rateLimitMs: 2000,
|
|
93
|
+
preferredPaths: ["/entertainment/", "/obituaries/", "/style/", "/lifestyle/"],
|
|
94
|
+
queryTerms: "profile OR biography OR interview",
|
|
95
|
+
}, options);
|
|
96
|
+
}
|
|
97
|
+
/** Los Angeles Times — U.S. West Coast newspaper. */
|
|
98
|
+
export function laTimes(options) {
|
|
99
|
+
return new SiteSearchSource({
|
|
100
|
+
name: "Los Angeles Times",
|
|
101
|
+
type: "la-times",
|
|
102
|
+
domain: "latimes.com",
|
|
103
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
104
|
+
rateLimitMs: 2000,
|
|
105
|
+
preferredPaths: ["/entertainment/", "/obituaries/", "/california/"],
|
|
106
|
+
queryTerms: "profile OR biography OR interview",
|
|
107
|
+
}, options);
|
|
108
|
+
}
|
|
109
|
+
/** Time — U.S. news magazine. */
|
|
110
|
+
export function time(options) {
|
|
111
|
+
return new SiteSearchSource({
|
|
112
|
+
name: "Time",
|
|
113
|
+
type: "time",
|
|
114
|
+
domain: "time.com",
|
|
115
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
116
|
+
rateLimitMs: 1500,
|
|
117
|
+
preferredPaths: ["/entertainment/", "/culture/", "/person-of-the-year/"],
|
|
118
|
+
queryTerms: "profile OR biography OR interview",
|
|
119
|
+
}, options);
|
|
120
|
+
}
|
|
121
|
+
/** The New Yorker — U.S. magazine of reportage and commentary. */
|
|
122
|
+
export function newYorker(options) {
|
|
123
|
+
return new SiteSearchSource({
|
|
124
|
+
name: "The New Yorker",
|
|
125
|
+
type: "new-yorker",
|
|
126
|
+
domain: "newyorker.com",
|
|
127
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
128
|
+
rateLimitMs: 2000,
|
|
129
|
+
preferredPaths: ["/magazine/", "/culture/", "/news/", "/books/"],
|
|
130
|
+
queryTerms: "profile OR biography OR interview",
|
|
131
|
+
}, options);
|
|
132
|
+
}
|
|
133
|
+
/** PBS — U.S. public television network. */
|
|
134
|
+
export function pbs(options) {
|
|
135
|
+
return new SiteSearchSource({
|
|
136
|
+
name: "PBS",
|
|
137
|
+
type: "pbs",
|
|
138
|
+
domain: "pbs.org",
|
|
139
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
140
|
+
rateLimitMs: 1500,
|
|
141
|
+
preferredPaths: ["/wgbh/", "/newshour/", "/frontline/"],
|
|
142
|
+
queryTerms: "profile OR biography OR interview",
|
|
143
|
+
}, options);
|
|
144
|
+
}
|
|
145
|
+
/** Britannica — general-purpose reference encyclopaedia. */
|
|
146
|
+
export function britannica(options) {
|
|
147
|
+
return new SiteSearchSource({
|
|
148
|
+
name: "Britannica",
|
|
149
|
+
type: "britannica",
|
|
150
|
+
domain: "britannica.com",
|
|
151
|
+
reliabilityTier: ReliabilityTier.TIER_1_NEWS,
|
|
152
|
+
rateLimitMs: 1500,
|
|
153
|
+
preferredPaths: ["/biography/"],
|
|
154
|
+
queryTerms: "biography",
|
|
155
|
+
}, options);
|
|
156
|
+
}
|
|
157
|
+
// ============================================================================
|
|
158
|
+
// TRADE_PRESS (0.9)
|
|
159
|
+
// ============================================================================
|
|
160
|
+
/** Rolling Stone — music, film, and culture magazine. */
|
|
161
|
+
export function rollingStone(options) {
|
|
162
|
+
return new SiteSearchSource({
|
|
163
|
+
name: "Rolling Stone",
|
|
164
|
+
type: "rolling-stone",
|
|
165
|
+
domain: "rollingstone.com",
|
|
166
|
+
reliabilityTier: ReliabilityTier.TRADE_PRESS,
|
|
167
|
+
rateLimitMs: 2000,
|
|
168
|
+
preferredPaths: ["/music/", "/movies/", "/culture/", "/feature/"],
|
|
169
|
+
queryTerms: "profile OR biography OR interview",
|
|
170
|
+
}, options);
|
|
171
|
+
}
|
|
172
|
+
/** Smithsonian Magazine — history, science, and culture magazine. */
|
|
173
|
+
export function smithsonian(options) {
|
|
174
|
+
return new SiteSearchSource({
|
|
175
|
+
name: "Smithsonian Magazine",
|
|
176
|
+
type: "smithsonian",
|
|
177
|
+
domain: "smithsonianmag.com",
|
|
178
|
+
reliabilityTier: ReliabilityTier.TRADE_PRESS,
|
|
179
|
+
rateLimitMs: 2000,
|
|
180
|
+
preferredPaths: ["/history/", "/biography/", "/people-places/"],
|
|
181
|
+
queryTerms: "biography",
|
|
182
|
+
}, options);
|
|
183
|
+
}
|
|
184
|
+
/** National Geographic — science, exploration, and nature magazine. */
|
|
185
|
+
export function nationalGeographic(options) {
|
|
186
|
+
return new SiteSearchSource({
|
|
187
|
+
name: "National Geographic",
|
|
188
|
+
type: "national-geographic",
|
|
189
|
+
domain: "nationalgeographic.com",
|
|
190
|
+
reliabilityTier: ReliabilityTier.TRADE_PRESS,
|
|
191
|
+
rateLimitMs: 1500,
|
|
192
|
+
preferredPaths: ["/adventure/", "/science/", "/history/"],
|
|
193
|
+
queryTerms: "profile OR biography",
|
|
194
|
+
}, options);
|
|
195
|
+
}
|
|
196
|
+
/** History.com — history-focused editorial site (A&E Networks). */
|
|
197
|
+
export function historyCom(options) {
|
|
198
|
+
return new SiteSearchSource({
|
|
199
|
+
name: "History.com",
|
|
200
|
+
type: "history-com",
|
|
201
|
+
domain: "history.com",
|
|
202
|
+
reliabilityTier: ReliabilityTier.TRADE_PRESS,
|
|
203
|
+
rateLimitMs: 2000,
|
|
204
|
+
preferredPaths: ["/topics/", "/biographies/", "/people/"],
|
|
205
|
+
queryTerms: "biography",
|
|
206
|
+
}, options);
|
|
207
|
+
}
|
|
208
|
+
/** TCM (Turner Classic Movies) — classic film database and editorial. */
|
|
209
|
+
export function tcm(options) {
|
|
210
|
+
return new SiteSearchSource({
|
|
211
|
+
name: "TCM",
|
|
212
|
+
type: "tcm",
|
|
213
|
+
domain: "tcm.com",
|
|
214
|
+
reliabilityTier: ReliabilityTier.TRADE_PRESS,
|
|
215
|
+
rateLimitMs: 2000,
|
|
216
|
+
preferredPaths: ["/tcmdb/person/"],
|
|
217
|
+
queryTerms: "biography",
|
|
218
|
+
}, options);
|
|
219
|
+
}
|
|
220
|
+
/** AllMusic — music reference database. */
|
|
221
|
+
export function allMusic(options) {
|
|
222
|
+
return new SiteSearchSource({
|
|
223
|
+
name: "AllMusic",
|
|
224
|
+
type: "all-music",
|
|
225
|
+
domain: "allmusic.com",
|
|
226
|
+
reliabilityTier: ReliabilityTier.TRADE_PRESS,
|
|
227
|
+
rateLimitMs: 2000,
|
|
228
|
+
preferredPaths: ["/artist/", "/artists/"],
|
|
229
|
+
queryTerms: "biography",
|
|
230
|
+
}, options);
|
|
231
|
+
}
|
|
232
|
+
// ============================================================================
|
|
233
|
+
// MARGINAL_EDITORIAL (0.65)
|
|
234
|
+
// ============================================================================
|
|
235
|
+
/** People — celebrity and human-interest magazine. */
|
|
236
|
+
export function people(options) {
|
|
237
|
+
return new SiteSearchSource({
|
|
238
|
+
name: "People",
|
|
239
|
+
type: "people",
|
|
240
|
+
domain: "people.com",
|
|
241
|
+
reliabilityTier: ReliabilityTier.MARGINAL_EDITORIAL,
|
|
242
|
+
rateLimitMs: 1500,
|
|
243
|
+
avoidPaths: ["/gallery/", "/video/", "/news/", "/shopping/", "/food/"],
|
|
244
|
+
queryTerms: "profile OR personal life",
|
|
245
|
+
}, options);
|
|
246
|
+
}
|
|
247
|
+
// ============================================================================
|
|
248
|
+
// SECONDARY_COMPILATION (0.85)
|
|
249
|
+
// ============================================================================
|
|
250
|
+
/** Biography.com — biographical reference site (A&E Networks). */
|
|
251
|
+
export function biographyCom(options) {
|
|
252
|
+
return new SiteSearchSource({
|
|
253
|
+
name: "Biography.com",
|
|
254
|
+
type: "biography-com",
|
|
255
|
+
domain: "biography.com",
|
|
256
|
+
reliabilityTier: ReliabilityTier.SECONDARY_COMPILATION,
|
|
257
|
+
rateLimitMs: 1500,
|
|
258
|
+
avoidPaths: ["/lists/", "/news/", "/video/", "/gallery/"],
|
|
259
|
+
}, options);
|
|
260
|
+
}
|
|
261
|
+
// ============================================================================
|
|
262
|
+
// MARGINAL_MIXED (0.6)
|
|
263
|
+
// ============================================================================
|
|
264
|
+
/** Legacy.com — obituary and memorial aggregator. */
|
|
265
|
+
export function legacy(options) {
|
|
266
|
+
return new SiteSearchSource({
|
|
267
|
+
name: "Legacy.com",
|
|
268
|
+
type: "legacy",
|
|
269
|
+
domain: "legacy.com",
|
|
270
|
+
reliabilityTier: ReliabilityTier.MARGINAL_MIXED,
|
|
271
|
+
rateLimitMs: 2000,
|
|
272
|
+
preferredPaths: ["/obituaries/"],
|
|
273
|
+
queryTerms: "obituary",
|
|
274
|
+
}, options);
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/news/sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find a Grave obituary source.
|
|
3
|
+
*
|
|
4
|
+
* Searches findagrave.com for memorial pages by name, extracts biography
|
|
5
|
+
* content via Readability (with regex fallback), and returns sanitized text.
|
|
6
|
+
*
|
|
7
|
+
* Find a Grave is user-generated content — anyone can create or edit memorials.
|
|
8
|
+
* Reliability tier is UNRELIABLE_UGC (0.35) per Wikipedia RSP guidelines.
|
|
9
|
+
*/
|
|
10
|
+
import { BaseResearchSource, ReliabilityTier, type BaseSourceOptions, type ResearchSubject, type RawFinding } from "@debriefer/core";
|
|
11
|
+
/** Options for the Find a Grave source. */
|
|
12
|
+
export type FindAGraveOptions = BaseSourceOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Find a Grave source for obituary / memorial content.
|
|
15
|
+
*
|
|
16
|
+
* Pipeline:
|
|
17
|
+
* 1. Search findagrave.com by first/last name
|
|
18
|
+
* 2. Parse memorial URLs from search results HTML
|
|
19
|
+
* 3. Filter for URLs containing the subject's name (normalized)
|
|
20
|
+
* 4. Fetch the memorial page via fetchPage (with archive fallback)
|
|
21
|
+
* 5. Extract bio via Readability, falling back to regex
|
|
22
|
+
* 6. Sanitize text and return if long enough
|
|
23
|
+
*/
|
|
24
|
+
export declare class FindAGraveSource extends BaseResearchSource<ResearchSubject> {
|
|
25
|
+
readonly name = "Find a Grave";
|
|
26
|
+
readonly type = "find-a-grave";
|
|
27
|
+
readonly reliabilityTier = ReliabilityTier.UNRELIABLE_UGC;
|
|
28
|
+
readonly domain = "www.findagrave.com";
|
|
29
|
+
readonly isFree = true;
|
|
30
|
+
readonly estimatedCostPerQuery = 0;
|
|
31
|
+
constructor(options?: FindAGraveOptions);
|
|
32
|
+
protected fetchResult(subject: ResearchSubject, signal: AbortSignal): Promise<RawFinding | null>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a Find a Grave source instance.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const source = findAGrave()
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function findAGrave(options?: FindAGraveOptions): FindAGraveSource;
|
|
43
|
+
//# sourceMappingURL=find-a-grave.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-a-grave.d.ts","sourceRoot":"","sources":["../../src/obituary/find-a-grave.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAA;AAkBxB,2CAA2C;AAC3C,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAMjD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACvE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,eAAe,kCAAiC;IACzD,QAAQ,CAAC,MAAM,wBAAuB;IACtC,QAAQ,CAAC,MAAM,QAAO;IACtB,QAAQ,CAAC,qBAAqB,KAAI;gBAEtB,OAAO,GAAE,iBAAsB;cAI3B,WAAW,CACzB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAsI9B;AAMD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAExE"}
|