@mcp-abap-adt/llm-agent 5.9.0 → 5.10.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.
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.d.ts.map +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/generated/version.js.map +1 -1
- package/dist/smart-agent/agent.d.ts +8 -0
- package/dist/smart-agent/agent.d.ts.map +1 -1
- package/dist/smart-agent/agent.js +3 -14
- package/dist/smart-agent/agent.js.map +1 -1
- package/dist/smart-agent/builder.d.ts +8 -0
- package/dist/smart-agent/builder.d.ts.map +1 -1
- package/dist/smart-agent/builder.js +34 -1
- package/dist/smart-agent/builder.js.map +1 -1
- package/dist/smart-agent/config.d.ts +1 -1
- package/dist/smart-agent/config.d.ts.map +1 -1
- package/dist/smart-agent/config.js +24 -0
- package/dist/smart-agent/config.js.map +1 -1
- package/dist/smart-agent/context/context-assembler.d.ts.map +1 -1
- package/dist/smart-agent/context/context-assembler.js +6 -20
- package/dist/smart-agent/context/context-assembler.js.map +1 -1
- package/dist/smart-agent/history/history-memory.d.ts +12 -0
- package/dist/smart-agent/history/history-memory.d.ts.map +1 -0
- package/dist/smart-agent/history/history-memory.js +26 -0
- package/dist/smart-agent/history/history-memory.js.map +1 -0
- package/dist/smart-agent/history/history-summarizer.d.ts +12 -0
- package/dist/smart-agent/history/history-summarizer.d.ts.map +1 -0
- package/dist/smart-agent/history/history-summarizer.js +27 -0
- package/dist/smart-agent/history/history-summarizer.js.map +1 -0
- package/dist/smart-agent/history/index.d.ts +3 -0
- package/dist/smart-agent/history/index.d.ts.map +1 -0
- package/dist/smart-agent/history/index.js +3 -0
- package/dist/smart-agent/history/index.js.map +1 -0
- package/dist/smart-agent/interfaces/history-memory.d.ts +6 -0
- package/dist/smart-agent/interfaces/history-memory.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/history-memory.js +2 -0
- package/dist/smart-agent/interfaces/history-memory.js.map +1 -0
- package/dist/smart-agent/interfaces/history-summarizer.d.ts +20 -0
- package/dist/smart-agent/interfaces/history-summarizer.d.ts.map +1 -0
- package/dist/smart-agent/interfaces/history-summarizer.js +2 -0
- package/dist/smart-agent/interfaces/history-summarizer.js.map +1 -0
- package/dist/smart-agent/interfaces/index.d.ts +2 -0
- package/dist/smart-agent/interfaces/index.d.ts.map +1 -1
- package/dist/smart-agent/interfaces/index.js.map +1 -1
- package/dist/smart-agent/pipeline/context.d.ts +4 -0
- package/dist/smart-agent/pipeline/context.d.ts.map +1 -1
- package/dist/smart-agent/pipeline/handlers/tool-loop.d.ts.map +1 -1
- package/dist/smart-agent/pipeline/handlers/tool-loop.js +7 -13
- package/dist/smart-agent/pipeline/handlers/tool-loop.js.map +1 -1
- package/dist/smart-agent/smart-server.d.ts +4 -0
- package/dist/smart-agent/smart-server.d.ts.map +1 -1
- package/dist/smart-agent/smart-server.js.map +1 -1
- package/package.json +1 -1
|
@@ -27,7 +27,7 @@ export interface ResolveConfigArgs {
|
|
|
27
27
|
'plugin-dir'?: string;
|
|
28
28
|
mode?: string | boolean;
|
|
29
29
|
}
|
|
30
|
-
export declare const YAML_TEMPLATE = "port: 4004\nhost: 0.0.0.0\n\n# Request routing mode:\n# hard \u2014 Fully managed context. Ignores client history/system prompt. Uses RAG + internal MCP tools only.\n# pass \u2014 Transparent proxy. Logs everything but modifies nothing.\n# smart \u2014 Hybrid. Preserves client history but enriches it with RAG facts and MCP tools based on analysis. (default)\nmode: smart\n\nllm:\n apiKey: ${DEEPSEEK_API_KEY}\n model: deepseek-chat\n temperature: 0.7\n classifierTemperature: 0.1\n\nrag:\n type: ollama # ollama | in-memory | qdrant\n # embedder: ollama # Embedder to use: ollama | openai | sap-ai-core | <custom>\n url: http://localhost:11434\n model: nomic-embed-text\n # collectionName: llm-agent # Qdrant collection name (qdrant type only)\n dedupThreshold: 0.92\n vectorWeight: 0.7 # Semantic similarity weight (0..1)\n keywordWeight: 0.3 # Lexical matching weight (0..1)\n\nmcp:\n # type: none | http | stdio\n # To disable MCP, set type to 'none'\n type: http\n url: http://localhost:3001/mcp/stream/http\n\nagent:\n externalToolsValidationMode: permissive # permissive | strict\n maxIterations: 10\n maxToolCalls: 30\n toolUnavailableTtlMs: 600000 # Temporary tool blacklist TTL (ms)\n ragQueryK: 10\n showReasoning: false # Explain strategy at start of response\n historyAutoSummarizeLimit: 10 # History length to trigger compression\n queryExpansionEnabled: false # Expand RAG queries with LLM-generated synonyms\n toolResultCacheTtlMs: 300000 # Tool result cache TTL (ms); 0 to disable\n sessionTokenBudget: 0 # Multi-turn token budget; 0 to disable\n # classificationEnabled: true # Enable/disable intent classification stage\n # ragRetrievalMode: auto # auto | always | never \u2014 controls RAG retrieval\n # ragTranslationEnabled: true # Translate non-ASCII RAG queries to English\n # ragUpsertEnabled: true # Upsert classified subprompts to RAG stores\n # toolReselectPerIteration: false # Re-select tools via RAG on each tool-loop iteration\n # streamMode: full # full | final \u2014 streaming behavior for tool loops\n # heartbeatIntervalMs: 5000 # SSE heartbeat interval during tool execution (ms)\n # retry: # LLM retry config for 429/5xx errors\n # maxAttempts: 3\n # backoffMs: 1000\n # retryOn: [429, 500, 502, 503]\n # retryOnMidStream: ['SSE stream'] # Substrings triggering mid-stream retry\n\n# --- Advanced Multi-Model Pipeline (optional) -------------------------------\n# Use this section to assign different models for different internal tasks.\n# pipeline:\n# llm:\n# main:\n# provider: deepseek # deepseek | openai | anthropic\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.7\n# classifier: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n# helper: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n#\n# rag:\n# facts:\n# type: qdrant\n# url: http://qdrant:6333\n# embedder: openai # ollama | openai | <custom registered name>\n# model: text-embedding-3-small\n# apiKey: ${OPENAI_API_KEY}\n# feedback:\n# type: in-memory\n# state:\n# type: in-memory\n#\n# mcp:\n# - type: http\n# url: http://localhost:3001/mcp/stream/http\n\n# --- Structured Pipeline (optional) -------------------------------------------\n# Replaces the hardcoded orchestration flow with a YAML-defined stage tree.\n# When absent, the default flow runs unchanged (full backwards compatibility).\n#\n# pipeline:\n# version: \"1\"\n# stages:\n# - id: classify\n# type: classify\n# - id: summarize\n# type: summarize\n# - id: rag-upsert\n# type: rag-upsert\n# - id: rag-retrieval\n# type: parallel\n# when: \"shouldRetrieve\"\n# stages:\n# - { id: translate, type: translate }\n# - { id: expand, type: expand }\n# after:\n# - id: rag-queries\n# type: parallel\n# stages:\n# - { id: facts, type: rag-query, config: { store: facts, k: 10 } }\n# - { id: feedback, type: rag-query, config: { store: feedback, k: 5 } }\n# - { id: state, type: rag-query, config: { store: state, k: 5 } }\n# - { id: rerank, type: rerank }\n# - { id: tool-select, type: tool-select }\n# - id: assemble\n# type: assemble\n# - id: tool-loop\n# type: tool-loop\n\n# prompts:\n# system: \"You are a helpful assistant specialized in SAP ABAP development.\"\n# classifier: |\n# You are an intent classifier... (see source for full default prompt)\n# reasoning: |\n# IMPORTANT: Always start your response with a brief <reasoning> block...\n# ragTranslate: |\n# Translate the user request to English for search purposes...\n# historySummary: |\n# Summarize the conversation so far...\n\nlog: smart-server.log # path to log file; omit for stdout\n# logDir: sessions # Directory for detailed session debug logs\n# pluginDir: ./my-plugins # Additional plugin directory (loaded after defaults)\n";
|
|
30
|
+
export declare const YAML_TEMPLATE = "port: 4004\nhost: 0.0.0.0\n\n# Request routing mode:\n# hard \u2014 Fully managed context. Ignores client history/system prompt. Uses RAG + internal MCP tools only.\n# pass \u2014 Transparent proxy. Logs everything but modifies nothing.\n# smart \u2014 Hybrid. Preserves client history but enriches it with RAG facts and MCP tools based on analysis. (default)\nmode: smart\n\nllm:\n apiKey: ${DEEPSEEK_API_KEY}\n model: deepseek-chat\n temperature: 0.7\n classifierTemperature: 0.1\n\nrag:\n type: ollama # ollama | in-memory | qdrant\n # embedder: ollama # Embedder to use: ollama | openai | sap-ai-core | <custom>\n url: http://localhost:11434\n model: nomic-embed-text\n # collectionName: llm-agent # Qdrant collection name (qdrant type only)\n dedupThreshold: 0.92\n vectorWeight: 0.7 # Semantic similarity weight (0..1)\n keywordWeight: 0.3 # Lexical matching weight (0..1)\n\nmcp:\n # type: none | http | stdio\n # To disable MCP, set type to 'none'\n type: http\n url: http://localhost:3001/mcp/stream/http\n\nagent:\n externalToolsValidationMode: permissive # permissive | strict\n maxIterations: 10\n maxToolCalls: 30\n toolUnavailableTtlMs: 600000 # Temporary tool blacklist TTL (ms)\n ragQueryK: 10\n # contextBudgetTokens: 4000 # Max tokens for RAG context in system prompt (0 = no limit)\n # semanticHistoryEnabled: false # Enable semantic history via RAG\n # historyRecencyWindow: 3 # Last N turns always in context\n # historyTurnSummaryPrompt: \"...\" # LLM prompt for turn summarization\n showReasoning: false # Explain strategy at start of response\n historyAutoSummarizeLimit: 10 # History length to trigger compression\n queryExpansionEnabled: false # Expand RAG queries with LLM-generated synonyms\n toolResultCacheTtlMs: 300000 # Tool result cache TTL (ms); 0 to disable\n sessionTokenBudget: 0 # Multi-turn token budget; 0 to disable\n # classificationEnabled: true # Enable/disable intent classification stage\n # ragRetrievalMode: auto # auto | always | never \u2014 controls RAG retrieval\n # ragTranslationEnabled: true # Translate non-ASCII RAG queries to English\n # ragUpsertEnabled: true # Upsert classified subprompts to RAG stores\n # toolReselectPerIteration: false # Re-select tools via RAG on each tool-loop iteration\n # streamMode: full # full | final \u2014 streaming behavior for tool loops\n # heartbeatIntervalMs: 5000 # SSE heartbeat interval during tool execution (ms)\n # retry: # LLM retry config for 429/5xx errors\n # maxAttempts: 3\n # backoffMs: 1000\n # retryOn: [429, 500, 502, 503]\n # retryOnMidStream: ['SSE stream'] # Substrings triggering mid-stream retry\n\n# --- Advanced Multi-Model Pipeline (optional) -------------------------------\n# Use this section to assign different models for different internal tasks.\n# pipeline:\n# llm:\n# main:\n# provider: deepseek # deepseek | openai | anthropic\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.7\n# classifier: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n# helper: # optional; if absent, main config is reused\n# provider: deepseek\n# apiKey: ${DEEPSEEK_API_KEY}\n# model: deepseek-chat\n# temperature: 0.1\n#\n# rag:\n# facts:\n# type: qdrant\n# url: http://qdrant:6333\n# embedder: openai # ollama | openai | <custom registered name>\n# model: text-embedding-3-small\n# apiKey: ${OPENAI_API_KEY}\n# feedback:\n# type: in-memory\n# state:\n# type: in-memory\n#\n# mcp:\n# - type: http\n# url: http://localhost:3001/mcp/stream/http\n\n# --- Structured Pipeline (optional) -------------------------------------------\n# Replaces the hardcoded orchestration flow with a YAML-defined stage tree.\n# When absent, the default flow runs unchanged (full backwards compatibility).\n#\n# pipeline:\n# version: \"1\"\n# stages:\n# - id: classify\n# type: classify\n# - id: summarize\n# type: summarize\n# - id: rag-upsert\n# type: rag-upsert\n# - id: rag-retrieval\n# type: parallel\n# when: \"shouldRetrieve\"\n# stages:\n# - { id: translate, type: translate }\n# - { id: expand, type: expand }\n# after:\n# - id: rag-queries\n# type: parallel\n# stages:\n# - { id: facts, type: rag-query, config: { store: facts, k: 10 } }\n# - { id: feedback, type: rag-query, config: { store: feedback, k: 5 } }\n# - { id: state, type: rag-query, config: { store: state, k: 5 } }\n# - { id: rerank, type: rerank }\n# - { id: tool-select, type: tool-select }\n# - id: assemble\n# type: assemble\n# - id: tool-loop\n# type: tool-loop\n\n# prompts:\n# system: \"You are a helpful assistant specialized in SAP ABAP development.\"\n# classifier: |\n# You are an intent classifier... (see source for full default prompt)\n# reasoning: |\n# IMPORTANT: Always start your response with a brief <reasoning> block...\n# ragTranslate: |\n# Translate the user request to English for search purposes...\n# historySummary: |\n# Summarize the conversation so far...\n\nlog: smart-server.log # path to log file; omit for stdout\n# logDir: sessions # Directory for detailed session debug logs\n# pluginDir: ./my-plugins # Additional plugin directory (loaded after defaults)\n";
|
|
31
31
|
export declare function resolveEnvVars(value: unknown, env?: NodeJS.ProcessEnv): unknown;
|
|
32
32
|
export declare function loadYamlConfig(filePath: string, env?: NodeJS.ProcessEnv): YamlConfig;
|
|
33
33
|
export declare function generateConfigTemplate(outputPath: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,+0LA8IzB,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAYT;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,UAAU,CAGZ;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE/D;AAUD,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,iBAAsB,EAC5B,IAAI,GAAE,UAAe,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAyQhC"}
|
|
@@ -40,6 +40,10 @@ agent:
|
|
|
40
40
|
maxToolCalls: 30
|
|
41
41
|
toolUnavailableTtlMs: 600000 # Temporary tool blacklist TTL (ms)
|
|
42
42
|
ragQueryK: 10
|
|
43
|
+
# contextBudgetTokens: 4000 # Max tokens for RAG context in system prompt (0 = no limit)
|
|
44
|
+
# semanticHistoryEnabled: false # Enable semantic history via RAG
|
|
45
|
+
# historyRecencyWindow: 3 # Last N turns always in context
|
|
46
|
+
# historyTurnSummaryPrompt: "..." # LLM prompt for turn summarization
|
|
43
47
|
showReasoning: false # Explain strategy at start of response
|
|
44
48
|
historyAutoSummarizeLimit: 10 # History length to trigger compression
|
|
45
49
|
queryExpansionEnabled: false # Expand RAG queries with LLM-generated synonyms
|
|
@@ -245,6 +249,26 @@ export function resolveSmartServerConfig(args = {}, yaml = {}, env = process.env
|
|
|
245
249
|
maxToolCalls: Number(get(yaml, 'agent', 'maxToolCalls') ?? 30),
|
|
246
250
|
toolUnavailableTtlMs: Number(get(yaml, 'agent', 'toolUnavailableTtlMs') ?? 600000),
|
|
247
251
|
ragQueryK: Number(get(yaml, 'agent', 'ragQueryK') ?? 10),
|
|
252
|
+
...(get(yaml, 'agent', 'contextBudgetTokens') !== undefined
|
|
253
|
+
? {
|
|
254
|
+
contextBudgetTokens: Number(get(yaml, 'agent', 'contextBudgetTokens')),
|
|
255
|
+
}
|
|
256
|
+
: {}),
|
|
257
|
+
...(get(yaml, 'agent', 'semanticHistoryEnabled') !== undefined
|
|
258
|
+
? {
|
|
259
|
+
semanticHistoryEnabled: Boolean(get(yaml, 'agent', 'semanticHistoryEnabled')),
|
|
260
|
+
}
|
|
261
|
+
: {}),
|
|
262
|
+
...(get(yaml, 'agent', 'historyRecencyWindow') !== undefined
|
|
263
|
+
? {
|
|
264
|
+
historyRecencyWindow: Number(get(yaml, 'agent', 'historyRecencyWindow')),
|
|
265
|
+
}
|
|
266
|
+
: {}),
|
|
267
|
+
...(get(yaml, 'agent', 'historyTurnSummaryPrompt') !== undefined
|
|
268
|
+
? {
|
|
269
|
+
historyTurnSummaryPrompt: String(get(yaml, 'agent', 'historyTurnSummaryPrompt')),
|
|
270
|
+
}
|
|
271
|
+
: {}),
|
|
248
272
|
showReasoning: Boolean(args['agent-show-reasoning'] ??
|
|
249
273
|
get(yaml, 'agent', 'showReasoning') ??
|
|
250
274
|
false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AA8B1C,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-assembler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/context/context-assembler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,SAAS,EAEf,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,6BAA6B,iTAKwC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-assembler.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/context/context-assembler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,SAAS,EAEf,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,6BAA6B,iTAKwC,CAAC;AAqHnF,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,MAAM,CAAC,EAAE,sBAAsB;IAYrC,QAAQ,CACZ,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,KAAK,EAAE,OAAO,EAAE,CAAC;KAClB,EACD,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;CA6E9C"}
|
|
@@ -42,7 +42,7 @@ function titleCase(key) {
|
|
|
42
42
|
return key.replace(/[_-]/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase());
|
|
43
43
|
}
|
|
44
44
|
/** Combine all sections into system message content */
|
|
45
|
-
function buildSystemContent(ragResults,
|
|
45
|
+
function buildSystemContent(ragResults, provenance, sectionHeaders) {
|
|
46
46
|
const sections = [];
|
|
47
47
|
for (const [key, results] of Object.entries(ragResults)) {
|
|
48
48
|
const header = sectionHeaders[key] ?? titleCase(key);
|
|
@@ -50,9 +50,6 @@ function buildSystemContent(ragResults, tools, provenance, sectionHeaders) {
|
|
|
50
50
|
if (section)
|
|
51
51
|
sections.push(section);
|
|
52
52
|
}
|
|
53
|
-
const toolsSection = buildSection('Available Tools', tools.map((t) => `- ${t.name}: ${t.description}`));
|
|
54
|
-
if (toolsSection)
|
|
55
|
-
sections.push(toolsSection);
|
|
56
53
|
return sections.join('\n\n');
|
|
57
54
|
}
|
|
58
55
|
// ---------------------------------------------------------------------------
|
|
@@ -62,24 +59,17 @@ function buildSystemContent(ragResults, tools, provenance, sectionHeaders) {
|
|
|
62
59
|
* Drop entries until total token count fits within budget.
|
|
63
60
|
* Trims stores in reverse insertion order, then tools last.
|
|
64
61
|
*/
|
|
65
|
-
function applyTokenBudget(ragResults,
|
|
62
|
+
function applyTokenBudget(ragResults, actionTokens, maxTokens, provenance, sectionHeaders) {
|
|
66
63
|
const mutableResults = {};
|
|
67
64
|
for (const [key, arr] of Object.entries(ragResults)) {
|
|
68
65
|
mutableResults[key] = [...arr];
|
|
69
66
|
}
|
|
70
|
-
let mutableTools = [...tools];
|
|
71
67
|
const storeKeys = Object.keys(mutableResults);
|
|
72
68
|
const totalTokens = () => {
|
|
73
|
-
const content = buildSystemContent(mutableResults,
|
|
69
|
+
const content = buildSystemContent(mutableResults, provenance, sectionHeaders);
|
|
74
70
|
return actionTokens + estimateTokens(content);
|
|
75
71
|
};
|
|
76
72
|
while (totalTokens() > maxTokens) {
|
|
77
|
-
// First trim tools
|
|
78
|
-
if (mutableTools.length > 0) {
|
|
79
|
-
mutableTools = mutableTools.slice(0, -1);
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
// Then trim stores in reverse order
|
|
83
73
|
let trimmed = false;
|
|
84
74
|
for (let i = storeKeys.length - 1; i >= 0; i--) {
|
|
85
75
|
const key = storeKeys[i];
|
|
@@ -92,7 +82,7 @@ function applyTokenBudget(ragResults, tools, actionTokens, maxTokens, provenance
|
|
|
92
82
|
if (!trimmed)
|
|
93
83
|
break;
|
|
94
84
|
}
|
|
95
|
-
return
|
|
85
|
+
return mutableResults;
|
|
96
86
|
}
|
|
97
87
|
// ---------------------------------------------------------------------------
|
|
98
88
|
// ContextAssembler
|
|
@@ -125,15 +115,11 @@ export class ContextAssembler {
|
|
|
125
115
|
for (const [key, results] of Object.entries(retrieved.ragResults)) {
|
|
126
116
|
sortedResults[key] = [...results].sort((a, b) => b.score - a.score);
|
|
127
117
|
}
|
|
128
|
-
const tools = [...retrieved.tools];
|
|
129
118
|
let finalResults = sortedResults;
|
|
130
|
-
let finalTools = tools;
|
|
131
119
|
if (this.maxTokens !== undefined) {
|
|
132
|
-
|
|
133
|
-
finalResults = budgeted.ragResults;
|
|
134
|
-
finalTools = budgeted.tools;
|
|
120
|
+
finalResults = applyTokenBudget(sortedResults, estimateTokens(action.text), this.maxTokens, this.includeProvenance, this.sectionHeaders);
|
|
135
121
|
}
|
|
136
|
-
const systemContent = buildSystemContent(finalResults,
|
|
122
|
+
const systemContent = buildSystemContent(finalResults, this.includeProvenance, this.sectionHeaders);
|
|
137
123
|
const messages = [];
|
|
138
124
|
const preamble = this.systemPromptPreamble ?? '';
|
|
139
125
|
const toolGuidance = 'Use available tools when they can accomplish the task. When an action is impossible with available tools — say so clearly and do not attempt it.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-assembler.js","sourceRoot":"","sources":["../../../src/smart-agent/context/context-assembler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,GAOf,MAAM,wBAAwB,CAAC;AA8BhC,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;kFAKqC,CAAC;AAEnF,MAAM,uBAAuB,GAA2B;IACtD,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,8EAA8E;AAC9E,SAAS,gBAAgB,CAAC,IAAa;IACrC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,QAAQ,IAAI,IAAI,CACjB,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,SAAS,cAAc,CAAC,CAAY,EAAE,UAAmB;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,MAAc,EAAE,OAAiB;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,MAAM,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,uDAAuD;AACvD,SAAS,kBAAkB,CACzB,UAAuC,EACvC,
|
|
1
|
+
{"version":3,"file":"context-assembler.js","sourceRoot":"","sources":["../../../src/smart-agent/context/context-assembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IHistoryMemory } from '../interfaces/history-memory.js';
|
|
2
|
+
export declare class HistoryMemory implements IHistoryMemory {
|
|
3
|
+
private readonly maxSize;
|
|
4
|
+
private readonly sessions;
|
|
5
|
+
constructor(opts?: {
|
|
6
|
+
maxSize?: number;
|
|
7
|
+
});
|
|
8
|
+
pushRecent(sessionId: string, summary: string): void;
|
|
9
|
+
getRecent(sessionId: string, limit: number): string[];
|
|
10
|
+
clear(sessionId: string): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=history-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-memory.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/history/history-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;gBAE5C,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIvC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAYpD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAKrD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class HistoryMemory {
|
|
2
|
+
maxSize;
|
|
3
|
+
sessions = new Map();
|
|
4
|
+
constructor(opts) {
|
|
5
|
+
this.maxSize = opts?.maxSize ?? 50;
|
|
6
|
+
}
|
|
7
|
+
pushRecent(sessionId, summary) {
|
|
8
|
+
let entries = this.sessions.get(sessionId);
|
|
9
|
+
if (!entries) {
|
|
10
|
+
entries = [];
|
|
11
|
+
this.sessions.set(sessionId, entries);
|
|
12
|
+
}
|
|
13
|
+
entries.push(summary);
|
|
14
|
+
if (entries.length > this.maxSize) {
|
|
15
|
+
entries.splice(0, entries.length - this.maxSize);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
getRecent(sessionId, limit) {
|
|
19
|
+
const entries = this.sessions.get(sessionId) ?? [];
|
|
20
|
+
return entries.slice(-limit);
|
|
21
|
+
}
|
|
22
|
+
clear(sessionId) {
|
|
23
|
+
this.sessions.delete(sessionId);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=history-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-memory.js","sourceRoot":"","sources":["../../../src/smart-agent/history/history-memory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACP,OAAO,CAAS;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAExD,YAAY,IAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,OAAe;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,KAAa;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { HistoryTurn, IHistorySummarizer } from '../interfaces/history-summarizer.js';
|
|
2
|
+
import type { ILlm } from '../interfaces/llm.js';
|
|
3
|
+
import type { CallOptions, LlmError, Result } from '../interfaces/types.js';
|
|
4
|
+
export declare class HistorySummarizer implements IHistorySummarizer {
|
|
5
|
+
private readonly llm;
|
|
6
|
+
private readonly prompt;
|
|
7
|
+
constructor(llm: ILlm, opts?: {
|
|
8
|
+
prompt?: string;
|
|
9
|
+
});
|
|
10
|
+
summarize(turn: HistoryTurn, options?: CallOptions): Promise<Result<string, LlmError>>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=history-summarizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-summarizer.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/history/history-summarizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAK5E,qBAAa,iBAAkB,YAAW,kBAAkB;IAIxD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAGb,GAAG,EAAE,IAAI,EAC1B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAKtB,SAAS,CACb,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAmBrC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const DEFAULT_PROMPT = 'Summarize in one sentence: what the user requested and what was done. Include key identifiers (class names, table names, etc). Do not include greetings or filler.';
|
|
2
|
+
export class HistorySummarizer {
|
|
3
|
+
llm;
|
|
4
|
+
prompt;
|
|
5
|
+
constructor(llm, opts) {
|
|
6
|
+
this.llm = llm;
|
|
7
|
+
this.prompt = opts?.prompt ?? DEFAULT_PROMPT;
|
|
8
|
+
}
|
|
9
|
+
async summarize(turn, options) {
|
|
10
|
+
const toolSection = turn.toolCalls.length > 0
|
|
11
|
+
? `\nTools called: ${turn.toolCalls.map((tc) => `${tc.name}(${JSON.stringify(tc.arguments)})`).join(', ')}` +
|
|
12
|
+
`\nTool results: ${turn.toolResults.map((tr) => `${tr.tool}: ${tr.content.slice(0, 200)}`).join('; ')}`
|
|
13
|
+
: '';
|
|
14
|
+
const messages = [
|
|
15
|
+
{ role: 'system', content: this.prompt },
|
|
16
|
+
{
|
|
17
|
+
role: 'user',
|
|
18
|
+
content: `User request: ${turn.userText}\nAssistant response: ${turn.assistantText}${toolSection}`,
|
|
19
|
+
},
|
|
20
|
+
];
|
|
21
|
+
const result = await this.llm.chat(messages, undefined, options);
|
|
22
|
+
if (!result.ok)
|
|
23
|
+
return result;
|
|
24
|
+
return { ok: true, value: result.value.content.trim() };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=history-summarizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-summarizer.js","sourceRoot":"","sources":["../../../src/smart-agent/history/history-summarizer.ts"],"names":[],"mappings":"AAQA,MAAM,cAAc,GAClB,oKAAoK,CAAC;AAEvK,MAAM,OAAO,iBAAiB;IAIT;IAHF,MAAM,CAAS;IAEhC,YACmB,GAAS,EAC1B,IAA0B;QADT,QAAG,GAAH,GAAG,CAAM;QAG1B,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,cAAc,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAiB,EACjB,OAAqB;QAErB,MAAM,WAAW,GACf,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzG,mBAAmB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzG,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YACxC;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,iBAAiB,IAAI,CAAC,QAAQ,yBAAyB,IAAI,CAAC,aAAa,GAAG,WAAW,EAAE;aACnG;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/history/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-memory.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/history-memory.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-memory.js","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/history-memory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CallOptions, LlmError, Result } from './types.js';
|
|
2
|
+
export interface HistoryTurn {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
turnIndex: number;
|
|
5
|
+
userText: string;
|
|
6
|
+
assistantText: string;
|
|
7
|
+
toolCalls: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
arguments: unknown;
|
|
10
|
+
}>;
|
|
11
|
+
toolResults: Array<{
|
|
12
|
+
tool: string;
|
|
13
|
+
content: string;
|
|
14
|
+
}>;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
}
|
|
17
|
+
export interface IHistorySummarizer {
|
|
18
|
+
summarize(turn: HistoryTurn, options?: CallOptions): Promise<Result<string, LlmError>>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=history-summarizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-summarizer.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/history-summarizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACvD,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CACP,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-summarizer.js","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/history-summarizer.ts"],"names":[],"mappings":""}
|
|
@@ -10,6 +10,8 @@ export { AdapterValidationError, type ApiRequestContext, type ApiSseEvent, type
|
|
|
10
10
|
export type { IContextAssembler } from './assembler.js';
|
|
11
11
|
export type { ISubpromptClassifier } from './classifier.js';
|
|
12
12
|
export type { IClientAdapter } from './client-adapter.js';
|
|
13
|
+
export type { IHistoryMemory } from './history-memory.js';
|
|
14
|
+
export type { HistoryTurn, IHistorySummarizer, } from './history-summarizer.js';
|
|
13
15
|
export type { ILlm } from './llm.js';
|
|
14
16
|
export type { IMcpClient } from './mcp-client.js';
|
|
15
17
|
export type { ConnectionStrategyOptions, IMcpConnectionStrategy, McpClientFactory, McpClientFactoryResult, McpConnectionConfig, McpConnectionResult, } from './mcp-connection-strategy.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACV,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,IAAI,GACL,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,MAAM,EACN,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EACV,WAAW,EACX,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACV,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,IAAI,GACL,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,MAAM,EACN,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,GAKvB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,GAKvB,MAAM,kBAAkB,CAAC;AAqD1B,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -20,6 +20,8 @@ import type { OrchestratorError, SmartAgentConfig, SmartAgentRagStores } from '.
|
|
|
20
20
|
import type { IToolCache } from '../cache/types.js';
|
|
21
21
|
import type { IContextAssembler } from '../interfaces/assembler.js';
|
|
22
22
|
import type { ISubpromptClassifier } from '../interfaces/classifier.js';
|
|
23
|
+
import type { IHistoryMemory } from '../interfaces/history-memory.js';
|
|
24
|
+
import type { IHistorySummarizer } from '../interfaces/history-summarizer.js';
|
|
23
25
|
import type { ILlm } from '../interfaces/llm.js';
|
|
24
26
|
import type { IMcpClient } from '../interfaces/mcp-client.js';
|
|
25
27
|
import type { IQueryEmbedding } from '../interfaces/query-embedding.js';
|
|
@@ -68,6 +70,8 @@ export interface PipelineContext {
|
|
|
68
70
|
readonly pendingToolResults: PendingToolResultsRegistry;
|
|
69
71
|
readonly skillManager: ISkillManager | undefined;
|
|
70
72
|
readonly embedder: IEmbedder | undefined;
|
|
73
|
+
readonly historyMemory: IHistoryMemory | undefined;
|
|
74
|
+
readonly historySummarizer: IHistorySummarizer | undefined;
|
|
71
75
|
/** Extracted user text from the last user message. */
|
|
72
76
|
inputText: string;
|
|
73
77
|
/** Conversation history (may be summarized). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/pipeline/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../../../src/smart-agent/pipeline/handlers/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAYH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,eAAgB,YAAW,aAAa;IAC7C,OAAO,CACX,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,KAAK,GAChB,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../../../src/smart-agent/pipeline/handlers/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAYH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,eAAgB,YAAW,aAAa;IAC7C,OAAO,CACX,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,KAAK,GAChB,OAAO,CAAC,OAAO,CAAC;CAguBpB"}
|
|
@@ -214,19 +214,6 @@ export class ToolLoopHandler {
|
|
|
214
214
|
...newMcpTools,
|
|
215
215
|
...externalTools,
|
|
216
216
|
];
|
|
217
|
-
// Update system message "Available Tools" section
|
|
218
|
-
const sysIdx = messages.findIndex((m) => m.role === 'system');
|
|
219
|
-
if (sysIdx >= 0 &&
|
|
220
|
-
typeof messages[sysIdx].content === 'string') {
|
|
221
|
-
const toolsSection = currentTools
|
|
222
|
-
.filter((t) => !externalToolNames.has(t.name))
|
|
223
|
-
.map((t) => `- ${t.name}: ${t.description || ''}`)
|
|
224
|
-
.join('\n');
|
|
225
|
-
messages[sysIdx] = {
|
|
226
|
-
...messages[sysIdx],
|
|
227
|
-
content: messages[sysIdx].content.replace(/## Available Tools\n[\s\S]*?(?=\n##|$)/, `## Available Tools\n${toolsSection}`),
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
217
|
ctx.options?.sessionLogger?.logStep('tools_reselected', {
|
|
231
218
|
iteration: iteration + 1,
|
|
232
219
|
query: reSelectQuery.slice(0, 100),
|
|
@@ -282,6 +269,13 @@ export class ToolLoopHandler {
|
|
|
282
269
|
return false;
|
|
283
270
|
}
|
|
284
271
|
const chunk = chunkResult.value;
|
|
272
|
+
// Mid-stream retry: discard accumulated state and restart accumulation
|
|
273
|
+
if (chunk.reset) {
|
|
274
|
+
content = '';
|
|
275
|
+
toolCallsMap.clear();
|
|
276
|
+
finishReason = undefined;
|
|
277
|
+
continue;
|
|
278
|
+
}
|
|
285
279
|
if (chunk.content) {
|
|
286
280
|
content += chunk.content;
|
|
287
281
|
ctx.yield({ ok: true, value: { content: chunk.content } });
|