@xapp/arachne-web-service 1.30.1 → 1.31.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.
@@ -2,6 +2,7 @@ import { ArachneRequest, RequestHeaderRule } from "@xapp/arachne";
2
2
  import { ContactForm } from "@xapp/arachne-parsers";
3
3
  import type { Browser, ResourceType } from "puppeteer-core";
4
4
  import { DetectorConstructor } from "./contants";
5
+ import { LLMProviderName } from "./llm/LLMProvider";
5
6
  import { WebsiteSchema, WebsiteDescriptiveData, ScreenshotLocation, BusinessData, SourcedDetectorResult, SubpageDetectionOptions } from "./models";
6
7
  import { AgenticSignals } from "./utils/probeAgenticSignals";
7
8
  export interface ArachneAppGetInfoOptions {
@@ -15,6 +16,24 @@ export interface ArachneAppGetInfoOptions {
15
16
  * Default is process.env.OPENAI_API_KEY
16
17
  */
17
18
  openAIKey?: string;
19
+ /**
20
+ * Which LLM reads the site: "openai" (default, needs `openAIKey`) or "gemini" (needs `geminiKey`).
21
+ *
22
+ * Gemini never falls back to OpenAI; without a Gemini key no LLM is called.
23
+ */
24
+ llmProvider?: LLMProviderName;
25
+ /**
26
+ * Gemini API key, used when `llmProvider` is "gemini".
27
+ *
28
+ * Default is process.env.GEMINI_API_KEY
29
+ */
30
+ geminiKey?: string;
31
+ /**
32
+ * Gemini model, used when `llmProvider` is "gemini".
33
+ *
34
+ * Default is process.env.GEMINI_MODEL, then DEFAULT_GEMINI_MODEL
35
+ */
36
+ geminiModel?: string;
18
37
  /**
19
38
  * Provide a path for the screenshots to be saved
20
39
  *
@@ -84,7 +103,7 @@ export interface ArachneAppGetInfoOptions {
84
103
  * Reads the discovered About Us page through OpenAI for the founding year, ownership (family-owned,
85
104
  * veteran-owned...), service areas, team size and licences, into `business`.
86
105
  *
87
- * Adds one navigation and one OpenAI call, so it is off by default. Requires `openAIKey`. Only fills
106
+ * Adds one navigation and one LLM call, so it is off by default. Requires an LLM key (`openAIKey` or `geminiKey`). Only fills
88
107
  * fields that are still empty, and drops anything the page does not state. The visit counts against
89
108
  * `pageHandlerTimeout`; a page that fails to load is skipped.
90
109
  */
@@ -77,6 +77,7 @@ function getChromium() {
77
77
  const node_vibrant_1 = __importDefault(require("node-vibrant"));
78
78
  const contants_1 = require("./contants");
79
79
  const GenerativeAIService_1 = require("./GenerativeAIService");
80
+ const LLMProvider_1 = require("./llm/LLMProvider");
80
81
  const aboutUs_1 = require("./utils/aboutUs");
81
82
  const findBestFaviconURL_1 = require("./utils/findBestFaviconURL");
82
83
  const image_1 = require("./utils/image");
@@ -329,11 +330,12 @@ class ArachneWebService {
329
330
  }
330
331
  }
331
332
  const description = $('meta[name="description"]').attr("content");
332
- const htmlHasContactInfo = (0, extractContacts_1.hasContactInfo)(html);
333
+ const contactHtml = (0, extractContacts_1.stripStyling)(html);
334
+ const htmlHasContactInfo = (0, extractContacts_1.hasContactInfo)(contactHtml);
333
335
  if (htmlHasContactInfo) {
334
336
  (0, stentor_logger_1.log)().info(`Contact information detected in the HTML.`);
335
337
  }
336
- const htmlExtractedContacts = (0, extractContacts_1.extractContacts)(html);
338
+ const htmlExtractedContacts = (0, extractContacts_1.extractContacts)(contactHtml);
337
339
  const things = new arachne_parsers_1.ArachneJSONLD(html).getThings();
338
340
  (0, stentor_logger_1.log)().info("Looking through JSON Schema...");
339
341
  for (const thing of things) {
@@ -523,12 +525,12 @@ class ArachneWebService {
523
525
  return tab;
524
526
  });
525
527
  let aiData = undefined;
526
- const { openAIKey } = options;
527
- // Use OpenAI to determine Call To Action
528
- if (openAIKey) {
528
+ const llm = (0, LLMProvider_1.resolveLLMProvider)(options);
529
+ // Use the LLM to determine Call To Action
530
+ if (llm) {
529
531
  (0, stentor_logger_1.log)().debug(`Calling GenerativeAI for website data...`);
530
532
  const genService = new GenerativeAIService_1.GenerativeAIService({
531
- key: openAIKey,
533
+ provider: llm,
532
534
  page,
533
535
  });
534
536
  aiData = yield genService.getWebsiteAI(markdown, {
@@ -580,7 +582,7 @@ class ArachneWebService {
580
582
  if ((0, extractContacts_1.hasContactInfo)(contactUsMarkdown)) {
581
583
  const extractedContacts = (0, extractContacts_1.extractContacts)(contactUsMarkdown);
582
584
  const contactUsData = yield new GenerativeAIService_1.GenerativeAIService({
583
- key: openAIKey,
585
+ provider: llm,
584
586
  page: contactUsPage,
585
587
  }).getWebsiteAI(contactUsMarkdown, {
586
588
  url: contactUsPageUrl,
@@ -658,7 +660,7 @@ class ArachneWebService {
658
660
  }
659
661
  }
660
662
  else {
661
- (0, stentor_logger_1.log)().info(`OpenAI key not provided, not calling GenerativeAIService.`);
663
+ (0, stentor_logger_1.log)().info(`No LLM key provided, not calling GenerativeAIService.`);
662
664
  }
663
665
  // Find some AI overrides (if we have the aiData)
664
666
  if (aiData === null || aiData === void 0 ? void 0 : aiData.organization_name) {
@@ -825,8 +827,8 @@ class ArachneWebService {
825
827
  if (((_p = options.dataOptions) === null || _p === void 0 ? void 0 : _p.readAboutUsPage) && !site.parkedDomain) {
826
828
  const aboutUsUrl = (_q = site.pages) === null || _q === void 0 ? void 0 : _q.aboutUs;
827
829
  const remaining = subpageDeadline - Date.now();
828
- if (!openAIKey) {
829
- (0, stentor_logger_1.log)().info(`readAboutUsPage requires openAIKey, not reading the About Us page.`);
830
+ if (!llm) {
831
+ (0, stentor_logger_1.log)().info(`readAboutUsPage requires an LLM key, not reading the About Us page.`);
830
832
  }
831
833
  else if (!aboutUsUrl) {
832
834
  (0, stentor_logger_1.log)().info(`No About Us page discovered to read.`);
@@ -848,7 +850,7 @@ class ArachneWebService {
848
850
  stripTags: [...arachne_parsers_1.DEFAULT_STRIP_TAGS, "head", "img", "iframe", "style"],
849
851
  stripSelectors: arachne_parsers_1.DEFAULT_STRIP_SELECTORS,
850
852
  }).convert(aboutUsHTML, true);
851
- return new GenerativeAIService_1.GenerativeAIService({ key: openAIKey, page }).getAboutUsAI(aboutUsMarkdown, aboutUsUrl);
853
+ return new GenerativeAIService_1.GenerativeAIService({ provider: llm, page }).getAboutUsAI(aboutUsMarkdown, aboutUsUrl);
852
854
  }), `Reading the About Us page exceeded remaining handler budget of ${remaining}ms`);
853
855
  if (aboutUsData) {
854
856
  (0, aboutUs_1.mergeAboutUsData)(business, aboutUsData);
@@ -1 +1 @@
1
- {"version":3,"file":"ArachneWebService.js","sourceRoot":"","sources":["../src/ArachneWebService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArachneWebService.js","sourceRoot":"","sources":["../src/ArachneWebService.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import { ArachnePage } from "@xapp/arachne";
3
3
  import { BusinessAddress, BusinessCategory, BusinessLicense, WebsiteDescriptiveData, WebsiteSchema } from "./models";
4
4
  import { AboutUsData } from "./utils/aboutUs";
5
+ import { LLMProvider } from "./llm/LLMProvider";
5
6
  export interface WebsiteAI {
6
7
  organization_name?: string;
7
8
  parked_domain?: boolean;
@@ -29,17 +30,22 @@ export type WebsiteAIData = {
29
30
  schema?: WebsiteSchema;
30
31
  };
31
32
  export declare class GenerativeAIService {
32
- private key;
33
+ private provider;
33
34
  private page;
35
+ /**
36
+ * @param props.provider The LLM to read with; when absent, OpenAI with `key`
37
+ * @param props.key OpenAI key, used only when no provider is given
38
+ */
34
39
  constructor(props: {
35
- key: string;
40
+ key?: string;
41
+ provider?: LLMProvider;
36
42
  page: ArachnePage;
37
43
  });
38
44
  getWebsiteAI(markdown: string, data: WebsiteAIData): Promise<WebsiteAI | undefined>;
39
45
  /**
40
46
  * Reads an about-us page for founding year, ownership, service areas, team size and licences.
41
47
  *
42
- * Adds one OpenAI call. Values the page does not state are dropped, see `sanitizeAboutUsAI()`.
48
+ * Adds one LLM call. Values the page does not state are dropped, see `sanitizeAboutUsAI()`.
43
49
  *
44
50
  * @param markdown The about-us page as markdown
45
51
  * @param url URL of the about-us page
@@ -47,7 +53,7 @@ export declare class GenerativeAIService {
47
53
  */
48
54
  getAboutUsAI(markdown: string, url: string): Promise<AboutUsData | undefined>;
49
55
  /**
50
- * Sends a prompt to OpenAI and parses the JSON answer.
56
+ * Sends a prompt to the provider and parses the JSON answer.
51
57
  *
52
58
  * @returns The parsed answer, or undefined when the call fails or the answer is not JSON
53
59
  */
@@ -17,9 +17,15 @@ const getPrompt_1 = require("./utils/getPrompt");
17
17
  const aboutUs_1 = require("./utils/aboutUs");
18
18
  const arachne_utils_1 = require("@xapp/arachne-utils");
19
19
  const stentor_utils_1 = require("stentor-utils");
20
+ const LLMProvider_1 = require("./llm/LLMProvider");
20
21
  class GenerativeAIService {
22
+ /**
23
+ * @param props.provider The LLM to read with; when absent, OpenAI with `key`
24
+ * @param props.key OpenAI key, used only when no provider is given
25
+ */
21
26
  constructor(props) {
22
- this.key = props.key;
27
+ var _a, _b;
28
+ this.provider = (_a = props.provider) !== null && _a !== void 0 ? _a : new LLMProvider_1.OpenAIProvider((_b = props.key) !== null && _b !== void 0 ? _b : "");
23
29
  this.page = props.page;
24
30
  }
25
31
  getWebsiteAI(markdown, data) {
@@ -152,7 +158,7 @@ class GenerativeAIService {
152
158
  /**
153
159
  * Reads an about-us page for founding year, ownership, service areas, team size and licences.
154
160
  *
155
- * Adds one OpenAI call. Values the page does not state are dropped, see `sanitizeAboutUsAI()`.
161
+ * Adds one LLM call. Values the page does not state are dropped, see `sanitizeAboutUsAI()`.
156
162
  *
157
163
  * @param markdown The about-us page as markdown
158
164
  * @param url URL of the about-us page
@@ -161,7 +167,7 @@ class GenerativeAIService {
161
167
  getAboutUsAI(markdown, url) {
162
168
  return __awaiter(this, void 0, void 0, function* () {
163
169
  if (!markdown.trim()) {
164
- (0, stentor_logger_1.log)().info(`About us page ${url} is empty, not calling OpenAI.`);
170
+ (0, stentor_logger_1.log)().info(`About us page ${url} is empty, not calling the LLM.`);
165
171
  return undefined;
166
172
  }
167
173
  let aboutUsPrompt = (0, getPrompt_1.getAboutUsPrompt)(markdown, url);
@@ -181,76 +187,30 @@ class GenerativeAIService {
181
187
  });
182
188
  }
183
189
  /**
184
- * Sends a prompt to OpenAI and parses the JSON answer.
190
+ * Sends a prompt to the provider and parses the JSON answer.
185
191
  *
186
192
  * @returns The parsed answer, or undefined when the call fails or the answer is not JSON
187
193
  */
188
194
  complete(prompt, maxTokens, timerLabel) {
189
195
  return __awaiter(this, void 0, void 0, function* () {
196
+ let completion = yield this.provider.complete({ prompt, maxTokens, label: timerLabel });
197
+ if (completion === undefined) {
198
+ (0, stentor_logger_1.log)().warn(`Unable to get website info from ${this.provider.name}`);
199
+ return undefined;
200
+ }
190
201
  let result = undefined;
191
- const options = {
192
- method: "POST",
193
- headers: {
194
- "Content-Type": "application/json",
195
- Authorization: `Bearer ${this.key}`,
196
- },
197
- body: JSON.stringify({
198
- model: "gpt-4o-mini-2024-07-18",
199
- response_format: { type: "json_object" },
200
- messages: [
201
- {
202
- role: "system",
203
- content: prompt,
204
- },
205
- ],
206
- temperature: 0.25,
207
- max_tokens: maxTokens,
208
- top_p: 1,
209
- frequency_penalty: 0,
210
- presence_penalty: 0,
211
- }),
212
- };
213
- // eslint-disable-next-line no-console
214
- console.time(timerLabel);
215
- let status = 999;
216
- const openAIResponse = yield fetch("https://api.openai.com/v1/chat/completions", options)
217
- .then((response) => {
218
- status = response.status;
219
- if (status === 200) {
220
- return response.json();
221
- }
222
- else if (status === 400) {
223
- (0, stentor_logger_1.log)().warn(`Bad request to OpenAI`);
224
- return response.json();
225
- }
226
- return response;
227
- })
228
- .finally(() => {
229
- // eslint-disable-next-line no-console
230
- console.timeEnd(timerLabel);
231
- });
232
- if (status === 200) {
233
- const usage = openAIResponse.usage;
234
- (0, stentor_logger_1.log)().info(`OpenAI token usage: prompt ${usage.prompt_tokens} completion ${usage.completion_tokens} total ${usage.total_tokens}`);
235
- const firstChoice = openAIResponse.choices[0];
236
- let completion = firstChoice.message.content;
237
- try {
238
- // quick common error check, look for trailing commas before closing bracket
239
- // Regex to find trailing commas before a closing brace or bracket
240
- const trailingComma = /,(?=\s*[}\]])/g;
241
- completion = completion.replace(trailingComma, "");
242
- result = JSON.parse(completion);
243
- (0, stentor_logger_1.log)().debug(`Parsed AI response....`);
244
- (0, stentor_logger_1.log)().debug(JSON.stringify(result, undefined, 2));
245
- }
246
- catch (e) {
247
- (0, stentor_logger_1.log)().warn(`Unable to parse AI response.`);
248
- (0, stentor_logger_1.log)().info(completion);
249
- }
202
+ try {
203
+ // quick common error check, look for trailing commas before closing bracket
204
+ // Regex to find trailing commas before a closing brace or bracket
205
+ const trailingComma = /,(?=\s*[}\]])/g;
206
+ completion = completion.replace(trailingComma, "");
207
+ result = JSON.parse(completion);
208
+ (0, stentor_logger_1.log)().debug(`Parsed AI response....`);
209
+ (0, stentor_logger_1.log)().debug(JSON.stringify(result, undefined, 2));
250
210
  }
251
- else {
252
- (0, stentor_logger_1.log)().warn(`Unabled to get website info from OpenAI status:${status}`);
253
- (0, stentor_logger_1.log)().debug(openAIResponse);
211
+ catch (e) {
212
+ (0, stentor_logger_1.log)().warn(`Unable to parse AI response.`);
213
+ (0, stentor_logger_1.log)().info(completion);
254
214
  }
255
215
  return result;
256
216
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GenerativeAIService.js","sourceRoot":"","sources":["../src/GenerativeAIService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerativeAIService.js","sourceRoot":"","sources":["../src/GenerativeAIService.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export * from "./utils/probeAgenticSignals";
6
6
  export * from "./utils/pageAgenticSignals";
7
7
  export * from "./utils/checkMcpServer";
8
8
  export * from "./utils/agenticProvider";
9
+ export * from "./llm/LLMProvider";
9
10
  export type { ResourceType } from "puppeteer-core";
10
11
  export type { RequestHeaderRule } from "@xapp/arachne";
package/lib/index.js CHANGED
@@ -22,4 +22,5 @@ __exportStar(require("./utils/probeAgenticSignals"), exports);
22
22
  __exportStar(require("./utils/pageAgenticSignals"), exports);
23
23
  __exportStar(require("./utils/checkMcpServer"), exports);
24
24
  __exportStar(require("./utils/agenticProvider"), exports);
25
+ __exportStar(require("./llm/LLMProvider"), exports);
25
26
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,sDAAoC;AACpC,2CAAyB;AACzB,gDAA8B;AAC9B,8DAA4C;AAC5C,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,sDAAoC;AACpC,2CAAyB;AACzB,gDAA8B;AAC9B,8DAA4C;AAC5C,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,oDAAkC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The LLMs the web service can read a site with.
3
+ */
4
+ export type LLMProviderName = "openai" | "gemini";
5
+ export interface LLMCompletionRequest {
6
+ /**
7
+ * The full prompt, including the instructions and the page content.
8
+ */
9
+ prompt: string;
10
+ /**
11
+ * Upper bound on the answer's tokens.
12
+ */
13
+ maxTokens: number;
14
+ /**
15
+ * Label for the console timer and logs.
16
+ */
17
+ label: string;
18
+ /**
19
+ * JSON Schema the answer must conform to. Without it the provider only guarantees JSON.
20
+ */
21
+ jsonSchema?: object;
22
+ }
23
+ /**
24
+ * A provider returns the model's raw JSON text; parsing and cleanup stay with the caller.
25
+ */
26
+ export interface LLMProvider {
27
+ readonly name: LLMProviderName;
28
+ /**
29
+ * @returns The answer text, or undefined when the call fails or returns nothing
30
+ */
31
+ complete(request: LLMCompletionRequest): Promise<string | undefined>;
32
+ }
33
+ /**
34
+ * Default Gemini model, overridden by `geminiModel` or GEMINI_MODEL.
35
+ */
36
+ export declare const DEFAULT_GEMINI_MODEL = "gemini-2.5-flash";
37
+ export declare class OpenAIProvider implements LLMProvider {
38
+ private readonly key;
39
+ readonly name = "openai";
40
+ constructor(key: string);
41
+ complete({ prompt, maxTokens, label, jsonSchema }: LLMCompletionRequest): Promise<string | undefined>;
42
+ }
43
+ export declare class GeminiProvider implements LLMProvider {
44
+ private readonly key;
45
+ readonly name = "gemini";
46
+ readonly model: string;
47
+ constructor(key: string, model?: string);
48
+ complete({ prompt, maxTokens, label, jsonSchema }: LLMCompletionRequest): Promise<string | undefined>;
49
+ }
50
+ export interface LLMProviderOptions {
51
+ llmProvider?: LLMProviderName;
52
+ openAIKey?: string;
53
+ geminiKey?: string;
54
+ geminiModel?: string;
55
+ }
56
+ /**
57
+ * Picks the provider the options ask for. OpenAI is the default, so existing callers are unchanged.
58
+ * Gemini never falls back to OpenAI: a crawl configured for Gemini without a key reads no pages with an LLM.
59
+ *
60
+ * @returns The provider, or undefined when the selected provider has no key
61
+ */
62
+ export declare function resolveLLMProvider(options: LLMProviderOptions): LLMProvider | undefined;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GeminiProvider = exports.OpenAIProvider = exports.DEFAULT_GEMINI_MODEL = void 0;
13
+ exports.resolveLLMProvider = resolveLLMProvider;
14
+ /*! Copyright (c) 2026, XAPP AI */
15
+ const stentor_logger_1 = require("stentor-logger");
16
+ const OPENAI_MODEL = "gpt-4o-mini-2024-07-18";
17
+ /**
18
+ * Default Gemini model, overridden by `geminiModel` or GEMINI_MODEL.
19
+ */
20
+ exports.DEFAULT_GEMINI_MODEL = "gemini-2.5-flash";
21
+ /**
22
+ * POSTs a JSON body and returns the parsed answer, or undefined on a network error or non-200.
23
+ */
24
+ function postJSON(provider, url, headers, body, label) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ // eslint-disable-next-line no-console
27
+ console.time(label);
28
+ try {
29
+ const response = yield fetch(url, {
30
+ method: "POST",
31
+ headers: Object.assign({ "Content-Type": "application/json" }, headers),
32
+ body: JSON.stringify(body),
33
+ });
34
+ if (response.status !== 200) {
35
+ (0, stentor_logger_1.log)().warn(`${provider} request failed status:${response.status}`);
36
+ (0, stentor_logger_1.log)().debug(yield response.text().catch(() => ""));
37
+ return undefined;
38
+ }
39
+ return yield response.json();
40
+ }
41
+ catch (e) {
42
+ (0, stentor_logger_1.log)().warn(`${provider} request failed: ${e === null || e === void 0 ? void 0 : e.message}`);
43
+ return undefined;
44
+ }
45
+ finally {
46
+ // eslint-disable-next-line no-console
47
+ console.timeEnd(label);
48
+ }
49
+ });
50
+ }
51
+ class OpenAIProvider {
52
+ constructor(key) {
53
+ this.key = key;
54
+ this.name = "openai";
55
+ }
56
+ complete(_a) {
57
+ return __awaiter(this, arguments, void 0, function* ({ prompt, maxTokens, label, jsonSchema }) {
58
+ var _b, _c, _d, _e;
59
+ const answer = yield postJSON("OpenAI", "https://api.openai.com/v1/chat/completions", { Authorization: `Bearer ${this.key}` }, {
60
+ model: OPENAI_MODEL,
61
+ response_format: jsonSchema
62
+ ? { type: "json_schema", json_schema: { name: "result", schema: jsonSchema, strict: true } }
63
+ : { type: "json_object" },
64
+ messages: [{ role: "system", content: prompt }],
65
+ temperature: 0.25,
66
+ max_tokens: maxTokens,
67
+ top_p: 1,
68
+ frequency_penalty: 0,
69
+ presence_penalty: 0,
70
+ }, label);
71
+ if (!answer) {
72
+ return undefined;
73
+ }
74
+ const usage = answer.usage;
75
+ if (usage) {
76
+ (0, stentor_logger_1.log)().info(`OpenAI token usage: prompt ${usage.prompt_tokens} completion ${usage.completion_tokens} total ${usage.total_tokens}`);
77
+ }
78
+ return (_e = (_d = (_c = (_b = answer.choices) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.message) === null || _d === void 0 ? void 0 : _d.content) !== null && _e !== void 0 ? _e : undefined;
79
+ });
80
+ }
81
+ }
82
+ exports.OpenAIProvider = OpenAIProvider;
83
+ class GeminiProvider {
84
+ constructor(key, model) {
85
+ this.key = key;
86
+ this.name = "gemini";
87
+ this.model = model || process.env.GEMINI_MODEL || exports.DEFAULT_GEMINI_MODEL;
88
+ }
89
+ complete(_a) {
90
+ return __awaiter(this, arguments, void 0, function* ({ prompt, maxTokens, label, jsonSchema }) {
91
+ var _b, _c, _d;
92
+ const answer = yield postJSON("Gemini", `https://generativelanguage.googleapis.com/v1beta/models/${this.model}:generateContent`, { "x-goog-api-key": this.key }, {
93
+ contents: [{ role: "user", parts: [{ text: prompt }] }],
94
+ generationConfig: Object.assign(Object.assign(Object.assign({ responseMimeType: "application/json" }, (jsonSchema ? { responseJsonSchema: jsonSchema } : {})), { temperature: 0.25, maxOutputTokens: maxTokens }), (this.model.includes("pro") ? {} : { thinkingConfig: { thinkingBudget: 0 } })),
95
+ }, label);
96
+ if (!answer) {
97
+ return undefined;
98
+ }
99
+ const usage = answer.usageMetadata;
100
+ if (usage) {
101
+ (0, stentor_logger_1.log)().info(`Gemini token usage: prompt ${usage.promptTokenCount} completion ${usage.candidatesTokenCount} total ${usage.totalTokenCount}`);
102
+ }
103
+ const candidate = (_b = answer.candidates) === null || _b === void 0 ? void 0 : _b[0];
104
+ const parts = (_c = candidate === null || candidate === void 0 ? void 0 : candidate.content) === null || _c === void 0 ? void 0 : _c.parts;
105
+ const text = parts === null || parts === void 0 ? void 0 : parts.map((part) => { var _a; return (_a = part.text) !== null && _a !== void 0 ? _a : ""; }).join("");
106
+ if ((candidate === null || candidate === void 0 ? void 0 : candidate.finishReason) === "MAX_TOKENS") {
107
+ (0, stentor_logger_1.log)().warn(`Gemini answer was cut off at maxOutputTokens ${maxTokens}`);
108
+ return undefined;
109
+ }
110
+ if (!text) {
111
+ (0, stentor_logger_1.log)().warn(`Gemini returned no text${(candidate === null || candidate === void 0 ? void 0 : candidate.finishReason) ? `, finishReason: ${candidate.finishReason}` : ""}${((_d = answer.promptFeedback) === null || _d === void 0 ? void 0 : _d.blockReason) ? `, blocked: ${answer.promptFeedback.blockReason}` : ""}`);
112
+ return undefined;
113
+ }
114
+ return text;
115
+ });
116
+ }
117
+ }
118
+ exports.GeminiProvider = GeminiProvider;
119
+ /**
120
+ * Picks the provider the options ask for. OpenAI is the default, so existing callers are unchanged.
121
+ * Gemini never falls back to OpenAI: a crawl configured for Gemini without a key reads no pages with an LLM.
122
+ *
123
+ * @returns The provider, or undefined when the selected provider has no key
124
+ */
125
+ function resolveLLMProvider(options) {
126
+ if (options.llmProvider === "gemini") {
127
+ const key = options.geminiKey || process.env.GEMINI_API_KEY;
128
+ return key ? new GeminiProvider(key, options.geminiModel) : undefined;
129
+ }
130
+ return options.openAIKey ? new OpenAIProvider(options.openAIKey) : undefined;
131
+ }
132
+ //# sourceMappingURL=LLMProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMProvider.js","sourceRoot":"","sources":["../../src/llm/LLMProvider.ts"],"names":[],"mappings":"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"}
@@ -30,3 +30,15 @@ export declare function extractContacts(text: string): {
30
30
  emails: string[];
31
31
  phoneNumbers: string[];
32
32
  };
33
+ /**
34
+ * Removes `<style>` blocks and inline `style` attributes from HTML before it
35
+ * is scanned for contacts.
36
+ *
37
+ * The phone regex is ten loose digits, and CSS is full of them: a widget's
38
+ * `z-index:2147483000` reads as (214) 748-3000. Text, `tel:` links and data
39
+ * attributes are left alone, since that is where real numbers live.
40
+ *
41
+ * @param html
42
+ * @returns The HTML without styling.
43
+ */
44
+ export declare function stripStyling(html: string): string;
@@ -5,6 +5,7 @@ exports.hasContactInfo = hasContactInfo;
5
5
  exports.hasEmail = hasEmail;
6
6
  exports.hasPhoneNumber = hasPhoneNumber;
7
7
  exports.extractContacts = extractContacts;
8
+ exports.stripStyling = stripStyling;
8
9
  const arachne_utils_1 = require("@xapp/arachne-utils");
9
10
  /**
10
11
  * Checks if the text has contact information.
@@ -59,4 +60,20 @@ function extractContacts(text) {
59
60
  const phoneNumbers = Array.from(new Set(phoneNumbersMatches)).filter((number) => !(0, arachne_utils_1.isHallucinatedPhoneNumber)(number));
60
61
  return { emails, phoneNumbers };
61
62
  }
63
+ /**
64
+ * Removes `<style>` blocks and inline `style` attributes from HTML before it
65
+ * is scanned for contacts.
66
+ *
67
+ * The phone regex is ten loose digits, and CSS is full of them: a widget's
68
+ * `z-index:2147483000` reads as (214) 748-3000. Text, `tel:` links and data
69
+ * attributes are left alone, since that is where real numbers live.
70
+ *
71
+ * @param html
72
+ * @returns The HTML without styling.
73
+ */
74
+ function stripStyling(html) {
75
+ return html
76
+ .replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, "")
77
+ .replace(/\s+style\s*=\s*("[^"]*"|'[^']*')/gi, "");
78
+ }
62
79
  //# sourceMappingURL=extractContacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractContacts.js","sourceRoot":"","sources":["../../src/utils/extractContacts.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAUlC,wCASC;AAQD,4BAEC;AAQD,wCAEC;AAQD,0CAsBC;AAnED,uDAAgE;AAEhE;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,uCAAuC;IAEvC,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACjC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IACxC,MAAM,UAAU,GAAG,sDAAsD,CAAC;IAC1E,MAAM,UAAU,GAAG,gCAAgC,CAAC;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEjD,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,WAAW;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC1E,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,yCAAyB,EAAC,KAAK,CAAC,CAAC,CAAC;IAE1D,oBAAoB;IACpB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEzD,kDAAkD;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,yCAAyB,EAAC,MAAM,CAAC,CACjD,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"extractContacts.js","sourceRoot":"","sources":["../../src/utils/extractContacts.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAUlC,wCASC;AAQD,4BAEC;AAQD,wCAEC;AAQD,0CAsBC;AAaD,oCAIC;AApFD,uDAAgE;AAEhE;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,uCAAuC;IAEvC,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACjC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IACxC,MAAM,UAAU,GAAG,sDAAsD,CAAC;IAC1E,MAAM,UAAU,GAAG,gCAAgC,CAAC;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEjD,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,WAAW;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC1E,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,yCAAyB,EAAC,KAAK,CAAC,CAAC,CAAC;IAE1D,oBAAoB;IACpB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEzD,kDAAkD;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,yCAAyB,EAAC,MAAM,CAAC,CACjD,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,IAAY;IACrC,OAAO,IAAI;SACN,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;SAChD,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xapp/arachne-web-service",
3
- "version": "1.30.1",
3
+ "version": "1.31.0",
4
4
  "types": "lib/index",
5
5
  "main": "lib/index",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "node": ">=18"
15
15
  },
16
16
  "devDependencies": {
17
- "@microsoft/api-extractor": "7.59.4",
17
+ "@microsoft/api-extractor": "7.60.0",
18
18
  "@sparticuz/chromium": "153.0.0",
19
19
  "@types/chai": "5.2.3",
20
20
  "@types/mocha": "10.0.10",