web_reader / build /services /serp /internal.js
Mohammad Shahid
Include pre-built files for HF deployment
f316cce
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.InternalJinaSerpService = void 0;
const tsyringe_1 = require("tsyringe");
const logger_1 = require("../logger");
const secrets_1 = require("../../shared/services/secrets");
const async_context_1 = require("../async-context");
const blackhole_detector_1 = require("../blackhole-detector");
const async_service_1 = require("civkit/async-service");
const internal_serp_1 = require("../../shared/3rd-party/internal-serp");
let InternalJinaSerpService = class InternalJinaSerpService extends async_service_1.AsyncService {
constructor(globalLogger, secretExposer, threadLocal, blackHoleDetector) {
super(...arguments);
this.globalLogger = globalLogger;
this.secretExposer = secretExposer;
this.threadLocal = threadLocal;
this.blackHoleDetector = blackHoleDetector;
this.logger = this.globalLogger.child({ service: this.constructor.name });
}
async init() {
await this.dependencyReady();
this.emit('ready');
this.client = new internal_serp_1.JinaSerpApiHTTP(this.secretExposer.JINA_SERP_API_KEY);
}
async doSearch(variant, query) {
this.logger.debug(`Doing external search`, query);
let results;
switch (variant) {
// case 'images': {
// const r = await this.client.imageSearch(query);
// results = r.parsed.images;
// break;
// }
// case 'news': {
// const r = await this.client.newsSearch(query);
// results = r.parsed.news;
// break;
// }
case 'web':
default: {
const r = await this.client.webSearch(query);
results = r.parsed.results?.map((x) => ({ ...x, link: x.url }));
break;
}
}
this.blackHoleDetector.itWorked();
return results;
}
async webSearch(query) {
return this.doSearch('web', query);
}
async imageSearch(query) {
return this.doSearch('images', query);
}
async newsSearch(query) {
return this.doSearch('news', query);
}
};
exports.InternalJinaSerpService = InternalJinaSerpService;
exports.InternalJinaSerpService = InternalJinaSerpService = __decorate([
(0, tsyringe_1.singleton)(),
__metadata("design:paramtypes", [logger_1.GlobalLogger,
secrets_1.SecretExposer,
async_context_1.AsyncLocalContext,
blackhole_detector_1.BlackHoleDetector])
], InternalJinaSerpService);
//# sourceMappingURL=internal.js.map