@mcp-abap-adt/llm-agent 2.0.0 → 2.2.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.
@@ -28,6 +28,10 @@ export declare class AnthropicAgent extends BaseAgent {
28
28
  * Format messages for Anthropic API
29
29
  */
30
30
  private formatMessagesForAnthropic;
31
- protected streamLLMWithTools(_messages: Message[], _tools: unknown[], _options?: AgentCallOptions): AsyncGenerator<AgentStreamChunk, void, unknown>;
31
+ /**
32
+ * Stream by falling back to a non-streaming call and yielding the result
33
+ * as text + usage + done chunks. Native SSE streaming can be added later.
34
+ */
35
+ protected streamLLMWithTools(messages: Message[], tools: unknown[], _options?: AgentCallOptions): AsyncGenerator<AgentStreamChunk, void, unknown>;
32
36
  }
33
37
  //# sourceMappingURL=anthropic-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-agent.d.ts","sourceRoot":"","sources":["../../src/agents/anthropic-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,KAAK,gBAAgB,EACrB,SAAS,EACT,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,WAAW,CAAoB;gBAE3B,MAAM,EAAE,oBAAoB;IAKxC;;OAEG;cACa,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAgE9C;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoBpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;cAWjB,kBAAkB,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,MAAM,EAAE,OAAO,EAAE,EACjB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC;CAMnD"}
1
+ {"version":3,"file":"anthropic-agent.d.ts","sourceRoot":"","sources":["../../src/agents/anthropic-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,KAAK,gBAAgB,EACrB,SAAS,EACT,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,WAAW,CAAoB;gBAE3B,MAAM,EAAE,oBAAoB;IAKxC;;OAEG;cACa,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAgE9C;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoBpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;OAGG;cACc,kBAAkB,CACjC,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC;CA2CnD"}
@@ -79,11 +79,40 @@ export class AnthropicAgent extends BaseAgent {
79
79
  };
80
80
  });
81
81
  }
82
- async *streamLLMWithTools(_messages, _tools, _options) {
83
- if (_messages.length < 0) {
84
- yield { type: 'done', finishReason: 'error' };
82
+ /**
83
+ * Stream by falling back to a non-streaming call and yielding the result
84
+ * as text + usage + done chunks. Native SSE streaming can be added later.
85
+ */
86
+ async *streamLLMWithTools(messages, tools, _options) {
87
+ const result = await this.callLLMWithTools(messages, tools);
88
+ if (result.content) {
89
+ yield { type: 'text', delta: result.content };
90
+ }
91
+ // Anthropic returns usage as { input_tokens, output_tokens }
92
+ // biome-ignore lint/suspicious/noExplicitAny: raw provider payload has no stable type
93
+ const raw = result.raw;
94
+ if (raw?.usage) {
95
+ yield {
96
+ type: 'usage',
97
+ promptTokens: raw.usage.input_tokens ?? 0,
98
+ completionTokens: raw.usage.output_tokens ?? 0,
99
+ };
100
+ }
101
+ // Detect tool_calls finish reason
102
+ const hasToolUse = Array.isArray(raw?.content) &&
103
+ raw.content.some((b) => b.type === 'tool_use');
104
+ const finishReason = hasToolUse ? 'tool_calls' : 'stop';
105
+ if (hasToolUse) {
106
+ const toolCalls = raw.content
107
+ .filter((b) => b.type === 'tool_use')
108
+ .map((b) => ({
109
+ id: b.id,
110
+ name: b.name,
111
+ arguments: b.input ?? {},
112
+ }));
113
+ yield { type: 'tool_calls', toolCalls };
85
114
  }
86
- throw new Error('Streaming is not implemented for AnthropicAgent');
115
+ yield { type: 'done', finishReason };
87
116
  }
88
117
  }
89
118
  //# sourceMappingURL=anthropic-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-agent.js","sourceRoot":"","sources":["../../src/agents/anthropic-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-agent.js","sourceRoot":"","sources":["../../src/agents/anthropic-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"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"}
@@ -135,15 +135,18 @@ export class BaseAgent {
135
135
  catch {
136
136
  continue;
137
137
  }
138
+ // Extract usage from any chunk that carries it (OpenAI sends it
139
+ // in a separate empty-choices chunk, DeepSeek may include it
140
+ // alongside the last choice).
141
+ const chunkUsage = chunk.usage;
142
+ if (chunkUsage) {
143
+ yield {
144
+ type: 'usage',
145
+ promptTokens: chunkUsage.prompt_tokens ?? 0,
146
+ completionTokens: chunkUsage.completion_tokens ?? 0,
147
+ };
148
+ }
138
149
  if (Array.isArray(chunk.choices) && chunk.choices.length === 0) {
139
- const usage = chunk.usage;
140
- if (usage) {
141
- yield {
142
- type: 'usage',
143
- promptTokens: usage.prompt_tokens ?? 0,
144
- completionTokens: usage.completion_tokens ?? 0,
145
- };
146
- }
147
150
  continue;
148
151
  }
149
152
  const choice = chunk.choices?.[0];
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export { BaseAgent, type BaseAgentConfig } from './base.js';
6
6
  export { DeepSeekAgent, type DeepSeekAgentConfig } from './deepseek-agent.js';
7
7
  export { OpenAIAgent, type OpenAIAgentConfig } from './openai-agent.js';
8
8
  export { PromptBasedAgent, type PromptBasedAgentConfig, } from './prompt-based-agent.js';
9
+ export { SapCoreAIAgent, type SapCoreAIAgentConfig, } from './sap-core-ai-agent.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC"}
@@ -6,4 +6,5 @@ export { BaseAgent } from './base.js';
6
6
  export { DeepSeekAgent } from './deepseek-agent.js';
7
7
  export { OpenAIAgent } from './openai-agent.js';
8
8
  export { PromptBasedAgent, } from './prompt-based-agent.js';
9
+ export { SapCoreAIAgent, } from './sap-core-ai-agent.js';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,cAAc,GAEf,MAAM,wBAAwB,CAAC"}
@@ -1,21 +1,41 @@
1
1
  /**
2
- * SAP Core AI Agent - Agent implementation for SAP Core AI
2
+ * SAP Core AI Agent extends BaseAgent with native function calling
3
3
  *
4
- * Uses PromptBasedAgent as base since SAP Core AI API format may vary.
5
- * Can be customized based on actual SAP Core AI API capabilities.
4
+ * Uses @sap-ai-sdk/orchestration via SapCoreAIProvider for LLM access.
5
+ * Supports native tool calling (OpenAI function format) and streaming.
6
6
  *
7
7
  * All LLM providers are accessed through SAP AI Core:
8
8
  * - OpenAI models → SAP AI Core → OpenAI
9
9
  * - Anthropic models → SAP AI Core → Anthropic
10
10
  * - DeepSeek models → SAP AI Core → DeepSeek
11
- *
12
- * The model name in SapCoreAIProvider determines which underlying provider to use.
13
11
  */
14
12
  import type { SapCoreAIProvider } from '../llm-providers/sap-core-ai.js';
15
- import { PromptBasedAgent, type PromptBasedAgentConfig } from './prompt-based-agent.js';
16
- export interface SapCoreAIAgentConfig extends Omit<PromptBasedAgentConfig, 'llmProvider'> {
13
+ import type { AgentStreamChunk, Message } from '../types.js';
14
+ import { type AgentCallOptions, BaseAgent, type BaseAgentConfig } from './base.js';
15
+ export interface SapCoreAIAgentConfig extends BaseAgentConfig {
17
16
  llmProvider: SapCoreAIProvider;
18
17
  }
19
- export declare class SapCoreAIAgent extends PromptBasedAgent {
18
+ export declare class SapCoreAIAgent extends BaseAgent {
19
+ private llmProvider;
20
+ constructor(config: SapCoreAIAgentConfig);
21
+ /**
22
+ * Call SAP AI SDK with tools using native function calling.
23
+ */
24
+ protected callLLMWithTools(messages: Message[], tools: unknown[], _options?: AgentCallOptions): Promise<{
25
+ content: string;
26
+ raw?: unknown;
27
+ }>;
28
+ /**
29
+ * Stream SAP AI SDK response with tool calling support.
30
+ */
31
+ protected streamLLMWithTools(messages: Message[], tools: unknown[], _options?: AgentCallOptions): AsyncGenerator<AgentStreamChunk, void, unknown>;
32
+ /**
33
+ * Convert MCP tools to OpenAI function format.
34
+ */
35
+ private convertToolsToFunctions;
36
+ /**
37
+ * Format messages for the SAP AI SDK (OpenAI-compatible format).
38
+ */
39
+ private formatMessages;
20
40
  }
21
41
  //# sourceMappingURL=sap-core-ai-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sap-core-ai-agent.d.ts","sourceRoot":"","sources":["../../src/agents/sap-core-ai-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC;IACnD,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,qBAAa,cAAe,SAAQ,gBAAgB;CAInD"}
1
+ {"version":3,"file":"sap-core-ai-agent.d.ts","sourceRoot":"","sources":["../../src/agents/sap-core-ai-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,KAAK,gBAAgB,EACrB,SAAS,EACT,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,WAAW,CAAoB;gBAE3B,MAAM,EAAE,oBAAoB;IAKxC;;OAEG;cACa,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAe9C;;OAEG;cACc,kBAAkB,CACjC,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC;IA6FlD;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACH,OAAO,CAAC,cAAc;CAQvB"}
@@ -1,17 +1,145 @@
1
1
  /**
2
- * SAP Core AI Agent - Agent implementation for SAP Core AI
2
+ * SAP Core AI Agent extends BaseAgent with native function calling
3
3
  *
4
- * Uses PromptBasedAgent as base since SAP Core AI API format may vary.
5
- * Can be customized based on actual SAP Core AI API capabilities.
4
+ * Uses @sap-ai-sdk/orchestration via SapCoreAIProvider for LLM access.
5
+ * Supports native tool calling (OpenAI function format) and streaming.
6
6
  *
7
7
  * All LLM providers are accessed through SAP AI Core:
8
8
  * - OpenAI models → SAP AI Core → OpenAI
9
9
  * - Anthropic models → SAP AI Core → Anthropic
10
10
  * - DeepSeek models → SAP AI Core → DeepSeek
11
- *
12
- * The model name in SapCoreAIProvider determines which underlying provider to use.
13
11
  */
14
- import { PromptBasedAgent, } from './prompt-based-agent.js';
15
- export class SapCoreAIAgent extends PromptBasedAgent {
12
+ import { BaseAgent, } from './base.js';
13
+ export class SapCoreAIAgent extends BaseAgent {
14
+ llmProvider;
15
+ constructor(config) {
16
+ super(config);
17
+ this.llmProvider = config.llmProvider;
18
+ }
19
+ /**
20
+ * Call SAP AI SDK with tools using native function calling.
21
+ */
22
+ async callLLMWithTools(messages, tools, _options) {
23
+ const functions = this.convertToolsToFunctions(tools);
24
+ const formattedMessages = this.formatMessages(messages);
25
+ const response = await this.llmProvider.chat(formattedMessages, functions.length > 0 ? functions : undefined);
26
+ return {
27
+ content: response.content,
28
+ raw: response.raw,
29
+ };
30
+ }
31
+ /**
32
+ * Stream SAP AI SDK response with tool calling support.
33
+ */
34
+ async *streamLLMWithTools(messages, tools, _options) {
35
+ const functions = this.convertToolsToFunctions(tools);
36
+ const formattedMessages = this.formatMessages(messages);
37
+ const toolCallMap = new Map();
38
+ let finishReason = 'stop';
39
+ for await (const chunk of this.llmProvider.streamChat(formattedMessages, functions.length > 0 ? functions : undefined)) {
40
+ // Yield text deltas
41
+ if (chunk.content) {
42
+ yield { type: 'text', delta: chunk.content };
43
+ }
44
+ // Accumulate tool call deltas from the raw SDK chunk
45
+ if (chunk.raw && typeof chunk.raw === 'object') {
46
+ // biome-ignore lint/suspicious/noExplicitAny: raw SDK chunk type varies
47
+ const sdkChunk = chunk.raw;
48
+ if (typeof sdkChunk.getDeltaToolCalls === 'function') {
49
+ const toolDeltas = sdkChunk.getDeltaToolCalls();
50
+ if (Array.isArray(toolDeltas)) {
51
+ for (const tc of toolDeltas) {
52
+ const index = tc.index;
53
+ if (!toolCallMap.has(index)) {
54
+ toolCallMap.set(index, {
55
+ id: tc.id ?? '',
56
+ name: tc.function?.name ?? '',
57
+ arguments: '',
58
+ });
59
+ }
60
+ if (tc.function?.arguments) {
61
+ const accumulated = toolCallMap.get(index);
62
+ if (accumulated) {
63
+ accumulated.arguments += tc.function.arguments;
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ // Extract usage from chunk
70
+ if (typeof sdkChunk.getTokenUsage === 'function') {
71
+ const usage = sdkChunk.getTokenUsage();
72
+ if (usage) {
73
+ yield {
74
+ type: 'usage',
75
+ promptTokens: usage.prompt_tokens ?? 0,
76
+ completionTokens: usage.completion_tokens ?? 0,
77
+ };
78
+ }
79
+ }
80
+ }
81
+ // Track finish reason
82
+ if (chunk.finishReason) {
83
+ finishReason =
84
+ chunk.finishReason === 'tool_calls'
85
+ ? 'tool_calls'
86
+ : chunk.finishReason === 'length'
87
+ ? 'length'
88
+ : chunk.finishReason === 'error'
89
+ ? 'error'
90
+ : 'stop';
91
+ }
92
+ }
93
+ // Emit accumulated tool calls
94
+ if (toolCallMap.size > 0) {
95
+ const toolCalls = [...toolCallMap.entries()]
96
+ .sort(([a], [b]) => a - b)
97
+ .map(([, tc]) => ({
98
+ id: tc.id,
99
+ name: tc.name,
100
+ arguments: (() => {
101
+ try {
102
+ return JSON.parse(tc.arguments);
103
+ }
104
+ catch {
105
+ return {};
106
+ }
107
+ })(),
108
+ }));
109
+ yield { type: 'tool_calls', toolCalls };
110
+ finishReason = 'tool_calls';
111
+ }
112
+ yield { type: 'done', finishReason };
113
+ }
114
+ /**
115
+ * Convert MCP tools to OpenAI function format.
116
+ */
117
+ convertToolsToFunctions(tools) {
118
+ return tools.map((rawTool) => {
119
+ const tool = rawTool;
120
+ return {
121
+ type: 'function',
122
+ function: {
123
+ name: tool.name ?? '',
124
+ description: tool.description || '',
125
+ parameters: tool.inputSchema || {
126
+ type: 'object',
127
+ properties: {},
128
+ },
129
+ },
130
+ };
131
+ });
132
+ }
133
+ /**
134
+ * Format messages for the SAP AI SDK (OpenAI-compatible format).
135
+ */
136
+ formatMessages(messages) {
137
+ return messages.map((msg) => ({
138
+ role: msg.role,
139
+ content: msg.tool_calls?.length ? null : (msg.content ?? null),
140
+ ...(msg.tool_calls ? { tool_calls: msg.tool_calls } : {}),
141
+ ...(msg.tool_call_id ? { tool_call_id: msg.tool_call_id } : {}),
142
+ }));
143
+ }
16
144
  }
17
145
  //# sourceMappingURL=sap-core-ai-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sap-core-ai-agent.js","sourceRoot":"","sources":["../../src/agents/sap-core-ai-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,OAAO,cAAe,SAAQ,gBAAgB;CAInD"}
1
+ {"version":3,"file":"sap-core-ai-agent.js","sourceRoot":"","sources":["../../src/agents/sap-core-ai-agent.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -53,7 +53,7 @@ import { existsSync, readFileSync } from 'node:fs';
53
53
  import { dirname, join } from 'node:path';
54
54
  import { fileURLToPath } from 'node:url';
55
55
  import { config } from 'dotenv';
56
- import { AnthropicAgent, AnthropicProvider, DeepSeekAgent, DeepSeekProvider, MCPClientWrapper, OpenAIAgent, OpenAIProvider, PromptBasedAgent, } from './index.js';
56
+ import { AnthropicAgent, AnthropicProvider, DeepSeekAgent, DeepSeekProvider, MCPClientWrapper, OpenAIAgent, OpenAIProvider, PromptBasedAgent, SapCoreAIAgent, SapCoreAIProvider, } from './index.js';
57
57
  const __filename = fileURLToPath(import.meta.url);
58
58
  const __dirname = dirname(__filename);
59
59
  // Load .env file if it exists
@@ -191,12 +191,29 @@ async function main() {
191
191
  console.log('✅ Created DeepSeek provider');
192
192
  break;
193
193
  }
194
+ case 'sap-ai-sdk':
195
+ case 'sap': {
196
+ const aicoreKey = process.env.AICORE_SERVICE_KEY;
197
+ if (aicoreKey) {
198
+ console.log(' AICORE_SERVICE_KEY: ✅ SET');
199
+ }
200
+ else {
201
+ console.log(' AICORE_SERVICE_KEY: ❌ NOT SET');
202
+ }
203
+ llmProviderInstance = new SapCoreAIProvider({
204
+ apiKey: 'sap-ai-sdk-managed',
205
+ model: process.env.SAP_AI_MODEL || 'gpt-4o',
206
+ resourceGroup: process.env.SAP_AI_RESOURCE_GROUP,
207
+ });
208
+ console.log('✅ Created SAP AI SDK provider');
209
+ break;
210
+ }
194
211
  case 'ollama': {
195
212
  // Ollama provider not yet implemented, but mentioned in .env.template
196
- throw new Error('Ollama provider is not yet implemented. Use: openai, anthropic, or deepseek');
213
+ throw new Error('Ollama provider is not yet implemented. Use: openai, anthropic, deepseek, or sap-ai-sdk');
197
214
  }
198
215
  default:
199
- throw new Error(`Unsupported LLM provider: ${llmProvider}. Use: openai, anthropic, or deepseek`);
216
+ throw new Error(`Unsupported LLM provider: ${llmProvider}. Use: openai, anthropic, deepseek, or sap-ai-sdk`);
200
217
  }
201
218
  // Create agent based on provider
202
219
  let agent;
@@ -250,6 +267,12 @@ async function main() {
250
267
  mcpClient,
251
268
  });
252
269
  }
270
+ else if (llmProviderInstance instanceof SapCoreAIProvider) {
271
+ agent = new SapCoreAIAgent({
272
+ llmProvider: llmProviderInstance,
273
+ mcpClient,
274
+ });
275
+ }
253
276
  else {
254
277
  agent = new PromptBasedAgent({
255
278
  llmProvider: llmProviderInstance,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,75 +1,52 @@
1
1
  /**
2
- * SAP Core AI LLM Provider
2
+ * SAP AI SDK LLM Provider
3
3
  *
4
- * Implementation of LLMProvider interface for SAP Core AI service.
5
- * This provider uses SAP Cloud SDK for authentication and destination handling.
6
- *
7
- * All LLM providers (OpenAI, Anthropic, DeepSeek, etc.) are accessed through SAP AI Core.
8
- * SAP AI Core acts as a proxy/gateway to different LLM providers.
4
+ * Implementation of LLMProvider interface using @sap-ai-sdk/orchestration.
5
+ * Authentication is handled automatically via AICORE_SERVICE_KEY environment variable.
9
6
  *
10
7
  * Architecture:
11
- * - Agent → SAP Core AI Provider → SAP AI Core → External LLM (OpenAI/Anthropic/DeepSeek)
12
- * - SAP AI Core handles authentication, routing, and provider selection
8
+ * - Agent → SapCoreAIProvider OrchestrationClient → SAP AI Core → External LLM
13
9
  */
14
10
  import type { LLMProviderConfig, LLMResponse, Message } from '../types.js';
15
11
  import { BaseLLMProvider } from './base.js';
16
12
  export interface SapCoreAIConfig extends LLMProviderConfig {
17
- /**
18
- * SAP Destination name for Core AI service
19
- */
20
- destinationName: string;
21
- /**
22
- * Model name (optional, defaults to service default)
23
- * Model selection determines which underlying LLM provider to use
24
- * Examples: 'gpt-4o-mini', 'claude-3-5-sonnet', 'deepseek-chat'
25
- */
13
+ /** Model name (e.g. 'gpt-4o', 'claude-3-5-sonnet'). Default: 'gpt-4o' */
26
14
  model?: string;
27
- /**
28
- * Temperature (optional)
29
- */
15
+ /** Temperature for generation. Default: 0.7 */
30
16
  temperature?: number;
31
- /**
32
- * Max tokens (optional)
33
- */
17
+ /** Max tokens for generation. Default: 2000 */
34
18
  maxTokens?: number;
35
- /**
36
- * HTTP client function for making requests
37
- * If not provided, will use axios (requires direct URL configuration)
38
- * If provided, should use SAP Cloud SDK executeHttpRequest
39
- */
40
- httpClient?: (config: {
41
- destinationName: string;
42
- method: string;
43
- url: string;
44
- headers?: Record<string, string>;
45
- data?: unknown;
46
- }) => Promise<{
47
- data: Record<string, unknown>;
48
- }>;
49
- /**
50
- * Optional logger instance
51
- */
19
+ /** SAP AI Core resource group */
20
+ resourceGroup?: string;
21
+ /** Optional logger */
52
22
  log?: {
53
23
  debug(message: string, meta?: Record<string, unknown>): void;
54
24
  error(message: string, meta?: Record<string, unknown>): void;
55
25
  };
56
26
  }
57
27
  /**
58
- * SAP Core AI Provider implementation
28
+ * SAP AI SDK Provider implementation
59
29
  *
60
- * Uses SAP Cloud SDK executeHttpRequest for authentication and destination handling.
61
- * All LLM providers are accessed through SAP AI Core, not directly.
30
+ * Uses @sap-ai-sdk/orchestration for authentication and LLM access.
31
+ * A new OrchestrationClient is created per call because tools may change between calls.
62
32
  */
63
33
  export declare class SapCoreAIProvider extends BaseLLMProvider {
64
- private destinationName;
65
- private model;
66
- private httpClient;
34
+ readonly model: string;
35
+ readonly resourceGroup?: string;
67
36
  private log?;
68
37
  constructor(config: SapCoreAIConfig);
69
- chat(messages: Message[]): Promise<LLMResponse>;
70
- streamChat(_messages: Message[]): AsyncIterable<LLMResponse>;
38
+ chat(messages: Message[], tools?: unknown[]): Promise<LLMResponse>;
39
+ streamChat(messages: Message[], tools?: unknown[]): AsyncIterable<LLMResponse>;
40
+ /**
41
+ * Create an OrchestrationClient with the given tools configuration.
42
+ */
43
+ private createClient;
44
+ /**
45
+ * Convert MCP tools to OpenAI function calling format expected by the SDK.
46
+ */
47
+ private convertToOrchestrationTools;
71
48
  /**
72
- * Format messages for SAP Core AI API
49
+ * Format messages for the SAP AI SDK (OpenAI-compatible format).
73
50
  */
74
51
  private formatMessages;
75
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sap-core-ai.d.ts","sourceRoot":"","sources":["../../src/llm-providers/sap-core-ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAEjD;;OAEG;IACH,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC9D,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,GAAG,CAAC,CAAyB;gBAEzB,MAAM,EAAE,eAAe;IAY7B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA0F9C,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC;IAOnE;;OAEG;IACH,OAAO,CAAC,cAAc;CAMvB"}
1
+ {"version":3,"file":"sap-core-ai.d.ts","sourceRoot":"","sources":["../../src/llm-providers/sap-core-ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC9D,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,CAAyB;gBAEzB,MAAM,EAAE,eAAe;IAQ7B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CjE,UAAU,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAChB,aAAa,CAAC,WAAW,CAAC;IAqB7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;OAEG;IACH,OAAO,CAAC,cAAc;CA+BvB"}
@@ -1,125 +1,159 @@
1
1
  /**
2
- * SAP Core AI LLM Provider
2
+ * SAP AI SDK LLM Provider
3
3
  *
4
- * Implementation of LLMProvider interface for SAP Core AI service.
5
- * This provider uses SAP Cloud SDK for authentication and destination handling.
6
- *
7
- * All LLM providers (OpenAI, Anthropic, DeepSeek, etc.) are accessed through SAP AI Core.
8
- * SAP AI Core acts as a proxy/gateway to different LLM providers.
4
+ * Implementation of LLMProvider interface using @sap-ai-sdk/orchestration.
5
+ * Authentication is handled automatically via AICORE_SERVICE_KEY environment variable.
9
6
  *
10
7
  * Architecture:
11
- * - Agent → SAP Core AI Provider → SAP AI Core → External LLM (OpenAI/Anthropic/DeepSeek)
12
- * - SAP AI Core handles authentication, routing, and provider selection
8
+ * - Agent → SapCoreAIProvider OrchestrationClient → SAP AI Core → External LLM
13
9
  */
10
+ import { OrchestrationClient, } from '@sap-ai-sdk/orchestration';
14
11
  import { BaseLLMProvider } from './base.js';
15
12
  /**
16
- * SAP Core AI Provider implementation
13
+ * SAP AI SDK Provider implementation
17
14
  *
18
- * Uses SAP Cloud SDK executeHttpRequest for authentication and destination handling.
19
- * All LLM providers are accessed through SAP AI Core, not directly.
15
+ * Uses @sap-ai-sdk/orchestration for authentication and LLM access.
16
+ * A new OrchestrationClient is created per call because tools may change between calls.
20
17
  */
21
18
  export class SapCoreAIProvider extends BaseLLMProvider {
22
- destinationName;
23
19
  model;
24
- httpClient;
25
- log; // Optional logger
20
+ resourceGroup;
21
+ log;
26
22
  constructor(config) {
27
23
  super(config);
28
- if (!config.destinationName) {
29
- throw new Error('SAP destination name is required for SapCoreAIProvider');
30
- }
31
- this.destinationName = config.destinationName;
32
- this.model = config.model || 'gpt-4o-mini'; // Default model
33
- this.httpClient = config.httpClient;
24
+ // Skip validateConfig() — SAP SDK handles auth via AICORE_SERVICE_KEY env var
25
+ this.model = config.model || 'gpt-4o';
26
+ this.resourceGroup = config.resourceGroup;
34
27
  this.log = config.log;
35
28
  }
36
- async chat(messages) {
29
+ async chat(messages, tools) {
37
30
  try {
38
- if (this.log) {
39
- this.log.debug('Sending chat request to SAP Core AI', {
40
- destination: this.destinationName,
41
- model: this.model,
42
- messageCount: messages.length,
43
- });
44
- }
45
- // Format messages for SAP Core AI API
46
- const requestBody = {
31
+ this.log?.debug('Sending chat request via SAP AI SDK', {
47
32
  model: this.model,
48
- messages: this.formatMessages(messages),
49
- temperature: this.config.temperature || 0.7,
50
- max_tokens: this.config.maxTokens || 2000,
51
- };
52
- let response;
53
- if (this.httpClient) {
54
- // Use provided HTTP client (typically SAP Cloud SDK)
55
- // Ensure URL doesn't have trailing slash (SAP AI Core is strict about this)
56
- const url = '/v1/chat/completions'.replace(/\/$/, '');
57
- response = await this.httpClient({
58
- destinationName: this.destinationName,
59
- method: 'POST',
60
- url: url,
61
- headers: {
62
- 'Content-Type': 'application/json',
63
- },
64
- data: requestBody,
65
- });
66
- }
67
- else {
68
- // Fallback: use axios (requires direct URL configuration)
69
- // This is for standalone testing without SAP SDK
70
- const axios = await import('axios');
71
- const baseURL = process.env.SAP_CORE_AI_URL || 'https://api.ai.core.sap';
72
- response = await axios.default.post(`${baseURL}/v1/chat/completions`, requestBody, {
73
- headers: {
74
- 'Content-Type': 'application/json',
75
- },
76
- });
77
- }
78
- const choice = response.data.choices?.[0];
79
- if (!choice) {
80
- throw new Error('No response from SAP Core AI');
81
- }
82
- if (this.log) {
83
- this.log.debug('Received response from SAP Core AI', {
84
- finishReason: choice.finish_reason,
85
- });
86
- }
33
+ messageCount: messages.length,
34
+ toolCount: tools?.length || 0,
35
+ });
36
+ const client = this.createClient(tools);
37
+ const response = await client.chatCompletion({
38
+ messagesHistory: this.formatMessages(messages),
39
+ });
40
+ const toolCalls = response.getToolCalls();
41
+ const content = response.getContent() || '';
42
+ const finishReason = response.getFinishReason();
43
+ this.log?.debug('Received response from SAP AI SDK', { finishReason });
87
44
  return {
88
- content: choice.message
89
- ?.content || '',
90
- finishReason: choice.finish_reason,
91
- raw: response.data,
45
+ content,
46
+ finishReason,
47
+ raw: {
48
+ choices: [
49
+ {
50
+ message: {
51
+ role: 'assistant',
52
+ content,
53
+ ...(toolCalls ? { tool_calls: toolCalls } : {}),
54
+ },
55
+ finish_reason: finishReason,
56
+ },
57
+ ],
58
+ usage: response.getTokenUsage(),
59
+ },
92
60
  };
93
61
  }
94
62
  catch (error) {
95
63
  const message = error instanceof Error ? error.message : String(error);
96
- const responseData = error instanceof Error && 'response' in error
97
- ? error.response?.data
98
- : undefined;
99
- if (this.log) {
100
- this.log.error('SAP Core AI API error', {
101
- destination: this.destinationName,
102
- error: message,
103
- response: responseData,
104
- });
105
- }
106
- throw new Error(`SAP Core AI API error: ${message}`);
64
+ this.log?.error('SAP AI SDK API error', { error: message });
65
+ throw new Error(`SAP AI SDK API error: ${message}`);
107
66
  }
108
67
  }
109
- async *streamChat(_messages) {
110
- if (_messages.length < 0) {
111
- yield { content: '', finishReason: 'error' };
68
+ async *streamChat(messages, tools) {
69
+ try {
70
+ const client = this.createClient(tools);
71
+ const streamResponse = await client.stream({
72
+ messagesHistory: this.formatMessages(messages),
73
+ });
74
+ for await (const chunk of streamResponse.stream) {
75
+ yield {
76
+ content: chunk.getDeltaContent() || '',
77
+ finishReason: chunk.getFinishReason(),
78
+ raw: chunk,
79
+ };
80
+ }
81
+ }
82
+ catch (error) {
83
+ const message = error instanceof Error ? error.message : String(error);
84
+ this.log?.error('SAP AI SDK streaming error', { error: message });
85
+ throw new Error(`SAP AI SDK streaming error: ${message}`);
112
86
  }
113
- throw new Error('Streaming is not implemented for SapCoreAIProvider');
114
87
  }
115
88
  /**
116
- * Format messages for SAP Core AI API
89
+ * Create an OrchestrationClient with the given tools configuration.
90
+ */
91
+ createClient(tools) {
92
+ const orchTools = tools?.length
93
+ ? this.convertToOrchestrationTools(tools)
94
+ : undefined;
95
+ // biome-ignore lint/suspicious/noExplicitAny: SDK model type is a string literal union but the API accepts any model name
96
+ const orchConfig = {
97
+ promptTemplating: {
98
+ model: {
99
+ name: this.model,
100
+ params: {
101
+ max_tokens: this.config.maxTokens || 2000,
102
+ temperature: this.config.temperature || 0.7,
103
+ },
104
+ },
105
+ ...(orchTools ? { prompt: { tools: orchTools } } : {}),
106
+ },
107
+ };
108
+ return new OrchestrationClient(orchConfig, this.resourceGroup ? { resourceGroup: this.resourceGroup } : undefined);
109
+ }
110
+ /**
111
+ * Convert MCP tools to OpenAI function calling format expected by the SDK.
112
+ */
113
+ convertToOrchestrationTools(tools) {
114
+ return tools.map((rawTool) => {
115
+ const tool = rawTool;
116
+ return {
117
+ type: 'function',
118
+ function: {
119
+ name: tool.name ?? '',
120
+ description: tool.description || '',
121
+ parameters: tool.inputSchema || {
122
+ type: 'object',
123
+ properties: {},
124
+ },
125
+ },
126
+ };
127
+ });
128
+ }
129
+ /**
130
+ * Format messages for the SAP AI SDK (OpenAI-compatible format).
117
131
  */
118
132
  formatMessages(messages) {
119
- return messages.map((msg) => ({
120
- role: msg.role,
121
- content: msg.content,
122
- }));
133
+ return messages.map((msg) => {
134
+ if (msg.role === 'assistant' &&
135
+ msg.tool_calls &&
136
+ msg.tool_calls.length > 0) {
137
+ return {
138
+ role: 'assistant',
139
+ content: msg.content || undefined,
140
+ tool_calls: msg.tool_calls,
141
+ };
142
+ }
143
+ if (msg.role === 'tool' && msg.tool_call_id) {
144
+ return {
145
+ role: 'tool',
146
+ content: typeof msg.content === 'string'
147
+ ? msg.content
148
+ : JSON.stringify(msg.content ?? ''),
149
+ tool_call_id: msg.tool_call_id,
150
+ };
151
+ }
152
+ return {
153
+ role: msg.role,
154
+ content: msg.content ?? '',
155
+ };
156
+ });
123
157
  }
124
158
  }
125
159
  //# sourceMappingURL=sap-core-ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sap-core-ai.js","sourceRoot":"","sources":["../../src/llm-providers/sap-core-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sap-core-ai.js","sourceRoot":"","sources":["../../src/llm-providers/sap-core-ai.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-counting-llm.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/llm/token-counting-llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,MAAM,EACP,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,IAAI;IAQ/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPlC,OAAO,CAAC,KAAK,CAKX;gBAE2B,KAAK,EAAE,IAAI;IAElC,IAAI,CACR,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAyBlC,UAAU,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAUlD,+CAA+C;IAC/C,QAAQ,IAAI,UAAU;IAItB,mCAAmC;IACnC,UAAU,IAAI,IAAI;CAQnB"}
1
+ {"version":3,"file":"token-counting-llm.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/llm/token-counting-llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,MAAM,EACP,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,IAAI;IAQ/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPlC,OAAO,CAAC,KAAK,CAKX;gBAE2B,KAAK,EAAE,IAAI;IAElC,IAAI,CACR,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAyBlC,UAAU,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,CAAC,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAalD,+CAA+C;IAC/C,QAAQ,IAAI,UAAU;IAItB,mCAAmC;IACnC,UAAU,IAAI,IAAI;CAQnB"}
@@ -42,8 +42,11 @@ export class TokenCountingLlm {
42
42
  async *streamChat(messages, tools, options) {
43
43
  const stream = this.inner.streamChat(messages, tools, options);
44
44
  for await (const chunk of stream) {
45
- if (chunk.ok) {
46
- // Optional: track usage from stream chunks if provider provides it
45
+ if (chunk.ok && chunk.value.usage) {
46
+ this.usage.requests++;
47
+ this.usage.prompt_tokens += chunk.value.usage.promptTokens;
48
+ this.usage.completion_tokens += chunk.value.usage.completionTokens;
49
+ this.usage.total_tokens += chunk.value.usage.totalTokens;
47
50
  }
48
51
  yield chunk;
49
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-counting-llm.js","sourceRoot":"","sources":["../../../src/smart-agent/llm/token-counting-llm.ts"],"names":[],"mappings":"AAsBA,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAQE;IAPrB,KAAK,GAAe;QAC1B,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,YAA6B,KAAW;QAAX,UAAK,GAAL,KAAK,CAAM;IAAG,CAAC;IAE5C,KAAK,CAAC,IAAI,CACR,QAAmB,EACnB,KAAiB,EACjB,OAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,sFAAsF;YACtF,MAAM,CAAC,GAAI,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,KAAK,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,aAAa;oBACrB,CAAC,CAAC,aAAoC;wBACtC,CAAC,CAAC,YAAmC;wBACtC,CAAC,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,iBAAiB;oBACzB,CAAC,CAAC,iBAAwC;wBAC1C,CAAC,CAAC,aAAoC;wBACvC,CAAC,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,YAAY;oBACpB,CAAC,CAAC,YAAmC;wBACtC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CACf,QAAmB,EACnB,KAAiB,EACjB,OAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;gBACb,mEAAmE;YACrE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,mCAAmC;IACnC,UAAU;QACR,IAAI,CAAC,KAAK,GAAG;YACX,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"token-counting-llm.js","sourceRoot":"","sources":["../../../src/smart-agent/llm/token-counting-llm.ts"],"names":[],"mappings":"AAsBA,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAQE;IAPrB,KAAK,GAAe;QAC1B,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,YAA6B,KAAW;QAAX,UAAK,GAAL,KAAK,CAAM;IAAG,CAAC;IAE5C,KAAK,CAAC,IAAI,CACR,QAAmB,EACnB,KAAiB,EACjB,OAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,sFAAsF;YACtF,MAAM,CAAC,GAAI,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,KAAK,CAAC;YAC3C,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,aAAa;oBACrB,CAAC,CAAC,aAAoC;wBACtC,CAAC,CAAC,YAAmC;wBACtC,CAAC,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,iBAAiB;oBACzB,CAAC,CAAC,iBAAwC;wBAC1C,CAAC,CAAC,aAAoC;wBACvC,CAAC,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,YAAY;oBACpB,CAAC,CAAC,YAAmC;wBACtC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CACf,QAAmB,EACnB,KAAiB,EACjB,OAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC3D,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,mCAAmC;IACnC,UAAU;QACR,IAAI,CAAC,KAAK,GAAG;YACX,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;CACF"}
@@ -4,10 +4,12 @@
4
4
  import type { IRag } from './interfaces/rag.js';
5
5
  import { TokenCountingLlm } from './llm/token-counting-llm.js';
6
6
  export interface PipelineLlmProviderConfig {
7
- provider: 'deepseek' | 'openai' | 'anthropic';
7
+ provider: 'deepseek' | 'openai' | 'anthropic' | 'sap-ai-sdk';
8
8
  apiKey: string;
9
9
  model?: string;
10
10
  temperature?: number;
11
+ /** SAP AI Core resource group (used when provider is 'sap-ai-sdk') */
12
+ resourceGroup?: string;
11
13
  }
12
14
  export interface PipelineRagStoreConfig {
13
15
  /** 'ollama' | 'openai' | 'in-memory'. Default: 'ollama' */
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/smart-agent/pipeline.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAU/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IACzC,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE;QACJ,0CAA0C;QAC1C,IAAI,EAAE,yBAAyB,CAAC;QAChC,6DAA6D;QAC7D,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,uFAAuF;QACvF,UAAU,CAAC,EAAE,yBAAyB,CAAC;KACxC,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,wDAAwD;QACxD,KAAK,CAAC,EAAE,sBAAsB,CAAC;QAC/B,kDAAkD;QAClD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAClC,mCAAmC;QACnC,KAAK,CAAC,EAAE,sBAAsB,CAAC;KAChC,CAAC;IACF,4DAA4D;IAC5D,GAAG,CAAC,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;CACJ;AAMD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,yBAAyB,EAC9B,WAAW,EAAE,MAAM,GAClB,gBAAgB,CAgDlB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,CA8BxE"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/smart-agent/pipeline.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAU/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IACzC,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE;QACJ,0CAA0C;QAC1C,IAAI,EAAE,yBAAyB,CAAC;QAChC,6DAA6D;QAC7D,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,uFAAuF;QACvF,UAAU,CAAC,EAAE,yBAAyB,CAAC;KACxC,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,wDAAwD;QACxD,KAAK,CAAC,EAAE,sBAAsB,CAAC;QAC/B,kDAAkD;QAClD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAClC,mCAAmC;QACnC,KAAK,CAAC,EAAE,sBAAsB,CAAC;KAChC,CAAC;IACF,4DAA4D;IAC5D,GAAG,CAAC,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;CACJ;AAMD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,yBAAyB,EAC9B,WAAW,EAAE,MAAM,GAClB,gBAAgB,CA6DlB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,CA8BxE"}
@@ -4,9 +4,11 @@
4
4
  import { AnthropicAgent } from '../agents/anthropic-agent.js';
5
5
  import { DeepSeekAgent } from '../agents/deepseek-agent.js';
6
6
  import { OpenAIAgent } from '../agents/openai-agent.js';
7
+ import { SapCoreAIAgent } from '../agents/sap-core-ai-agent.js';
7
8
  import { AnthropicProvider } from '../llm-providers/anthropic.js';
8
9
  import { DeepSeekProvider } from '../llm-providers/deepseek.js';
9
10
  import { OpenAIProvider } from '../llm-providers/openai.js';
11
+ import { SapCoreAIProvider } from '../llm-providers/sap-core-ai.js';
10
12
  import { MCPClientWrapper } from '../mcp/client.js';
11
13
  import { LlmAdapter } from './adapters/llm-adapter.js';
12
14
  import { TokenCountingLlm } from './llm/token-counting-llm.js';
@@ -59,6 +61,19 @@ export function makeLlmFromProvider(cfg, temperature) {
59
61
  });
60
62
  return new TokenCountingLlm(new LlmAdapter(agent));
61
63
  }
64
+ case 'sap-ai-sdk': {
65
+ const provider = new SapCoreAIProvider({
66
+ apiKey: cfg.apiKey || 'sap-ai-sdk-managed',
67
+ model: cfg.model,
68
+ temperature,
69
+ resourceGroup: cfg.resourceGroup,
70
+ });
71
+ const agent = new SapCoreAIAgent({
72
+ llmProvider: provider,
73
+ mcpClient: dummyMcp,
74
+ });
75
+ return new TokenCountingLlm(new LlmAdapter(agent));
76
+ }
62
77
  default: {
63
78
  const _exhaustive = cfg.provider;
64
79
  throw new Error(`Unknown LLM provider: ${_exhaustive}`);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/smart-agent/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/smart-agent/pipeline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/llm-agent",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Core components for building Smart LLM agents, plus a default MCP-orchestrated OpenAI-compatible server implementation.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -54,6 +54,7 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@modelcontextprotocol/sdk": "^1.27.0",
57
+ "@sap-ai-sdk/orchestration": "^2.7.0",
57
58
  "axios": "^1.13.5",
58
59
  "dotenv": "^17.3.1",
59
60
  "yaml": "^2.8.2"
@@ -69,7 +70,6 @@
69
70
  },
70
71
  "license": "MIT",
71
72
  "author": "Oleksii Kyslytsia <oleksij.kyslytsja@gmail.com>",
72
- "private": false,
73
73
  "publishConfig": {
74
74
  "access": "public"
75
75
  },