@xapp/arachne-web-service 1.18.6 → 1.20.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.
@@ -1,8 +1,8 @@
1
1
  import { ArachneRequest } from "@xapp/arachne";
2
- import { ContactForm, DetectorResult } from "@xapp/arachne-parsers";
2
+ import { ContactForm } from "@xapp/arachne-parsers";
3
3
  import type { Browser, ResourceType } from "puppeteer-core";
4
4
  import { DetectorConstructor } from "./contants";
5
- import { WebsiteSchema, WebsiteDescriptiveData, ScreenshotLocation, BusinessData } from "./models";
5
+ import { WebsiteSchema, WebsiteDescriptiveData, ScreenshotLocation, BusinessData, SourcedDetectorResult, SubpageDetectionOptions } from "./models";
6
6
  import { AgenticSignals } from "./utils/probeAgenticSignals";
7
7
  export interface ArachneAppGetInfoOptions {
8
8
  /**
@@ -62,6 +62,9 @@ export interface ArachneAppGetInfoOptions {
62
62
  * This can sometimes be different from what is found in JSON Schema data.
63
63
  *
64
64
  * The data is first analyzed to see if it possibly contains contact information before it is sent to OpenAI.
65
+ *
66
+ * The page is read on its own tab, so the detectors still inspect the homepage. A contact page that is
67
+ * off-site, does not load within `pageLoadTimeout`, errors, or redirects off-site is skipped.
65
68
  */
66
69
  preferContactUsPage?: boolean;
67
70
  /**
@@ -74,6 +77,20 @@ export interface ArachneAppGetInfoOptions {
74
77
  * The data is first analyzed to see if it possibly contains contact information before it is sent to OpenAI.
75
78
  */
76
79
  preferHeaderInfo?: boolean;
80
+ /**
81
+ * Reads the discovered About Us page through OpenAI for the founding year, ownership (family-owned,
82
+ * veteran-owned...), service areas, team size and licences, into `business`.
83
+ *
84
+ * Adds one navigation and one OpenAI call, so it is off by default. Requires `openAIKey`. Only fills
85
+ * fields that are still empty, and drops anything the page does not state. The visit counts against
86
+ * `pageHandlerTimeout`; a page that fails to load is skipped.
87
+ */
88
+ readAboutUsPage?: boolean;
89
+ /**
90
+ * Adds `site.pages.serviceSlugs`, the services named in the sitemap URLs such as "water-heater-repair" from
91
+ * /services/water-heater-repair. No page is loaded. Off by default.
92
+ */
93
+ serviceSlugsFromSitemap?: boolean;
77
94
  };
78
95
  /**
79
96
  * Resource types to block at the network layer before they are loaded by the
@@ -133,6 +150,18 @@ export interface ArachneAppGetInfoOptions {
133
150
  * failure never fails the crawl.
134
151
  */
135
152
  probeAgenticSignals?: boolean;
153
+ /**
154
+ * Runs the detectors on discovered subpages as well as the homepage, e.g. a booking page carrying a scheduler
155
+ * embed the homepage only links to.
156
+ *
157
+ * Off when absent or when `pages` is empty: the detectors then run once, on the homepage, exactly as before.
158
+ *
159
+ * When on, every entry in `detectedTechnologies` gets a `source` naming the page it came from, and a technology
160
+ * found on several pages is listed once with its first source. Only same-site pages are visited, one per page
161
+ * type, capped by `maxPages`. Visits happen after the homepage detectors, count against `pageHandlerTimeout`,
162
+ * and a page that times out, errors or 404s is skipped without failing the crawl.
163
+ */
164
+ subpageDetection?: SubpageDetectionOptions;
136
165
  }
137
166
  export type Builder<T> = (opts: ArachneAppGetInfoOptions) => Promise<T>;
138
167
  export interface WebsiteData {
@@ -147,7 +176,7 @@ export interface WebsiteData {
147
176
  /**
148
177
  * A list of detected technologies
149
178
  */
150
- detectedTechnologies: DetectorResult[];
179
+ detectedTechnologies: SourcedDetectorResult[];
151
180
  /**
152
181
  * Information related to the organization
153
182
  */
@@ -75,6 +75,7 @@ function getChromium() {
75
75
  const node_vibrant_1 = __importDefault(require("node-vibrant"));
76
76
  const contants_1 = require("./contants");
77
77
  const GenerativeAIService_1 = require("./GenerativeAIService");
78
+ const aboutUs_1 = require("./utils/aboutUs");
78
79
  const findBestFaviconURL_1 = require("./utils/findBestFaviconURL");
79
80
  const image_1 = require("./utils/image");
80
81
  const isLambda_1 = require("./utils/isLambda");
@@ -86,6 +87,7 @@ const getBusinessCategoryFromSchema_1 = require("./utils/getBusinessCategoryFrom
86
87
  const extractContacts_1 = require("./utils/extractContacts");
87
88
  const extractPageLinks_1 = require("./utils/extractPageLinks");
88
89
  const pagePatterns_1 = require("./utils/pagePatterns");
90
+ const subpageDetection_1 = require("./utils/subpageDetection");
89
91
  const defaultBrowserBuilder = () => __awaiter(void 0, void 0, void 0, function* () {
90
92
  var _a, _b;
91
93
  (0, stentor_logger_1.log)().debug(`Launching puppeteer with @sparticuz/chromium provided puppeteer...`);
@@ -118,6 +120,7 @@ class ArachneWebService {
118
120
  */
119
121
  getWebsiteData(url_1) {
120
122
  return __awaiter(this, arguments, void 0, function* (url, options = {}, callbacks) {
123
+ var _a;
121
124
  // Setup initial data structures, these will be populated as we gather more information
122
125
  const site = {};
123
126
  const detectedTechnologies = [];
@@ -141,7 +144,9 @@ class ArachneWebService {
141
144
  })
142
145
  : Promise.resolve(undefined);
143
146
  // first get the sitemap
144
- const siteMapData = yield (0, getSiteMap_1.getSiteMapData)(url);
147
+ const siteMapData = yield (0, getSiteMap_1.getSiteMapData)(url, {
148
+ serviceSlugs: ((_a = options.dataOptions) === null || _a === void 0 ? void 0 : _a.serviceSlugsFromSitemap) === true,
149
+ });
145
150
  if (siteMapData) {
146
151
  site.pages = Object.assign({}, siteMapData);
147
152
  }
@@ -202,7 +207,7 @@ class ArachneWebService {
202
207
  maxRetries: options.maxRetries,
203
208
  pageLoadTimeout: options.pageLoadTimeout,
204
209
  pageHandler: (page, request) => __awaiter(this, void 0, void 0, function* () {
205
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
210
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
206
211
  const handlerStart = Date.now();
207
212
  const title = yield page.title();
208
213
  const u = new URL(url);
@@ -445,6 +450,18 @@ class ArachneWebService {
445
450
  screenshots,
446
451
  forms,
447
452
  }, "AFTER_COLORS");
453
+ // Other pages (contact us, subpages, about us) are visited on separate tabs, never on `page`: the
454
+ // homepage detectors inspect `page`, and a detector that outlived its budget may still be evaluating
455
+ // it, so it must stay on the homepage. Each visit opens its own tab, so an abandoned navigation is
456
+ // cancelled by closing its tab.
457
+ const openSubpageTab = () => __awaiter(this, void 0, void 0, function* () {
458
+ const tab = yield page.browser().newPage();
459
+ // same setup as the crawler's own pages; viewport and stealth come from the browser
460
+ if (pageSetup) {
461
+ yield pageSetup(tab);
462
+ }
463
+ return tab;
464
+ });
448
465
  let aiData = undefined;
449
466
  const { openAIKey } = options;
450
467
  // Use OpenAI to determine Call To Action
@@ -475,36 +492,65 @@ class ArachneWebService {
475
492
  if (((_c = options === null || options === void 0 ? void 0 : options.dataOptions) === null || _c === void 0 ? void 0 : _c.preferContactUsPage) && ((_d = site.pages) === null || _d === void 0 ? void 0 : _d.contactUs)) {
476
493
  (0, stentor_logger_1.log)().info(`Using Contact Us page for data.`);
477
494
  const contactUsPageUrl = site.pages.contactUs;
478
- yield page.goto(contactUsPageUrl);
479
- const contactUsHTML = yield page.content();
480
- const contactUsMarkdown = new arachne_parsers_1.ArachneHTMLtoText({
481
- stripTags: [...arachne_parsers_1.DEFAULT_STRIP_TAGS, "head", "img", "iframe", "style"],
482
- stripSelectors: arachne_parsers_1.DEFAULT_STRIP_SELECTORS,
483
- }).convert(contactUsHTML, true);
484
- if ((0, extractContacts_1.hasContactInfo)(contactUsMarkdown)) {
485
- const extractedContacts = (0, extractContacts_1.extractContacts)(contactUsMarkdown);
486
- const contactUsData = yield genService.getWebsiteAI(contactUsMarkdown, {
487
- url: contactUsPageUrl,
488
- });
489
- const contactEmail = (_e = contactUsData === null || contactUsData === void 0 ? void 0 : contactUsData.email) === null || _e === void 0 ? void 0 : _e.filter((e) => e.email.length > 0);
490
- const contactPhoneNumbers = (_f = contactUsData === null || contactUsData === void 0 ? void 0 : contactUsData.phone_numbers) === null || _f === void 0 ? void 0 : _f.filter((p) => p.number.length > 0);
491
- if ((0, stentor_utils_1.existsAndNotEmpty)(contactPhoneNumbers) && aiData) {
492
- (0, stentor_logger_1.log)().info(`Updating with contact us phone numbers.\n${JSON.stringify(contactPhoneNumbers)}`);
493
- aiData.phone_numbers = contactPhoneNumbers;
494
- }
495
- else if (extractedContacts.phoneNumbers.length > 0) {
496
- business.phoneNumbers = extractedContacts.phoneNumbers.map((p) => ({ number: p }));
495
+ // Its own tab, so `page` stays on the homepage for the detectors below; the contact page's
496
+ // GenerativeAIService gets this tab too, as it may reload the page it reads.
497
+ const contactUsTab = (0, subpageDetection_1.createLazyTab)(openSubpageTab);
498
+ const pageLoadTimeout = typeof options.pageLoadTimeout === "number"
499
+ ? options.pageLoadTimeout
500
+ : arachne_1.DEFAULT_MAX_PAGE_LOAD_DURATION;
501
+ // bounded by the handler budget, keeping the 5s cleanup reserve
502
+ const contactUsTimeoutMs = Math.max(subpageDetection_1.MIN_SUBPAGE_BUDGET_MS, Math.min(pageLoadTimeout, handlerStart + pageHandlerTimeout - 5000 - Date.now()));
503
+ try {
504
+ let contactUsPage;
505
+ let contactUsHTML;
506
+ try {
507
+ // opened by openSubpageTab, so a puppeteer page
508
+ contactUsPage = (yield contactUsTab.get());
509
+ contactUsHTML = yield (0, subpageDetection_1.loadSameSitePage)(contactUsPage, contactUsPageUrl, url, contactUsTimeoutMs);
497
510
  }
498
- if ((0, stentor_utils_1.existsAndNotEmpty)(contactEmail) && aiData) {
499
- (0, stentor_logger_1.log)().info(`Updating with contact us emails.\n${JSON.stringify(contactEmail)}`);
500
- aiData.email = contactEmail;
511
+ catch (e) {
512
+ const reason = e instanceof Error ? e.message : e;
513
+ (0, stentor_logger_1.log)().warn(`Could not read Contact Us page ${contactUsPageUrl}: ${reason}`);
501
514
  }
502
- else if (extractedContacts.emails.length > 0) {
503
- business.email = extractedContacts.emails.map((e) => ({ email: e }));
515
+ if (contactUsPage && contactUsHTML !== undefined) {
516
+ const contactUsMarkdown = new arachne_parsers_1.ArachneHTMLtoText({
517
+ stripTags: [...arachne_parsers_1.DEFAULT_STRIP_TAGS, "head", "img", "iframe", "style"],
518
+ stripSelectors: arachne_parsers_1.DEFAULT_STRIP_SELECTORS,
519
+ }).convert(contactUsHTML, true);
520
+ if ((0, extractContacts_1.hasContactInfo)(contactUsMarkdown)) {
521
+ const extractedContacts = (0, extractContacts_1.extractContacts)(contactUsMarkdown);
522
+ const contactUsData = yield new GenerativeAIService_1.GenerativeAIService({
523
+ key: openAIKey,
524
+ page: contactUsPage,
525
+ }).getWebsiteAI(contactUsMarkdown, {
526
+ url: contactUsPageUrl,
527
+ });
528
+ const contactEmail = (_e = contactUsData === null || contactUsData === void 0 ? void 0 : contactUsData.email) === null || _e === void 0 ? void 0 : _e.filter((e) => e.email.length > 0);
529
+ const contactPhoneNumbers = (_f = contactUsData === null || contactUsData === void 0 ? void 0 : contactUsData.phone_numbers) === null || _f === void 0 ? void 0 : _f.filter((p) => p.number.length > 0);
530
+ if ((0, stentor_utils_1.existsAndNotEmpty)(contactPhoneNumbers) && aiData) {
531
+ (0, stentor_logger_1.log)().info(`Updating with contact us phone numbers.\n${JSON.stringify(contactPhoneNumbers)}`);
532
+ aiData.phone_numbers = contactPhoneNumbers;
533
+ }
534
+ else if (extractedContacts.phoneNumbers.length > 0) {
535
+ business.phoneNumbers = extractedContacts.phoneNumbers.map((p) => ({
536
+ number: p,
537
+ }));
538
+ }
539
+ if ((0, stentor_utils_1.existsAndNotEmpty)(contactEmail) && aiData) {
540
+ (0, stentor_logger_1.log)().info(`Updating with contact us emails.\n${JSON.stringify(contactEmail)}`);
541
+ aiData.email = contactEmail;
542
+ }
543
+ else if (extractedContacts.emails.length > 0) {
544
+ business.email = extractedContacts.emails.map((e) => ({ email: e }));
545
+ }
546
+ }
547
+ else {
548
+ (0, stentor_logger_1.log)().info(`No detected contact information in the Contact Us page`);
549
+ }
504
550
  }
505
551
  }
506
- else {
507
- (0, stentor_logger_1.log)().info(`No detected contact information in the Contact Us page`);
552
+ finally {
553
+ yield contactUsTab.close();
508
554
  }
509
555
  }
510
556
  if ((_g = options === null || options === void 0 ? void 0 : options.dataOptions) === null || _g === void 0 ? void 0 : _g.preferHeaderInfo) {
@@ -644,52 +690,107 @@ class ArachneWebService {
644
690
  else {
645
691
  (0, stentor_logger_1.log)().debug(`Detector chain budget: ${detectorBudgetMs}ms (${elapsed}ms elapsed, ${remaining}ms remaining of ${pageHandlerTimeout}ms handler timeout)`);
646
692
  }
647
- yield (0, arachne_1.promiseWithTimeout)(detectorBudgetMs, () => __awaiter(this, void 0, void 0, function* () {
648
- // go through and detect each
649
- for (const detector of detectors) {
650
- try {
651
- if (process.env.DEBUG_DETECTORS === "true") {
652
- (0, stentor_logger_1.log)().info(`Running detector ${detector.name}...`);
653
- }
654
- // monitor the time of each detector
655
- const start = Date.now();
656
- const detectorResult = yield new detector(html, page).detect();
657
- // if one takes more than 500ms we log debug, 600ms we warn
658
- const end = Date.now();
659
- const duration = end - start;
660
- if (process.env.DEBUG_DETECTORS === "true") {
661
- (0, stentor_logger_1.log)().info(`Detector ${detector.name} took ${duration}ms to run.`);
662
- const installed = detectorResult.filter((d) => d.installed);
663
- const installedTechnologies = installed.map((d) => d.technology).join(", ");
664
- (0, stentor_logger_1.log)().info(`Detector ${detector.name} found ${installed.length} installed items. ${installedTechnologies}`);
665
- }
666
- if (duration > 500) {
667
- (0, stentor_logger_1.log)().debug(`Detector ${detector.name} took ${duration}ms to run.`);
668
- }
669
- if (duration > 600) {
670
- (0, stentor_logger_1.log)().warn(`Detector ${detector.name} took ${duration}ms to run.`);
671
- }
672
- detectedTechnologies.push(...detectorResult);
673
- }
674
- catch (e) {
675
- (0, stentor_logger_1.log)().error(`Error detecting technology ${detector.name}`);
676
- console.error(e);
677
- }
693
+ const subpageDetection = (0, subpageDetection_1.isSubpageDetectionEnabled)(options.subpageDetection);
694
+ const homepageSource = { pageType: "homepage", url };
695
+ // Closed once the chain finishes or times out: a detector that resolves after that
696
+ // was not counted, so its results are dropped rather than pushed late.
697
+ let homepageChainOpen = true;
698
+ yield (0, arachne_1.promiseWithTimeout)(detectorBudgetMs, () => (0, contants_1.runDetectorChain)(detectors, html, page, (results) => {
699
+ if (!homepageChainOpen) {
700
+ (0, stentor_logger_1.log)().warn(`Dropping ${results.length} late detector result(s) that finished after the homepage detector chain timed out: ${results
701
+ .map((r) => r.technology)
702
+ .join(", ")}`);
703
+ return;
704
+ }
705
+ if (subpageDetection) {
706
+ detectedTechnologies.push(...results.map((r) => (Object.assign(Object.assign({}, r), { source: homepageSource }))));
678
707
  }
679
- }), `Detector chain exceeded remaining handler budget of ${detectorBudgetMs}ms`).catch((e) => {
708
+ else {
709
+ detectedTechnologies.push(...results);
710
+ }
711
+ }), `Detector chain exceeded remaining handler budget of ${detectorBudgetMs}ms`)
712
+ .catch((e) => {
680
713
  (0, stentor_logger_1.log)().warn(`Detector chain timed out: ${e.message}`);
681
714
  // Note: The detector loop may continue running in the background after
682
715
  // this timeout. Detectors using the page will fail with "Target closed"
683
716
  // when Arachne closes the page. Pure HTML detectors may complete, but
684
- // their late results are effectively ignored since we've moved on.
717
+ // their late results are dropped by the closed sink below.
685
718
  // The detectedTechnologies array contains partial results from detectors
686
719
  // that completed before the timeout.
720
+ })
721
+ .finally(() => {
722
+ homepageChainOpen = false;
687
723
  });
688
724
  const godaddyParked = detectedTechnologies.find((d) => d.technology === arachne_parsers_1.GODADDY_PARKED_DOMAIN);
689
725
  if (godaddyParked === null || godaddyParked === void 0 ? void 0 : godaddyParked.installed) {
690
726
  // little override here, in case we find the parked domain
691
727
  site.parkedDomain = true;
692
728
  }
729
+ // Subpages share whatever is left of the handler budget, keeping the same 5s cleanup reserve.
730
+ const subpageDeadline = handlerStart + pageHandlerTimeout - 5000;
731
+ const subpageTimeoutMs = typeof ((_m = options.subpageDetection) === null || _m === void 0 ? void 0 : _m.pageTimeoutMs) === "number" &&
732
+ options.subpageDetection.pageTimeoutMs > 0
733
+ ? options.subpageDetection.pageTimeoutMs
734
+ : subpageDetection_1.DEFAULT_SUBPAGE_TIMEOUT_MS;
735
+ const subpageHtml = new Map();
736
+ const subpageTargets = site.parkedDomain
737
+ ? []
738
+ : (0, subpageDetection_1.resolveSubpageTargets)(site.pages, url, options.subpageDetection);
739
+ if (subpageTargets.length > 0) {
740
+ (0, stentor_logger_1.log)().info(`Detecting technologies on ${subpageTargets.length} subpage(s): ${subpageTargets
741
+ .map((t) => t.pageType)
742
+ .join(", ")}`);
743
+ yield (0, subpageDetection_1.detectOnSubpages)({
744
+ openTab: openSubpageTab,
745
+ homepageUrl: url,
746
+ targets: subpageTargets,
747
+ detectors,
748
+ detectedTechnologies,
749
+ pageTimeoutMs: subpageTimeoutMs,
750
+ deadline: subpageDeadline,
751
+ onPageContent: (target, pageHtml) => subpageHtml.set(target.url, pageHtml),
752
+ });
753
+ }
754
+ if (((_o = options.dataOptions) === null || _o === void 0 ? void 0 : _o.readAboutUsPage) && !site.parkedDomain) {
755
+ const aboutUsUrl = (_p = site.pages) === null || _p === void 0 ? void 0 : _p.aboutUs;
756
+ const remaining = subpageDeadline - Date.now();
757
+ if (!openAIKey) {
758
+ (0, stentor_logger_1.log)().info(`readAboutUsPage requires openAIKey, not reading the About Us page.`);
759
+ }
760
+ else if (!aboutUsUrl) {
761
+ (0, stentor_logger_1.log)().info(`No About Us page discovered to read.`);
762
+ }
763
+ else if (!(0, subpageDetection_1.isSameSite)(aboutUsUrl, url)) {
764
+ (0, stentor_logger_1.log)().info(`Not reading off-site About Us page ${aboutUsUrl}`);
765
+ }
766
+ else if (remaining < subpageDetection_1.MIN_SUBPAGE_BUDGET_MS) {
767
+ (0, stentor_logger_1.log)().info(`Not reading About Us page ${aboutUsUrl}, handler budget exhausted.`);
768
+ }
769
+ else {
770
+ // its own tab, never one a subpage visit used
771
+ const aboutUsTab = (0, subpageDetection_1.createLazyTab)(openSubpageTab);
772
+ try {
773
+ const aboutUsData = yield (0, arachne_1.promiseWithTimeout)(remaining, () => __awaiter(this, void 0, void 0, function* () {
774
+ var _a;
775
+ const aboutUsHTML = (_a = subpageHtml.get(aboutUsUrl)) !== null && _a !== void 0 ? _a : (yield (0, subpageDetection_1.loadSameSitePage)(yield aboutUsTab.get(), aboutUsUrl, url, Math.min(subpageTimeoutMs, remaining)));
776
+ const aboutUsMarkdown = new arachne_parsers_1.ArachneHTMLtoText({
777
+ stripTags: [...arachne_parsers_1.DEFAULT_STRIP_TAGS, "head", "img", "iframe", "style"],
778
+ stripSelectors: arachne_parsers_1.DEFAULT_STRIP_SELECTORS,
779
+ }).convert(aboutUsHTML, true);
780
+ return new GenerativeAIService_1.GenerativeAIService({ key: openAIKey, page }).getAboutUsAI(aboutUsMarkdown, aboutUsUrl);
781
+ }), `Reading the About Us page exceeded remaining handler budget of ${remaining}ms`);
782
+ if (aboutUsData) {
783
+ (0, aboutUs_1.mergeAboutUsData)(business, aboutUsData);
784
+ }
785
+ }
786
+ catch (e) {
787
+ (0, stentor_logger_1.log)().warn(`Could not read About Us page ${aboutUsUrl}: ${e instanceof Error ? e.message : e}`);
788
+ }
789
+ finally {
790
+ yield aboutUsTab.close();
791
+ }
792
+ }
793
+ }
693
794
  /**
694
795
  * PARTIAL DATA AVAILABLE
695
796
  *
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  /*! Copyright (c) 2024, XAPP AI */
2
2
  import { ArachnePage } from "@xapp/arachne";
3
3
  import { BusinessAddress, BusinessCategory, BusinessLicense, WebsiteDescriptiveData, WebsiteSchema } from "./models";
4
+ import { AboutUsData } from "./utils/aboutUs";
4
5
  export interface WebsiteAI {
5
6
  organization_name?: string;
6
7
  parked_domain?: boolean;
@@ -35,4 +36,20 @@ export declare class GenerativeAIService {
35
36
  page: ArachnePage;
36
37
  });
37
38
  getWebsiteAI(markdown: string, data: WebsiteAIData): Promise<WebsiteAI | undefined>;
39
+ /**
40
+ * Reads an about-us page for founding year, ownership, service areas, team size and licences.
41
+ *
42
+ * Adds one OpenAI call. Values the page does not state are dropped, see `sanitizeAboutUsAI()`.
43
+ *
44
+ * @param markdown The about-us page as markdown
45
+ * @param url URL of the about-us page
46
+ * @returns The data found, or undefined when the call fails or the page is empty or too long
47
+ */
48
+ getAboutUsAI(markdown: string, url: string): Promise<AboutUsData | undefined>;
49
+ /**
50
+ * Sends a prompt to OpenAI and parses the JSON answer.
51
+ *
52
+ * @returns The parsed answer, or undefined when the call fails or the answer is not JSON
53
+ */
54
+ private complete;
38
55
  }