@futdevpro/nts-dynamo 1.14.34 → 1.14.35
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/assistant/_services/ass-main.control-service.d.ts +5 -2
- package/build/_modules/assistant/_services/ass-main.control-service.d.ts.map +1 -1
- package/build/_modules/assistant/_services/ass-main.control-service.js +12 -0
- package/build/_modules/assistant/_services/ass-main.control-service.js.map +1 -1
- package/package.json +1 -1
- package/src/_modules/assistant/_services/ass-main.control-service.ts +30 -8
|
@@ -4,6 +4,7 @@ import { DyNTS_AI_LLMChat_ServiceBase } from '../../ai/_services/ai-llm-chat.ser
|
|
|
4
4
|
import { DyFM_AI_Message } from '@futdevpro/fsm-dynamo/ai';
|
|
5
5
|
import { DyNTS_Ass_IO_ControlService } from './ass-io.control-service';
|
|
6
6
|
import { DyNTS_Bot_MessagingProvider_Type } from '../../bot/_enums/bot-message-provider.enum';
|
|
7
|
+
import { DyNTS_Bot_ChannelWrapper } from '../../bot/_models/bot-channel-wrapper.interface';
|
|
7
8
|
/**
|
|
8
9
|
* Assistant Service Base
|
|
9
10
|
* Integrates commsProvider (bot) and aiProvider (LLMChat) to create AI-powered assistant
|
|
@@ -21,10 +22,12 @@ export declare abstract class DyNTS_Ass_Main_ControlService<T_MessagingPlatformP
|
|
|
21
22
|
* Same as dias.service-base but platform-agnostic
|
|
22
23
|
* Now uses wrapper's provider to ensure messages from correct platform
|
|
23
24
|
*/
|
|
24
|
-
gatherMessagesForMessage(message: DyNTS_Bot_MessageWrapper<
|
|
25
|
+
gatherMessagesForMessage<T>(message: DyNTS_Bot_MessageWrapper<T>, limit?: number): Promise<DyNTS_Bot_MessageWrapper<T>[]>;
|
|
26
|
+
gatherMessagesInChannel(channel: DyNTS_Bot_ChannelWrapper, issuer: string): Promise<DyNTS_Bot_MessageWrapper<any>[]>;
|
|
25
27
|
/**
|
|
26
28
|
* Convert gathered messages to AI conversation using EXISTING DyFM_AI_Message
|
|
27
29
|
*/
|
|
28
|
-
gatherMessagesAsAIConversation(message: DyNTS_Bot_MessageWrapper<
|
|
30
|
+
gatherMessagesAsAIConversation<T>(message: DyNTS_Bot_MessageWrapper<T>, issuer: string): Promise<DyFM_AI_Message[]>;
|
|
31
|
+
gatherMessagesAsAIConversationInChannel<T>(channel: DyNTS_Bot_ChannelWrapper, issuer: string): Promise<DyFM_AI_Message[]>;
|
|
29
32
|
}
|
|
30
33
|
//# sourceMappingURL=ass-main.control-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ass-main.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/assistant/_services/ass-main.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"ass-main.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/assistant/_services/ass-main.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;;;GAIG;AACH,8BAAsB,6BAA6B,CACjD,gCAAgC,SAAS,gCAAgC,GAAG,MAAM,GAAG,gCAAgC,CACrH,SAAQ,6BAA6B,CAAC,gCAAgC,CAAC;IAGvE,UAAU,EAAE,4BAA4B,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,4BAA4B;IAKxD,QAAQ,EAAE,2BAA2B,CAAC;uBAClB,sBAAsB,IAAI,2BAA2B;IAGjF,mBAAmB,EAAE,MAAM,CAAiD;IAE5E,SAAS;IAeT;;;;OAIG;IACG,wBAAwB,CAAC,CAAC,EAC9B,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACpC,KAAK,GAAE,MAAY,GAClB,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;IAYnC,uBAAuB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;IAI3C;;OAEG;IACG,8BAA8B,CAAC,CAAC,EACpC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAWvB,uCAAuC,CAAC,CAAC,EAC7C,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;CAU9B"}
|
|
@@ -37,6 +37,9 @@ class DyNTS_Ass_Main_ControlService extends bot_main_control_service_1.DyNTS_Bot
|
|
|
37
37
|
// Filter out messages with skip flags
|
|
38
38
|
return messages.filter(msg => !ass_global_settings_const_1.DyNTS_Ass_global_settings.skipConversationMessagesFlags.some(flag => msg.content.includes(flag))).sort((a, b) => a.timestamp - b.timestamp);
|
|
39
39
|
}
|
|
40
|
+
async gatherMessagesInChannel(channel, issuer) {
|
|
41
|
+
return channel.provider.fetchMessages(channel, 100);
|
|
42
|
+
}
|
|
40
43
|
/**
|
|
41
44
|
* Convert gathered messages to AI conversation using EXISTING DyFM_AI_Message
|
|
42
45
|
*/
|
|
@@ -49,6 +52,15 @@ class DyNTS_Ass_Main_ControlService extends bot_main_control_service_1.DyNTS_Bot
|
|
|
49
52
|
issuer: issuer,
|
|
50
53
|
});
|
|
51
54
|
}
|
|
55
|
+
async gatherMessagesAsAIConversationInChannel(channel, issuer) {
|
|
56
|
+
const messages = await this.gatherMessagesInChannel(channel, issuer);
|
|
57
|
+
return ass_util_1.DyNTS_Ass_Util.convertBotMessagesToAIConversation({
|
|
58
|
+
messages: messages,
|
|
59
|
+
botClientId: channel.provider.botId,
|
|
60
|
+
botDisplayName: channel.provider.botDisplayName,
|
|
61
|
+
issuer: issuer,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
52
64
|
}
|
|
53
65
|
exports.DyNTS_Ass_Main_ControlService = DyNTS_Ass_Main_ControlService;
|
|
54
66
|
//# sourceMappingURL=ass-main.control-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ass-main.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/assistant/_services/ass-main.control-service.ts"],"names":[],"mappings":";;;AAAA,2FAA6F;AAI7F,yFAAsF;AACtF,uFAAoF;AACpF,uDAA0D;
|
|
1
|
+
{"version":3,"file":"ass-main.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/assistant/_services/ass-main.control-service.ts"],"names":[],"mappings":";;;AAAA,2FAA6F;AAI7F,yFAAsF;AACtF,uFAAoF;AACpF,uDAA0D;AAK1D;;;;GAIG;AACH,MAAsB,6BAEpB,SAAQ,wDAA+D;IAEvE,0CAA0C;IAC1C,UAAU,CAA+B;IASzC,8BAA8B;IAC9B,mBAAmB,GAAW,qDAAyB,CAAC,mBAAmB,CAAC;IAE5E;QACE,KAAK,EAAE,CAAC;QAER,yBAAyB;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEvC,sBAAsB;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC1E,CAAC;QAED,sBAAsB;QACtB,6CAAqB,CAAC,kBAAkB,KAAK,qDAAyB,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAoC,EACpC,QAAgB,GAAG;QAEnB,qEAAqE;QACrE,MAAM,QAAQ,GAAkC,MAAM,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE/G,sCAAsC;QACtC,OAAO,QAAQ,CAAC,MAAM,CACpB,GAAG,CAAC,EAAE,CAAC,CAAC,qDAAyB,CAAC,6BAA6B,CAAC,IAAI,CAClE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnC,CACF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,OAAiC,EACjC,MAAc;QAEd,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,8BAA8B,CAClC,OAAoC,EACpC,MAAc;QAEd,MAAM,QAAQ,GAAkC,MAAM,IAAI,CAAC,wBAAwB,CAAI,OAAO,CAAC,CAAC;QAEhG,OAAO,yBAAc,CAAC,kCAAkC,CAAC;YACvD,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;YACnC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc;YAC/C,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uCAAuC,CAC3C,OAAiC,EACjC,MAAc;QAEd,MAAM,QAAQ,GAAkC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpG,OAAO,yBAAc,CAAC,kCAAkC,CAAC;YACvD,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;YACnC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc;YAC/C,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAzFD,sEAyFC"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import { DyNTS_global_settings } from '../../../_collections/global-settings.con
|
|
|
7
7
|
import { DyNTS_Ass_Util } from '../_collections/ass.util';
|
|
8
8
|
import { DyNTS_Ass_IO_ControlService } from './ass-io.control-service';
|
|
9
9
|
import { DyNTS_Bot_MessagingProvider_Type } from '../../bot/_enums/bot-message-provider.enum';
|
|
10
|
+
import { DyNTS_Bot_ChannelWrapper } from '../../bot/_models/bot-channel-wrapper.interface';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Assistant Service Base
|
|
@@ -50,12 +51,12 @@ export abstract class DyNTS_Ass_Main_ControlService<
|
|
|
50
51
|
* Same as dias.service-base but platform-agnostic
|
|
51
52
|
* Now uses wrapper's provider to ensure messages from correct platform
|
|
52
53
|
*/
|
|
53
|
-
async gatherMessagesForMessage(
|
|
54
|
-
message: DyNTS_Bot_MessageWrapper<
|
|
54
|
+
async gatherMessagesForMessage<T>(
|
|
55
|
+
message: DyNTS_Bot_MessageWrapper<T>,
|
|
55
56
|
limit: number = 100
|
|
56
|
-
): Promise<DyNTS_Bot_MessageWrapper<
|
|
57
|
+
): Promise<DyNTS_Bot_MessageWrapper<T>[]> {
|
|
57
58
|
// Use wrapper's provider to fetch messages from the correct platform
|
|
58
|
-
const messages: DyNTS_Bot_MessageWrapper<
|
|
59
|
+
const messages: DyNTS_Bot_MessageWrapper<T>[] = await message.provider.fetchMessagesForMessage(message, limit);
|
|
59
60
|
|
|
60
61
|
// Filter out messages with skip flags
|
|
61
62
|
return messages.filter(
|
|
@@ -64,15 +65,22 @@ export abstract class DyNTS_Ass_Main_ControlService<
|
|
|
64
65
|
)
|
|
65
66
|
).sort((a, b) => a.timestamp - b.timestamp);
|
|
66
67
|
}
|
|
67
|
-
|
|
68
|
+
|
|
69
|
+
async gatherMessagesInChannel(
|
|
70
|
+
channel: DyNTS_Bot_ChannelWrapper,
|
|
71
|
+
issuer: string,
|
|
72
|
+
): Promise<DyNTS_Bot_MessageWrapper<any>[]> {
|
|
73
|
+
return channel.provider.fetchMessages(channel, 100);
|
|
74
|
+
}
|
|
75
|
+
|
|
68
76
|
/**
|
|
69
77
|
* Convert gathered messages to AI conversation using EXISTING DyFM_AI_Message
|
|
70
78
|
*/
|
|
71
|
-
async gatherMessagesAsAIConversation(
|
|
72
|
-
message: DyNTS_Bot_MessageWrapper<
|
|
79
|
+
async gatherMessagesAsAIConversation<T>(
|
|
80
|
+
message: DyNTS_Bot_MessageWrapper<T>,
|
|
73
81
|
issuer: string,
|
|
74
82
|
): Promise<DyFM_AI_Message[]> {
|
|
75
|
-
const messages: DyNTS_Bot_MessageWrapper<
|
|
83
|
+
const messages: DyNTS_Bot_MessageWrapper<T>[] = await this.gatherMessagesForMessage<T>(message);
|
|
76
84
|
|
|
77
85
|
return DyNTS_Ass_Util.convertBotMessagesToAIConversation({
|
|
78
86
|
messages: messages,
|
|
@@ -81,4 +89,18 @@ export abstract class DyNTS_Ass_Main_ControlService<
|
|
|
81
89
|
issuer: issuer,
|
|
82
90
|
});
|
|
83
91
|
}
|
|
92
|
+
|
|
93
|
+
async gatherMessagesAsAIConversationInChannel<T>(
|
|
94
|
+
channel: DyNTS_Bot_ChannelWrapper,
|
|
95
|
+
issuer: string,
|
|
96
|
+
): Promise<DyFM_AI_Message[]> {
|
|
97
|
+
const messages: DyNTS_Bot_MessageWrapper<T>[] = await this.gatherMessagesInChannel(channel, issuer);
|
|
98
|
+
|
|
99
|
+
return DyNTS_Ass_Util.convertBotMessagesToAIConversation({
|
|
100
|
+
messages: messages,
|
|
101
|
+
botClientId: channel.provider.botId,
|
|
102
|
+
botDisplayName: channel.provider.botDisplayName,
|
|
103
|
+
issuer: issuer,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
84
106
|
}
|