@mcp-abap-adt/llm-agent 2.3.0 → 2.4.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.
Files changed (164) hide show
  1. package/dist/index.d.ts +23 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +22 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/smart-agent/agent.d.ts +24 -1
  6. package/dist/smart-agent/agent.d.ts.map +1 -1
  7. package/dist/smart-agent/agent.js +138 -23
  8. package/dist/smart-agent/agent.js.map +1 -1
  9. package/dist/smart-agent/builder.d.ts +38 -4
  10. package/dist/smart-agent/builder.d.ts.map +1 -1
  11. package/dist/smart-agent/builder.js +113 -14
  12. package/dist/smart-agent/builder.js.map +1 -1
  13. package/dist/smart-agent/cache/index.d.ts +4 -0
  14. package/dist/smart-agent/cache/index.d.ts.map +1 -0
  15. package/dist/smart-agent/cache/index.js +3 -0
  16. package/dist/smart-agent/cache/index.js.map +1 -0
  17. package/dist/smart-agent/cache/noop-tool-cache.d.ts +7 -0
  18. package/dist/smart-agent/cache/noop-tool-cache.d.ts.map +1 -0
  19. package/dist/smart-agent/cache/noop-tool-cache.js +8 -0
  20. package/dist/smart-agent/cache/noop-tool-cache.js.map +1 -0
  21. package/dist/smart-agent/cache/tool-cache.d.ts +14 -0
  22. package/dist/smart-agent/cache/tool-cache.d.ts.map +1 -0
  23. package/dist/smart-agent/cache/tool-cache.js +32 -0
  24. package/dist/smart-agent/cache/tool-cache.js.map +1 -0
  25. package/dist/smart-agent/cache/types.d.ts +7 -0
  26. package/dist/smart-agent/cache/types.d.ts.map +1 -0
  27. package/dist/smart-agent/cache/types.js +2 -0
  28. package/dist/smart-agent/cache/types.js.map +1 -0
  29. package/dist/smart-agent/config/config-watcher.d.ts +53 -0
  30. package/dist/smart-agent/config/config-watcher.d.ts.map +1 -0
  31. package/dist/smart-agent/config/config-watcher.js +105 -0
  32. package/dist/smart-agent/config/config-watcher.js.map +1 -0
  33. package/dist/smart-agent/config/index.d.ts +2 -0
  34. package/dist/smart-agent/config/index.d.ts.map +1 -0
  35. package/dist/smart-agent/config/index.js +2 -0
  36. package/dist/smart-agent/config/index.js.map +1 -0
  37. package/dist/smart-agent/config.d.ts +3 -1
  38. package/dist/smart-agent/config.d.ts.map +1 -1
  39. package/dist/smart-agent/config.js +9 -1
  40. package/dist/smart-agent/config.js.map +1 -1
  41. package/dist/smart-agent/health/health-checker.d.ts +21 -0
  42. package/dist/smart-agent/health/health-checker.d.ts.map +1 -0
  43. package/dist/smart-agent/health/health-checker.js +52 -0
  44. package/dist/smart-agent/health/health-checker.js.map +1 -0
  45. package/dist/smart-agent/health/index.d.ts +3 -0
  46. package/dist/smart-agent/health/index.d.ts.map +1 -0
  47. package/dist/smart-agent/health/index.js +2 -0
  48. package/dist/smart-agent/health/index.js.map +1 -0
  49. package/dist/smart-agent/health/types.d.ts +25 -0
  50. package/dist/smart-agent/health/types.d.ts.map +1 -0
  51. package/dist/smart-agent/health/types.js +2 -0
  52. package/dist/smart-agent/health/types.js.map +1 -0
  53. package/dist/smart-agent/interfaces/index.d.ts +6 -0
  54. package/dist/smart-agent/interfaces/index.d.ts.map +1 -1
  55. package/dist/smart-agent/interfaces/index.js.map +1 -1
  56. package/dist/smart-agent/metrics/in-memory-metrics.d.ts +58 -0
  57. package/dist/smart-agent/metrics/in-memory-metrics.d.ts.map +1 -0
  58. package/dist/smart-agent/metrics/in-memory-metrics.js +78 -0
  59. package/dist/smart-agent/metrics/in-memory-metrics.js.map +1 -0
  60. package/dist/smart-agent/metrics/index.d.ts +4 -0
  61. package/dist/smart-agent/metrics/index.d.ts.map +1 -0
  62. package/dist/smart-agent/metrics/index.js +3 -0
  63. package/dist/smart-agent/metrics/index.js.map +1 -0
  64. package/dist/smart-agent/metrics/noop-metrics.d.ts +17 -0
  65. package/dist/smart-agent/metrics/noop-metrics.d.ts.map +1 -0
  66. package/dist/smart-agent/metrics/noop-metrics.js +22 -0
  67. package/dist/smart-agent/metrics/noop-metrics.js.map +1 -0
  68. package/dist/smart-agent/metrics/types.d.ts +36 -0
  69. package/dist/smart-agent/metrics/types.d.ts.map +1 -0
  70. package/dist/smart-agent/metrics/types.js +9 -0
  71. package/dist/smart-agent/metrics/types.js.map +1 -0
  72. package/dist/smart-agent/pipeline.d.ts +6 -4
  73. package/dist/smart-agent/pipeline.d.ts.map +1 -1
  74. package/dist/smart-agent/pipeline.js +26 -0
  75. package/dist/smart-agent/pipeline.js.map +1 -1
  76. package/dist/smart-agent/rag/inverted-index.d.ts +26 -0
  77. package/dist/smart-agent/rag/inverted-index.d.ts.map +1 -0
  78. package/dist/smart-agent/rag/inverted-index.js +61 -0
  79. package/dist/smart-agent/rag/inverted-index.js.map +1 -0
  80. package/dist/smart-agent/rag/qdrant-rag.d.ts +26 -0
  81. package/dist/smart-agent/rag/qdrant-rag.d.ts.map +1 -0
  82. package/dist/smart-agent/rag/qdrant-rag.js +175 -0
  83. package/dist/smart-agent/rag/qdrant-rag.js.map +1 -0
  84. package/dist/smart-agent/rag/query-expander.d.ts +14 -0
  85. package/dist/smart-agent/rag/query-expander.d.ts.map +1 -0
  86. package/dist/smart-agent/rag/query-expander.js +40 -0
  87. package/dist/smart-agent/rag/query-expander.js.map +1 -0
  88. package/dist/smart-agent/rag/vector-rag.d.ts +10 -3
  89. package/dist/smart-agent/rag/vector-rag.d.ts.map +1 -1
  90. package/dist/smart-agent/rag/vector-rag.js +29 -16
  91. package/dist/smart-agent/rag/vector-rag.js.map +1 -1
  92. package/dist/smart-agent/reranker/index.d.ts +4 -0
  93. package/dist/smart-agent/reranker/index.d.ts.map +1 -0
  94. package/dist/smart-agent/reranker/index.js +3 -0
  95. package/dist/smart-agent/reranker/index.js.map +1 -0
  96. package/dist/smart-agent/reranker/llm-reranker.d.ts +10 -0
  97. package/dist/smart-agent/reranker/llm-reranker.d.ts.map +1 -0
  98. package/dist/smart-agent/reranker/llm-reranker.js +55 -0
  99. package/dist/smart-agent/reranker/llm-reranker.js.map +1 -0
  100. package/dist/smart-agent/reranker/noop-reranker.d.ts +6 -0
  101. package/dist/smart-agent/reranker/noop-reranker.d.ts.map +1 -0
  102. package/dist/smart-agent/reranker/noop-reranker.js +6 -0
  103. package/dist/smart-agent/reranker/noop-reranker.js.map +1 -0
  104. package/dist/smart-agent/reranker/types.d.ts +5 -0
  105. package/dist/smart-agent/reranker/types.d.ts.map +1 -0
  106. package/dist/smart-agent/reranker/types.js +2 -0
  107. package/dist/smart-agent/reranker/types.js.map +1 -0
  108. package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts +16 -0
  109. package/dist/smart-agent/resilience/circuit-breaker-embedder.d.ts.map +1 -0
  110. package/dist/smart-agent/resilience/circuit-breaker-embedder.js +30 -0
  111. package/dist/smart-agent/resilience/circuit-breaker-embedder.js.map +1 -0
  112. package/dist/smart-agent/resilience/circuit-breaker-llm.d.ts +18 -0
  113. package/dist/smart-agent/resilience/circuit-breaker-llm.d.ts.map +1 -0
  114. package/dist/smart-agent/resilience/circuit-breaker-llm.js +65 -0
  115. package/dist/smart-agent/resilience/circuit-breaker-llm.js.map +1 -0
  116. package/dist/smart-agent/resilience/circuit-breaker.d.ts +36 -0
  117. package/dist/smart-agent/resilience/circuit-breaker.d.ts.map +1 -0
  118. package/dist/smart-agent/resilience/circuit-breaker.js +60 -0
  119. package/dist/smart-agent/resilience/circuit-breaker.js.map +1 -0
  120. package/dist/smart-agent/resilience/fallback-rag.d.ts +21 -0
  121. package/dist/smart-agent/resilience/fallback-rag.d.ts.map +1 -0
  122. package/dist/smart-agent/resilience/fallback-rag.js +35 -0
  123. package/dist/smart-agent/resilience/fallback-rag.js.map +1 -0
  124. package/dist/smart-agent/resilience/index.d.ts +5 -0
  125. package/dist/smart-agent/resilience/index.d.ts.map +1 -0
  126. package/dist/smart-agent/resilience/index.js +5 -0
  127. package/dist/smart-agent/resilience/index.js.map +1 -0
  128. package/dist/smart-agent/session/index.d.ts +4 -0
  129. package/dist/smart-agent/session/index.d.ts.map +1 -0
  130. package/dist/smart-agent/session/index.js +3 -0
  131. package/dist/smart-agent/session/index.js.map +1 -0
  132. package/dist/smart-agent/session/noop-session-manager.d.ts +8 -0
  133. package/dist/smart-agent/session/noop-session-manager.d.ts.map +1 -0
  134. package/dist/smart-agent/session/noop-session-manager.js +11 -0
  135. package/dist/smart-agent/session/noop-session-manager.js.map +1 -0
  136. package/dist/smart-agent/session/session-manager.d.ts +13 -0
  137. package/dist/smart-agent/session/session-manager.d.ts.map +1 -0
  138. package/dist/smart-agent/session/session-manager.js +20 -0
  139. package/dist/smart-agent/session/session-manager.js.map +1 -0
  140. package/dist/smart-agent/session/types.d.ts +7 -0
  141. package/dist/smart-agent/session/types.d.ts.map +1 -0
  142. package/dist/smart-agent/session/types.js +2 -0
  143. package/dist/smart-agent/session/types.js.map +1 -0
  144. package/dist/smart-agent/smart-server.d.ts +15 -1
  145. package/dist/smart-agent/smart-server.d.ts.map +1 -1
  146. package/dist/smart-agent/smart-server.js +73 -4
  147. package/dist/smart-agent/smart-server.js.map +1 -1
  148. package/dist/smart-agent/testing/index.d.ts +32 -0
  149. package/dist/smart-agent/testing/index.d.ts.map +1 -1
  150. package/dist/smart-agent/testing/index.js +70 -0
  151. package/dist/smart-agent/testing/index.js.map +1 -1
  152. package/dist/smart-agent/validator/index.d.ts +3 -0
  153. package/dist/smart-agent/validator/index.d.ts.map +1 -0
  154. package/dist/smart-agent/validator/index.js +2 -0
  155. package/dist/smart-agent/validator/index.js.map +1 -0
  156. package/dist/smart-agent/validator/noop-validator.d.ts +6 -0
  157. package/dist/smart-agent/validator/noop-validator.d.ts.map +1 -0
  158. package/dist/smart-agent/validator/noop-validator.js +6 -0
  159. package/dist/smart-agent/validator/noop-validator.js.map +1 -0
  160. package/dist/smart-agent/validator/types.d.ts +18 -0
  161. package/dist/smart-agent/validator/types.d.ts.map +1 -0
  162. package/dist/smart-agent/validator/types.js +8 -0
  163. package/dist/smart-agent/validator/types.js.map +1 -0
  164. package/package.json +14 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GAGd,MAAM,qBAAqB,CAAC"}
@@ -12,8 +12,10 @@ export interface ResolveConfigArgs {
12
12
  'rag-type'?: string | boolean;
13
13
  'rag-url'?: string | boolean;
14
14
  'rag-model'?: string | boolean;
15
+ 'rag-collection-name'?: string | boolean;
15
16
  'rag-vector-weight'?: string | boolean;
16
17
  'rag-keyword-weight'?: string | boolean;
18
+ 'qdrant-api-key'?: string | boolean;
17
19
  'mcp-type'?: string | boolean;
18
20
  'mcp-url'?: string | boolean;
19
21
  'mcp-command'?: string | boolean;
@@ -24,7 +26,7 @@ export interface ResolveConfigArgs {
24
26
  'log-dir'?: string;
25
27
  mode?: string | boolean;
26
28
  }
27
- 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\n url: http://localhost:11434\n model: nomic-embed-text\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\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: ollama\n# url: http://localhost:11434\n# model: nomic-embed-text\n# dedupThreshold: 0.92\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# 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";
29
+ 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 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\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: ollama\n# url: http://localhost:11434\n# model: nomic-embed-text\n# dedupThreshold: 0.92\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# 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";
28
30
  export declare function resolveEnvVars(value: unknown, env?: NodeJS.ProcessEnv): unknown;
29
31
  export declare function loadYamlConfig(filePath: string, env?: NodeJS.ProcessEnv): YamlConfig;
30
32
  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,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,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,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,g8FAsFzB,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,CAgJhC"}
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,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,mxGA0FzB,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,CAuJhC"}
@@ -19,9 +19,10 @@ llm:
19
19
  classifierTemperature: 0.1
20
20
 
21
21
  rag:
22
- type: ollama # ollama | in-memory
22
+ type: ollama # ollama | in-memory | qdrant
23
23
  url: http://localhost:11434
24
24
  model: nomic-embed-text
25
+ # collectionName: llm-agent # Qdrant collection name (qdrant type only)
25
26
  dedupThreshold: 0.92
26
27
  vectorWeight: 0.7 # Semantic similarity weight (0..1)
27
28
  keywordWeight: 0.3 # Lexical matching weight (0..1)
@@ -40,6 +41,9 @@ agent:
40
41
  ragQueryK: 10
41
42
  showReasoning: false # Explain strategy at start of response
42
43
  historyAutoSummarizeLimit: 10 # History length to trigger compression
44
+ queryExpansionEnabled: false # Expand RAG queries with LLM-generated synonyms
45
+ toolResultCacheTtlMs: 300000 # Tool result cache TTL (ms); 0 to disable
46
+ sessionTokenBudget: 0 # Multi-turn token budget; 0 to disable
43
47
 
44
48
  # --- Advanced Multi-Model Pipeline (optional) -------------------------------
45
49
  # Use this section to assign different models for different internal tasks.
@@ -169,6 +173,9 @@ export function resolveSmartServerConfig(args = {}, yaml = {}, env = process.env
169
173
  get(yaml, 'rag', 'model') ??
170
174
  env.OLLAMA_EMBED_MODEL ??
171
175
  'nomic-embed-text',
176
+ collectionName: args['rag-collection-name'] ??
177
+ get(yaml, 'rag', 'collectionName') ??
178
+ undefined,
172
179
  dedupThreshold: Number(get(yaml, 'rag', 'dedupThreshold') ?? 0.92),
173
180
  vectorWeight: Number(args['rag-vector-weight'] ?? get(yaml, 'rag', 'vectorWeight') ?? 0.7),
174
181
  keywordWeight: Number(args['rag-keyword-weight'] ?? get(yaml, 'rag', 'keywordWeight') ?? 0.3),
@@ -193,6 +200,7 @@ export function resolveSmartServerConfig(args = {}, yaml = {}, env = process.env
193
200
  get(yaml, 'agent', 'showReasoning') ??
194
201
  false),
195
202
  historyAutoSummarizeLimit: Number(get(yaml, 'agent', 'historyAutoSummarizeLimit') ?? 10),
203
+ queryExpansionEnabled: Boolean(get(yaml, 'agent', 'queryExpansionEnabled') ?? false),
196
204
  },
197
205
  prompts: promptSystem ||
198
206
  promptClassifier ||
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/smart-agent/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { SmartAgent } from '../agent.js';
2
+ import type { InMemoryMetrics } from '../metrics/in-memory-metrics.js';
3
+ import type { CircuitBreaker } from '../resilience/circuit-breaker.js';
4
+ import type { HealthStatus } from './types.js';
5
+ export interface HealthCheckerDeps {
6
+ agent: SmartAgent;
7
+ startTime: number;
8
+ version: string;
9
+ circuitBreakers?: CircuitBreaker[];
10
+ metrics?: InMemoryMetrics;
11
+ }
12
+ export declare class HealthChecker {
13
+ private readonly agent;
14
+ private readonly startTime;
15
+ private readonly version;
16
+ private readonly circuitBreakers;
17
+ private readonly metrics?;
18
+ constructor(deps: HealthCheckerDeps);
19
+ check(): Promise<HealthStatus>;
20
+ }
21
+ //# sourceMappingURL=health-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-checker.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/health/health-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkB;gBAE/B,IAAI,EAAE,iBAAiB;IAQ7B,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CA6CrC"}
@@ -0,0 +1,52 @@
1
+ export class HealthChecker {
2
+ agent;
3
+ startTime;
4
+ version;
5
+ circuitBreakers;
6
+ metrics;
7
+ constructor(deps) {
8
+ this.agent = deps.agent;
9
+ this.startTime = deps.startTime;
10
+ this.version = deps.version;
11
+ this.circuitBreakers = deps.circuitBreakers ?? [];
12
+ this.metrics = deps.metrics;
13
+ }
14
+ async check() {
15
+ const healthResult = await this.agent.healthCheck();
16
+ const components = healthResult.ok
17
+ ? healthResult.value
18
+ : { llm: false, rag: false, mcp: [] };
19
+ const cbStatuses = this.circuitBreakers.length > 0
20
+ ? this.circuitBreakers.map((cb, i) => ({
21
+ index: i,
22
+ state: cb.state,
23
+ }))
24
+ : undefined;
25
+ const metricsSnapshot = this.metrics?.snapshot();
26
+ // Determine overall status
27
+ const llmOk = components.llm;
28
+ const ragOk = components.rag;
29
+ const mcpAllOk = components.mcp.length === 0 || components.mcp.every((m) => m.ok);
30
+ const anyCircuitOpen = this.circuitBreakers.some((cb) => cb.state === 'open');
31
+ let status;
32
+ if (!llmOk) {
33
+ status = 'unhealthy';
34
+ }
35
+ else if (!ragOk || !mcpAllOk || anyCircuitOpen) {
36
+ status = 'degraded';
37
+ }
38
+ else {
39
+ status = 'healthy';
40
+ }
41
+ return {
42
+ status,
43
+ uptime: Date.now() - this.startTime,
44
+ version: this.version,
45
+ timestamp: new Date().toISOString(),
46
+ components,
47
+ ...(cbStatuses ? { circuitBreakers: cbStatuses } : {}),
48
+ ...(metricsSnapshot ? { metrics: metricsSnapshot } : {}),
49
+ };
50
+ }
51
+ }
52
+ //# sourceMappingURL=health-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-checker.js","sourceRoot":"","sources":["../../../src/smart-agent/health/health-checker.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,aAAa;IACP,KAAK,CAAa;IAClB,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,eAAe,CAAmB;IAClC,OAAO,CAAmB;IAE3C,YAAY,IAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE;YAChC,CAAC,CAAC,YAAY,CAAC,KAAK;YACpB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAExC,MAAM,UAAU,GACd,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,EAAE,CAAC,KAAK;aAChB,CAAC,CAAC;YACL,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC7B,MAAM,QAAQ,GACZ,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC9C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,CAC5B,CAAC;QAEF,IAAI,MAA4C,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAC;YACjD,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;YACL,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,UAAU;YACV,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { HealthChecker, type HealthCheckerDeps } from './health-checker.js';
2
+ export type { CircuitBreakerStatus, HealthComponentStatus, HealthStatus, } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { HealthChecker } from './health-checker.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { MetricsSnapshot } from '../metrics/in-memory-metrics.js';
2
+ import type { CircuitState } from '../resilience/circuit-breaker.js';
3
+ export interface HealthComponentStatus {
4
+ llm: boolean;
5
+ rag: boolean;
6
+ mcp: Array<{
7
+ name: string;
8
+ ok: boolean;
9
+ error?: string;
10
+ }>;
11
+ }
12
+ export interface CircuitBreakerStatus {
13
+ index: number;
14
+ state: CircuitState;
15
+ }
16
+ export interface HealthStatus {
17
+ status: 'healthy' | 'degraded' | 'unhealthy';
18
+ uptime: number;
19
+ version: string;
20
+ timestamp: string;
21
+ components: HealthComponentStatus;
22
+ circuitBreakers?: CircuitBreakerStatus[];
23
+ metrics?: MetricsSnapshot;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/health/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,qBAAqB,CAAC;IAClC,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/smart-agent/health/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,10 @@
1
+ export type { IToolCache } from '../cache/types.js';
2
+ export type { ICounter, IHistogram, IMetrics } from '../metrics/types.js';
3
+ export type { IQueryExpander } from '../rag/query-expander.js';
4
+ export type { IReranker } from '../reranker/types.js';
5
+ export type { ISessionManager } from '../session/types.js';
1
6
  export type { ISpan, ITracer, SpanOptions, SpanStatus, } from '../tracer/types.js';
7
+ export type { IOutputValidator, ValidationResult, } from '../validator/types.js';
2
8
  export type { IContextAssembler } from './assembler.js';
3
9
  export type { ISubpromptClassifier } from './classifier.js';
4
10
  export type { ILlm } from './llm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,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,SAAS,EACT,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,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,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,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,SAAS,EACT,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/interfaces/index.ts"],"names":[],"mappings":"AAuCA,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { ICounter, IHistogram, IMetrics } from './types.js';
2
+ export interface CounterSnapshot {
3
+ total: number;
4
+ byAttributes: Map<string, number>;
5
+ }
6
+ declare class MemCounter implements ICounter {
7
+ private total;
8
+ private readonly byAttrs;
9
+ add(value?: number, attributes?: Record<string, string>): void;
10
+ snapshot(): CounterSnapshot;
11
+ }
12
+ export interface HistogramSnapshot {
13
+ count: number;
14
+ sum: number;
15
+ min: number;
16
+ max: number;
17
+ values: number[];
18
+ }
19
+ declare class MemHistogram implements IHistogram {
20
+ private readonly values;
21
+ record(value: number, _attributes?: Record<string, string>): void;
22
+ snapshot(): HistogramSnapshot;
23
+ /** Return the p-th percentile (0..100). */
24
+ percentile(p: number): number;
25
+ }
26
+ export interface MetricsSnapshot {
27
+ requestCount: CounterSnapshot;
28
+ requestLatency: HistogramSnapshot;
29
+ toolCallCount: CounterSnapshot;
30
+ ragQueryCount: CounterSnapshot;
31
+ classifierIntentCount: CounterSnapshot;
32
+ llmCallCount: CounterSnapshot;
33
+ llmCallLatency: HistogramSnapshot;
34
+ circuitBreakerTransition: CounterSnapshot;
35
+ toolCacheHitCount: CounterSnapshot;
36
+ }
37
+ /**
38
+ * In-memory metrics collector — useful for testing and diagnostics endpoints.
39
+ * Call `snapshot()` to get a point-in-time view of all metrics.
40
+ */
41
+ export declare class InMemoryMetrics implements IMetrics {
42
+ readonly requestCount: MemCounter;
43
+ readonly requestLatency: MemHistogram;
44
+ readonly toolCallCount: MemCounter;
45
+ readonly ragQueryCount: MemCounter;
46
+ readonly classifierIntentCount: MemCounter;
47
+ readonly llmCallCount: MemCounter;
48
+ readonly llmCallLatency: MemHistogram;
49
+ readonly circuitBreakerTransition: MemCounter;
50
+ readonly toolCacheHitCount: MemCounter;
51
+ snapshot(): MetricsSnapshot;
52
+ /** Convenience: get p-th percentile of request latency. */
53
+ requestLatencyPercentile(p: number): number;
54
+ /** Convenience: get p-th percentile of LLM call latency. */
55
+ llmCallLatencyPercentile(p: number): number;
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=in-memory-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-metrics.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/in-memory-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,cAAM,UAAW,YAAW,QAAQ;IAClC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,GAAG,CAAC,KAAK,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAWzD,QAAQ,IAAI,eAAe;CAG5B;AAMD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,cAAM,YAAa,YAAW,UAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIjE,QAAQ,IAAI,iBAAiB;IAW7B,2CAA2C;IAC3C,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAM9B;AAMD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,iBAAiB,CAAC;IAClC,aAAa,EAAE,eAAe,CAAC;IAC/B,aAAa,EAAE,eAAe,CAAC;IAC/B,qBAAqB,EAAE,eAAe,CAAC;IACvC,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,iBAAiB,CAAC;IAClC,wBAAwB,EAAE,eAAe,CAAC;IAC1C,iBAAiB,EAAE,eAAe,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,QAAQ,CAAC,YAAY,aAAoB;IACzC,QAAQ,CAAC,cAAc,eAAsB;IAC7C,QAAQ,CAAC,aAAa,aAAoB;IAC1C,QAAQ,CAAC,aAAa,aAAoB;IAC1C,QAAQ,CAAC,qBAAqB,aAAoB;IAClD,QAAQ,CAAC,YAAY,aAAoB;IACzC,QAAQ,CAAC,cAAc,eAAsB;IAC7C,QAAQ,CAAC,wBAAwB,aAAoB;IACrD,QAAQ,CAAC,iBAAiB,aAAoB;IAE9C,QAAQ,IAAI,eAAe;IAc3B,2DAA2D;IAC3D,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3C,4DAA4D;IAC5D,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAG5C"}
@@ -0,0 +1,78 @@
1
+ class MemCounter {
2
+ total = 0;
3
+ byAttrs = new Map();
4
+ add(value = 1, attributes) {
5
+ this.total += value;
6
+ if (attributes) {
7
+ const key = Object.entries(attributes)
8
+ .sort(([a], [b]) => a.localeCompare(b))
9
+ .map(([k, v]) => `${k}=${v}`)
10
+ .join(',');
11
+ this.byAttrs.set(key, (this.byAttrs.get(key) ?? 0) + value);
12
+ }
13
+ }
14
+ snapshot() {
15
+ return { total: this.total, byAttributes: new Map(this.byAttrs) };
16
+ }
17
+ }
18
+ class MemHistogram {
19
+ values = [];
20
+ record(value, _attributes) {
21
+ this.values.push(value);
22
+ }
23
+ snapshot() {
24
+ const sorted = [...this.values].sort((a, b) => a - b);
25
+ return {
26
+ count: sorted.length,
27
+ sum: sorted.reduce((a, b) => a + b, 0),
28
+ min: sorted.length > 0 ? sorted[0] : 0,
29
+ max: sorted.length > 0 ? sorted[sorted.length - 1] : 0,
30
+ values: sorted,
31
+ };
32
+ }
33
+ /** Return the p-th percentile (0..100). */
34
+ percentile(p) {
35
+ if (this.values.length === 0)
36
+ return 0;
37
+ const sorted = [...this.values].sort((a, b) => a - b);
38
+ const idx = Math.ceil((p / 100) * sorted.length) - 1;
39
+ return sorted[Math.max(0, idx)];
40
+ }
41
+ }
42
+ /**
43
+ * In-memory metrics collector — useful for testing and diagnostics endpoints.
44
+ * Call `snapshot()` to get a point-in-time view of all metrics.
45
+ */
46
+ export class InMemoryMetrics {
47
+ requestCount = new MemCounter();
48
+ requestLatency = new MemHistogram();
49
+ toolCallCount = new MemCounter();
50
+ ragQueryCount = new MemCounter();
51
+ classifierIntentCount = new MemCounter();
52
+ llmCallCount = new MemCounter();
53
+ llmCallLatency = new MemHistogram();
54
+ circuitBreakerTransition = new MemCounter();
55
+ toolCacheHitCount = new MemCounter();
56
+ snapshot() {
57
+ return {
58
+ requestCount: this.requestCount.snapshot(),
59
+ requestLatency: this.requestLatency.snapshot(),
60
+ toolCallCount: this.toolCallCount.snapshot(),
61
+ ragQueryCount: this.ragQueryCount.snapshot(),
62
+ classifierIntentCount: this.classifierIntentCount.snapshot(),
63
+ llmCallCount: this.llmCallCount.snapshot(),
64
+ llmCallLatency: this.llmCallLatency.snapshot(),
65
+ circuitBreakerTransition: this.circuitBreakerTransition.snapshot(),
66
+ toolCacheHitCount: this.toolCacheHitCount.snapshot(),
67
+ };
68
+ }
69
+ /** Convenience: get p-th percentile of request latency. */
70
+ requestLatencyPercentile(p) {
71
+ return this.requestLatency.percentile(p);
72
+ }
73
+ /** Convenience: get p-th percentile of LLM call latency. */
74
+ llmCallLatencyPercentile(p) {
75
+ return this.llmCallLatency.percentile(p);
76
+ }
77
+ }
78
+ //# sourceMappingURL=in-memory-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-metrics.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/in-memory-metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { type CounterSnapshot, type HistogramSnapshot, InMemoryMetrics, type MetricsSnapshot, } from './in-memory-metrics.js';
2
+ export { NoopMetrics } from './noop-metrics.js';
3
+ export type { ICounter, IHistogram, IMetrics } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { InMemoryMetrics, } from './in-memory-metrics.js';
2
+ export { NoopMetrics } from './noop-metrics.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,GAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ICounter, IHistogram, IMetrics } from './types.js';
2
+ /**
3
+ * No-op metrics implementation — zero overhead.
4
+ * Used as the default when no metrics provider is configured.
5
+ */
6
+ export declare class NoopMetrics implements IMetrics {
7
+ readonly requestCount: ICounter;
8
+ readonly requestLatency: IHistogram;
9
+ readonly toolCallCount: ICounter;
10
+ readonly ragQueryCount: ICounter;
11
+ readonly classifierIntentCount: ICounter;
12
+ readonly llmCallCount: ICounter;
13
+ readonly llmCallLatency: IHistogram;
14
+ readonly circuitBreakerTransition: ICounter;
15
+ readonly toolCacheHitCount: ICounter;
16
+ }
17
+ //# sourceMappingURL=noop-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-metrics.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/noop-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUjE;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IAC1C,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAe;IAC9C,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAiB;IACpD,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAe;IAC/C,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAe;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAe;IACvD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAe;IAC9C,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAiB;IACpD,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,CAAe;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAe;CACpD"}
@@ -0,0 +1,22 @@
1
+ const noopCounter = {
2
+ add() { },
3
+ };
4
+ const noopHistogram = {
5
+ record() { },
6
+ };
7
+ /**
8
+ * No-op metrics implementation — zero overhead.
9
+ * Used as the default when no metrics provider is configured.
10
+ */
11
+ export class NoopMetrics {
12
+ requestCount = noopCounter;
13
+ requestLatency = noopHistogram;
14
+ toolCallCount = noopCounter;
15
+ ragQueryCount = noopCounter;
16
+ classifierIntentCount = noopCounter;
17
+ llmCallCount = noopCounter;
18
+ llmCallLatency = noopHistogram;
19
+ circuitBreakerTransition = noopCounter;
20
+ toolCacheHitCount = noopCounter;
21
+ }
22
+ //# sourceMappingURL=noop-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-metrics.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/noop-metrics.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAa;IAC5B,GAAG,KAAI,CAAC;CACT,CAAC;AAEF,MAAM,aAAa,GAAe;IAChC,MAAM,KAAI,CAAC;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,WAAW;IACb,YAAY,GAAa,WAAW,CAAC;IACrC,cAAc,GAAe,aAAa,CAAC;IAC3C,aAAa,GAAa,WAAW,CAAC;IACtC,aAAa,GAAa,WAAW,CAAC;IACtC,qBAAqB,GAAa,WAAW,CAAC;IAC9C,YAAY,GAAa,WAAW,CAAC;IACrC,cAAc,GAAe,aAAa,CAAC;IAC3C,wBAAwB,GAAa,WAAW,CAAC;IACjD,iBAAiB,GAAa,WAAW,CAAC;CACpD"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Metrics interfaces — modeled after OTEL-compatible counters and histograms.
3
+ *
4
+ * Consumers implement `IMetrics` to plug in Prometheus, OTEL, or any metrics
5
+ * backend. The library ships `NoopMetrics` (zero overhead) and `InMemoryMetrics`
6
+ * (useful for testing and diagnostics).
7
+ */
8
+ export interface ICounter {
9
+ /** Increment the counter by 1 (or a custom value). */
10
+ add(value?: number, attributes?: Record<string, string>): void;
11
+ }
12
+ export interface IHistogram {
13
+ /** Record a single observation (e.g. latency in ms). */
14
+ record(value: number, attributes?: Record<string, string>): void;
15
+ }
16
+ export interface IMetrics {
17
+ /** Total incoming requests to SmartAgent.process / streamProcess. */
18
+ requestCount: ICounter;
19
+ /** Request end-to-end latency (ms). */
20
+ requestLatency: IHistogram;
21
+ /** Number of tool calls executed (internal MCP). */
22
+ toolCallCount: ICounter;
23
+ /** Number of RAG queries executed. Attributes: store (facts|feedback|state), hit (true|false). */
24
+ ragQueryCount: ICounter;
25
+ /** Intent classifier invocation count. Attributes: intent (action|fact|feedback|state|chat). */
26
+ classifierIntentCount: ICounter;
27
+ /** LLM chat / streamChat invocations. */
28
+ llmCallCount: ICounter;
29
+ /** LLM call latency (ms). */
30
+ llmCallLatency: IHistogram;
31
+ /** Circuit breaker state transitions. Attributes: from, to, target (llm|embedder). */
32
+ circuitBreakerTransition: ICounter;
33
+ /** Tool result cache hits. */
34
+ toolCacheHitCount: ICounter;
35
+ }
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/smart-agent/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,sDAAsD;IACtD,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,YAAY,EAAE,QAAQ,CAAC;IACvB,uCAAuC;IACvC,cAAc,EAAE,UAAU,CAAC;IAC3B,oDAAoD;IACpD,aAAa,EAAE,QAAQ,CAAC;IACxB,kGAAkG;IAClG,aAAa,EAAE,QAAQ,CAAC;IACxB,gGAAgG;IAChG,qBAAqB,EAAE,QAAQ,CAAC;IAChC,yCAAyC;IACzC,YAAY,EAAE,QAAQ,CAAC;IACvB,6BAA6B;IAC7B,cAAc,EAAE,UAAU,CAAC;IAC3B,sFAAsF;IACtF,wBAAwB,EAAE,QAAQ,CAAC;IACnC,8BAA8B;IAC9B,iBAAiB,EAAE,QAAQ,CAAC;CAC7B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Metrics interfaces — modeled after OTEL-compatible counters and histograms.
3
+ *
4
+ * Consumers implement `IMetrics` to plug in Prometheus, OTEL, or any metrics
5
+ * backend. The library ships `NoopMetrics` (zero overhead) and `InMemoryMetrics`
6
+ * (useful for testing and diagnostics).
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/smart-agent/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -12,14 +12,16 @@ export interface PipelineLlmProviderConfig {
12
12
  resourceGroup?: string;
13
13
  }
14
14
  export interface PipelineRagStoreConfig {
15
- /** 'ollama' | 'openai' | 'in-memory'. Default: 'ollama' */
16
- type?: 'ollama' | 'openai' | 'in-memory';
17
- /** Base URL for embedding service */
15
+ /** 'ollama' | 'openai' | 'in-memory' | 'qdrant'. Default: 'ollama' */
16
+ type?: 'ollama' | 'openai' | 'in-memory' | 'qdrant';
17
+ /** Base URL for embedding service or Qdrant server */
18
18
  url?: string;
19
- /** API key (for openai type) */
19
+ /** API key (for openai type or Qdrant auth) */
20
20
  apiKey?: string;
21
21
  /** Embedding model name */
22
22
  model?: string;
23
+ /** Qdrant collection name (required for qdrant type) */
24
+ collectionName?: string;
23
25
  /** Cosine similarity dedup threshold. Default: 0.92 */
24
26
  dedupThreshold?: number;
25
27
  /** Weight for vector search (0..1). Default: 0.7 */
@@ -1 +1 @@
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;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;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,CAgCxE"}
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;AAW/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,sEAAsE;IACtE,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpD,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;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,CA0DxE"}