@mate-academy/llm-gateway 7.2.2 → 7.2.4

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.
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_MAX_AGENT_STEPS = 100;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MAX_AGENT_STEPS = void 0;
4
+ exports.DEFAULT_MAX_AGENT_STEPS = 100;
5
+ //# sourceMappingURL=LLMAgent.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAgent.constants.js","sourceRoot":"","sources":["../../src/agent/LLMAgent.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LLMProviders } from '../LLMService.typedefs';
2
+ import type { LLMReporterInterface } from '../utilities/reporter';
3
+ import { LLMAgentBase } from './LLMAgentBase';
4
+ import type { LLMAgentConfig, LLMAgentRunOptions, LLMAgentResult } from './LLMAgent.typedefs';
5
+ export declare class LLMAgent<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> extends LLMAgentBase<Provider, Reporter> {
6
+ private readonly maxSteps;
7
+ constructor(config: LLMAgentConfig<Provider, Reporter>);
8
+ run(prompt: string, options?: LLMAgentRunOptions<Reporter>): Promise<LLMAgentResult>;
9
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMAgent = void 0;
4
+ const LLMAgent_constants_1 = require("./LLMAgent.constants");
5
+ const LLMAgentBase_1 = require("./LLMAgentBase");
6
+ class LLMAgent extends LLMAgentBase_1.LLMAgentBase {
7
+ maxSteps;
8
+ constructor(config) {
9
+ super(config);
10
+ this.maxSteps = config.maxSteps ?? LLMAgent_constants_1.DEFAULT_MAX_AGENT_STEPS;
11
+ }
12
+ async run(prompt, options) {
13
+ const agentLogger = this.logger?.child(`Agent:${this.name}`);
14
+ agentLogger?.info('Starting agent run', { prompt });
15
+ const allTools = this.buildTools(options, agentLogger);
16
+ return this.runWithChat(options, agentLogger, async (service, chatId) => {
17
+ const assistOptions = this.buildAssistOptions(chatId, prompt, allTools, options, this.maxSteps);
18
+ const result = await service.assistInChat(assistOptions);
19
+ if ('error' in result) {
20
+ throw result.error;
21
+ }
22
+ agentLogger?.info('Agent run completed');
23
+ return { text: result.text };
24
+ });
25
+ }
26
+ }
27
+ exports.LLMAgent = LLMAgent;
28
+ //# sourceMappingURL=LLMAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAgent.js","sourceRoot":"","sources":["../../src/agent/LLMAgent.ts"],"names":[],"mappings":";;;AAEA,6DAA+D;AAC/D,iDAA8C;AAO9C,MAAa,QAIX,SAAQ,2BAAgC;IACvB,QAAQ,CAAS;IAElC,YAAY,MAA0C;QACpD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,4CAAuB,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,GAAG,CACP,MAAc,EACd,OAAsC;QAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EACjD,OAAO,EACP,MAAM,EACN,EAAE;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAC3C,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAEzD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,MAAM,CAAC,KAAK,CAAC;YACrB,CAAC;YAED,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA7CD,4BA6CC"}
@@ -0,0 +1,44 @@
1
+ import type { LLMAssistanceService } from '../services';
2
+ import type { LLMInstanceOptions, LLMModel, LLMProviders, LLMToolDefinition } from '../LLMService.typedefs';
3
+ import type { LLMLoggerInterface } from '../utilities/logger';
4
+ import type { LLMReporterInterface } from '../utilities/reporter';
5
+ export interface LLMAgentRunOptions<Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> {
6
+ abortSignal?: AbortSignal;
7
+ reporterContext?: Reporter extends LLMReporterInterface<infer R> ? R extends undefined ? never : R : never;
8
+ }
9
+ export interface LLMAgentResult {
10
+ text: string;
11
+ }
12
+ export interface LLMAgentLike<Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> {
13
+ readonly name: string;
14
+ readonly description?: string;
15
+ run(prompt: string, options?: LLMAgentRunOptions<Reporter>): Promise<LLMAgentResult>;
16
+ }
17
+ interface LLMAgentBaseFields<Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> {
18
+ name: string;
19
+ description?: string;
20
+ instructions: string;
21
+ model: LLMModel<any>;
22
+ tools?: LLMToolDefinition[];
23
+ subagents?: LLMAgentLike<Reporter>[];
24
+ logger?: LLMLoggerInterface;
25
+ }
26
+ type WithService<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> = {
27
+ service: LLMAssistanceService<Provider, Reporter>;
28
+ provider?: never;
29
+ providerOptions?: never;
30
+ reporter?: never;
31
+ };
32
+ type WithProvider<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> = {
33
+ service?: never;
34
+ provider: Provider;
35
+ providerOptions?: LLMInstanceOptions[Provider];
36
+ reporter?: Reporter;
37
+ };
38
+ export type LLMAgentConfig<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> = LLMAgentBaseFields<Reporter> & {
39
+ maxSteps?: number;
40
+ } & (WithService<Provider, Reporter> | WithProvider<Provider, Reporter>);
41
+ export type LLMAgentOrchestratorConfig<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> = LLMAgentBaseFields<Reporter> & {
42
+ agents: LLMAgentLike<Reporter>[];
43
+ } & (WithService<Provider, Reporter> | WithProvider<Provider, Reporter>);
44
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LLMAgent.typedefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAgent.typedefs.js","sourceRoot":"","sources":["../../src/agent/LLMAgent.typedefs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import type { LLMProviders, LLMToolDefinition, LLMInstanceOptions } from '../LLMService.typedefs';
2
+ import type { LLMLoggerInterface } from '../utilities/logger';
3
+ import type { LLMReporterInterface } from '../utilities/reporter';
4
+ import type { LLMAssistanceService } from '../services';
5
+ import type { LLMModel } from '../LLMService.typedefs';
6
+ import type { LLMAgentLike, LLMAgentRunOptions, LLMAgentResult } from './LLMAgent.typedefs';
7
+ interface LLMAgentBaseInit<Provider extends LLMProviders, Reporter extends LLMReporterInterface<any> | undefined> {
8
+ name: string;
9
+ description?: string;
10
+ instructions: string;
11
+ model: LLMModel<any>;
12
+ tools?: LLMToolDefinition[];
13
+ subagents?: LLMAgentLike<Reporter>[];
14
+ logger?: LLMLoggerInterface;
15
+ service?: LLMAssistanceService<Provider, Reporter>;
16
+ provider?: Provider;
17
+ providerOptions?: LLMInstanceOptions[Provider];
18
+ reporter?: Reporter;
19
+ }
20
+ export declare abstract class LLMAgentBase<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> {
21
+ readonly name: string;
22
+ readonly description?: string;
23
+ protected readonly instructions: string;
24
+ protected readonly model: LLMModel<Provider>;
25
+ protected readonly tools: LLMToolDefinition[];
26
+ protected readonly subagents: LLMAgentLike<Reporter>[];
27
+ protected readonly logger?: LLMLoggerInterface;
28
+ private readonly providedService?;
29
+ private readonly provider?;
30
+ private readonly providerOptions?;
31
+ private readonly reporter?;
32
+ private createdService?;
33
+ constructor(config: LLMAgentBaseInit<Provider, Reporter>);
34
+ abstract run(prompt: string, options?: LLMAgentRunOptions<Reporter>): Promise<LLMAgentResult>;
35
+ protected getService(): LLMAssistanceService<Provider, Reporter>;
36
+ protected runWithChat<T>(runOptions: LLMAgentRunOptions<Reporter> | undefined, contextLogger: LLMLoggerInterface | undefined, callback: (service: LLMAssistanceService<Provider, Reporter>, chatId: string) => Promise<T>): Promise<T>;
37
+ protected buildTools(runOptions?: LLMAgentRunOptions<Reporter>, contextLogger?: LLMLoggerInterface): LLMToolDefinition[];
38
+ protected buildAssistOptions(chatId: string, prompt: string, tools: LLMToolDefinition[], runOptions?: LLMAgentRunOptions<Reporter>, maxToolIterations?: number): Parameters<LLMAssistanceService<Provider, Reporter>["assistInChat"]>[0];
39
+ private buildCreateChatOptions;
40
+ private wrapToolWithLogging;
41
+ }
42
+ export {};
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMAgentBase = void 0;
4
+ const LLMService_typedefs_1 = require("../LLMService.typedefs");
5
+ const LLMService_factory_1 = require("../LLMService.factory");
6
+ const LLMAgentToolAdapter_1 = require("./LLMAgentToolAdapter");
7
+ class LLMAgentBase {
8
+ name;
9
+ description;
10
+ instructions;
11
+ model;
12
+ tools;
13
+ subagents;
14
+ logger;
15
+ providedService;
16
+ provider;
17
+ providerOptions;
18
+ reporter;
19
+ createdService;
20
+ constructor(config) {
21
+ this.name = config.name;
22
+ this.description = config.description;
23
+ this.instructions = config.instructions;
24
+ this.model = config.model;
25
+ this.tools = config.tools ?? [];
26
+ this.subagents = config.subagents ?? [];
27
+ this.logger = config.logger;
28
+ if (config.service) {
29
+ this.providedService = config.service;
30
+ }
31
+ else {
32
+ this.provider = config.provider;
33
+ this.providerOptions = config.providerOptions;
34
+ this.reporter = config.reporter;
35
+ }
36
+ }
37
+ getService() {
38
+ if (this.providedService) {
39
+ return this.providedService;
40
+ }
41
+ if (!this.createdService) {
42
+ this.createdService = LLMService_factory_1.LLMServiceFactory.getAssistanceService({
43
+ provider: this.provider,
44
+ options: this.providerOptions,
45
+ logger: this.logger,
46
+ reporter: this.reporter,
47
+ });
48
+ }
49
+ return this.createdService;
50
+ }
51
+ async runWithChat(runOptions, contextLogger, callback) {
52
+ const service = this.getService();
53
+ const createChatOptions = this.buildCreateChatOptions(runOptions);
54
+ const chatResult = await service.createChat(createChatOptions);
55
+ if ('error' in chatResult) {
56
+ throw chatResult.error;
57
+ }
58
+ const { chatId } = chatResult;
59
+ try {
60
+ return await callback(service, chatId);
61
+ }
62
+ finally {
63
+ await service.deleteChat(chatId).catch((deleteError) => {
64
+ contextLogger?.warn('Failed to delete chat', {
65
+ chatId,
66
+ error: String(deleteError),
67
+ });
68
+ });
69
+ }
70
+ }
71
+ buildTools(runOptions, contextLogger) {
72
+ const subagentTools = this.subagents.map((subagent) => LLMAgentToolAdapter_1.LLMAgentToolAdapter.agentAsTool(subagent, runOptions));
73
+ const explicitTools = this.tools.map((tool) => this.wrapToolWithLogging(tool, contextLogger));
74
+ const wrappedSubagentTools = subagentTools.map((tool) => this.wrapToolWithLogging(tool, contextLogger));
75
+ return [...explicitTools, ...wrappedSubagentTools];
76
+ }
77
+ buildAssistOptions(chatId, prompt, tools, runOptions, maxToolIterations) {
78
+ const baseOptions = {
79
+ chatId,
80
+ model: this.model,
81
+ message: {
82
+ role: LLMService_typedefs_1.LLMRoles.User,
83
+ content: [{
84
+ type: LLMService_typedefs_1.LLMMessageContentType.TEXT,
85
+ text: prompt,
86
+ }],
87
+ },
88
+ abortSignal: runOptions?.abortSignal,
89
+ };
90
+ if (maxToolIterations !== undefined) {
91
+ baseOptions.maxToolIterations = maxToolIterations;
92
+ }
93
+ if (tools.length > 0) {
94
+ baseOptions.tools = tools;
95
+ }
96
+ if (runOptions?.reporterContext !== undefined) {
97
+ baseOptions.reporterContext = runOptions.reporterContext;
98
+ }
99
+ return baseOptions;
100
+ }
101
+ buildCreateChatOptions(runOptions) {
102
+ const baseOptions = {
103
+ model: this.model,
104
+ instructions: this.instructions,
105
+ abortSignal: runOptions?.abortSignal,
106
+ };
107
+ if (runOptions?.reporterContext !== undefined) {
108
+ baseOptions.reporterContext = runOptions.reporterContext;
109
+ }
110
+ return baseOptions;
111
+ }
112
+ wrapToolWithLogging(tool, contextLogger) {
113
+ if (!contextLogger) {
114
+ return tool;
115
+ }
116
+ return {
117
+ ...tool,
118
+ execute: async (args) => {
119
+ const startTime = Date.now();
120
+ contextLogger.info('Tool call started', {
121
+ tool: tool.name,
122
+ args,
123
+ });
124
+ try {
125
+ const result = await tool.execute(args);
126
+ const duration = Date.now() - startTime;
127
+ contextLogger.info('Tool call completed', {
128
+ tool: tool.name,
129
+ duration,
130
+ });
131
+ return result;
132
+ }
133
+ catch (error) {
134
+ const duration = Date.now() - startTime;
135
+ contextLogger.error('Tool call failed', {
136
+ tool: tool.name,
137
+ duration,
138
+ error: String(error),
139
+ });
140
+ throw error;
141
+ }
142
+ },
143
+ };
144
+ }
145
+ }
146
+ exports.LLMAgentBase = LLMAgentBase;
147
+ //# sourceMappingURL=LLMAgentBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAgentBase.js","sourceRoot":"","sources":["../../src/agent/LLMAgentBase.ts"],"names":[],"mappings":";;;AAKA,+DAAwE;AAKxE,6DAAyD;AACzD,+DAA4D;AAwB5D,MAAsB,YAAY;IAKvB,IAAI,CAAS;IACb,WAAW,CAAU;IAEX,YAAY,CAAS;IACrB,KAAK,CAAqB;IAC1B,KAAK,CAAsB;IAC3B,SAAS,CAA2B;IACpC,MAAM,CAAsB;IAE9B,eAAe,CACW;IAC1B,QAAQ,CAAY;IACpB,eAAe,CAAgC;IAC/C,QAAQ,CAAY;IAC7B,cAAc,CACqB;IAE3C,YAAY,MAA4C;QACtD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,CAAC;IACH,CAAC;IAOS,UAAU;QAClB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,sCAAiB,CAAC,oBAAoB,CAAC;gBAC3D,QAAQ,EAAE,IAAI,CAAC,QAAoB;gBACnC,OAAO,EAAE,IAAI,CAAC,eAAe;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,UAAoD,EACpD,aAA6C,EAC7C,QAGe;QAEf,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CACnD,UAAU,CACX,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,MAAM,UAAU,CAAC,KAAK,CAAC;QACzB,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;gBACrD,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAE;oBAC3C,MAAM;oBACN,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAES,UAAU,CAClB,UAAyC,EACzC,aAAkC;QAElC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,CAAC,QAAQ,EAAE,EAAE,CAAC,yCAAmB,CAAC,WAAW,CAC3C,QAAQ,EACR,UAAU,CACX,CACF,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CACxD,CAAC;QAEF,MAAM,oBAAoB,GAAG,aAAa,CAAC,GAAG,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CACxD,CAAC;QAEF,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,oBAAoB,CAAC,CAAC;IACrD,CAAC;IAES,kBAAkB,CAC1B,MAAc,EACd,MAAc,EACd,KAA0B,EAC1B,UAAyC,EACzC,iBAA0B;QAE1B,MAAM,WAAW,GAAwB;YACvC,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,8BAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,2CAAqB,CAAC,IAAI;wBAChC,IAAI,EAAE,MAAM;qBACb,CAAC;aACH;YACD,WAAW,EAAE,UAAU,EAAE,WAAW;SACrC,CAAC;QAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,WAAW,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,IAAI,UAAU,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,WAAW,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QAC3D,CAAC;QAED,OAAO,WAEH,CAAC;IACP,CAAC;IAEO,sBAAsB,CAC5B,UAAyC;QAEzC,MAAM,WAAW,GAAwB;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,UAAU,EAAE,WAAW;SACrC,CAAC;QAEF,IAAI,UAAU,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,WAAW,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QAC3D,CAAC;QAED,OAAO,WAEH,CAAC;IACP,CAAC;IAEO,mBAAmB,CACzB,IAAuB,EACvB,aAAkC;QAElC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,KAAK,EAAE,IAAS,EAAmB,EAAE;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBACtC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI;iBACL,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAExC,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE;wBACxC,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ;qBACT,CAAC,CAAC;oBAEH,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAExC,aAAa,CAAC,KAAK,CAAC,kBAAkB,EAAE;wBACtC,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ;wBACR,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;qBACrB,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAtND,oCAsNC"}
@@ -0,0 +1,11 @@
1
+ import type { LLMProviders } from '../LLMService.typedefs';
2
+ import type { LLMReporterInterface } from '../utilities/reporter';
3
+ import { LLMAgentBase } from './LLMAgentBase';
4
+ import type { LLMAgentOrchestratorConfig, LLMAgentRunOptions, LLMAgentResult } from './LLMAgent.typedefs';
5
+ export declare class LLMAgentOrchestrator<Provider extends LLMProviders = LLMProviders, Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined> extends LLMAgentBase<Provider, Reporter> {
6
+ private readonly agents;
7
+ constructor(config: LLMAgentOrchestratorConfig<Provider, Reporter>);
8
+ run(prompt: string, options?: LLMAgentRunOptions<Reporter>): Promise<LLMAgentResult>;
9
+ private selectAgent;
10
+ private buildUserMessage;
11
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMAgentOrchestrator = void 0;
4
+ const LLMService_typedefs_1 = require("../LLMService.typedefs");
5
+ const schema_1 = require("../utilities/schema");
6
+ const promptBuilder_1 = require("../utilities/promptBuilder");
7
+ const LLMAgentBase_1 = require("./LLMAgentBase");
8
+ const selectionPrompt = (0, promptBuilder_1.createPromptTemplate)(`Select the most appropriate agent to handle the user request.
9
+
10
+ Available agents:
11
+ {{agentDescriptions}}
12
+
13
+ Respond with the agent name that best matches the request.`);
14
+ class LLMAgentOrchestrator extends LLMAgentBase_1.LLMAgentBase {
15
+ agents;
16
+ constructor(config) {
17
+ super(config);
18
+ this.agents = new Map(config.agents.map((agent) => [agent.name, agent]));
19
+ }
20
+ async run(prompt, options) {
21
+ const orchestratorLogger = this.logger?.child(`Orchestrator:${this.name}`);
22
+ orchestratorLogger?.info('Starting orchestrator run', { prompt });
23
+ const selectedAgent = await this.runWithChat(options, orchestratorLogger, async (service, chatId) => this.selectAgent(service, chatId, prompt, options, orchestratorLogger));
24
+ orchestratorLogger?.info('Delegating to agent', {
25
+ agent: selectedAgent.name,
26
+ });
27
+ return selectedAgent.run(prompt, options);
28
+ }
29
+ async selectAgent(service, chatId, prompt, runOptions, orchestratorLogger) {
30
+ const agentNames = [...this.agents.keys()];
31
+ const selectionSchema = schema_1.LLMSchema.object({
32
+ agent: schema_1.LLMSchema.enum(agentNames)
33
+ .describe('The name of the agent to route this task to'),
34
+ });
35
+ const allTools = this.buildTools(runOptions, orchestratorLogger);
36
+ const userMessage = this.buildUserMessage(prompt);
37
+ const baseOptions = {
38
+ chatId,
39
+ model: this.model,
40
+ message: {
41
+ role: LLMService_typedefs_1.LLMRoles.User,
42
+ content: [{
43
+ type: LLMService_typedefs_1.LLMMessageContentType.TEXT,
44
+ text: userMessage,
45
+ }],
46
+ },
47
+ schema: selectionSchema,
48
+ abortSignal: runOptions?.abortSignal,
49
+ };
50
+ if (allTools.length > 0) {
51
+ baseOptions.tools = allTools;
52
+ }
53
+ if (runOptions?.reporterContext !== undefined) {
54
+ baseOptions.reporterContext = runOptions.reporterContext;
55
+ }
56
+ const result = await service.assistInChat(baseOptions);
57
+ if ('error' in result) {
58
+ throw result.error;
59
+ }
60
+ if (!result.data) {
61
+ throw new Error(`Orchestrator "${this.name}" failed to select an agent`
62
+ + (result.parseError ? `: ${result.parseError}` : ''));
63
+ }
64
+ const selectedAgent = this.agents.get(result.data.agent);
65
+ if (!selectedAgent) {
66
+ throw new Error(`Orchestrator "${this.name}" selected unknown agent`
67
+ + ` "${result.data.agent}"`);
68
+ }
69
+ orchestratorLogger?.info('Agent selected', {
70
+ agent: result.data.agent,
71
+ });
72
+ return selectedAgent;
73
+ }
74
+ buildUserMessage(prompt) {
75
+ const agentDescriptions = [...this.agents.entries()]
76
+ .map(([name, agent]) => {
77
+ const description = agent.description ?? 'No description';
78
+ return `- ${name}: ${description}`;
79
+ })
80
+ .join('\n');
81
+ return selectionPrompt({ agentDescriptions })
82
+ + `\n\nUser request: ${prompt}`;
83
+ }
84
+ }
85
+ exports.LLMAgentOrchestrator = LLMAgentOrchestrator;
86
+ //# sourceMappingURL=LLMAgentOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAgentOrchestrator.js","sourceRoot":"","sources":["../../src/agent/LLMAgentOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { LLMToolDefinition } from '../LLMService.typedefs';
2
+ import type { LLMAgentLike, LLMAgentRunOptions } from './LLMAgent.typedefs';
3
+ import type { LLMReporterInterface } from '../utilities/reporter';
4
+ export declare class LLMAgentToolAdapter {
5
+ static agentAsTool<Reporter extends LLMReporterInterface<any> | undefined = LLMReporterInterface<any> | undefined>(agent: LLMAgentLike<Reporter>, runOptions?: LLMAgentRunOptions<Reporter>): LLMToolDefinition;
6
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMAgentToolAdapter = void 0;
4
+ const tools_1 = require("../utilities/tools");
5
+ const schema_1 = require("../utilities/schema");
6
+ class LLMAgentToolAdapter {
7
+ static agentAsTool(agent, runOptions) {
8
+ const sanitizedName = agent.name.replace(/[^a-zA-Z0-9_-]/g, '_');
9
+ return tools_1.LLMTool.create({
10
+ name: sanitizedName,
11
+ description: agent.description
12
+ ?? `Delegate a task to the "${agent.name}" agent`,
13
+ parameters: schema_1.LLMSchema.object({
14
+ prompt: schema_1.LLMSchema.string()
15
+ .describe('The task or question to delegate to this agent'),
16
+ }),
17
+ execute: async (args) => {
18
+ const result = await agent.run(args.prompt, runOptions);
19
+ return result.text;
20
+ },
21
+ });
22
+ }
23
+ }
24
+ exports.LLMAgentToolAdapter = LLMAgentToolAdapter;
25
+ //# sourceMappingURL=LLMAgentToolAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAgentToolAdapter.js","sourceRoot":"","sources":["../../src/agent/LLMAgentToolAdapter.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAC5C,+CAA+C;AAO/C,MAAa,mBAAmB;IAC9B,MAAM,CAAC,WAAW,CAIhB,KAA6B,EAC7B,UAAyC;QAEzC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAEjE,OAAO,eAAO,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,KAAK,CAAC,WAAW;mBACzB,2BAA2B,KAAK,CAAC,IAAI,SAAS;YACnD,UAAU,EAAE,kBAAS,CAAC,MAAM,CAAC;gBAC3B,MAAM,EAAE,kBAAS,CAAC,MAAM,EAAE;qBACvB,QAAQ,CACP,gDAAgD,CACjD;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EACZ,IAAwB,EACP,EAAE;gBACnB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAExD,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AA7BD,kDA6BC"}
@@ -0,0 +1,6 @@
1
+ export { LLMAgentBase } from './LLMAgentBase';
2
+ export { LLMAgent } from './LLMAgent';
3
+ export { LLMAgentOrchestrator } from './LLMAgentOrchestrator';
4
+ export { LLMAgentToolAdapter } from './LLMAgentToolAdapter';
5
+ export { DEFAULT_MAX_AGENT_STEPS } from './LLMAgent.constants';
6
+ export type { LLMAgentConfig, LLMAgentOrchestratorConfig, LLMAgentRunOptions, LLMAgentResult, LLMAgentLike, } from './LLMAgent.typedefs';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MAX_AGENT_STEPS = exports.LLMAgentToolAdapter = exports.LLMAgentOrchestrator = exports.LLMAgent = exports.LLMAgentBase = void 0;
4
+ var LLMAgentBase_1 = require("./LLMAgentBase");
5
+ Object.defineProperty(exports, "LLMAgentBase", { enumerable: true, get: function () { return LLMAgentBase_1.LLMAgentBase; } });
6
+ var LLMAgent_1 = require("./LLMAgent");
7
+ Object.defineProperty(exports, "LLMAgent", { enumerable: true, get: function () { return LLMAgent_1.LLMAgent; } });
8
+ var LLMAgentOrchestrator_1 = require("./LLMAgentOrchestrator");
9
+ Object.defineProperty(exports, "LLMAgentOrchestrator", { enumerable: true, get: function () { return LLMAgentOrchestrator_1.LLMAgentOrchestrator; } });
10
+ var LLMAgentToolAdapter_1 = require("./LLMAgentToolAdapter");
11
+ Object.defineProperty(exports, "LLMAgentToolAdapter", { enumerable: true, get: function () { return LLMAgentToolAdapter_1.LLMAgentToolAdapter; } });
12
+ var LLMAgent_constants_1 = require("./LLMAgent.constants");
13
+ Object.defineProperty(exports, "DEFAULT_MAX_AGENT_STEPS", { enumerable: true, get: function () { return LLMAgent_constants_1.DEFAULT_MAX_AGENT_STEPS; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,2DAA+D;AAAtD,6HAAA,uBAAuB,OAAA"}
@@ -63,9 +63,9 @@ class LLMAPICompletionService extends OpenAICompatibleCompletion_service_1.OpenA
63
63
  ? null
64
64
  : (0, utilities_1.buildSchemaInstruction)(jsonSchema);
65
65
  const fullInstructions = this.combineInstructions(instructions, schemaInstruction);
66
- const systemMessage = [
67
- { role: 'system', content: fullInstructions },
68
- ];
66
+ const systemMessage = fullInstructions
67
+ ? [{ role: 'system', content: fullInstructions }]
68
+ : [];
69
69
  abortSignal?.throwIfAborted();
70
70
  const responseFormat = (0, utilities_1.buildLLMAPIResponseFormat)(model, jsonSchema);
71
71
  const completion = await this.instance.chat.completions.create({
@@ -1 +1 @@
1
- {"version":3,"file":"LLMAPICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPICompletion.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMAPICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPICompletion.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mate-academy/llm-gateway",
3
- "version": "7.2.2",
3
+ "version": "7.2.4",
4
4
  "description": "A gateway package for LLM services.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,6 +18,10 @@
18
18
  "type-check": "tsc --noEmit",
19
19
  "postpublish": "npm run clean",
20
20
  "clean": "rm -rf ./dist",
21
+ "ui": "npm --prefix scripts/model-browser run dev",
22
+ "ui:build": "npm --prefix scripts/model-browser run build",
23
+ "ui:refresh-benchmarks": "npm --prefix scripts/model-browser run refresh-benchmarks",
24
+ "ui:refresh-usage": "npm --prefix scripts/model-browser run refresh-usage",
21
25
  "patch": "npm version patch && npm publish",
22
26
  "minor": "npm version minor && npm publish",
23
27
  "major": "npm version major && npm publish",