@drax/ai-back 3.0.0 → 3.16.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/config/OpenAiConfig.js +1 -0
- package/dist/controllers/AILogController.js +18 -0
- package/dist/factory/OpenAiProviderFactory.js +2 -1
- package/dist/factory/services/AILogServiceFactory.js +30 -0
- package/dist/index.js +10 -1
- package/dist/interfaces/IAILog.js +1 -0
- package/dist/interfaces/IAILogRepository.js +1 -0
- package/dist/models/AILogModel.js +50 -0
- package/dist/permissions/AILogPermissions.js +10 -0
- package/dist/providers/OpenAiProvider.js +176 -26
- package/dist/repository/mongo/AILogMongoRepository.js +13 -0
- package/dist/repository/sqlite/AILogSqliteRepository.js +45 -0
- package/dist/routes/AILogRoutes.js +21 -0
- package/dist/schemas/AILogSchema.js +44 -0
- package/dist/services/AILogService.js +9 -0
- package/package.json +8 -2
- package/src/config/OpenAiConfig.ts +1 -0
- package/src/controllers/AILogController.ts +29 -0
- package/src/factory/OpenAiProviderFactory.ts +4 -2
- package/src/factory/services/AILogServiceFactory.ts +41 -0
- package/src/index.ts +39 -1
- package/src/interfaces/IAILogRepository.ts +11 -0
- package/src/interfaces/IAIProvider.ts +48 -2
- package/src/models/AILogModel.ts +65 -0
- package/src/permissions/AILogPermissions.ts +14 -0
- package/src/providers/OpenAiProvider.ts +231 -29
- package/src/repository/mongo/AILogMongoRepository.ts +22 -0
- package/src/repository/sqlite/AILogSqliteRepository.ts +53 -0
- package/src/routes/AILogRoutes.ts +38 -0
- package/src/schemas/AILogSchema.ts +52 -0
- package/src/services/AILogService.ts +20 -0
- package/test/OpenAiProvider.test.ts +91 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/types/config/OpenAiConfig.d.ts +2 -1
- package/types/config/OpenAiConfig.d.ts.map +1 -1
- package/types/controllers/AILogController.d.ts +8 -0
- package/types/controllers/AILogController.d.ts.map +1 -0
- package/types/factory/OpenAiProviderFactory.d.ts.map +1 -1
- package/types/factory/services/AILogServiceFactory.d.ts +8 -0
- package/types/factory/services/AILogServiceFactory.d.ts.map +1 -0
- package/types/index.d.ts +13 -3
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/IAILog.d.ts +77 -0
- package/types/interfaces/IAILog.d.ts.map +1 -0
- package/types/interfaces/IAILogRepository.d.ts +6 -0
- package/types/interfaces/IAILogRepository.d.ts.map +1 -0
- package/types/interfaces/IAIProvider.d.ts +32 -2
- package/types/interfaces/IAIProvider.d.ts.map +1 -1
- package/types/models/AILogModel.d.ts +15 -0
- package/types/models/AILogModel.d.ts.map +1 -0
- package/types/permissions/AILogPermissions.d.ts +10 -0
- package/types/permissions/AILogPermissions.d.ts.map +1 -0
- package/types/providers/OpenAiProvider.d.ts +71 -2
- package/types/providers/OpenAiProvider.d.ts.map +1 -1
- package/types/repository/mongo/AILogMongoRepository.d.ts +9 -0
- package/types/repository/mongo/AILogMongoRepository.d.ts.map +1 -0
- package/types/repository/sqlite/AILogSqliteRepository.d.ts +23 -0
- package/types/repository/sqlite/AILogSqliteRepository.d.ts.map +1 -0
- package/types/routes/AILogRoutes.d.ts +4 -0
- package/types/routes/AILogRoutes.d.ts.map +1 -0
- package/types/schemas/AILogSchema.d.ts +81 -0
- package/types/schemas/AILogSchema.d.ts.map +1 -0
- package/types/services/AILogService.d.ts +10 -0
- package/types/services/AILogService.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiConfig.d.ts","sourceRoot":"","sources":["../../src/config/OpenAiConfig.ts"],"names":[],"mappings":"AACA,aAAK,YAAY;IAEb,YAAY,mBAAmB;IAC/B,WAAW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"OpenAiConfig.d.ts","sourceRoot":"","sources":["../../src/config/OpenAiConfig.ts"],"names":[],"mappings":"AACA,aAAK,YAAY;IAEb,YAAY,mBAAmB;IAC/B,WAAW,iBAAiB;IAC5B,iBAAiB,wBAAwB;CAE5C;AAGD,eAAe,YAAY,CAAC;AAE5B,OAAO,EAAC,YAAY,EAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractFastifyController } from "@drax/crud-back";
|
|
2
|
+
import type { IAILog, IAILogBase } from "@drax/ai-share";
|
|
3
|
+
declare class AILogController extends AbstractFastifyController<IAILog, IAILogBase, IAILogBase> {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
export default AILogController;
|
|
7
|
+
export { AILogController };
|
|
8
|
+
//# sourceMappingURL=AILogController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogController.d.ts","sourceRoot":"","sources":["../../src/controllers/AILogController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,yBAAyB,EAAC,MAAM,iBAAiB,CAAC;AAE1D,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEvD,cAAM,eAAgB,SAAQ,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;;CAgBtF;AAED,eAAe,eAAe,CAAC;AAC/B,OAAO,EACH,eAAe,EAClB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiProviderFactory.d.ts","sourceRoot":"","sources":["../../src/factory/OpenAiProviderFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"OpenAiProviderFactory.d.ts","sourceRoot":"","sources":["../../src/factory/OpenAiProviderFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAI1D,cAAM,qBAAqB;IACvB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAc;WAExB,QAAQ,IAAI,WAAW;CAWxC;AAED,eAAe,qBAAqB,CAAA;AACpC,OAAO,EACH,qBAAqB,EACxB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AILogService } from '../../services/AILogService.js';
|
|
2
|
+
declare class AILogServiceFactory {
|
|
3
|
+
private static service;
|
|
4
|
+
static get instance(): AILogService;
|
|
5
|
+
}
|
|
6
|
+
export default AILogServiceFactory;
|
|
7
|
+
export { AILogServiceFactory };
|
|
8
|
+
//# sourceMappingURL=AILogServiceFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/factory/services/AILogServiceFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAA;AAI3D,cAAM,mBAAmB;IACrB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAe;IAErC,WAAkB,QAAQ,IAAI,YAAY,CAsBzC;CACJ;AAED,eAAe,mBAAmB,CAAA;AAClC,OAAO,EACH,mBAAmB,EACtB,CAAA"}
|
package/types/index.d.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { OpenAiConfig } from "./config/OpenAiConfig.js";
|
|
2
|
+
import { AILogSchema, AILogBaseSchema } from "./schemas/AILogSchema.js";
|
|
3
|
+
import AILogModel from "./models/AILogModel.js";
|
|
4
|
+
import AILogMongoRepository from "./repository/mongo/AILogMongoRepository.js";
|
|
5
|
+
import AILogSqliteRepository from "./repository/sqlite/AILogSqliteRepository.js";
|
|
2
6
|
import { OpenAiProviderFactory } from "./factory/OpenAiProviderFactory.js";
|
|
7
|
+
import AILogServiceFactory from "./factory/services/AILogServiceFactory.js";
|
|
3
8
|
import { OpenAiProvider } from "./providers/OpenAiProvider.js";
|
|
4
9
|
import { KnowledgeService } from "./services/KnowledgeService.js";
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
import { AILogService } from "./services/AILogService.js";
|
|
11
|
+
import AILogPermissions from "./permissions/AILogPermissions.js";
|
|
12
|
+
import AILogController from "./controllers/AILogController.js";
|
|
13
|
+
import AILogRoutes from "./routes/AILogRoutes.js";
|
|
14
|
+
import type { IAILogRepository } from "./interfaces/IAILogRepository.js";
|
|
15
|
+
import type { IAIProvider, IPromptContentPart, IPromptContentPartImage, IPromptContentPartText, IPromptImage, IPromptImageDetail, IPromptMessage, IPromptMemory, IPromptParams, IPromptResponse } from "./interfaces/IAIProvider.js";
|
|
16
|
+
export type { IAILogRepository, IAIProvider, IPromptParams, IPromptMessage, IPromptMemory, IPromptImage, IPromptImageDetail, IPromptContentPart, IPromptContentPartImage, IPromptContentPartText, IPromptResponse, };
|
|
17
|
+
export { OpenAiConfig, AILogSchema, AILogBaseSchema, AILogModel, AILogMongoRepository, AILogSqliteRepository, OpenAiProviderFactory, AILogServiceFactory, OpenAiProvider, KnowledgeService, AILogService, AILogPermissions, AILogController, AILogRoutes, };
|
|
8
18
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACtE,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,oBAAoB,MAAM,4CAA4C,CAAC;AAC9E,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EACR,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EAClB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAER,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAClB,CAAA;AAED,OAAO,EACH,YAAY,EACZ,WAAW,EACX,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,GACd,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
interface IAILogBase {
|
|
2
|
+
provider?: string;
|
|
3
|
+
model?: string;
|
|
4
|
+
operationTitle?: string;
|
|
5
|
+
operationGroup?: string;
|
|
6
|
+
ip?: string;
|
|
7
|
+
userAgent?: string;
|
|
8
|
+
input?: string;
|
|
9
|
+
inputImages?: Array<{
|
|
10
|
+
filename?: string;
|
|
11
|
+
filepath?: string;
|
|
12
|
+
size?: number;
|
|
13
|
+
mimetype?: string;
|
|
14
|
+
url?: string;
|
|
15
|
+
}>;
|
|
16
|
+
inputFiles?: Array<{
|
|
17
|
+
filename?: string;
|
|
18
|
+
filepath?: string;
|
|
19
|
+
size?: number;
|
|
20
|
+
mimetype?: string;
|
|
21
|
+
url?: string;
|
|
22
|
+
}>;
|
|
23
|
+
inputTokens?: number;
|
|
24
|
+
outputTokens?: number;
|
|
25
|
+
tokens?: number;
|
|
26
|
+
startedAt?: Date;
|
|
27
|
+
endedAt?: Date;
|
|
28
|
+
responseTime?: string;
|
|
29
|
+
output?: string;
|
|
30
|
+
success?: boolean;
|
|
31
|
+
statusCode?: number;
|
|
32
|
+
errorMessage?: string;
|
|
33
|
+
tenant?: any;
|
|
34
|
+
user?: any;
|
|
35
|
+
createdAt?: Date;
|
|
36
|
+
updatedAt?: Date;
|
|
37
|
+
}
|
|
38
|
+
interface IAILog {
|
|
39
|
+
_id: string;
|
|
40
|
+
provider?: string;
|
|
41
|
+
model?: string;
|
|
42
|
+
operationTitle?: string;
|
|
43
|
+
operationGroup?: string;
|
|
44
|
+
ip?: string;
|
|
45
|
+
userAgent?: string;
|
|
46
|
+
input?: string;
|
|
47
|
+
inputImages?: Array<{
|
|
48
|
+
filename?: string;
|
|
49
|
+
filepath?: string;
|
|
50
|
+
size?: number;
|
|
51
|
+
mimetype?: string;
|
|
52
|
+
url?: string;
|
|
53
|
+
}>;
|
|
54
|
+
inputFiles?: Array<{
|
|
55
|
+
filename?: string;
|
|
56
|
+
filepath?: string;
|
|
57
|
+
size?: number;
|
|
58
|
+
mimetype?: string;
|
|
59
|
+
url?: string;
|
|
60
|
+
}>;
|
|
61
|
+
inputTokens?: number;
|
|
62
|
+
outputTokens?: number;
|
|
63
|
+
tokens?: number;
|
|
64
|
+
startedAt?: Date;
|
|
65
|
+
endedAt?: Date;
|
|
66
|
+
responseTime?: string;
|
|
67
|
+
output?: string;
|
|
68
|
+
success?: boolean;
|
|
69
|
+
statusCode?: number;
|
|
70
|
+
errorMessage?: string;
|
|
71
|
+
tenant?: any;
|
|
72
|
+
user?: any;
|
|
73
|
+
createdAt?: Date;
|
|
74
|
+
updatedAt?: Date;
|
|
75
|
+
}
|
|
76
|
+
export type { IAILogBase, IAILog };
|
|
77
|
+
//# sourceMappingURL=IAILog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAILog.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAILog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IAILog, IAILogBase } from '@drax/ai-share';
|
|
2
|
+
import { IDraxCrudRepository } from "@drax/crud-share";
|
|
3
|
+
interface IAILogRepository extends IDraxCrudRepository<IAILog, IAILogBase, IAILogBase> {
|
|
4
|
+
}
|
|
5
|
+
export { IAILogRepository };
|
|
6
|
+
//# sourceMappingURL=IAILogRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAILogRepository.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAILogRepository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErD,UAAU,gBAAiB,SAAQ,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;CAErF;AAED,OAAO,EAAC,gBAAgB,EAAC,CAAA"}
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { ZodSchema } from 'zod';
|
|
2
2
|
type Role = 'user' | 'assistant' | 'system';
|
|
3
|
+
type IPromptImageDetail = 'auto' | 'low' | 'high';
|
|
4
|
+
interface IPromptImage {
|
|
5
|
+
url: string;
|
|
6
|
+
detail?: IPromptImageDetail;
|
|
7
|
+
}
|
|
8
|
+
interface IPromptContentPartText {
|
|
9
|
+
type: 'text';
|
|
10
|
+
text: string;
|
|
11
|
+
}
|
|
12
|
+
interface IPromptContentPartImage {
|
|
13
|
+
type: 'image';
|
|
14
|
+
imageUrl: string;
|
|
15
|
+
detail?: IPromptImageDetail;
|
|
16
|
+
}
|
|
17
|
+
type IPromptContentPart = IPromptContentPartText | IPromptContentPartImage;
|
|
3
18
|
interface IPromptMessage {
|
|
4
19
|
role: Role;
|
|
5
|
-
content: string;
|
|
20
|
+
content: string | IPromptContentPart[];
|
|
6
21
|
}
|
|
7
22
|
interface IPromptMemory {
|
|
8
23
|
key: string;
|
|
@@ -11,6 +26,15 @@ interface IPromptMemory {
|
|
|
11
26
|
interface IPromptParams {
|
|
12
27
|
systemPrompt: string;
|
|
13
28
|
userInput?: string;
|
|
29
|
+
userImages?: IPromptImage[];
|
|
30
|
+
inputFiles?: Array<{
|
|
31
|
+
filename?: string;
|
|
32
|
+
filepath?: string;
|
|
33
|
+
size?: number | null;
|
|
34
|
+
mimetype?: string;
|
|
35
|
+
url?: string;
|
|
36
|
+
}>;
|
|
37
|
+
userContent?: IPromptContentPart[];
|
|
14
38
|
history?: IPromptMessage[];
|
|
15
39
|
memory?: IPromptMemory[];
|
|
16
40
|
memoryHeader?: string | '[MEMORY]' | '[MEMORIA]';
|
|
@@ -19,6 +43,12 @@ interface IPromptParams {
|
|
|
19
43
|
zodSchema?: ZodSchema<any>;
|
|
20
44
|
jsonSchema?: object;
|
|
21
45
|
model?: string;
|
|
46
|
+
operationTitle?: string;
|
|
47
|
+
operationGroup?: string;
|
|
48
|
+
ip?: string;
|
|
49
|
+
userAgent?: string;
|
|
50
|
+
tenant?: string | null;
|
|
51
|
+
user?: string | null;
|
|
22
52
|
}
|
|
23
53
|
interface IPromptResponse {
|
|
24
54
|
output: any;
|
|
@@ -30,5 +60,5 @@ interface IPromptResponse {
|
|
|
30
60
|
interface IAIProvider {
|
|
31
61
|
prompt(input: IPromptParams): Promise<IPromptResponse>;
|
|
32
62
|
}
|
|
33
|
-
export type { IAIProvider, IPromptParams, IPromptResponse, IPromptMessage, IPromptMemory };
|
|
63
|
+
export type { IAIProvider, IPromptParams, IPromptResponse, IPromptMessage, IPromptMemory, IPromptImage, IPromptImageDetail, IPromptContentPart, IPromptContentPartImage, IPromptContentPartText, };
|
|
34
64
|
//# sourceMappingURL=IAIProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAIProvider.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAIProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAE/B,KAAK,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5C,UAAU,cAAc;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"IAIProvider.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAIProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAE/B,KAAK,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5C,KAAK,kBAAkB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAElD,UAAU,YAAY;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,UAAU,sBAAsB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,KAAK,kBAAkB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAE3E,UAAU,cAAc;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;CAC1C;AAED,UAAU,aAAa;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAA;KACf,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;IAChD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;IAC7E,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAA;CACf;AAED,UAAU,WAAW;IACjB,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CACzD;AAED,YAAY,EACR,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACzB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { mongoose } from '@drax/common-back';
|
|
2
|
+
import type { IAILog } from '@drax/ai-share';
|
|
3
|
+
declare const AILogSchema: mongoose.Schema<IAILog, mongoose.Model<IAILog, any, any, any, mongoose.Document<unknown, any, IAILog, any, {}> & IAILog & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, IAILog, mongoose.Document<unknown, {}, mongoose.FlatRecord<IAILog>, {}, mongoose.DefaultSchemaOptions> & mongoose.FlatRecord<IAILog> & Required<{
|
|
8
|
+
_id: string;
|
|
9
|
+
}> & {
|
|
10
|
+
__v: number;
|
|
11
|
+
}>;
|
|
12
|
+
declare const AILogModel: mongoose.PaginateModel<IAILog, {}, {}>;
|
|
13
|
+
export { AILogSchema, AILogModel };
|
|
14
|
+
export default AILogModel;
|
|
15
|
+
//# sourceMappingURL=AILogModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogModel.d.ts","sourceRoot":"","sources":["../../src/models/AILogModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAI3C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,QAAA,MAAM,WAAW;;;;;;;;EAkCK,CAAC;AAgBvB,QAAA,MAAM,UAAU,wCAAyF,CAAC;AAE1G,OAAO,EACH,WAAW,EACX,UAAU,EACb,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare enum AILogPermissions {
|
|
2
|
+
Create = "ailog:create",
|
|
3
|
+
Update = "ailog:update",
|
|
4
|
+
Delete = "ailog:delete",
|
|
5
|
+
View = "ailog:view",
|
|
6
|
+
Manage = "ailog:manage"
|
|
7
|
+
}
|
|
8
|
+
export { AILogPermissions };
|
|
9
|
+
export default AILogPermissions;
|
|
10
|
+
//# sourceMappingURL=AILogPermissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogPermissions.d.ts","sourceRoot":"","sources":["../../src/permissions/AILogPermissions.ts"],"names":[],"mappings":"AACA,aAAK,gBAAgB;IAEjB,MAAM,iBAAiB;IACvB,MAAM,iBAAiB;IACvB,MAAM,iBAAiB;IACvB,IAAI,eAAe;IACnB,MAAM,iBAAiB;CAE1B;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,11 +1,80 @@
|
|
|
1
|
-
import type { IAIProvider, IPromptParams, IPromptResponse } from "../interfaces/IAIProvider";
|
|
1
|
+
import type { IAIProvider, IPromptContentPart, IPromptMessage, IPromptParams, IPromptResponse } from "../interfaces/IAIProvider";
|
|
2
|
+
import type { AILogService } from "../services/AILogService";
|
|
3
|
+
import type { IAILogBase } from "@drax/ai-share";
|
|
2
4
|
declare class OpenAiProvider implements IAIProvider {
|
|
3
5
|
protected _apiKey: string;
|
|
4
6
|
protected _model: any;
|
|
7
|
+
protected _visionModel?: string;
|
|
5
8
|
protected _client: any;
|
|
6
|
-
|
|
9
|
+
protected _aiLogService?: AILogService;
|
|
10
|
+
constructor(apiKey: string, model: string, visionModel?: string, aiLogService?: AILogService);
|
|
7
11
|
get model(): any;
|
|
8
12
|
get client(): any;
|
|
13
|
+
protected get visionModel(): string;
|
|
14
|
+
protected buildUserContent(input: IPromptParams): string | Array<{
|
|
15
|
+
type: 'text';
|
|
16
|
+
text: string;
|
|
17
|
+
} | {
|
|
18
|
+
type: 'image_url';
|
|
19
|
+
image_url: {
|
|
20
|
+
url: string;
|
|
21
|
+
detail?: 'auto' | 'low' | 'high';
|
|
22
|
+
};
|
|
23
|
+
}>;
|
|
24
|
+
protected mapContentParts(content: IPromptContentPart[]): ({
|
|
25
|
+
type: "text";
|
|
26
|
+
text: string;
|
|
27
|
+
image_url?: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
type: "image_url";
|
|
30
|
+
image_url: {
|
|
31
|
+
detail?: import("../interfaces/IAIProvider").IPromptImageDetail;
|
|
32
|
+
url: string;
|
|
33
|
+
};
|
|
34
|
+
text?: undefined;
|
|
35
|
+
})[];
|
|
36
|
+
protected mapHistory(history?: IPromptMessage[]): {
|
|
37
|
+
role: "user" | "assistant" | "system";
|
|
38
|
+
content: string | ({
|
|
39
|
+
type: "text";
|
|
40
|
+
text: string;
|
|
41
|
+
image_url?: undefined;
|
|
42
|
+
} | {
|
|
43
|
+
type: "image_url";
|
|
44
|
+
image_url: {
|
|
45
|
+
detail?: import("../interfaces/IAIProvider").IPromptImageDetail;
|
|
46
|
+
url: string;
|
|
47
|
+
};
|
|
48
|
+
text?: undefined;
|
|
49
|
+
})[];
|
|
50
|
+
}[];
|
|
51
|
+
protected hasImageInput(input: IPromptParams): boolean;
|
|
52
|
+
protected serializePromptInput(input: IPromptParams, systemPrompt: string): string;
|
|
53
|
+
protected serializePromptOutput(output: unknown): string;
|
|
54
|
+
protected buildLogPayload(input: IPromptParams, params: {
|
|
55
|
+
model: string;
|
|
56
|
+
systemPrompt: string;
|
|
57
|
+
startedAt: Date;
|
|
58
|
+
endedAt?: Date;
|
|
59
|
+
inputTokens?: number;
|
|
60
|
+
outputTokens?: number;
|
|
61
|
+
tokens?: number;
|
|
62
|
+
output?: unknown;
|
|
63
|
+
success: boolean;
|
|
64
|
+
errorMessage?: string;
|
|
65
|
+
}): IAILogBase;
|
|
66
|
+
protected registerPromptLog(input: IPromptParams, params: {
|
|
67
|
+
model: string;
|
|
68
|
+
systemPrompt: string;
|
|
69
|
+
startedAt: Date;
|
|
70
|
+
endedAt?: Date;
|
|
71
|
+
inputTokens?: number;
|
|
72
|
+
outputTokens?: number;
|
|
73
|
+
tokens?: number;
|
|
74
|
+
output?: unknown;
|
|
75
|
+
success: boolean;
|
|
76
|
+
errorMessage?: string;
|
|
77
|
+
}): Promise<void>;
|
|
9
78
|
generateEmbedding({ text, model }: {
|
|
10
79
|
text: string;
|
|
11
80
|
model: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAiProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenAiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAiProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractMongoRepository } from "@drax/crud-back";
|
|
2
|
+
import type { IAILogRepository } from '../../interfaces/IAILogRepository';
|
|
3
|
+
import type { IAILog, IAILogBase } from "@drax/ai-share";
|
|
4
|
+
declare class AILogMongoRepository extends AbstractMongoRepository<IAILog, IAILogBase, IAILogBase> implements IAILogRepository {
|
|
5
|
+
constructor();
|
|
6
|
+
}
|
|
7
|
+
export default AILogMongoRepository;
|
|
8
|
+
export { AILogMongoRepository };
|
|
9
|
+
//# sourceMappingURL=AILogMongoRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogMongoRepository.d.ts","sourceRoot":"","sources":["../../../src/repository/mongo/AILogMongoRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAGvD,cAAM,oBAAqB,SAAQ,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAE,YAAW,gBAAgB;;CAUrH;AAED,eAAe,oBAAoB,CAAA;AACnC,OAAO,EAAC,oBAAoB,EAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AbstractSqliteRepository } from "@drax/crud-back";
|
|
2
|
+
import type { IAILogRepository } from '../../interfaces/IAILogRepository';
|
|
3
|
+
import type { IAILog, IAILogBase } from "@drax/ai-share";
|
|
4
|
+
import { SqliteTableField } from "@drax/common-back";
|
|
5
|
+
declare class AILogSqliteRepository extends AbstractSqliteRepository<IAILog, IAILogBase, IAILogBase> implements IAILogRepository {
|
|
6
|
+
protected db: any;
|
|
7
|
+
protected tableName: string;
|
|
8
|
+
protected dataBaseFile: string;
|
|
9
|
+
protected searchFields: string[];
|
|
10
|
+
protected booleanFields: string[];
|
|
11
|
+
protected jsonFields: string[];
|
|
12
|
+
protected identifier: string;
|
|
13
|
+
protected populateFields: {
|
|
14
|
+
field: string;
|
|
15
|
+
table: string;
|
|
16
|
+
identifier: string;
|
|
17
|
+
}[];
|
|
18
|
+
protected verbose: boolean;
|
|
19
|
+
protected tableFields: SqliteTableField[];
|
|
20
|
+
}
|
|
21
|
+
export default AILogSqliteRepository;
|
|
22
|
+
export { AILogSqliteRepository };
|
|
23
|
+
//# sourceMappingURL=AILogSqliteRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogSqliteRepository.d.ts","sourceRoot":"","sources":["../../../src/repository/sqlite/AILogSqliteRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAEnD,cAAM,qBAAsB,SAAQ,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAE,YAAW,gBAAgB;IAEpH,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC;IAClB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAW;IACtC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAmH;IACnJ,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAe;IAChD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAiC;IAC/D,SAAS,CAAC,UAAU,EAAE,MAAM,CAAS;IACrC,SAAS,CAAC,cAAc;;;;QAGvB;IACD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAS;IACnC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CA0BxC;CAEJ;AAED,eAAe,qBAAqB,CAAA;AACpC,OAAO,EAAC,qBAAqB,EAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/AILogRoutes.ts"],"names":[],"mappings":"AAKA,iBAAe,kBAAkB,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA,iBA6BjD;AAED,eAAe,kBAAkB,CAAC;AAClC,OAAO,EAAC,kBAAkB,EAAC,CAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const AILogBaseSchema: z.ZodObject<{
|
|
3
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
4
|
+
model: z.ZodOptional<z.ZodString>;
|
|
5
|
+
operationTitle: z.ZodOptional<z.ZodString>;
|
|
6
|
+
operationGroup: z.ZodOptional<z.ZodString>;
|
|
7
|
+
ip: z.ZodOptional<z.ZodString>;
|
|
8
|
+
userAgent: z.ZodOptional<z.ZodString>;
|
|
9
|
+
input: z.ZodOptional<z.ZodString>;
|
|
10
|
+
inputImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
11
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
12
|
+
filepath: z.ZodOptional<z.ZodString>;
|
|
13
|
+
size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
14
|
+
mimetype: z.ZodOptional<z.ZodString>;
|
|
15
|
+
url: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>>>;
|
|
17
|
+
inputFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
18
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
19
|
+
filepath: z.ZodOptional<z.ZodString>;
|
|
20
|
+
size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
21
|
+
mimetype: z.ZodOptional<z.ZodString>;
|
|
22
|
+
url: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, z.core.$strip>>>;
|
|
24
|
+
inputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
25
|
+
outputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26
|
+
tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
27
|
+
startedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
28
|
+
endedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
29
|
+
responseTime: z.ZodOptional<z.ZodString>;
|
|
30
|
+
output: z.ZodOptional<z.ZodString>;
|
|
31
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
statusCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
33
|
+
errorMessage: z.ZodOptional<z.ZodString>;
|
|
34
|
+
tenant: z.ZodNullable<z.ZodOptional<z.ZodCoercedString<unknown>>>;
|
|
35
|
+
user: z.ZodNullable<z.ZodOptional<z.ZodCoercedString<unknown>>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
declare const AILogSchema: z.ZodObject<{
|
|
38
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
39
|
+
model: z.ZodOptional<z.ZodString>;
|
|
40
|
+
operationTitle: z.ZodOptional<z.ZodString>;
|
|
41
|
+
operationGroup: z.ZodOptional<z.ZodString>;
|
|
42
|
+
ip: z.ZodOptional<z.ZodString>;
|
|
43
|
+
userAgent: z.ZodOptional<z.ZodString>;
|
|
44
|
+
input: z.ZodOptional<z.ZodString>;
|
|
45
|
+
inputImages: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
46
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
47
|
+
filepath: z.ZodOptional<z.ZodString>;
|
|
48
|
+
size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
49
|
+
mimetype: z.ZodOptional<z.ZodString>;
|
|
50
|
+
url: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>>>;
|
|
52
|
+
inputFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
53
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
54
|
+
filepath: z.ZodOptional<z.ZodString>;
|
|
55
|
+
size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
56
|
+
mimetype: z.ZodOptional<z.ZodString>;
|
|
57
|
+
url: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.core.$strip>>>;
|
|
59
|
+
inputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
60
|
+
outputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
61
|
+
tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
62
|
+
startedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
63
|
+
endedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
|
|
64
|
+
responseTime: z.ZodOptional<z.ZodString>;
|
|
65
|
+
output: z.ZodOptional<z.ZodString>;
|
|
66
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
67
|
+
statusCode: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
68
|
+
errorMessage: z.ZodOptional<z.ZodString>;
|
|
69
|
+
_id: z.ZodCoercedString<unknown>;
|
|
70
|
+
tenant: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
71
|
+
_id: z.ZodCoercedString<unknown>;
|
|
72
|
+
name: z.ZodString;
|
|
73
|
+
}, z.core.$strip>>>;
|
|
74
|
+
user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
75
|
+
_id: z.ZodCoercedString<unknown>;
|
|
76
|
+
username: z.ZodString;
|
|
77
|
+
}, z.core.$strip>>>;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
export default AILogSchema;
|
|
80
|
+
export { AILogSchema, AILogBaseSchema };
|
|
81
|
+
//# sourceMappingURL=AILogSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/AILogSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsCnB,CAAC;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKX,CAAA;AAEN,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAILogRepository } from "../interfaces/IAILogRepository";
|
|
2
|
+
import type { IAILogBase, IAILog } from "@drax/ai-share";
|
|
3
|
+
import { AbstractService } from "@drax/crud-back";
|
|
4
|
+
import type { ZodObject, ZodRawShape } from "zod";
|
|
5
|
+
declare class AILogService extends AbstractService<IAILog, IAILogBase, IAILogBase> {
|
|
6
|
+
constructor(AILogRepository: IAILogRepository, baseSchema?: ZodObject<ZodRawShape>, fullSchema?: ZodObject<ZodRawShape>);
|
|
7
|
+
}
|
|
8
|
+
export default AILogService;
|
|
9
|
+
export { AILogService };
|
|
10
|
+
//# sourceMappingURL=AILogService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AILogService.d.ts","sourceRoot":"","sources":["../../src/services/AILogService.ts"],"names":[],"mappings":"AACA,OAAO,KAAI,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,KAAK,CAAC;AAEhD,cAAM,YAAa,SAAQ,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;gBAG1D,eAAe,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC;CAO1H;AAED,eAAe,YAAY,CAAA;AAC3B,OAAO,EAAC,YAAY,EAAC,CAAA"}
|