@futdevpro/nts-dynamo 1.14.35 → 1.14.37
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/build/_modules/ai/_models/ai-input-interfaces.d.ts +20 -28
- package/build/_modules/ai/_models/ai-input-interfaces.d.ts.map +1 -1
- package/build/_modules/ai/_models/ai-input-interfaces.js +3 -0
- package/build/_modules/ai/_models/ai-input-interfaces.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +14 -58
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +138 -147
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +27 -180
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +147 -328
- package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
- package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +22 -14
- package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_services/ai-llm-chat.service-base.js.map +1 -1
- package/build/_modules/ai/_services/ai-llm.service-base.d.ts +52 -21
- package/build/_modules/ai/_services/ai-llm.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_services/ai-llm.service-base.js +171 -0
- package/build/_modules/ai/_services/ai-llm.service-base.js.map +1 -1
- package/build/_modules/ai/_services/ai-provider.service-base.d.ts +1 -1
- package/build/_modules/ai/_services/ai-provider.service-base.d.ts.map +1 -1
- package/build/_modules/assistant/_services/ass-io.control-service.js +2 -2
- package/build/_modules/assistant/_services/ass-io.control-service.js.map +1 -1
- package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +8 -2
- package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts.map +1 -1
- package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +31 -0
- package/build/_modules/bot/_models/bot-channel-wrapper.interface.js.map +1 -1
- package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +6 -1
- package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts.map +1 -1
- package/build/_modules/bot/_models/bot-message-wrapper.interface.js +39 -0
- package/build/_modules/bot/_models/bot-message-wrapper.interface.js.map +1 -1
- package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +2 -1
- package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts.map +1 -1
- package/build/_modules/bot/_models/bot-user-wrapper.interface.js +18 -0
- package/build/_modules/bot/_models/bot-user-wrapper.interface.js.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +9 -6
- package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +9 -6
- package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js.map +1 -1
- package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +9 -9
- package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js.map +1 -1
- package/build/_modules/discord-assistant/_services/dias-io.control-service.js +2 -2
- package/build/_modules/discord-assistant/_services/dias-io.control-service.js.map +1 -1
- package/package.json +1 -1
- package/src/_modules/ai/_models/ai-input-interfaces.ts +63 -26
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +99 -139
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +246 -294
- package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +36 -16
- package/src/_modules/ai/_services/ai-llm.service-base.ts +272 -28
- package/src/_modules/ai/_services/ai-provider.service-base.ts +1 -1
- package/src/_modules/assistant/_services/ass-io.control-service.ts +2 -2
- package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +30 -4
- package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +24 -2
- package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +8 -2
- package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +6 -6
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +6 -6
- package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +9 -9
- package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +2 -2
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { DyNTS_AI_LLM_ServiceBase } from './ai-llm.service-base';
|
|
2
|
-
import {
|
|
2
|
+
import { DyFM_AI_CallSettings } from '@futdevpro/fsm-dynamo/ai';
|
|
3
|
+
import { DyFM_AI_ConversationBase_Input, DyFM_AI_ConversationGenericSelect_Input, DyFM_AI_ConversationGenericMultiSelect_Input, DyFM_AI_ConversationJSONKeysDescription_Input, DyFM_AI_ConversationJSONExactKeys_Input } from '../_models/ai-input-interfaces';
|
|
3
4
|
/**
|
|
4
5
|
* Abstract base class for LLM Chat services
|
|
5
6
|
* Extends LLM service with conversation management capabilities
|
|
6
7
|
*/
|
|
7
|
-
export declare abstract class DyNTS_AI_LLMChat_ServiceBase extends DyNTS_AI_LLM_ServiceBase {
|
|
8
|
+
export declare abstract class DyNTS_AI_LLMChat_ServiceBase<T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings> extends DyNTS_AI_LLM_ServiceBase<T_AISettings> {
|
|
8
9
|
/**
|
|
9
10
|
* Add a message to the conversation history
|
|
10
11
|
*/
|
|
@@ -14,19 +15,26 @@ export declare abstract class DyNTS_AI_LLMChat_ServiceBase extends DyNTS_AI_LLM_
|
|
|
14
15
|
/**
|
|
15
16
|
* Get the conversation history for an issuer
|
|
16
17
|
*/
|
|
17
|
-
abstract
|
|
18
|
-
abstract
|
|
19
|
-
abstract
|
|
20
|
-
abstract
|
|
21
|
-
|
|
18
|
+
abstract requestSimpleMessageInConversation(set: DyFM_AI_ConversationBase_Input<T_AISettings>): Promise<string>;
|
|
19
|
+
abstract requestYesNoInConversation(set: DyFM_AI_ConversationBase_Input<T_AISettings>): Promise<boolean>;
|
|
20
|
+
abstract requestPercentageInConversation(set: DyFM_AI_ConversationBase_Input<T_AISettings>): Promise<number>;
|
|
21
|
+
abstract requestSelectInConversation<T>(set: DyFM_AI_ConversationGenericSelect_Input<T, T_AISettings>): Promise<T | {
|
|
22
|
+
unparsableResult: string;
|
|
23
|
+
}>;
|
|
24
|
+
abstract requestMultiselectInConversation<T>(set: DyFM_AI_ConversationGenericMultiSelect_Input<T, T_AISettings>): Promise<T[] | {
|
|
25
|
+
unparsableResult: string;
|
|
26
|
+
}>;
|
|
27
|
+
abstract requestJSONInConversation<T = any>(set: DyFM_AI_ConversationBase_Input<T_AISettings>): Promise<T | {
|
|
28
|
+
unparsableResult: string;
|
|
29
|
+
}>;
|
|
30
|
+
abstract requestJSONInConversationWithKeysDescription<T>(set: DyFM_AI_ConversationJSONKeysDescription_Input<T_AISettings>): Promise<T | {
|
|
31
|
+
unparsableResult: string;
|
|
32
|
+
}>;
|
|
33
|
+
abstract requestJSONInConversationWithExactKeys<T>(set: DyFM_AI_ConversationJSONExactKeys_Input<T_AISettings>): Promise<T | {
|
|
34
|
+
unparsableResult: string;
|
|
35
|
+
}>;
|
|
36
|
+
abstract requestListInConversation(set: DyFM_AI_ConversationBase_Input<T_AISettings>): Promise<string[] | {
|
|
22
37
|
unparsableResult: string;
|
|
23
38
|
}>;
|
|
24
|
-
abstract multipleSelectQuestionInConversationWithOptions(set: DyFM_AI_ConversationMultiSelect_Input): Promise<string[]>;
|
|
25
|
-
abstract requestMultiselectInConversation<T>(set: DyFM_AI_ConversationGenericMultiSelect_Input<T>): Promise<T[]>;
|
|
26
|
-
abstract JSONQuestionInConversationWithKeysDescription(set: DyFM_AI_ConversationJSONKeysDescription_Input): Promise<object>;
|
|
27
|
-
abstract JSONQuestionInConversationWithExactKeys(set: DyFM_AI_ConversationJSONExactKeys_Input): Promise<object>;
|
|
28
|
-
abstract requestJSONInConversationWithExactKeys<T>(set: DyFM_AI_ConversationJSONExactKeys_Input): Promise<T>;
|
|
29
|
-
abstract getQuestionAnswerInConversation(set: DyFM_AI_ConversationQuestion_Input): Promise<string>;
|
|
30
|
-
abstract getAnswerInConversation(set: DyFM_AI_ConversationGetAnswer_Input): Promise<string>;
|
|
31
39
|
}
|
|
32
40
|
//# sourceMappingURL=ai-llm-chat.service-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-llm-chat.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm-chat.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-llm-chat.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm-chat.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAmB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EACL,8BAA8B,EAE9B,uCAAuC,EAEvC,4CAA4C,EAC5C,6CAA6C,EAC7C,uCAAuC,EACxC,MAAM,gCAAgC,CAAC;AAGxC;;;GAGG;AACH,8BAAsB,4BAA4B,CAChD,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,CAChE,SAAQ,wBAAwB,CAAC,YAAY,CAAC;IAE9C;;OAEG;IAGH;;OAEG;IAGH;;OAEG;IAIH,QAAQ,CAAC,kCAAkC,CAAC,GAAG,EAAE,8BAA8B,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/G,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,8BAA8B,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACxG,QAAQ,CAAC,+BAA+B,CAAC,GAAG,EAAE,8BAA8B,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAG5G,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EACpC,GAAG,EAAE,uCAAuC,CAAC,CAAC,EAAE,YAAY,CAAC,GAC5D,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5C,QAAQ,CAAC,gCAAgC,CAAC,CAAC,EACzC,GAAG,EAAE,4CAA4C,CAAC,CAAC,EAAE,YAAY,CAAC,GACjE,OAAO,CAAC,CAAC,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAE9C,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAAG,GAAG,EACxC,GAAG,EAAE,8BAA8B,CAAC,YAAY,CAAC,GAChD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,4CAA4C,CAAC,CAAC,EACrD,GAAG,EAAE,6CAA6C,CAAC,YAAY,CAAC,GAC/D,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,sCAAsC,CAAC,CAAC,EAC/C,GAAG,EAAE,uCAAuC,CAAC,YAAY,CAAC,GACzD,OAAO,CAAC,CAAC,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5C,QAAQ,CAAC,yBAAyB,CAChC,GAAG,EAAE,8BAA8B,CAAC,YAAY,CAAC,GAChD,OAAO,CAAC,MAAM,EAAE,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-llm-chat.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm-chat.service-base.ts"],"names":[],"mappings":";;;AAAA,+DAAiE;AAajE;;;GAGG;AACH,MAAsB,
|
|
1
|
+
{"version":3,"file":"ai-llm-chat.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm-chat.service-base.ts"],"names":[],"mappings":";;;AAAA,+DAAiE;AAajE;;;GAGG;AACH,MAAsB,4BAEpB,SAAQ,8CAAsC;CAgD/C;AAlDD,oEAkDC"}
|
|
@@ -1,43 +1,74 @@
|
|
|
1
1
|
import { DyNTS_AI_Provider_ServiceBase } from './ai-provider.service-base';
|
|
2
|
-
import { DyFM_AI_CallSettings, DyFM_AI_Message
|
|
3
|
-
import {
|
|
2
|
+
import { DyFM_AI_CallSettings, DyFM_AI_Message } from '@futdevpro/fsm-dynamo/ai';
|
|
3
|
+
import { DyFM_AI_GenericSelect_Input, DyFM_AI_GenericMultiSelect_Input, DyFM_AI_JSONKeysDescription_Input, DyFM_AI_JSONExactKeys_Input, DyFM_AI_Message_Input } from '../_models/ai-input-interfaces';
|
|
4
4
|
/**
|
|
5
5
|
* Abstract base class for LLM services
|
|
6
6
|
* Defines all methods that must be implemented by AI providers
|
|
7
7
|
*/
|
|
8
|
-
export declare abstract class DyNTS_AI_LLM_ServiceBase extends DyNTS_AI_Provider_ServiceBase {
|
|
8
|
+
export declare abstract class DyNTS_AI_LLM_ServiceBase<T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings> extends DyNTS_AI_Provider_ServiceBase {
|
|
9
9
|
/** Default settings for LLM calls */
|
|
10
|
-
abstract readonly defaultSettings:
|
|
10
|
+
abstract readonly defaultSettings: T_AISettings;
|
|
11
11
|
/** Default model to use for LLM calls */
|
|
12
|
-
abstract readonly defaultModel: string;
|
|
13
12
|
/** Provider-specific predefined requests */
|
|
14
13
|
abstract readonly predefinedRequests: any;
|
|
14
|
+
_debugLog: boolean;
|
|
15
|
+
get debugLog(): boolean;
|
|
16
|
+
get defaultSystemPrompt(): string;
|
|
17
|
+
get defaultModel(): string;
|
|
18
|
+
defaultLogReplacer: string;
|
|
15
19
|
/**
|
|
16
20
|
* Call LLM with system and user messages
|
|
17
21
|
*/
|
|
18
|
-
abstract callLLM(systemMessage: string, userMessage: string, settings?: DyFM_AI_CallSettings, issuer?: string): Promise<string>;
|
|
19
22
|
/**
|
|
20
23
|
* Call LLM with message history
|
|
21
24
|
*/
|
|
22
|
-
abstract callLLMWithHistory(messages: DyFM_AI_Message[], settings?: DyFM_AI_CallSettings, issuer?: string): Promise<string>;
|
|
23
25
|
/**
|
|
24
26
|
* Call LLM and return raw response
|
|
25
27
|
*/
|
|
26
|
-
abstract
|
|
27
|
-
abstract
|
|
28
|
-
abstract
|
|
29
|
-
abstract
|
|
30
|
-
abstract askSelectQuestion(set: DyFM_AI_ListSelect_Input): Promise<string>;
|
|
31
|
-
abstract requestSelect<T>(set: DyFM_AI_GenericSelect_Input<T>): Promise<T | {
|
|
28
|
+
abstract requestSimpleMessage(set: DyFM_AI_Message_Input<T_AISettings>): Promise<string>;
|
|
29
|
+
abstract requestYesNo(set: DyFM_AI_Message_Input<T_AISettings>): Promise<boolean>;
|
|
30
|
+
abstract requestPercentage(set: DyFM_AI_Message_Input<T_AISettings>): Promise<number>;
|
|
31
|
+
abstract requestSelect<T>(set: DyFM_AI_GenericSelect_Input<T, T_AISettings>): Promise<T | {
|
|
32
32
|
unparsableResult: string;
|
|
33
33
|
}>;
|
|
34
|
-
abstract
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
abstract
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
abstract requestMultiselect<T>(set: DyFM_AI_GenericMultiSelect_Input<T, T_AISettings>): Promise<T[] | {
|
|
35
|
+
unparsableResult: string;
|
|
36
|
+
}>;
|
|
37
|
+
abstract requestJSON<T>(set: DyFM_AI_Message_Input<T_AISettings>): Promise<T | {
|
|
38
|
+
unparsableResult: string;
|
|
39
|
+
}>;
|
|
40
|
+
abstract requestJSONQuestionWithKeysDescription<T>(set: DyFM_AI_JSONKeysDescription_Input<T_AISettings>): Promise<T | {
|
|
41
|
+
unparsableResult: string;
|
|
42
|
+
}>;
|
|
43
|
+
abstract requestJSONWithExactKeys<T>(set: DyFM_AI_JSONExactKeys_Input<T_AISettings>): Promise<T | {
|
|
44
|
+
unparsableResult: string;
|
|
45
|
+
}>;
|
|
46
|
+
abstract requestList<T>(set: DyFM_AI_Message_Input<T_AISettings>): Promise<T[] | {
|
|
47
|
+
unparsableResult: string;
|
|
48
|
+
}>;
|
|
49
|
+
protected convertAnswerToBoolean(answer: string): boolean;
|
|
50
|
+
protected convertAnswerToNumber(answer: string, message: string): number;
|
|
51
|
+
protected convertAnswerToSelectOption<T>(answer: string, message: string, options: T[]): T;
|
|
52
|
+
protected convertAnswerToSelectOptions<T>(answer: string, message: string, options: T[]): T[];
|
|
53
|
+
protected convertAnswerToJSON<T>(answer: string, message: string): T;
|
|
54
|
+
protected convertAnswerToList<T>(answer: string, message: string): T[];
|
|
55
|
+
protected stringifySelectOptions<T>(options: T[]): string[];
|
|
56
|
+
protected stringifySelectOption<T>(option: T): string;
|
|
57
|
+
protected isAnswerValid(answer: string, message: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* olvasható mondatszerű-listaszerű formába teszi a listaelemeket
|
|
60
|
+
* pl.: ['a', 'b', 'c'] -> '"a", "b" or "c"'
|
|
61
|
+
*/
|
|
62
|
+
protected getTextListAsText(list: string[]): string;
|
|
63
|
+
protected logQuestion(set: DyFM_AI_Message_Input<T_AISettings>): void;
|
|
64
|
+
protected getDefaultSystemMessage(settings: T_AISettings): DyFM_AI_Message;
|
|
65
|
+
protected validateConversation(conversation: DyFM_AI_Message[]): void;
|
|
66
|
+
protected logAnswer(answer: string): void;
|
|
67
|
+
protected logConversation(set: {
|
|
68
|
+
conversation: DyFM_AI_Message[];
|
|
69
|
+
debugLog?: boolean;
|
|
70
|
+
/** this is used to readably replace too long contents to eg '...' in logs */
|
|
71
|
+
replaceThisInLog?: string;
|
|
72
|
+
}): void;
|
|
42
73
|
}
|
|
43
74
|
//# sourceMappingURL=ai-llm.service-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"ai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,182 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DyNTS_AI_LLM_ServiceBase = void 0;
|
|
4
4
|
const ai_provider_service_base_1 = require("./ai-provider.service-base");
|
|
5
|
+
const ai_1 = require("@futdevpro/fsm-dynamo/ai");
|
|
6
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
7
|
/**
|
|
6
8
|
* Abstract base class for LLM services
|
|
7
9
|
* Defines all methods that must be implemented by AI providers
|
|
8
10
|
*/
|
|
9
11
|
class DyNTS_AI_LLM_ServiceBase extends ai_provider_service_base_1.DyNTS_AI_Provider_ServiceBase {
|
|
12
|
+
_debugLog = false;
|
|
13
|
+
get debugLog() {
|
|
14
|
+
return this.defaultSettings?.debugLog ?? this._debugLog;
|
|
15
|
+
}
|
|
16
|
+
get defaultSystemPrompt() {
|
|
17
|
+
return this.defaultSettings.systemPrompt;
|
|
18
|
+
}
|
|
19
|
+
get defaultModel() {
|
|
20
|
+
return this.defaultSettings.useModel;
|
|
21
|
+
}
|
|
22
|
+
defaultLogReplacer = '...long-context...';
|
|
23
|
+
// Helper methods
|
|
24
|
+
/* protected abstract getDefaultErrorSettings(
|
|
25
|
+
method: string,
|
|
26
|
+
error: any,
|
|
27
|
+
issuer?: string
|
|
28
|
+
): DyFM_Error_Settings; */
|
|
29
|
+
/* protected abstract getTextListAsText(list: string[]): string; */
|
|
30
|
+
/* protected abstract logQuestion(set: DyFM_AI_Base_Input<T_AISettings>): void; */
|
|
31
|
+
convertAnswerToBoolean(answer) {
|
|
32
|
+
return answer.toUpperCase().includes(this.predefinedRequests.yesNo.upperCaseYes);
|
|
33
|
+
}
|
|
34
|
+
convertAnswerToNumber(answer, message) {
|
|
35
|
+
if (this.isAnswerValid(answer, message)) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
if (isNaN(+answer)) {
|
|
39
|
+
fsm_dynamo_1.DyFM_Log.T_error('DyNTS_AI_LLMChat_ServiceBase.convertAnswerToNumber got an invalid answer', {
|
|
40
|
+
question: message,
|
|
41
|
+
answer: answer,
|
|
42
|
+
});
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return +answer;
|
|
46
|
+
}
|
|
47
|
+
convertAnswerToSelectOption(answer, message, options) {
|
|
48
|
+
if (this.isAnswerValid(answer, message)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
answer = answer.toLocaleUpperCase();
|
|
52
|
+
const stringifiedOptions = this.stringifySelectOptions(options);
|
|
53
|
+
for (const stringifiedItem of stringifiedOptions) {
|
|
54
|
+
if (answer.includes(stringifiedItem.toLocaleUpperCase())) {
|
|
55
|
+
const parsedItem = fsm_dynamo_1.DyFM_Object.safeParseJSON(stringifiedItem);
|
|
56
|
+
if (parsedItem.unparsableResult) {
|
|
57
|
+
fsm_dynamo_1.DyFM_Log.T_error('DyNTS_AI_LLMChat_ServiceBase.convertAnswerToSelectOption got an invalid answer', {
|
|
58
|
+
question: message,
|
|
59
|
+
answer: answer,
|
|
60
|
+
});
|
|
61
|
+
return stringifiedItem;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return parsedItem;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
convertAnswerToSelectOptions(answer, message, options) {
|
|
71
|
+
if (this.isAnswerValid(answer, message)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const enrichedOptions = options.map((option) => ({
|
|
75
|
+
stringifiedOption: this.stringifySelectOption(option),
|
|
76
|
+
parsedOption: option
|
|
77
|
+
}));
|
|
78
|
+
const result = [];
|
|
79
|
+
for (const item of enrichedOptions) {
|
|
80
|
+
if (answer.includes(item.stringifiedOption)) {
|
|
81
|
+
result.push(item.parsedOption);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
convertAnswerToJSON(answer, message) {
|
|
87
|
+
if (this.isAnswerValid(answer, message)) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
const parsedItem = fsm_dynamo_1.DyFM_Object.safeParseJSON(answer);
|
|
91
|
+
if (parsedItem.unparsableResult) {
|
|
92
|
+
fsm_dynamo_1.DyFM_Log.T_error('DyNTS_AI_LLMChat_ServiceBase.convertAnswerToJSON got an invalid answer', {
|
|
93
|
+
question: message,
|
|
94
|
+
answer: answer,
|
|
95
|
+
});
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return parsedItem;
|
|
99
|
+
}
|
|
100
|
+
convertAnswerToList(answer, message) {
|
|
101
|
+
if (this.isAnswerValid(answer, message)) {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
return fsm_dynamo_1.DyFM_Object.safeParseList(answer);
|
|
105
|
+
}
|
|
106
|
+
stringifySelectOptions(options) {
|
|
107
|
+
return options.map(item => this.stringifySelectOption(item));
|
|
108
|
+
}
|
|
109
|
+
stringifySelectOption(option) {
|
|
110
|
+
return JSON.stringify(option);
|
|
111
|
+
}
|
|
112
|
+
isAnswerValid(answer, message) {
|
|
113
|
+
if (!answer?.trim?.()?.length) {
|
|
114
|
+
fsm_dynamo_1.DyFM_Log.T_error('DyNTS_AI_LLMChat_ServiceBase.convertAnswerToSelectOption got an invalid answer', {
|
|
115
|
+
question: message,
|
|
116
|
+
answer: answer,
|
|
117
|
+
});
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* olvasható mondatszerű-listaszerű formába teszi a listaelemeket
|
|
124
|
+
* pl.: ['a', 'b', 'c'] -> '"a", "b" or "c"'
|
|
125
|
+
*/
|
|
126
|
+
getTextListAsText(list) {
|
|
127
|
+
list = list.filter(item => item?.trim()).map(item => `"${item}"`);
|
|
128
|
+
/* list = list.map(item => item.toLocaleLowerCase()); */
|
|
129
|
+
list.push(list.pop() + ' or ' + list.pop());
|
|
130
|
+
return list.join(', ');
|
|
131
|
+
}
|
|
132
|
+
logQuestion(set) {
|
|
133
|
+
if (set.settings?.debugLog ?? this._debugLog) {
|
|
134
|
+
console.log('\n - ', set.message);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
getDefaultSystemMessage(settings) {
|
|
138
|
+
return {
|
|
139
|
+
role: ai_1.DyFM_AI_MessageRole.system,
|
|
140
|
+
content: settings?.systemPrompt || this.defaultSystemPrompt,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
validateConversation(conversation) {
|
|
144
|
+
conversation.forEach((message, index) => {
|
|
145
|
+
if (!message.role) {
|
|
146
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
147
|
+
message: `Message has no role at index ${index}`,
|
|
148
|
+
additionalContent: {
|
|
149
|
+
invalidMessage: message,
|
|
150
|
+
conversation: conversation,
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
if (!message.content) {
|
|
155
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
156
|
+
message: `Message has no content at index ${index}`,
|
|
157
|
+
additionalContent: {
|
|
158
|
+
invalidMessage: message,
|
|
159
|
+
conversation: conversation,
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
logAnswer(answer) {
|
|
166
|
+
if (this._debugLog) {
|
|
167
|
+
console.log(' - answer: ', answer);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//////////////////////////////////////////////////////////////////////////////////////////
|
|
171
|
+
// LLM CHAT METHODS //
|
|
172
|
+
//////////////////////////////////////////////////////////////////////////////////////////
|
|
173
|
+
logConversation(set) {
|
|
174
|
+
if (set.debugLog || this._debugLog) {
|
|
175
|
+
fsm_dynamo_1.DyFM_Log.info('Conversation log at', (0, fsm_dynamo_1.DyFM_getLocalStackLocation)());
|
|
176
|
+
set.conversation.forEach(message => {
|
|
177
|
+
console.log(` - ${message.role}: ${message.content.replace(set.replaceThisInLog, this.defaultLogReplacer)}`);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
10
181
|
}
|
|
11
182
|
exports.DyNTS_AI_LLM_ServiceBase = DyNTS_AI_LLM_ServiceBase;
|
|
12
183
|
//# sourceMappingURL=ai-llm.service-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-llm.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":";;;AAAA,yEAA2E;
|
|
1
|
+
{"version":3,"file":"ai-llm.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-llm.service-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export declare abstract class DyNTS_AI_Provider_ServiceBase extends DyNTS_Single
|
|
|
15
15
|
* Initialize the provider with configuration
|
|
16
16
|
* @param config - Provider-specific configuration
|
|
17
17
|
*/
|
|
18
|
-
abstract
|
|
18
|
+
abstract setup(config: DyFM_AI_Config): void;
|
|
19
19
|
/**
|
|
20
20
|
* Test the connection to the AI provider
|
|
21
21
|
* @param issuer - The issuer making the request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-provider.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;GAGG;AACH,8BAAsB,6BAA8B,SAAQ,sBAAsB;IAChF,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAE/C,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAE7D;;;OAGG;IACH,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"ai-provider.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_services/ai-provider.service-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;GAGG;AACH,8BAAsB,6BAA8B,SAAQ,sBAAsB;IAChF,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAE/C,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAE7D;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAC1D"}
|
|
@@ -31,12 +31,12 @@ class DyNTS_Ass_IO_ControlService extends bot_io_control_service_1.DyNTS_Bot_IO_
|
|
|
31
31
|
issuer: issuer,
|
|
32
32
|
});
|
|
33
33
|
// Get AI response using EXISTING getAnswerInConversation method
|
|
34
|
-
const aiResult = await this.aiProvider.
|
|
34
|
+
const aiResult = await this.aiProvider.requestSimpleMessageInConversation({
|
|
35
35
|
conversation: aiMessages,
|
|
36
|
-
issuer: issuer,
|
|
37
36
|
settings: {
|
|
38
37
|
systemPrompt: this.mainBot_CS.defaultSystemPrompt,
|
|
39
38
|
},
|
|
39
|
+
issuer: issuer,
|
|
40
40
|
});
|
|
41
41
|
// Reply via same provider the message came from
|
|
42
42
|
return await message.provider.replyToMessage(message, aiResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ass-io.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/assistant/_services/ass-io.control-service.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,uFAAyF;AAEzF,iFAAiF;AACjF,uDAA0D;AAC1D,uFAAoF;AAIpF;;;;GAIG;AACH,MAAsB,2BAA4B,SAAQ,oDAA2B;IAKnF,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,OAAsC,EACtC,MAAc;QAEd,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,QAAQ,GAAoC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAE1G,oEAAoE;YACpE,MAAM,UAAU,GACd,yBAAc,CAAC,kCAAkC,CAAC;gBAChD,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBACnC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAC/C,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEL,gEAAgE;YAChE,MAAM,QAAQ,GAAW,MAAM,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"ass-io.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/assistant/_services/ass-io.control-service.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,uFAAyF;AAEzF,iFAAiF;AACjF,uDAA0D;AAC1D,uFAAoF;AAIpF;;;;GAIG;AACH,MAAsB,2BAA4B,SAAQ,oDAA2B;IAKnF,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,OAAsC,EACtC,MAAc;QAEd,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,QAAQ,GAAoC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAE1G,oEAAoE;YACpE,MAAM,UAAU,GACd,yBAAc,CAAC,kCAAkC,CAAC;gBAChD,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBACnC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAC/C,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEL,gEAAgE;YAChE,MAAM,QAAQ,GAAW,MAAM,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC;gBAChF,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE;oBACR,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB;iBAClD;gBACD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,gDAAgD;YAChD,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uBAAU,CAAC,SAAS,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,6CAAqB,CAAC,YAAY,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;gBACpF,MAAM,OAAO,CAAC,QAAQ,CAAC,cAAc,CACnC,OAAO,EACP,iBAAiB,6CAAqB,CAAC,mBAAmB,kEAAkE;oBAC5H,uBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAChC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,uBAAU,CAAC;gBACnB,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC/D,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,oBAAoB;aAC5E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA1DD,kEA0DC"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { DyNTS_Bot_MessagingProvider_ServiceBase } from '../_services/bot-messaging-provider.service-base';
|
|
2
|
+
import { DyNTS_Bot_MessageWrapper } from './bot-message-wrapper.interface';
|
|
2
3
|
/**
|
|
3
4
|
* Wraps a bot channel with provider context
|
|
4
5
|
* This ensures channels include the provider information needed for platform-specific operations
|
|
5
6
|
*/
|
|
6
|
-
export
|
|
7
|
+
export declare class DyNTS_Bot_ChannelWrapper<T_MessagingPlatformChannel extends any = any, T_MessagingPlatformMessage extends any = any> {
|
|
7
8
|
id: string;
|
|
8
9
|
name: string;
|
|
9
10
|
isTextBased: boolean;
|
|
10
11
|
isDM: boolean;
|
|
11
12
|
rawPlatformChannel: T_MessagingPlatformChannel;
|
|
12
13
|
/** Reference to the provider instance for platform-specific operations */
|
|
13
|
-
provider: DyNTS_Bot_MessagingProvider_ServiceBase<T_MessagingPlatformChannel,
|
|
14
|
+
provider: DyNTS_Bot_MessagingProvider_ServiceBase<T_MessagingPlatformChannel, T_MessagingPlatformMessage, //DyNTS_Bot_MessageWrapper<any>,
|
|
14
15
|
any, //DyNTS_Bot_UserWrapper<any>,
|
|
15
16
|
any>;
|
|
17
|
+
constructor(set: Partial<DyNTS_Bot_ChannelWrapper<T_MessagingPlatformChannel, T_MessagingPlatformMessage>>);
|
|
18
|
+
sendMessage(content: string, issuer: string): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>;
|
|
19
|
+
sendTyping(): Promise<void>;
|
|
20
|
+
fetchMessages(limit: number): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>[]>;
|
|
21
|
+
clear(): Promise<void>;
|
|
16
22
|
}
|
|
17
23
|
//# sourceMappingURL=bot-channel-wrapper.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-channel-wrapper.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-channel-wrapper.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"bot-channel-wrapper.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-channel-wrapper.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAC3G,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,wBAAwB,CACnC,0BAA0B,SAAS,GAAG,GAAG,GAAG,EAC5C,0BAA0B,SAAS,GAAG,GAAG,GAAG;IAE5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IAEd,kBAAkB,EAAE,0BAA0B,CAAC;IAE/C,0EAA0E;IAC1E,QAAQ,EAAE,uCAAuC,CAC/C,0BAA0B,EAC1B,0BAA0B,EAAE,iCAAiC;IAC7D,GAAG,EAAE,8BAA8B;IACnC,GAAG,CACJ,CAAC;gBAGA,GAAG,EAAE,OAAO,CAAC,wBAAwB,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;IAK1F,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,CAAC;IAI3G,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,EAAE,CAAC;IAM7F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_Bot_ChannelWrapper = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a bot channel with provider context
|
|
6
|
+
* This ensures channels include the provider information needed for platform-specific operations
|
|
7
|
+
*/
|
|
8
|
+
class DyNTS_Bot_ChannelWrapper {
|
|
9
|
+
id;
|
|
10
|
+
name;
|
|
11
|
+
isTextBased;
|
|
12
|
+
isDM;
|
|
13
|
+
rawPlatformChannel;
|
|
14
|
+
/** Reference to the provider instance for platform-specific operations */
|
|
15
|
+
provider;
|
|
16
|
+
constructor(set) {
|
|
17
|
+
Object.assign(this, set);
|
|
18
|
+
}
|
|
19
|
+
async sendMessage(content, issuer) {
|
|
20
|
+
return await this.provider.sendMessageToChannel(this, content, issuer);
|
|
21
|
+
}
|
|
22
|
+
async sendTyping() {
|
|
23
|
+
await this.provider.sendTyping(this);
|
|
24
|
+
}
|
|
25
|
+
async fetchMessages(limit) {
|
|
26
|
+
return await this.provider.fetchMessages(this, limit);
|
|
27
|
+
}
|
|
28
|
+
/* async fetchAllMessagesWi */
|
|
29
|
+
async clear() {
|
|
30
|
+
await this.provider.clearChannel(this);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.DyNTS_Bot_ChannelWrapper = DyNTS_Bot_ChannelWrapper;
|
|
3
34
|
//# sourceMappingURL=bot-channel-wrapper.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-channel-wrapper.interface.js","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-channel-wrapper.interface.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"bot-channel-wrapper.interface.js","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-channel-wrapper.interface.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,wBAAwB;IAInC,EAAE,CAAS;IACX,IAAI,CAAS;IACb,WAAW,CAAU;IACrB,IAAI,CAAU;IAEd,kBAAkB,CAA6B;IAE/C,0EAA0E;IAC1E,QAAQ,CAKN;IAEF,YACE,GAA8F;QAE9F,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,8BAA8B;IAE9B,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF;AA1CD,4DA0CC"}
|
|
@@ -4,7 +4,7 @@ import { DyNTS_Bot_MessagingProvider_ServiceBase } from '../_services/bot-messag
|
|
|
4
4
|
* This ensures messages include the provider information needed to send replies
|
|
5
5
|
* back through the correct platform
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export declare class DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage extends any = any> {
|
|
8
8
|
id: string;
|
|
9
9
|
content: string;
|
|
10
10
|
authorId: string;
|
|
@@ -21,5 +21,10 @@ export interface DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage extends any
|
|
|
21
21
|
/** Reference to the provider instance for sending replies */
|
|
22
22
|
provider: DyNTS_Bot_MessagingProvider_ServiceBase<any, T_MessagingPlatformMessage, any, //DyNTS_Bot_ChannelWrapper<any>,
|
|
23
23
|
any>;
|
|
24
|
+
constructor(set: Partial<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>);
|
|
25
|
+
reply(content: string): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>>;
|
|
26
|
+
sendTyping(): Promise<void>;
|
|
27
|
+
fetchMessages(limit: number): Promise<DyNTS_Bot_MessageWrapper<T_MessagingPlatformMessage>[]>;
|
|
28
|
+
delete(): Promise<void>;
|
|
24
29
|
}
|
|
25
30
|
//# sourceMappingURL=bot-message-wrapper.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-message-wrapper.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-message-wrapper.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAE3G;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"bot-message-wrapper.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-message-wrapper.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAE3G;;;;GAIG;AACH,qBAAa,wBAAwB,CACnC,0BAA0B,SAAS,GAAG,GAAG,GAAG;IAE5C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,kBAAkB,EAAE,0BAA0B,CAAC;IAE/C,6DAA6D;IAC7D,QAAQ,EAAE,uCAAuC,CAC/C,GAAG,EACH,0BAA0B,EAC1B,GAAG,EAAE,gCAAgC;IACrC,GAAG,CACJ,CAAC;gBAGA,GAAG,EAAE,OAAO,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,CAAC;IAK9D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,CAAC;IAIrF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,EAAE,CAAC;IAI7F,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -1,3 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_Bot_MessageWrapper = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a bot message with provider context
|
|
6
|
+
* This ensures messages include the provider information needed to send replies
|
|
7
|
+
* back through the correct platform
|
|
8
|
+
*/
|
|
9
|
+
class DyNTS_Bot_MessageWrapper {
|
|
10
|
+
id;
|
|
11
|
+
content;
|
|
12
|
+
authorId;
|
|
13
|
+
authorName;
|
|
14
|
+
authorDisplayName;
|
|
15
|
+
channelId;
|
|
16
|
+
channelName;
|
|
17
|
+
timestamp;
|
|
18
|
+
isBot;
|
|
19
|
+
replyToMessageId;
|
|
20
|
+
mentions; // user IDs
|
|
21
|
+
issuer;
|
|
22
|
+
rawPlatformMessage; // Original platform message for platform-specific operations
|
|
23
|
+
/** Reference to the provider instance for sending replies */
|
|
24
|
+
provider;
|
|
25
|
+
constructor(set) {
|
|
26
|
+
Object.assign(this, set);
|
|
27
|
+
}
|
|
28
|
+
async reply(content) {
|
|
29
|
+
return await this.provider.replyToMessage(this, content);
|
|
30
|
+
}
|
|
31
|
+
async sendTyping() {
|
|
32
|
+
await this.provider.sendTypingForMessage(this);
|
|
33
|
+
}
|
|
34
|
+
async fetchMessages(limit) {
|
|
35
|
+
return await this.provider.fetchMessagesForMessage(this, limit);
|
|
36
|
+
}
|
|
37
|
+
async delete() {
|
|
38
|
+
await this.provider.deleteMessage(this);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.DyNTS_Bot_MessageWrapper = DyNTS_Bot_MessageWrapper;
|
|
3
42
|
//# sourceMappingURL=bot-message-wrapper.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-message-wrapper.interface.js","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-message-wrapper.interface.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"bot-message-wrapper.interface.js","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-message-wrapper.interface.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,MAAa,wBAAwB;IAGnC,EAAE,CAAS;IACX,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,SAAS,CAAS;IAClB,KAAK,CAAU;IACf,gBAAgB,CAAU;IAC1B,QAAQ,CAAW,CAAC,WAAW;IAC/B,MAAM,CAAS;IAEf,kBAAkB,CAA6B,CAAC,6DAA6D;IAE7G,6DAA6D;IAC7D,QAAQ,CAKN;IAEF,YACE,GAAkE;QAElE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe;QACzB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AA/CD,4DA+CC"}
|
|
@@ -3,7 +3,7 @@ import { DyNTS_Bot_MessagingProvider_ServiceBase } from '../_services/bot-messag
|
|
|
3
3
|
* Wraps a bot user with provider context
|
|
4
4
|
* This ensures users include the provider information needed for platform-specific operations
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export declare class DyNTS_Bot_UserWrapper<T_MessagingPlatformUser extends any = any> {
|
|
7
7
|
id: string;
|
|
8
8
|
username: string;
|
|
9
9
|
displayName: string;
|
|
@@ -13,5 +13,6 @@ export interface DyNTS_Bot_UserWrapper<T_MessagingPlatformUser extends any = any
|
|
|
13
13
|
provider: DyNTS_Bot_MessagingProvider_ServiceBase<any, //DyNTS_Bot_ChannelWrapper<any> ,
|
|
14
14
|
any, //DyNTS_Bot_MessageWrapper<any> ,
|
|
15
15
|
T_MessagingPlatformUser>;
|
|
16
|
+
constructor(set: Partial<DyNTS_Bot_UserWrapper<T_MessagingPlatformUser>>);
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=bot-user-wrapper.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-user-wrapper.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-user-wrapper.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAE3G;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"bot-user-wrapper.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/bot/_models/bot-user-wrapper.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAE3G;;;GAGG;AACH,qBAAa,qBAAqB,CAChC,uBAAuB,SAAS,GAAG,GAAG,GAAG;IAczC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IAEf,eAAe,EAAE,uBAAuB,CAAC;IAEzC,0EAA0E;IAC1E,QAAQ,EAAoC,uCAAuC,CACjF,GAAG,EAAE,kCAAkC;IACvC,GAAG,EAAE,kCAAkC;IACvC,uBAAuB,CACxB,CAAC;gBAGA,GAAG,EAAE,OAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;CAI/D"}
|