@carlonicora/nestjs-neo4jsonapi 1.98.0 → 1.100.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.
- package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
- package/dist/bootstrap/app.module.factory.js +14 -5
- package/dist/bootstrap/app.module.factory.js.map +1 -1
- package/dist/bootstrap/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap/bootstrap.js +31 -7
- package/dist/bootstrap/bootstrap.js.map +1 -1
- package/dist/bootstrap/bootstrap.options.d.ts +52 -0
- package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
- package/dist/common/filters/http-exception.filter.d.ts.map +1 -1
- package/dist/common/filters/http-exception.filter.js +9 -0
- package/dist/common/filters/http-exception.filter.js.map +1 -1
- package/dist/common/filters/index.d.ts +1 -0
- package/dist/common/filters/index.d.ts.map +1 -1
- package/dist/common/filters/index.js +1 -0
- package/dist/common/filters/index.js.map +1 -1
- package/dist/common/filters/throttler-exception.filter.d.ts +10 -0
- package/dist/common/filters/throttler-exception.filter.d.ts.map +1 -0
- package/dist/common/filters/throttler-exception.filter.js +34 -0
- package/dist/common/filters/throttler-exception.filter.js.map +1 -0
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +29 -0
- package/dist/config/base.config.js.map +1 -1
- package/dist/config/interfaces/config.ai.interface.d.ts +67 -0
- package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
- package/dist/core/core.module.d.ts +10 -1
- package/dist/core/core.module.d.ts.map +1 -1
- package/dist/core/core.module.js +5 -4
- package/dist/core/core.module.js.map +1 -1
- package/dist/core/email/services/email.service.d.ts +12 -3
- package/dist/core/email/services/email.service.d.ts.map +1 -1
- package/dist/core/email/services/email.service.js +67 -32
- package/dist/core/email/services/email.service.js.map +1 -1
- package/dist/core/jsonapi/services/jsonapi.service.d.ts +1 -1
- package/dist/core/jsonapi/services/jsonapi.service.d.ts.map +1 -1
- package/dist/core/jsonapi/services/jsonapi.service.js +3 -3
- package/dist/core/jsonapi/services/jsonapi.service.js.map +1 -1
- package/dist/core/llm/index.d.ts +4 -0
- package/dist/core/llm/index.d.ts.map +1 -1
- package/dist/core/llm/index.js +4 -0
- package/dist/core/llm/index.js.map +1 -1
- package/dist/core/llm/llm.module.d.ts.map +1 -1
- package/dist/core/llm/llm.module.js +8 -1
- package/dist/core/llm/llm.module.js.map +1 -1
- package/dist/core/llm/services/document-ai.service.d.ts +35 -0
- package/dist/core/llm/services/document-ai.service.d.ts.map +1 -0
- package/dist/core/llm/services/document-ai.service.js +100 -0
- package/dist/core/llm/services/document-ai.service.js.map +1 -0
- package/dist/core/llm/services/embedder-token-bucket.service.d.ts +29 -0
- package/dist/core/llm/services/embedder-token-bucket.service.d.ts.map +1 -0
- package/dist/core/llm/services/embedder-token-bucket.service.js +127 -0
- package/dist/core/llm/services/embedder-token-bucket.service.js.map +1 -0
- package/dist/core/llm/services/llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm.service.js +8 -0
- package/dist/core/llm/services/llm.service.js.map +1 -1
- package/dist/core/llm/services/model.service.d.ts +42 -2
- package/dist/core/llm/services/model.service.d.ts.map +1 -1
- package/dist/core/llm/services/model.service.js +108 -3
- package/dist/core/llm/services/model.service.js.map +1 -1
- package/dist/core/llm/services/rate-limited-embedder.d.ts +31 -0
- package/dist/core/llm/services/rate-limited-embedder.d.ts.map +1 -0
- package/dist/core/llm/services/rate-limited-embedder.js +194 -0
- package/dist/core/llm/services/rate-limited-embedder.js.map +1 -0
- package/dist/core/llm/services/vision.llm.service.d.ts +16 -0
- package/dist/core/llm/services/vision.llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/vision.llm.service.js +46 -5
- package/dist/core/llm/services/vision.llm.service.js.map +1 -1
- package/dist/core/llm/utils/mock-from-zod.d.ts +3 -0
- package/dist/core/llm/utils/mock-from-zod.d.ts.map +1 -0
- package/dist/core/llm/utils/mock-from-zod.js +47 -0
- package/dist/core/llm/utils/mock-from-zod.js.map +1 -0
- package/dist/core/neo4j/services/neo4j.service.d.ts +3 -1
- package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.js +16 -8
- package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
- package/dist/core/redis/services/redis.client.storage.service.d.ts +14 -0
- package/dist/core/redis/services/redis.client.storage.service.d.ts.map +1 -1
- package/dist/core/redis/services/redis.client.storage.service.js +28 -0
- package/dist/core/redis/services/redis.client.storage.service.js.map +1 -1
- package/dist/core/security/security.module.d.ts +12 -0
- package/dist/core/security/security.module.d.ts.map +1 -1
- package/dist/core/security/security.module.js +20 -2
- package/dist/core/security/security.module.js.map +1 -1
- package/dist/core/websocket/services/presence.service.d.ts +3 -1
- package/dist/core/websocket/services/presence.service.d.ts.map +1 -1
- package/dist/core/websocket/services/presence.service.js +14 -11
- package/dist/core/websocket/services/presence.service.js.map +1 -1
- package/dist/core/websocket/services/websocket.service.d.ts +9 -5
- package/dist/core/websocket/services/websocket.service.d.ts.map +1 -1
- package/dist/core/websocket/services/websocket.service.js +12 -4
- package/dist/core/websocket/services/websocket.service.js.map +1 -1
- package/dist/foundations/chunk/entities/chunk.entity.d.ts +1 -0
- package/dist/foundations/chunk/entities/chunk.entity.d.ts.map +1 -1
- package/dist/foundations/chunk/entities/chunk.entity.js +1 -0
- package/dist/foundations/chunk/entities/chunk.entity.js.map +1 -1
- package/dist/foundations/chunker/chunker.module.d.ts.map +1 -1
- package/dist/foundations/chunker/chunker.module.js +3 -1
- package/dist/foundations/chunker/chunker.module.js.map +1 -1
- package/dist/foundations/chunker/index.d.ts +1 -0
- package/dist/foundations/chunker/index.d.ts.map +1 -1
- package/dist/foundations/chunker/index.js +1 -0
- package/dist/foundations/chunker/index.js.map +1 -1
- package/dist/foundations/chunker/services/chunker.service.d.ts +6 -1
- package/dist/foundations/chunker/services/chunker.service.d.ts.map +1 -1
- package/dist/foundations/chunker/services/chunker.service.js +123 -1
- package/dist/foundations/chunker/services/chunker.service.js.map +1 -1
- package/dist/foundations/chunker/services/types/email.service.d.ts +35 -0
- package/dist/foundations/chunker/services/types/email.service.d.ts.map +1 -0
- package/dist/foundations/chunker/services/types/email.service.js +124 -0
- package/dist/foundations/chunker/services/types/email.service.js.map +1 -0
- package/dist/foundations/foundations.modules.d.ts +6 -1
- package/dist/foundations/foundations.modules.d.ts.map +1 -1
- package/dist/foundations/foundations.modules.js +4 -6
- package/dist/foundations/foundations.modules.js.map +1 -1
- package/dist/foundations/s3/services/s3.service.d.ts +83 -0
- package/dist/foundations/s3/services/s3.service.d.ts.map +1 -1
- package/dist/foundations/s3/services/s3.service.js +267 -0
- package/dist/foundations/s3/services/s3.service.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.ai.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.ai.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,EAAE,EAAE,YAAY,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mEAAmE;QACnE,uBAAuB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.ai.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.ai.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DynamicModule } from "@nestjs/common";
|
|
1
|
+
import { DynamicModule, Type } from "@nestjs/common";
|
|
2
|
+
import { SecurityService } from "./security/services/security.service";
|
|
2
3
|
/**
|
|
3
4
|
* Options for CoreModule.forRoot()
|
|
4
5
|
*/
|
|
@@ -9,6 +10,14 @@ export interface CoreModuleOptions {
|
|
|
9
10
|
* Pass additional queue IDs here for app-specific queues.
|
|
10
11
|
*/
|
|
11
12
|
queueIds?: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Optional custom SecurityService subclass.
|
|
15
|
+
* When provided, the DI token SecurityService resolves to this subclass.
|
|
16
|
+
* Default undefined keeps the base SecurityService (neural-erp behavior unchanged).
|
|
17
|
+
*/
|
|
18
|
+
securityService?: Type<SecurityService>;
|
|
19
|
+
/** Set false to skip the library migrator (app provides its own). Default true. */
|
|
20
|
+
migrator?: boolean;
|
|
12
21
|
}
|
|
13
22
|
/**
|
|
14
23
|
* CoreModule - Centralized module that provides all core infrastructure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAuB/E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA4FvE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAEa,UAAU;IACrB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,aAAa;CAW3D"}
|
package/dist/core/core.module.js
CHANGED
|
@@ -46,8 +46,9 @@ const websocket_module_1 = require("./websocket/websocket.module");
|
|
|
46
46
|
* - Worker mode needs it to process jobs
|
|
47
47
|
*
|
|
48
48
|
* @param queueIds - Additional queue IDs to register (library's CHUNK queue is always included)
|
|
49
|
+
* @param securityService - Optional custom SecurityService subclass (see SecurityModule.forRoot)
|
|
49
50
|
*/
|
|
50
|
-
function getCoreModules(queueIds = []) {
|
|
51
|
+
function getCoreModules(queueIds = [], securityService, includeMigrator = true) {
|
|
51
52
|
return [
|
|
52
53
|
// Discovery module - required by EntityServiceRegistry to enumerate providers
|
|
53
54
|
core_1.DiscoveryModule,
|
|
@@ -65,7 +66,7 @@ function getCoreModules(queueIds = []) {
|
|
|
65
66
|
}),
|
|
66
67
|
passport_1.PassportModule,
|
|
67
68
|
// 1. Config-dependent but no external connections
|
|
68
|
-
security_module_1.SecurityModule,
|
|
69
|
+
security_module_1.SecurityModule.forRoot(securityService),
|
|
69
70
|
cors_module_1.CorsModule.forRoot(),
|
|
70
71
|
version_module_1.VersionModule.forRoot(),
|
|
71
72
|
logging_module_1.LoggingModule,
|
|
@@ -85,7 +86,7 @@ function getCoreModules(queueIds = []) {
|
|
|
85
86
|
websocket_module_1.WebsocketModule,
|
|
86
87
|
llm_module_1.LLMModule,
|
|
87
88
|
blocknote_module_1.BlockNoteModule,
|
|
88
|
-
migrator_module_1.MigratorModule,
|
|
89
|
+
...(includeMigrator ? [migrator_module_1.MigratorModule] : []),
|
|
89
90
|
version_module_1.VersionModule,
|
|
90
91
|
];
|
|
91
92
|
}
|
|
@@ -141,7 +142,7 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
141
142
|
const providers = [entity_service_registry_1.EntityServiceRegistry];
|
|
142
143
|
return {
|
|
143
144
|
module: CoreModule_1,
|
|
144
|
-
imports: getCoreModules(options?.queueIds ?? []),
|
|
145
|
+
imports: getCoreModules(options?.queueIds ?? [], options?.securityService, options?.migrator ?? true),
|
|
145
146
|
providers,
|
|
146
147
|
exports: [...getCoreModuleExports(), entity_service_registry_1.EntityServiceRegistry],
|
|
147
148
|
global: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
+
import { ConfigService } from "@nestjs/config";
|
|
2
|
+
import { BaseConfigInterface } from "../../../config/interfaces/base.config.interface";
|
|
3
|
+
import { AppLoggingService } from "../../logging/services/logging.service";
|
|
4
|
+
export interface EmailAttachment {
|
|
5
|
+
filename: string;
|
|
6
|
+
content: Buffer;
|
|
7
|
+
contentType: string;
|
|
8
|
+
}
|
|
1
9
|
export interface EmailParams {
|
|
2
10
|
to: string | string[];
|
|
3
11
|
subject?: string;
|
|
12
|
+
attachments?: EmailAttachment[];
|
|
4
13
|
[key: string]: any;
|
|
5
14
|
}
|
|
6
15
|
export declare class EmailService {
|
|
16
|
+
private readonly config;
|
|
17
|
+
private readonly logger;
|
|
7
18
|
private templateBasePath;
|
|
8
19
|
private libraryTemplateBasePath;
|
|
9
|
-
|
|
10
|
-
private readonly appConfig;
|
|
11
|
-
constructor();
|
|
20
|
+
constructor(config: ConfigService<BaseConfigInterface>, logger: AppLoggingService);
|
|
12
21
|
private loadTemplate;
|
|
13
22
|
sendEmail(templateId: string, emailParams: EmailParams, locale: string): Promise<void>;
|
|
14
23
|
private sendEmailWithBrevo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../../../src/core/email/services/email.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../../../src/core/email/services/email.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAGvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAG3E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAOD,qBACa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAS;gBAGrB,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,MAAM,EAAE,iBAAiB;IA+B5C,OAAO,CAAC,YAAY;IA0Cd,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAuC9E,kBAAkB;YAuBlB,qBAAqB;IAuCnC,OAAO,CAAC,0BAA0B;YA0BpB,iBAAiB;CAwChC"}
|
|
@@ -44,22 +44,25 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
exports.EmailService = void 0;
|
|
46
46
|
const common_1 = require("@nestjs/common");
|
|
47
|
+
const config_1 = require("@nestjs/config");
|
|
47
48
|
const fs = __importStar(require("fs"));
|
|
48
49
|
const Handlebars = __importStar(require("handlebars"));
|
|
49
50
|
const nodemailer = __importStar(require("nodemailer"));
|
|
50
51
|
const path_1 = require("path");
|
|
51
|
-
const
|
|
52
|
+
const logging_service_1 = require("../../logging/services/logging.service");
|
|
52
53
|
const sendGridMail = require("@sendgrid/mail");
|
|
53
54
|
let EmailService = class EmailService {
|
|
54
|
-
constructor() {
|
|
55
|
-
this.
|
|
56
|
-
this.
|
|
55
|
+
constructor(config, logger) {
|
|
56
|
+
this.config = config;
|
|
57
|
+
this.logger = logger;
|
|
57
58
|
// App templates (overrides)
|
|
58
59
|
this.templateBasePath = (0, path_1.join)(process.cwd(), "templates", "email");
|
|
59
60
|
// Library templates (defaults)
|
|
60
61
|
this.libraryTemplateBasePath = (0, path_1.join)(__dirname, "../templates");
|
|
61
62
|
// Register eq helper for template conditionals
|
|
62
63
|
Handlebars.registerHelper("eq", (a, b) => a === b);
|
|
64
|
+
// Register concat helper for templates (last arg is Handlebars options)
|
|
65
|
+
Handlebars.registerHelper("concat", (...args) => args.slice(0, -1).join(""));
|
|
63
66
|
const headerPath = (0, path_1.join)(this.templateBasePath, "header.hbs");
|
|
64
67
|
const footerPath = (0, path_1.join)(this.templateBasePath, "footer.hbs");
|
|
65
68
|
if (fs.existsSync(headerPath)) {
|
|
@@ -67,14 +70,14 @@ let EmailService = class EmailService {
|
|
|
67
70
|
Handlebars.registerPartial("header", headerPartial);
|
|
68
71
|
}
|
|
69
72
|
else {
|
|
70
|
-
|
|
73
|
+
this.logger.error(`Partial header.hbs not found in ${this.templateBasePath}`, undefined, "EmailService");
|
|
71
74
|
}
|
|
72
75
|
if (fs.existsSync(footerPath)) {
|
|
73
76
|
const footerPartial = fs.readFileSync(footerPath, "utf8");
|
|
74
77
|
Handlebars.registerPartial("footer", footerPartial);
|
|
75
78
|
}
|
|
76
79
|
else {
|
|
77
|
-
|
|
80
|
+
this.logger.error(`Partial footer.hbs not found in ${this.templateBasePath}`, undefined, "EmailService");
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
loadTemplate(templateId, locale) {
|
|
@@ -115,15 +118,21 @@ let EmailService = class EmailService {
|
|
|
115
118
|
}
|
|
116
119
|
async sendEmail(templateId, emailParams, locale) {
|
|
117
120
|
const templateContent = this.loadTemplate(templateId, locale);
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
const appConfig = this.config.get("app");
|
|
122
|
+
if (!emailParams.url && appConfig)
|
|
123
|
+
emailParams.url = appConfig.url;
|
|
124
|
+
// Capture attachments before template compilation — Handlebars must not
|
|
125
|
+
// see Buffer values. Clone to avoid mutating the caller's object.
|
|
126
|
+
const attachments = emailParams.attachments;
|
|
127
|
+
const templateParams = { ...emailParams };
|
|
128
|
+
delete templateParams.attachments;
|
|
120
129
|
let html;
|
|
121
130
|
try {
|
|
122
131
|
const template = Handlebars.compile(templateContent);
|
|
123
|
-
html = template(
|
|
132
|
+
html = template(templateParams);
|
|
124
133
|
}
|
|
125
134
|
catch (error) {
|
|
126
|
-
|
|
135
|
+
this.logger.error("Error compiling Handlebars template", error, "EmailService");
|
|
127
136
|
throw new Error("Failed to compile email template");
|
|
128
137
|
}
|
|
129
138
|
const titleMatch = html.match(/<title>(.*?)<\/title>/);
|
|
@@ -131,56 +140,71 @@ let EmailService = class EmailService {
|
|
|
131
140
|
const to = emailParams.to;
|
|
132
141
|
const subject = emailParams.subject || extractedTitle;
|
|
133
142
|
try {
|
|
134
|
-
|
|
143
|
+
const emailConfig = this.config.get("email");
|
|
144
|
+
if (emailConfig.emailProvider === "brevo") {
|
|
135
145
|
await this.sendEmailWithBrevo(to, subject, html);
|
|
136
146
|
}
|
|
137
|
-
else if (
|
|
138
|
-
await this.sendEmailWithSendGrid(to, subject, html);
|
|
147
|
+
else if (emailConfig.emailProvider === "sendgrid") {
|
|
148
|
+
await this.sendEmailWithSendGrid(to, subject, html, attachments);
|
|
139
149
|
}
|
|
140
150
|
else {
|
|
141
|
-
await this.sendEmailWithSmtp(to, subject, html);
|
|
151
|
+
await this.sendEmailWithSmtp(to, subject, html, attachments);
|
|
142
152
|
}
|
|
143
153
|
}
|
|
144
154
|
catch (error) {
|
|
145
|
-
|
|
155
|
+
this.logger.error("Error sending email", error, "EmailService");
|
|
146
156
|
throw error;
|
|
147
157
|
}
|
|
148
158
|
}
|
|
149
159
|
async sendEmailWithBrevo(to, subject, html) {
|
|
160
|
+
const emailConfig = this.config.get("email");
|
|
150
161
|
const { TransactionalEmailsApi, TransactionalEmailsApiApiKeys, SendSmtpEmail } = require("@getbrevo/brevo");
|
|
151
162
|
const apiInstance = new TransactionalEmailsApi();
|
|
152
163
|
// Brevo SDK v3 uses setApiKey method for authentication
|
|
153
|
-
apiInstance.setApiKey(TransactionalEmailsApiApiKeys.apiKey,
|
|
164
|
+
apiInstance.setApiKey(TransactionalEmailsApiApiKeys.apiKey, emailConfig.emailApiKey);
|
|
154
165
|
const sendSmtpEmail = new SendSmtpEmail();
|
|
155
166
|
sendSmtpEmail.subject = subject;
|
|
156
167
|
sendSmtpEmail.htmlContent = html;
|
|
157
|
-
sendSmtpEmail.sender = this.convertToEmailAddressArray(
|
|
168
|
+
sendSmtpEmail.sender = this.convertToEmailAddressArray(emailConfig.emailFrom)[0];
|
|
158
169
|
sendSmtpEmail.to = this.convertToEmailAddressArray(to);
|
|
159
170
|
try {
|
|
160
171
|
await apiInstance.sendTransacEmail(sendSmtpEmail);
|
|
161
172
|
}
|
|
162
173
|
catch (error) {
|
|
163
|
-
|
|
174
|
+
this.logger.error("Error sending email via Brevo", error, "EmailService");
|
|
164
175
|
throw error;
|
|
165
176
|
}
|
|
166
177
|
}
|
|
167
|
-
async sendEmailWithSendGrid(to, subject, html) {
|
|
168
|
-
|
|
178
|
+
async sendEmailWithSendGrid(to, subject, html, attachments) {
|
|
179
|
+
const emailConfig = this.config.get("email");
|
|
180
|
+
if (!emailConfig.emailApiKey) {
|
|
169
181
|
throw new Error("SendGrid API key is not configured");
|
|
170
182
|
}
|
|
171
|
-
sendGridMail.setApiKey(
|
|
183
|
+
sendGridMail.setApiKey(emailConfig.emailApiKey);
|
|
172
184
|
const mailOptions = {
|
|
173
185
|
to: to,
|
|
174
|
-
from:
|
|
186
|
+
from: emailConfig.emailFrom,
|
|
175
187
|
subject: subject,
|
|
176
188
|
text: html,
|
|
177
189
|
html: html,
|
|
190
|
+
...(attachments && attachments.length > 0
|
|
191
|
+
? {
|
|
192
|
+
attachments: attachments.map((a) => ({
|
|
193
|
+
content: a.content.toString("base64"),
|
|
194
|
+
filename: a.filename,
|
|
195
|
+
type: a.contentType,
|
|
196
|
+
disposition: "attachment",
|
|
197
|
+
})),
|
|
198
|
+
}
|
|
199
|
+
: {}),
|
|
178
200
|
};
|
|
179
201
|
try {
|
|
180
202
|
await sendGridMail.send(mailOptions);
|
|
181
203
|
}
|
|
182
204
|
catch (error) {
|
|
183
|
-
|
|
205
|
+
this.logger.error("Error sending email via SendGrid", error, "EmailService", {
|
|
206
|
+
sendGridErrors: error.response?.body?.errors,
|
|
207
|
+
});
|
|
184
208
|
throw error;
|
|
185
209
|
}
|
|
186
210
|
}
|
|
@@ -210,27 +234,37 @@ let EmailService = class EmailService {
|
|
|
210
234
|
throw new Error("Invalid email address format");
|
|
211
235
|
}
|
|
212
236
|
}
|
|
213
|
-
async sendEmailWithSmtp(to, subject, html) {
|
|
237
|
+
async sendEmailWithSmtp(to, subject, html, attachments) {
|
|
238
|
+
const emailConfig = this.config.get("email");
|
|
214
239
|
const transporter = nodemailer.createTransport({
|
|
215
|
-
host:
|
|
216
|
-
port:
|
|
217
|
-
secure:
|
|
240
|
+
host: emailConfig.emailHost,
|
|
241
|
+
port: emailConfig.emailPort,
|
|
242
|
+
secure: emailConfig.emailSecure,
|
|
218
243
|
auth: {
|
|
219
|
-
user:
|
|
220
|
-
pass:
|
|
244
|
+
user: emailConfig.emailUsername,
|
|
245
|
+
pass: emailConfig.emailPassword,
|
|
221
246
|
},
|
|
222
247
|
});
|
|
223
248
|
const mailOptions = {
|
|
224
|
-
from:
|
|
249
|
+
from: emailConfig.emailFrom,
|
|
225
250
|
to: to,
|
|
226
251
|
subject: subject,
|
|
227
252
|
html: html,
|
|
253
|
+
...(attachments && attachments.length > 0
|
|
254
|
+
? {
|
|
255
|
+
attachments: attachments.map((a) => ({
|
|
256
|
+
filename: a.filename,
|
|
257
|
+
content: a.content,
|
|
258
|
+
contentType: a.contentType,
|
|
259
|
+
})),
|
|
260
|
+
}
|
|
261
|
+
: {}),
|
|
228
262
|
};
|
|
229
263
|
try {
|
|
230
264
|
await transporter.sendMail(mailOptions);
|
|
231
265
|
}
|
|
232
266
|
catch (error) {
|
|
233
|
-
|
|
267
|
+
this.logger.error("Error sending SMTP email", error, "EmailService");
|
|
234
268
|
throw error;
|
|
235
269
|
}
|
|
236
270
|
}
|
|
@@ -238,6 +272,7 @@ let EmailService = class EmailService {
|
|
|
238
272
|
exports.EmailService = EmailService;
|
|
239
273
|
exports.EmailService = EmailService = __decorate([
|
|
240
274
|
(0, common_1.Injectable)(),
|
|
241
|
-
__metadata("design:paramtypes", [
|
|
275
|
+
__metadata("design:paramtypes", [config_1.ConfigService,
|
|
276
|
+
logging_service_1.AppLoggingService])
|
|
242
277
|
], EmailService);
|
|
243
278
|
//# sourceMappingURL=email.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/email/services/email.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,uCAAyB;AACzB,uDAAyC;AACzC,uDAAyC;AACzC,+BAA4B;
|
|
1
|
+
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/email/services/email.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class JsonApiService {
|
|
|
16
16
|
private readonly configService;
|
|
17
17
|
constructor(serialiserFactory: JsonApiSerialiserFactory, clsService: ClsService, configService: ConfigService<BaseConfigInterface>);
|
|
18
18
|
private get apiConfig();
|
|
19
|
-
buildSingle<T extends DataModelInterface<any>>(model: T, record: any): Promise<any>;
|
|
19
|
+
buildSingle<T extends DataModelInterface<any>>(model: T, record: any, paginator?: JsonApiPaginator): Promise<any>;
|
|
20
20
|
buildList<T extends DataModelInterface<any>>(model: T, records: any[], paginator?: JsonApiPaginator): Promise<any>;
|
|
21
21
|
private _addToIncluded;
|
|
22
22
|
serialise<T, R extends JsonApiDataInterface>(data: T | T[], builder: R, url: string, paginator?: JsonApiPaginator): Promise<JsonApiDataInterface>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonapi.service.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,SAAS,GAEpB;IAEK,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"jsonapi.service.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,SAAS,GAEpB;IAEK,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EACjD,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,GAAG,EACX,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAoBT,SAAS,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAUf,OAAO,CAAC,cAAc;IAehB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,EAC/C,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;YAiDlB,aAAa;YA0Lb,qBAAqB;IAwFnC;;;OAGG;IACH,OAAO,CAAC,+BAA+B;CAoBxC"}
|
|
@@ -23,13 +23,13 @@ let JsonApiService = class JsonApiService {
|
|
|
23
23
|
get apiConfig() {
|
|
24
24
|
return this.configService.get("api");
|
|
25
25
|
}
|
|
26
|
-
async buildSingle(model, record) {
|
|
26
|
+
async buildSingle(model, record, paginator) {
|
|
27
27
|
const builder = this.serialiserFactory.create(model);
|
|
28
28
|
if (!record)
|
|
29
29
|
throw new common_1.HttpException(`not found`, common_1.HttpStatus.NOT_FOUND);
|
|
30
30
|
if (typeof record[`${builder.id}`] === "string")
|
|
31
|
-
return await this.serialise(record, builder.create(), `${this.apiConfig.url}${builder.endpoint}/${record[`${builder.id}`]}
|
|
32
|
-
return await this.serialise(record, builder.create(), `${this.apiConfig.url}${builder.endpoint}/${record[`${builder.id}`]}
|
|
31
|
+
return await this.serialise(record, builder.create(), `${this.apiConfig.url}${builder.endpoint}/${record[`${builder.id}`]}`, paginator);
|
|
32
|
+
return await this.serialise(record, builder.create(), `${this.apiConfig.url}${builder.endpoint}/${record[`${builder.id}`]}`, paginator);
|
|
33
33
|
}
|
|
34
34
|
async buildList(model, records, paginator) {
|
|
35
35
|
const builder = this.serialiserFactory.create(model);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonapi.service.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsonapi.service.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuE;AACvE,2CAA+C;AAC/C,2CAAwC;AAExC,wFAAuG;AAahG,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACmB,iBAA2C,EAC3C,UAAsB,EACtB,aAAiD;QAFjD,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAoC;IACjE,CAAC;IAEJ,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAqB,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAQ,EACR,MAAW,EACX,SAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAQ,CAAC;QAC5D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,sBAAa,CAAC,WAAW,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,OAAO,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ;YAC7C,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,MAAM,EACN,OAAO,CAAC,MAAM,EAAE,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,EACrE,SAAS,CACV,CAAC;QAEJ,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,MAAM,EACN,OAAO,CAAC,MAAM,EAAE,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,EACrE,SAAS,CACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAQ,EACR,OAAc,EACd,SAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAQ,CAAC;QAE5D,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,UAAU,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAElG,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEO,cAAc,CAAC,gBAAuB,EAAE,WAAkB,EAAE,UAA6B;QAC/F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEpF,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YAEnD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAa,EACb,OAAU,EACV,GAAW,EACX,SAA4B;QAE5B,MAAM,QAAQ,GAAQ;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG;aACV;YACD,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,kGAAkG;QAClG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,UAAU,IAAI,SAAS,EAAE,KAAK,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjD,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI;oBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACjD,IAAI,KAAK,CAAC,QAAQ;oBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAEjH,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEzE,IAAI,CAAC,cAAc,CACjB,QAAQ,EACP,EAAY,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EACnF,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChG,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAAO,EACP,OAAU,EACV,SAA4B;QAK5B,MAAM,gBAAgB,GAAU,EAAE,CAAC;QACnC,MAAM,cAAc,GAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;QAEF,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YACrC,cAAc,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,EAAE,GAAI,IAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,cAAc,CAAC,KAAK,GAAG;gBACrB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/B,CAAC;QACJ,CAAC;QAED,cAAc,CAAC,UAAU,GAAG,EAAE,CAAC;QAE/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,IAAI,aAAa,CAAC;YAClB,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAC3C,CAAC,aAAoC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAC9E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAChG,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;oBACxD,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACnD,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,GAAI,IAAY,CAAC,YAAY,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,cAAc,CAAC,IAAI,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;oBAC7C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,cAAc,CAAC,aAAa,GAAG,EAAE,CAAC;YAElC,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxE,IAAI,eAAe,GAAQ,EAAE,CAAC;gBAC9B,MAAM,uBAAuB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEhD,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAQ;wBACvB,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,IAAI;qBAC3C,CAAC;oBAEF,IAAI,CAAC;wBACH,IAAI,OAAO,YAAY,CAAC,kBAAkB,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;4BAC7D,WAAW,CAAC,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAC5D,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,EAAE,GAAI,IAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;wBACrE,CAAC;wBAED,eAAe,GAAG;4BAChB,IAAI,EAAE,WAAW;yBAClB,CAAC;wBACF,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;4BACrD,eAAe,CAAC,KAAK,GAAG;gCACtB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;6BAC1C,CAAC;wBACJ,CAAC;wBAED,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC;oBAC3E,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;qBAAM,IAAK,IAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC5F,IAAY,CAAC,GAAG,CAAC,EAClB,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EACjC,SAAS,EACT,YAAY,EACZ,IAAI,CACL,CAAC;oBAEF,eAAe,GAAG,YAAY,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBAEvG,IAAI,gBAAgB,EAAE,CAAC;wBACrB,eAAe,CAAC,KAAK,GAAG,gBAAgB,CAAC;oBAC3C,CAAC;yBAAM,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBAC5D,eAAe,CAAC,KAAK,GAAG;4BACtB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;yBAC1C,CAAC;oBACJ,CAAC;oBAED,4DAA4D;oBAC5D,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;wBACtB,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC;wBAC1B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;4BACrD,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;gCACrD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;4BACzE,CAAC;iCAAM,CAAC;gCACN,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAI,IAAY,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;4BAC5E,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,2BAA2B;oBAC3B,2DAA2D;oBAC3D,yDAAyD;oBACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC;oBAClD,MAAM,oBAAoB,GACxB,CAAC,SAAS,EAAE,gBAAgB;wBAC5B,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;oBAEzF,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,oBAAoB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrF,gBAAgB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;oBAChD,CAAC;oBAED,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC;gBAC3E,CAAC;qBAAM,IACL,uBAAuB,CAAC,MAAM,GAAG,CAAC;oBACjC,IAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;oBACtD,IAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EACpD,CAAC;oBACD,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBACtE,KAAK,MAAM,IAAI,IAAK,IAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC3E,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAChC,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EACjC,SAAS,EACT,YAAY,EACZ,IAAI,CACL,CAAC;wBAEF,8DAA8D;wBAC9D,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC;wBACrD,MAAM,uBAAuB,GAC3B,CAAC,SAAS,EAAE,gBAAgB;4BAC5B,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;wBAE5F,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,uBAAuB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxF,gBAAgB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;wBAChD,CAAC;wBAED,IAAI,YAAY,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;4BACtC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;gCACvD,IAAI,EAAE,WAAW;6BAClB,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEjD,IAAI,OAAO,EAAE,CAAC;wBACZ,eAAe,CAAC,KAAK,GAAG;4BACtB,OAAO,EAAE,OAAO;yBACjB,CAAC;wBACF,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC;oBAC3E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,cAAc,CAAC,aAAa,CAAC;QAClG,CAAC;QAED,OAAO;YACL,cAAc,EAAE,cAAc;YAC9B,gBAAgB,EAAE,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,IAAa,EACb,OAAU,EACV,SAA4B,EAC5B,YAAkB,EAClB,YAAkB;QAMlB,MAAM,QAAQ,GAIV;YACF,WAAW,EAAE,SAAgB;YAC7B,gBAAgB,EAAE,SAAgB;YAClC,mBAAmB,EAAE,EAAE;SACxB,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,mDAAmD;YACnD,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAO,EAAE,EAAE;oBACzB,IAAI,CAAC;wBACH,MAAM,iBAAiB,GAAG,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;wBACtF,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnF,MAAM,aAAa,GAAG,cAAc,IAAI,OAAO,CAAC;wBAChD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;oBAC5D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE3F,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAExG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CACpE,CAAC;gBAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAEhF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE3F,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAExG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,aAAa,GAAG,OAAO,CAAC;YAC5B,IAAI,YAAY,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG,YAAY,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACtF,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnF,aAAa,GAAG,cAAc,IAAI,OAAO,CAAC;YAC5C,CAAC;YAED,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAEtG,QAAQ,CAAC,WAAW,GAAG;gBACrB,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,EAAE,EAAE,cAAc,CAAC,EAAE;aACtB,CAAC;YAEF,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACzB,QAAQ,CAAC,gBAAgB,GAAG;oBAC1B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,+BAA+B,CAAC,cAAqB,EAAE,YAAkB,EAAE,YAAkB;QACnG,IAAI,YAAY,EAAE,WAAW,IAAI,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,CAAC;YAC5E,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7D,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oBACvE,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClB,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAC5C,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;4BACtD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;CACF,CAAA;AAhaY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAG2B,qDAAwB;QAC/B,uBAAU;QACP,sBAAa;GAJpC,cAAc,CAga1B"}
|
package/dist/core/llm/index.d.ts
CHANGED
|
@@ -2,9 +2,13 @@ export * from "./abstracts/abstract.tools";
|
|
|
2
2
|
export * from "./enums/model.weight";
|
|
3
3
|
export * from "./llm.module";
|
|
4
4
|
export * from "./services/audio.llm.service";
|
|
5
|
+
export * from "./services/document-ai.service";
|
|
5
6
|
export * from "./services/embedder.service";
|
|
7
|
+
export * from "./services/embedder-token-bucket.service";
|
|
6
8
|
export * from "./services/llm.service";
|
|
7
9
|
export * from "./services/model.service";
|
|
10
|
+
export * from "./services/rate-limited-embedder";
|
|
8
11
|
export * from "./services/vision.llm.service";
|
|
12
|
+
export * from "./utils/mock-from-zod";
|
|
9
13
|
export * from "./utils/tools.utils";
|
|
10
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/llm/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/llm/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
package/dist/core/llm/index.js
CHANGED
|
@@ -18,9 +18,13 @@ __exportStar(require("./abstracts/abstract.tools"), exports);
|
|
|
18
18
|
__exportStar(require("./enums/model.weight"), exports);
|
|
19
19
|
__exportStar(require("./llm.module"), exports);
|
|
20
20
|
__exportStar(require("./services/audio.llm.service"), exports);
|
|
21
|
+
__exportStar(require("./services/document-ai.service"), exports);
|
|
21
22
|
__exportStar(require("./services/embedder.service"), exports);
|
|
23
|
+
__exportStar(require("./services/embedder-token-bucket.service"), exports);
|
|
22
24
|
__exportStar(require("./services/llm.service"), exports);
|
|
23
25
|
__exportStar(require("./services/model.service"), exports);
|
|
26
|
+
__exportStar(require("./services/rate-limited-embedder"), exports);
|
|
24
27
|
__exportStar(require("./services/vision.llm.service"), exports);
|
|
28
|
+
__exportStar(require("./utils/mock-from-zod"), exports);
|
|
25
29
|
__exportStar(require("./utils/tools.utils"), exports);
|
|
26
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/llm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,uDAAqC;AACrC,+CAA6B;AAC7B,+DAA6C;AAC7C,8DAA4C;AAC5C,yDAAuC;AACvC,2DAAyC;AACzC,gEAA8C;AAC9C,sDAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/llm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,uDAAqC;AACrC,+CAA6B;AAC7B,+DAA6C;AAC7C,iEAA+C;AAC/C,8DAA4C;AAC5C,2EAAyD;AACzD,yDAAuC;AACvC,2DAAyC;AACzC,mEAAiD;AACjD,gEAA8C;AAC9C,wDAAsC;AACtC,sDAAoC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.module.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"llm.module.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;GAaG;AACH,qBAQa,SAAS;CAAG"}
|
|
@@ -8,10 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.LLMModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
+
const redis_module_1 = require("../redis/redis.module");
|
|
11
12
|
const tokenusage_module_1 = require("../../foundations/tokenusage/tokenusage.module");
|
|
12
13
|
const audio_llm_service_1 = require("./services/audio.llm.service");
|
|
13
14
|
const embedder_service_1 = require("./services/embedder.service");
|
|
15
|
+
const embedder_token_bucket_service_1 = require("./services/embedder-token-bucket.service");
|
|
14
16
|
const llm_cache_service_1 = require("./services/llm-cache.service");
|
|
17
|
+
const document_ai_service_1 = require("./services/document-ai.service");
|
|
15
18
|
const llm_call_dumper_service_1 = require("./services/llm-call-dumper.service");
|
|
16
19
|
const llm_service_1 = require("./services/llm.service");
|
|
17
20
|
const model_service_1 = require("./services/model.service");
|
|
@@ -20,7 +23,9 @@ const LLM_SERVICES = [
|
|
|
20
23
|
llm_service_1.LLMService,
|
|
21
24
|
model_service_1.ModelService,
|
|
22
25
|
embedder_service_1.EmbedderService,
|
|
26
|
+
embedder_token_bucket_service_1.EmbedderTokenBucketService,
|
|
23
27
|
vision_llm_service_1.VisionLLMService,
|
|
28
|
+
document_ai_service_1.DocumentAiService,
|
|
24
29
|
audio_llm_service_1.AudioLLMService,
|
|
25
30
|
llm_call_dumper_service_1.LLMCallDumper,
|
|
26
31
|
llm_cache_service_1.LLMCacheService,
|
|
@@ -45,7 +50,9 @@ exports.LLMModule = LLMModule;
|
|
|
45
50
|
exports.LLMModule = LLMModule = __decorate([
|
|
46
51
|
(0, common_1.Global)(),
|
|
47
52
|
(0, common_1.Module)({
|
|
48
|
-
|
|
53
|
+
// RedisModule provides RedisClientStorageService for EmbedderTokenBucketService's
|
|
54
|
+
// distributed token bucket. RedisModule is NOT @Global, so it must be imported here.
|
|
55
|
+
imports: [tokenusage_module_1.TokenUsageModule, redis_module_1.RedisModule],
|
|
49
56
|
providers: LLM_SERVICES,
|
|
50
57
|
exports: LLM_SERVICES,
|
|
51
58
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.module.js","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,sFAAkF;AAClF,oEAA+D;AAC/D,kEAA8D;AAC9D,oEAA+D;AAC/D,gFAAmE;AACnE,wDAAoD;AACpD,4DAAwD;AACxD,sEAAiE;AAEjE,MAAM,YAAY,GAAG;IACnB,wBAAU;IACV,4BAAY;IACZ,kCAAe;IACf,qCAAgB;IAChB,mCAAe;IACf,uCAAa;IACb,mCAAe;CAChB,CAAC;AAEF;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"llm.module.js","sourceRoot":"","sources":["../../../src/core/llm/llm.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,wDAAoD;AACpD,sFAAkF;AAClF,oEAA+D;AAC/D,kEAA8D;AAC9D,4FAAsF;AACtF,oEAA+D;AAC/D,wEAAmE;AACnE,gFAAmE;AACnE,wDAAoD;AACpD,4DAAwD;AACxD,sEAAiE;AAEjE,MAAM,YAAY,GAAG;IACnB,wBAAU;IACV,4BAAY;IACZ,kCAAe;IACf,0DAA0B;IAC1B,qCAAgB;IAChB,uCAAiB;IACjB,mCAAe;IACf,uCAAa;IACb,mCAAe;CAChB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AASI,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IARrB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,kFAAkF;QAClF,qFAAqF;QACrF,OAAO,EAAE,CAAC,oCAAgB,EAAE,0BAAW,CAAC;QACxC,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,YAAY;KACtB,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ZodType } from "zod";
|
|
2
|
+
import { ConfigService } from "@nestjs/config";
|
|
3
|
+
import { BaseConfigInterface } from "../../../config/interfaces";
|
|
4
|
+
/**
|
|
5
|
+
* Calls Mistral Document AI (OCR) on Azure AI Foundry.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: this does NOT use the @mistralai/mistralai SDK — that SDK hardcodes Mistral's cloud
|
|
8
|
+
* route (`<serverURL>/v1/ocr`) and cannot target the Azure Foundry route
|
|
9
|
+
* (`<endpoint>/providers/mistral/azure/ocr`). We POST directly with Bearer auth instead.
|
|
10
|
+
* The wire format is snake_case (image_url, document_annotation_format → json_schema.schema,
|
|
11
|
+
* response document_annotation), built from the caller's Zod schema via convertZodToJsonSchema.
|
|
12
|
+
*
|
|
13
|
+
* `documentType` is returned as the raw extracted string; callers cast it to their own
|
|
14
|
+
* domain enum (the service stays domain-agnostic).
|
|
15
|
+
*/
|
|
16
|
+
export declare class DocumentAiService {
|
|
17
|
+
private readonly config;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
private readonly CALL_TIMEOUT_MS;
|
|
20
|
+
constructor(config: ConfigService<BaseConfigInterface>);
|
|
21
|
+
extract(params: {
|
|
22
|
+
imageDataUrl: string;
|
|
23
|
+
outputSchema: ZodType<any>;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
documentType: string | null;
|
|
26
|
+
fields: Record<string, any>;
|
|
27
|
+
confidence: number;
|
|
28
|
+
tokenUsage: {
|
|
29
|
+
input: number;
|
|
30
|
+
output: number;
|
|
31
|
+
};
|
|
32
|
+
ocrText: string;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=document-ai.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-ai.service.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/services/document-ai.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAqB,MAAM,4BAA4B,CAAC;AAGpF;;;;;;;;;;;GAWG;AACH,qBACa,iBAAiB;IAIhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAEb,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAEjE,OAAO,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC;QACnF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CAgEH"}
|