@mcp-abap-adt/llm-agent 4.0.2 → 4.0.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/smart-agent/agent.d.ts +10 -1
- package/dist/smart-agent/agent.d.ts.map +1 -1
- package/dist/smart-agent/agent.js +32 -2
- package/dist/smart-agent/agent.js.map +1 -1
- package/dist/smart-agent/rag/qdrant-rag.d.ts.map +1 -1
- package/dist/smart-agent/rag/qdrant-rag.js +3 -1
- package/dist/smart-agent/rag/qdrant-rag.js.map +1 -1
- package/dist/smart-agent/rag/query-embedding.d.ts +13 -0
- package/dist/smart-agent/rag/query-embedding.d.ts.map +1 -1
- package/dist/smart-agent/rag/query-embedding.js +23 -0
- package/dist/smart-agent/rag/query-embedding.js.map +1 -1
- package/dist/smart-agent/rag/vector-rag.d.ts.map +1 -1
- package/dist/smart-agent/rag/vector-rag.js +3 -1
- package/dist/smart-agent/rag/vector-rag.js.map +1 -1
- package/dist/smart-agent/server.d.ts.map +1 -1
- package/dist/smart-agent/server.js +53 -9
- package/dist/smart-agent/server.js.map +1 -1
- package/dist/smart-agent/smart-server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.js +15 -3
- package/dist/smart-agent/smart-server.js.map +1 -1
- package/package.json +1 -1
- package/dist/smart-agent/context/client-context-bridge.d.ts +0 -19
- package/dist/smart-agent/context/client-context-bridge.d.ts.map +0 -1
- package/dist/smart-agent/context/client-context-bridge.js +0 -92
- package/dist/smart-agent/context/client-context-bridge.js.map +0 -1
- package/dist/smart-agent/interfaces/client-context-bridge.d.ts +0 -39
- package/dist/smart-agent/interfaces/client-context-bridge.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/client-context-bridge.js +0 -17
- package/dist/smart-agent/interfaces/client-context-bridge.js.map +0 -1
- package/dist/smart-agent/interfaces/prompt-tool-extractor.d.ts +0 -39
- package/dist/smart-agent/interfaces/prompt-tool-extractor.d.ts.map +0 -1
- package/dist/smart-agent/interfaces/prompt-tool-extractor.js +0 -11
- package/dist/smart-agent/interfaces/prompt-tool-extractor.js.map +0 -1
- package/dist/smart-agent/prompt-tool-extractor.d.ts +0 -30
- package/dist/smart-agent/prompt-tool-extractor.d.ts.map +0 -1
- package/dist/smart-agent/prompt-tool-extractor.js +0 -101
- package/dist/smart-agent/prompt-tool-extractor.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -4
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -31
- package/dist/utils/errors.js.map +0 -1
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default IPromptToolExtractor — parses Cline-style tool definitions
|
|
3
|
-
* embedded as markdown/XML blocks in the system prompt.
|
|
4
|
-
*
|
|
5
|
-
* Format handled:
|
|
6
|
-
* ```
|
|
7
|
-
* # Tools
|
|
8
|
-
*
|
|
9
|
-
* ## tool_name
|
|
10
|
-
* Description: ...
|
|
11
|
-
* Parameters:
|
|
12
|
-
* - param: (required) description
|
|
13
|
-
* - param2: (optional) description
|
|
14
|
-
* Usage:
|
|
15
|
-
* <tool_name>
|
|
16
|
-
* <param>value</param>
|
|
17
|
-
* </tool_name>
|
|
18
|
-
*
|
|
19
|
-
* # Tool Use Guidelines ← end sentinel
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* Consumers can provide their own implementation of {@link IPromptToolExtractor}
|
|
23
|
-
* for different prompt-based formats.
|
|
24
|
-
*/
|
|
25
|
-
import type { IPromptToolExtractor, IPromptToolExtractResult } from './interfaces/prompt-tool-extractor.js';
|
|
26
|
-
export declare class ClinePromptToolExtractor implements IPromptToolExtractor {
|
|
27
|
-
extract(systemPrompt: string): IPromptToolExtractResult;
|
|
28
|
-
formatToolCall(toolName: string, args: Record<string, unknown>): string;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=prompt-tool-extractor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-tool-extractor.d.ts","sourceRoot":"","sources":["../../src/smart-agent/prompt-tool-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAwB/C,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB;IAgEvD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAUxE"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default IPromptToolExtractor — parses Cline-style tool definitions
|
|
3
|
-
* embedded as markdown/XML blocks in the system prompt.
|
|
4
|
-
*
|
|
5
|
-
* Format handled:
|
|
6
|
-
* ```
|
|
7
|
-
* # Tools
|
|
8
|
-
*
|
|
9
|
-
* ## tool_name
|
|
10
|
-
* Description: ...
|
|
11
|
-
* Parameters:
|
|
12
|
-
* - param: (required) description
|
|
13
|
-
* - param2: (optional) description
|
|
14
|
-
* Usage:
|
|
15
|
-
* <tool_name>
|
|
16
|
-
* <param>value</param>
|
|
17
|
-
* </tool_name>
|
|
18
|
-
*
|
|
19
|
-
* # Tool Use Guidelines ← end sentinel
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* Consumers can provide their own implementation of {@link IPromptToolExtractor}
|
|
23
|
-
* for different prompt-based formats.
|
|
24
|
-
*/
|
|
25
|
-
// ---------------------------------------------------------------------------
|
|
26
|
-
// Regex patterns
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
/** Matches the entire `# Tools` … next `# ` top-level heading (or end of string). */
|
|
29
|
-
const TOOLS_BLOCK_RE = /^# Tools\n([\s\S]*?)(?=\n# [A-Z]|$(?![\s\S]))/m;
|
|
30
|
-
/** Matches individual `## tool_name` sections inside the tools block. */
|
|
31
|
-
const TOOL_SECTION_RE = /^## (\w+)\nDescription: ([\s\S]*?)(?=\n## \w|\n# [A-Z]|$(?![\s\S]))/gm;
|
|
32
|
-
/** Matches a `Parameters:` block with `- name: (required|optional) desc` lines. */
|
|
33
|
-
const PARAMS_BLOCK_RE = /Parameters:\n((?:- .+\n?)+)/;
|
|
34
|
-
/** Matches a single parameter line. */
|
|
35
|
-
const PARAM_LINE_RE = /^- (\w+): \((required|optional)\) (.+)/;
|
|
36
|
-
// ---------------------------------------------------------------------------
|
|
37
|
-
// Implementation
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
export class ClinePromptToolExtractor {
|
|
40
|
-
extract(systemPrompt) {
|
|
41
|
-
const toolsBlockMatch = systemPrompt.match(TOOLS_BLOCK_RE);
|
|
42
|
-
if (!toolsBlockMatch) {
|
|
43
|
-
return { hasTools: false, tools: [], cleanedPrompt: systemPrompt };
|
|
44
|
-
}
|
|
45
|
-
const toolsBlock = toolsBlockMatch[0];
|
|
46
|
-
const tools = [];
|
|
47
|
-
// Reset lastIndex for the global regex
|
|
48
|
-
TOOL_SECTION_RE.lastIndex = 0;
|
|
49
|
-
let match = TOOL_SECTION_RE.exec(toolsBlock);
|
|
50
|
-
while (match !== null) {
|
|
51
|
-
const name = match[1];
|
|
52
|
-
const body = match[2];
|
|
53
|
-
// Extract description (first line/paragraph before Parameters:)
|
|
54
|
-
const descEnd = body.indexOf('Parameters:');
|
|
55
|
-
const description = descEnd >= 0
|
|
56
|
-
? body.slice(0, descEnd).trim()
|
|
57
|
-
: body.split('\n')[0].trim();
|
|
58
|
-
// Extract parameters
|
|
59
|
-
const paramsMatch = body.match(PARAMS_BLOCK_RE);
|
|
60
|
-
const properties = {};
|
|
61
|
-
const required = [];
|
|
62
|
-
if (paramsMatch) {
|
|
63
|
-
for (const line of paramsMatch[1].split('\n')) {
|
|
64
|
-
const paramMatch = line.match(PARAM_LINE_RE);
|
|
65
|
-
if (paramMatch) {
|
|
66
|
-
const [, paramName, req, paramDesc] = paramMatch;
|
|
67
|
-
properties[paramName] = { type: 'string', description: paramDesc };
|
|
68
|
-
if (req === 'required')
|
|
69
|
-
required.push(paramName);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
tools.push({
|
|
74
|
-
name,
|
|
75
|
-
description,
|
|
76
|
-
inputSchema: {
|
|
77
|
-
type: 'object',
|
|
78
|
-
properties,
|
|
79
|
-
...(required.length > 0 ? { required } : {}),
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
match = TOOL_SECTION_RE.exec(toolsBlock);
|
|
83
|
-
}
|
|
84
|
-
if (tools.length === 0) {
|
|
85
|
-
return { hasTools: false, tools: [], cleanedPrompt: systemPrompt };
|
|
86
|
-
}
|
|
87
|
-
// Remove the tools block from the prompt
|
|
88
|
-
const cleanedPrompt = systemPrompt.replace(toolsBlock, '').trim();
|
|
89
|
-
return { hasTools: true, tools, cleanedPrompt };
|
|
90
|
-
}
|
|
91
|
-
formatToolCall(toolName, args) {
|
|
92
|
-
const params = Object.entries(args)
|
|
93
|
-
.filter(([, v]) => v !== undefined && v !== null)
|
|
94
|
-
.map(([k, v]) => `<${k}>${String(v)}</${k}>`)
|
|
95
|
-
.join('\n');
|
|
96
|
-
return params
|
|
97
|
-
? `<${toolName}>\n${params}\n</${toolName}>`
|
|
98
|
-
: `<${toolName}>\n</${toolName}>`;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=prompt-tool-extractor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-tool-extractor.js","sourceRoot":"","sources":["../../src/smart-agent/prompt-tool-extractor.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
2
|
-
export declare function getErrorMessage(error: unknown, fallback?: string): string;
|
|
3
|
-
export declare function getNestedApiErrorMessage(error: unknown): string | undefined;
|
|
4
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,SAAkB,GACzB,MAAM,CAMR;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAyB3E"}
|
package/dist/utils/errors.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export function isRecord(value) {
|
|
2
|
-
return typeof value === 'object' && value !== null;
|
|
3
|
-
}
|
|
4
|
-
export function getErrorMessage(error, fallback = 'Unknown error') {
|
|
5
|
-
if (error instanceof Error) {
|
|
6
|
-
return error.message;
|
|
7
|
-
}
|
|
8
|
-
return fallback;
|
|
9
|
-
}
|
|
10
|
-
export function getNestedApiErrorMessage(error) {
|
|
11
|
-
if (!isRecord(error)) {
|
|
12
|
-
return undefined;
|
|
13
|
-
}
|
|
14
|
-
const response = error.response;
|
|
15
|
-
if (!isRecord(response)) {
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
const data = response.data;
|
|
19
|
-
if (!isRecord(data)) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
const nestedError = data.error;
|
|
23
|
-
if (isRecord(nestedError) && typeof nestedError.message === 'string') {
|
|
24
|
-
return nestedError.message;
|
|
25
|
-
}
|
|
26
|
-
if (typeof data.message === 'string') {
|
|
27
|
-
return data.message;
|
|
28
|
-
}
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/utils/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAc,EACd,QAAQ,GAAG,eAAe;IAE1B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|