@hashgraphonline/conversational-agent 0.1.217 → 0.1.219

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 (288) hide show
  1. package/cli/readme.md +181 -0
  2. package/dist/cjs/constants/entity-references.d.ts +18 -0
  3. package/dist/cjs/constants/form-priorities.d.ts +24 -0
  4. package/dist/cjs/constants/index.d.ts +4 -0
  5. package/dist/cjs/constants/messages.d.ts +19 -0
  6. package/dist/cjs/constants/test-constants.d.ts +42 -0
  7. package/dist/cjs/conversational-agent.d.ts +3 -8
  8. package/dist/{types/core/ToolRegistry.d.ts → cjs/core/tool-registry.d.ts} +11 -1
  9. package/dist/{types/execution/ExecutionPipeline.d.ts → cjs/execution/execution-pipeline.d.ts} +3 -3
  10. package/dist/cjs/forms/field-guidance-registry.d.ts +108 -0
  11. package/dist/cjs/forms/form-generator.d.ts +2 -7
  12. package/dist/cjs/forms/index.d.ts +3 -0
  13. package/dist/cjs/forms/types.d.ts +9 -1
  14. package/dist/cjs/index.cjs +1 -1
  15. package/dist/cjs/index.cjs.map +1 -1
  16. package/dist/cjs/index.d.ts +7 -12
  17. package/dist/cjs/langchain/external-tool-wrapper.d.ts +101 -0
  18. package/dist/{types/langchain/FormAwareAgentExecutor.d.ts → cjs/langchain/form-aware-agent-executor.d.ts} +19 -4
  19. package/dist/cjs/langchain/index.d.ts +3 -0
  20. package/dist/{types → cjs/langchain}/langchain-agent.d.ts +15 -7
  21. package/dist/cjs/mcp/adapters/index.d.ts +1 -0
  22. package/dist/cjs/mcp/adapters/langchain.d.ts +1 -1
  23. package/dist/{types/mcp/ContentProcessor.d.ts → cjs/mcp/content-processor.d.ts} +1 -1
  24. package/dist/cjs/mcp/index.d.ts +5 -0
  25. package/dist/{types/mcp/MCPClientManager.d.ts → cjs/mcp/mcp-client-manager.d.ts} +1 -1
  26. package/dist/cjs/memory/{ContentStorage.d.ts → content-storage.d.ts} +4 -4
  27. package/dist/cjs/memory/index.d.ts +5 -7
  28. package/dist/{types/memory/MemoryWindow.d.ts → cjs/memory/memory-window.d.ts} +1 -1
  29. package/dist/{types/memory/SmartMemoryManager.d.ts → cjs/memory/smart-memory-manager.d.ts} +1 -1
  30. package/dist/cjs/services/{ContentStoreManager.d.ts → content-store-manager.d.ts} +6 -6
  31. package/dist/cjs/services/context/resolution-context.d.ts +49 -0
  32. package/dist/cjs/services/entity-resolver.d.ts +58 -0
  33. package/dist/cjs/services/formatters/converters/index.d.ts +2 -0
  34. package/dist/cjs/services/formatters/converters/string-normalization-converter.d.ts +13 -0
  35. package/dist/cjs/services/formatters/converters/topic-id-to-hrl-converter.d.ts +17 -0
  36. package/dist/cjs/services/formatters/format-converter-registry.d.ts +66 -0
  37. package/dist/cjs/services/formatters/index.d.ts +3 -0
  38. package/dist/cjs/services/formatters/types.d.ts +29 -0
  39. package/dist/cjs/services/index.d.ts +3 -0
  40. package/dist/cjs/services/resolution/resolution-pipeline.d.ts +44 -0
  41. package/dist/cjs/tools/index.d.ts +1 -0
  42. package/dist/cjs/utils/index.d.ts +1 -0
  43. package/dist/esm/index.js +40 -13
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/index10.js +669 -13
  46. package/dist/esm/index10.js.map +1 -1
  47. package/dist/esm/index11.js +310 -95
  48. package/dist/esm/index11.js.map +1 -1
  49. package/dist/esm/index12.js +130 -95
  50. package/dist/esm/index12.js.map +1 -1
  51. package/dist/esm/index13.js +262 -153
  52. package/dist/esm/index13.js.map +1 -1
  53. package/dist/esm/index14.js +100 -664
  54. package/dist/esm/index14.js.map +1 -1
  55. package/dist/esm/index15.js +135 -408
  56. package/dist/esm/index15.js.map +1 -1
  57. package/dist/esm/index16.js +240 -122
  58. package/dist/esm/index16.js.map +1 -1
  59. package/dist/esm/index17.js +147 -135
  60. package/dist/esm/index17.js.map +1 -1
  61. package/dist/esm/index18.js +376 -533
  62. package/dist/esm/index18.js.map +1 -1
  63. package/dist/esm/index19.js +87 -214
  64. package/dist/esm/index19.js.map +1 -1
  65. package/dist/esm/index2.js +21 -4
  66. package/dist/esm/index2.js.map +1 -1
  67. package/dist/esm/index20.js +158 -92
  68. package/dist/esm/index20.js.map +1 -1
  69. package/dist/esm/index21.js +717 -44
  70. package/dist/esm/index21.js.map +1 -1
  71. package/dist/esm/index22.js +58 -96
  72. package/dist/esm/index22.js.map +1 -1
  73. package/dist/esm/index23.js +324 -34
  74. package/dist/esm/index23.js.map +1 -1
  75. package/dist/esm/index24.js +125 -712
  76. package/dist/esm/index24.js.map +1 -1
  77. package/dist/esm/index25.js +113 -133
  78. package/dist/esm/index25.js.map +1 -1
  79. package/dist/esm/index26.js +18 -152
  80. package/dist/esm/index26.js.map +1 -1
  81. package/dist/esm/index27.js +14 -210
  82. package/dist/esm/index27.js.map +1 -1
  83. package/dist/esm/index28.js +70 -173
  84. package/dist/esm/index28.js.map +1 -1
  85. package/dist/esm/index29.js +882 -220
  86. package/dist/esm/index29.js.map +1 -1
  87. package/dist/esm/index30.js +218 -126
  88. package/dist/esm/index30.js.map +1 -1
  89. package/dist/esm/index31.js +1258 -44
  90. package/dist/esm/index31.js.map +1 -1
  91. package/dist/esm/index32.js +132 -24
  92. package/dist/esm/index32.js.map +1 -1
  93. package/dist/esm/index33.js +104 -82
  94. package/dist/esm/index33.js.map +1 -1
  95. package/dist/esm/index34.js +43 -239
  96. package/dist/esm/index34.js.map +1 -1
  97. package/dist/esm/index35.js +106 -0
  98. package/dist/esm/index35.js.map +1 -0
  99. package/dist/esm/index36.js +24 -0
  100. package/dist/esm/index36.js.map +1 -0
  101. package/dist/esm/index37.js +8 -0
  102. package/dist/esm/index37.js.map +1 -0
  103. package/dist/esm/index38.js +15 -0
  104. package/dist/esm/index38.js.map +1 -0
  105. package/dist/esm/index39.js +258 -0
  106. package/dist/esm/index39.js.map +1 -0
  107. package/dist/esm/index40.js +187 -0
  108. package/dist/esm/index40.js.map +1 -0
  109. package/dist/esm/index41.js +30 -0
  110. package/dist/esm/index41.js.map +1 -0
  111. package/dist/esm/index42.js +10 -0
  112. package/dist/esm/index42.js.map +1 -0
  113. package/dist/esm/index43.js +95 -0
  114. package/dist/esm/index43.js.map +1 -0
  115. package/dist/esm/index5.js +2 -2
  116. package/dist/esm/index5.js.map +1 -1
  117. package/dist/esm/index6.js +44 -67
  118. package/dist/esm/index6.js.map +1 -1
  119. package/dist/esm/index7.js +9 -0
  120. package/dist/esm/index7.js.map +1 -1
  121. package/dist/esm/index8.js +13 -1095
  122. package/dist/esm/index8.js.map +1 -1
  123. package/dist/esm/index9.js +17 -13
  124. package/dist/esm/index9.js.map +1 -1
  125. package/dist/types/constants/entity-references.d.ts +18 -0
  126. package/dist/types/constants/form-priorities.d.ts +24 -0
  127. package/dist/types/constants/index.d.ts +4 -0
  128. package/dist/types/constants/messages.d.ts +19 -0
  129. package/dist/types/constants/test-constants.d.ts +42 -0
  130. package/dist/types/conversational-agent.d.ts +3 -8
  131. package/dist/{cjs/core/ToolRegistry.d.ts → types/core/tool-registry.d.ts} +11 -1
  132. package/dist/{cjs/execution/ExecutionPipeline.d.ts → types/execution/execution-pipeline.d.ts} +3 -3
  133. package/dist/types/forms/field-guidance-registry.d.ts +108 -0
  134. package/dist/types/forms/form-generator.d.ts +2 -7
  135. package/dist/types/forms/index.d.ts +3 -0
  136. package/dist/types/forms/types.d.ts +9 -1
  137. package/dist/types/index.d.ts +7 -12
  138. package/dist/types/langchain/external-tool-wrapper.d.ts +101 -0
  139. package/dist/{cjs/langchain/FormAwareAgentExecutor.d.ts → types/langchain/form-aware-agent-executor.d.ts} +19 -4
  140. package/dist/types/langchain/index.d.ts +3 -0
  141. package/dist/{cjs → types/langchain}/langchain-agent.d.ts +15 -7
  142. package/dist/types/mcp/adapters/index.d.ts +1 -0
  143. package/dist/types/mcp/adapters/langchain.d.ts +1 -1
  144. package/dist/{cjs/mcp/ContentProcessor.d.ts → types/mcp/content-processor.d.ts} +1 -1
  145. package/dist/types/mcp/index.d.ts +5 -0
  146. package/dist/{cjs/mcp/MCPClientManager.d.ts → types/mcp/mcp-client-manager.d.ts} +1 -1
  147. package/dist/types/memory/{ContentStorage.d.ts → content-storage.d.ts} +4 -4
  148. package/dist/types/memory/index.d.ts +5 -7
  149. package/dist/{cjs/memory/MemoryWindow.d.ts → types/memory/memory-window.d.ts} +1 -1
  150. package/dist/{cjs/memory/SmartMemoryManager.d.ts → types/memory/smart-memory-manager.d.ts} +1 -1
  151. package/dist/types/services/{ContentStoreManager.d.ts → content-store-manager.d.ts} +6 -6
  152. package/dist/types/services/context/resolution-context.d.ts +49 -0
  153. package/dist/types/services/entity-resolver.d.ts +58 -0
  154. package/dist/types/services/formatters/converters/index.d.ts +2 -0
  155. package/dist/types/services/formatters/converters/string-normalization-converter.d.ts +13 -0
  156. package/dist/types/services/formatters/converters/topic-id-to-hrl-converter.d.ts +17 -0
  157. package/dist/types/services/formatters/format-converter-registry.d.ts +66 -0
  158. package/dist/types/services/formatters/index.d.ts +3 -0
  159. package/dist/types/services/formatters/types.d.ts +29 -0
  160. package/dist/types/services/index.d.ts +3 -0
  161. package/dist/types/services/resolution/resolution-pipeline.d.ts +44 -0
  162. package/dist/types/tools/index.d.ts +1 -0
  163. package/dist/types/utils/index.d.ts +1 -0
  164. package/package.json +30 -27
  165. package/src/agent-factory.ts +1 -1
  166. package/src/base-agent.ts +9 -0
  167. package/src/config/system-message.ts +2 -15
  168. package/src/constants/entity-references.ts +23 -0
  169. package/src/constants/form-priorities.ts +25 -0
  170. package/src/constants/index.ts +4 -0
  171. package/src/constants/messages.ts +20 -0
  172. package/src/constants/test-constants.ts +49 -0
  173. package/src/conversational-agent.ts +42 -69
  174. package/src/core/{ToolRegistry.ts → tool-registry.ts} +71 -1
  175. package/src/examples/external-tool-wrapper-example.ts +56 -0
  176. package/src/execution/{ExecutionPipeline.ts → execution-pipeline.ts} +3 -3
  177. package/src/forms/field-guidance-registry.ts +415 -0
  178. package/src/forms/field-type-registry.ts +49 -48
  179. package/src/forms/{FormEngine.ts → form-engine.ts} +66 -43
  180. package/src/forms/form-generator.ts +91 -17
  181. package/src/forms/index.ts +4 -1
  182. package/src/forms/types.ts +9 -1
  183. package/src/index.ts +7 -37
  184. package/src/langchain/external-tool-wrapper.ts +90 -0
  185. package/src/langchain/{FormAwareAgentExecutor.ts → form-aware-agent-executor.ts} +615 -231
  186. package/src/langchain/{FormValidatingToolWrapper.ts → form-validating-tool-wrapper.ts} +2 -1
  187. package/src/langchain/index.ts +3 -0
  188. package/src/{langchain-agent.ts → langchain/langchain-agent.ts} +389 -113
  189. package/src/mcp/adapters/index.ts +1 -0
  190. package/src/mcp/adapters/langchain.ts +27 -18
  191. package/src/mcp/{ContentProcessor.ts → content-processor.ts} +71 -47
  192. package/src/mcp/index.ts +5 -0
  193. package/src/mcp/{MCPClientManager.ts → mcp-client-manager.ts} +2 -2
  194. package/src/memory/{ContentStorage.ts → content-storage.ts} +263 -167
  195. package/src/memory/index.ts +5 -8
  196. package/src/memory/{MemoryWindow.ts → memory-window.ts} +47 -24
  197. package/src/memory/{SmartMemoryManager.ts → smart-memory-manager.ts} +49 -22
  198. package/src/plugins/hbar/HbarPlugin.ts +1 -1
  199. package/src/plugins/hcs-10/HCS10Plugin.ts +46 -28
  200. package/src/scripts/test-external-tool-wrapper.ts +6 -6
  201. package/src/scripts/test-inscribe-form-generation.ts +22 -21
  202. package/src/scripts/test-inscribe-wrapper-verification.ts +5 -4
  203. package/src/services/{ContentStoreManager.ts → content-store-manager.ts} +75 -33
  204. package/src/services/context/resolution-context.ts +80 -0
  205. package/src/services/entity-resolver.ts +425 -0
  206. package/src/services/formatters/converters/index.ts +2 -0
  207. package/src/services/formatters/converters/string-normalization-converter.ts +106 -0
  208. package/src/services/formatters/converters/topic-id-to-hrl-converter.ts +25 -0
  209. package/src/services/formatters/format-converter-registry.ts +229 -0
  210. package/src/services/formatters/index.ts +3 -0
  211. package/src/services/formatters/types.ts +31 -0
  212. package/src/services/index.ts +3 -0
  213. package/src/services/resolution/resolution-pipeline.ts +106 -0
  214. package/src/tools/index.ts +1 -0
  215. package/src/types/content-reference.ts +87 -60
  216. package/src/utils/index.ts +1 -0
  217. package/cli/dist/CLIApp.d.ts +0 -9
  218. package/cli/dist/CLIApp.js +0 -127
  219. package/cli/dist/LocalConversationalAgent.d.ts +0 -37
  220. package/cli/dist/LocalConversationalAgent.js +0 -58
  221. package/cli/dist/app.d.ts +0 -16
  222. package/cli/dist/app.js +0 -13
  223. package/cli/dist/cli.d.ts +0 -2
  224. package/cli/dist/cli.js +0 -51
  225. package/cli/dist/components/AppContainer.d.ts +0 -16
  226. package/cli/dist/components/AppContainer.js +0 -24
  227. package/cli/dist/components/AppScreens.d.ts +0 -2
  228. package/cli/dist/components/AppScreens.js +0 -259
  229. package/cli/dist/components/ChatScreen.d.ts +0 -15
  230. package/cli/dist/components/ChatScreen.js +0 -39
  231. package/cli/dist/components/DebugLoadingScreen.d.ts +0 -5
  232. package/cli/dist/components/DebugLoadingScreen.js +0 -31
  233. package/cli/dist/components/LoadingScreen.d.ts +0 -2
  234. package/cli/dist/components/LoadingScreen.js +0 -16
  235. package/cli/dist/components/LoadingScreenDebug.d.ts +0 -5
  236. package/cli/dist/components/LoadingScreenDebug.js +0 -27
  237. package/cli/dist/components/MCPConfigScreen.d.ts +0 -28
  238. package/cli/dist/components/MCPConfigScreen.js +0 -168
  239. package/cli/dist/components/ScreenRouter.d.ts +0 -12
  240. package/cli/dist/components/ScreenRouter.js +0 -22
  241. package/cli/dist/components/SetupScreen.d.ts +0 -15
  242. package/cli/dist/components/SetupScreen.js +0 -65
  243. package/cli/dist/components/SingleLoadingScreen.d.ts +0 -5
  244. package/cli/dist/components/SingleLoadingScreen.js +0 -27
  245. package/cli/dist/components/StatusBadge.d.ts +0 -7
  246. package/cli/dist/components/StatusBadge.js +0 -28
  247. package/cli/dist/components/TerminalWindow.d.ts +0 -8
  248. package/cli/dist/components/TerminalWindow.js +0 -24
  249. package/cli/dist/components/WelcomeScreen.d.ts +0 -11
  250. package/cli/dist/components/WelcomeScreen.js +0 -47
  251. package/cli/dist/context/AppContext.d.ts +0 -68
  252. package/cli/dist/context/AppContext.js +0 -363
  253. package/cli/dist/hooks/useInitializeAgent.d.ts +0 -19
  254. package/cli/dist/hooks/useInitializeAgent.js +0 -28
  255. package/cli/dist/hooks/useStableState.d.ts +0 -38
  256. package/cli/dist/hooks/useStableState.js +0 -68
  257. package/cli/dist/managers/AgentManager.d.ts +0 -57
  258. package/cli/dist/managers/AgentManager.js +0 -119
  259. package/cli/dist/managers/ConfigManager.d.ts +0 -53
  260. package/cli/dist/managers/ConfigManager.js +0 -173
  261. package/cli/dist/types.d.ts +0 -31
  262. package/cli/dist/types.js +0 -19
  263. package/dist/cjs/context/ReferenceContextManager.d.ts +0 -84
  264. package/dist/cjs/context/ReferenceResponseProcessor.d.ts +0 -76
  265. package/dist/cjs/services/EntityResolver.d.ts +0 -26
  266. package/dist/types/context/ReferenceContextManager.d.ts +0 -84
  267. package/dist/types/context/ReferenceResponseProcessor.d.ts +0 -76
  268. package/dist/types/services/EntityResolver.d.ts +0 -26
  269. package/src/context/ReferenceContextManager.ts +0 -350
  270. package/src/context/ReferenceResponseProcessor.ts +0 -295
  271. package/src/scripts/test-hedera-kit-wrapper.ts +0 -265
  272. package/src/services/EntityResolver.ts +0 -128
  273. /package/dist/cjs/forms/{FormEngine.d.ts → form-engine.d.ts} +0 -0
  274. /package/dist/cjs/langchain/{FormValidatingToolWrapper.d.ts → form-validating-tool-wrapper.d.ts} +0 -0
  275. /package/dist/cjs/memory/{ReferenceIdGenerator.d.ts → reference-id-generator.d.ts} +0 -0
  276. /package/dist/cjs/memory/{TokenCounter.d.ts → token-counter.d.ts} +0 -0
  277. /package/dist/cjs/tools/{EntityResolverTool.d.ts → entity-resolver-tool.d.ts} +0 -0
  278. /package/dist/cjs/utils/{ResponseFormatter.d.ts → response-formatter.d.ts} +0 -0
  279. /package/dist/types/forms/{FormEngine.d.ts → form-engine.d.ts} +0 -0
  280. /package/dist/types/langchain/{FormValidatingToolWrapper.d.ts → form-validating-tool-wrapper.d.ts} +0 -0
  281. /package/dist/types/memory/{ReferenceIdGenerator.d.ts → reference-id-generator.d.ts} +0 -0
  282. /package/dist/types/memory/{TokenCounter.d.ts → token-counter.d.ts} +0 -0
  283. /package/dist/types/tools/{EntityResolverTool.d.ts → entity-resolver-tool.d.ts} +0 -0
  284. /package/dist/types/utils/{ResponseFormatter.d.ts → response-formatter.d.ts} +0 -0
  285. /package/src/memory/{ReferenceIdGenerator.ts → reference-id-generator.ts} +0 -0
  286. /package/src/memory/{TokenCounter.ts → token-counter.ts} +0 -0
  287. /package/src/tools/{EntityResolverTool.ts → entity-resolver-tool.ts} +0 -0
  288. /package/src/utils/{ResponseFormatter.ts → response-formatter.ts} +0 -0
@@ -1,119 +0,0 @@
1
- import { ConversationalAgent, MCPServers, } from '@hashgraphonline/conversational-agent';
2
- export class AgentManager {
3
- static instance;
4
- agent = null;
5
- initializing = false;
6
- initialized = false;
7
- constructor() { }
8
- static getInstance() {
9
- if (!AgentManager.instance) {
10
- AgentManager.instance = new AgentManager();
11
- }
12
- return AgentManager.instance;
13
- }
14
- /**
15
- * Initialize the conversational agent
16
- */
17
- async initialize(config, mcpConfig) {
18
- if (this.agent && this.initialized) {
19
- return {
20
- agent: this.agent,
21
- welcomeMessages: this.getWelcomeMessages(config, []),
22
- };
23
- }
24
- if (this.initializing) {
25
- throw new Error('Agent is already initializing');
26
- }
27
- this.initializing = true;
28
- try {
29
- const mcpServers = [];
30
- if (mcpConfig.enableFilesystem && mcpConfig.filesystemPath) {
31
- mcpServers.push(MCPServers.filesystem(mcpConfig.filesystemPath));
32
- }
33
- mcpServers.push(...mcpConfig.customServers);
34
- const agentConfig = {
35
- accountId: config.accountId,
36
- privateKey: config.privateKey,
37
- network: config.network,
38
- openAIApiKey: config.openAIApiKey,
39
- openAIModelName: 'gpt-4o-mini',
40
- verbose: false,
41
- disableLogging: true,
42
- ...(mcpServers.length > 0 && { mcpServers }),
43
- };
44
- const conversationalAgent = new ConversationalAgent(agentConfig);
45
- await conversationalAgent.initialize();
46
- this.agent = conversationalAgent;
47
- this.initialized = true;
48
- const welcomeMessages = this.getWelcomeMessages(config, mcpServers);
49
- return { agent: conversationalAgent, welcomeMessages };
50
- }
51
- finally {
52
- this.initializing = false;
53
- }
54
- }
55
- /**
56
- * Get welcome messages
57
- */
58
- getWelcomeMessages(config, mcpServers) {
59
- const welcomeMessages = [
60
- {
61
- role: 'system',
62
- content: `Connected to Hedera ${config.network}`,
63
- timestamp: new Date(),
64
- },
65
- ];
66
- if (mcpServers.length > 0) {
67
- welcomeMessages.push({
68
- role: 'system',
69
- content: `MCP servers enabled: ${mcpServers
70
- .map(s => s.name)
71
- .join(', ')}`,
72
- timestamp: new Date(),
73
- });
74
- }
75
- welcomeMessages.push({
76
- role: 'assistant',
77
- content: mcpServers.length > 0
78
- ? "Hello! I'm your Conversational Agent powered by Hashgraph Online, with extended MCP capabilities. I can help you with:\n\n• HCS-10 agent registrations and HCS-11 profiles\n• Sending messages through HCS standards\n• Creating accounts, transferring HBAR, and managing tokens\n• Deploying smart contracts and interacting with them\n• Managing NFTs, token swaps, and staking operations\n• Scheduling transactions and consensus submissions\n• File operations and external tool integration\n\nHow can I assist you today?"
79
- : "Hello! I'm your Conversational Agent powered by Hashgraph Online. I can help you with:\n\n• HCS-10 agent registrations and HCS-11 profiles\n• Sending messages through HCS standards\n• Creating accounts, transferring HBAR, and managing tokens\n• Deploying smart contracts and interacting with them\n• Managing NFTs, token swaps, and staking operations\n• Scheduling transactions and consensus submissions\n\nHow can I assist you today?",
80
- timestamp: new Date(),
81
- });
82
- return welcomeMessages;
83
- }
84
- /**
85
- * Send message to agent
86
- */
87
- async sendMessage(message, chatHistory) {
88
- if (!this.agent) {
89
- throw new Error('Agent not initialized');
90
- }
91
- return this.agent.processMessage(message, chatHistory);
92
- }
93
- /**
94
- * Get current agent
95
- */
96
- getAgent() {
97
- return this.agent;
98
- }
99
- /**
100
- * Check if agent is initialized
101
- */
102
- isInitialized() {
103
- return this.initialized;
104
- }
105
- /**
106
- * Check if agent is initializing
107
- */
108
- isInitializing() {
109
- return this.initializing;
110
- }
111
- /**
112
- * Reset agent (for testing)
113
- */
114
- reset() {
115
- this.agent = null;
116
- this.initialized = false;
117
- this.initializing = false;
118
- }
119
- }
@@ -1,53 +0,0 @@
1
- import { type MCPServerConfig } from '@hashgraphonline/conversational-agent';
2
- import { type Config } from '../types';
3
- export declare class ConfigManager {
4
- private static instance;
5
- private _config;
6
- private _mcpServers;
7
- private constructor();
8
- static getInstance(): ConfigManager;
9
- /**
10
- * Get MCP config file path
11
- */
12
- private getMCPConfigPath;
13
- /**
14
- * Load MCP configuration from file
15
- */
16
- private loadMCPConfig;
17
- /**
18
- * Save MCP configuration to file
19
- */
20
- saveMCPConfig(servers: MCPServerConfig[]): void;
21
- /**
22
- * Load config from .env file
23
- */
24
- private loadConfigFromEnv;
25
- /**
26
- * Save config to .env file
27
- */
28
- saveConfig(configToSave: Config): void;
29
- /**
30
- * Get complete config (cached)
31
- */
32
- getConfig(props?: Partial<Config>): Config & {
33
- mcpServers: MCPServerConfig[];
34
- };
35
- /**
36
- * Update config and save
37
- */
38
- updateConfig(updates: Partial<Config>): Config & {
39
- mcpServers: MCPServerConfig[];
40
- };
41
- /**
42
- * Get MCP servers
43
- */
44
- getMCPServers(): MCPServerConfig[];
45
- /**
46
- * Get MCP config path for display
47
- */
48
- getMCPConfigPathForDisplay(): string;
49
- /**
50
- * Reset cache (for testing)
51
- */
52
- resetCache(): void;
53
- }
@@ -1,173 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { MCPServers } from '@hashgraphonline/conversational-agent';
4
- export class ConfigManager {
5
- static instance;
6
- _config = null;
7
- _mcpServers = null;
8
- constructor() { }
9
- static getInstance() {
10
- if (!ConfigManager.instance) {
11
- ConfigManager.instance = new ConfigManager();
12
- }
13
- return ConfigManager.instance;
14
- }
15
- /**
16
- * Get MCP config file path
17
- */
18
- getMCPConfigPath() {
19
- const projectRoot = process.env['CONVERSATIONAL_AGENT_ROOT'] || path.resolve('./../../');
20
- return path.join(projectRoot, 'mcp-config.json');
21
- }
22
- /**
23
- * Load MCP configuration from file
24
- */
25
- loadMCPConfig() {
26
- if (this._mcpServers)
27
- return this._mcpServers;
28
- const configPath = this.getMCPConfigPath();
29
- try {
30
- if (fs.existsSync(configPath)) {
31
- const configContent = fs.readFileSync(configPath, 'utf-8');
32
- const config = JSON.parse(configContent);
33
- this._mcpServers = Object.values(config.mcpServers || {});
34
- return this._mcpServers;
35
- }
36
- }
37
- catch (err) {
38
- console.error('Failed to load MCP config:', err);
39
- }
40
- const defaultServers = [MCPServers.filesystem(process.cwd())];
41
- this.saveMCPConfig(defaultServers);
42
- this._mcpServers = defaultServers;
43
- return defaultServers;
44
- }
45
- /**
46
- * Save MCP configuration to file
47
- */
48
- saveMCPConfig(servers) {
49
- const configPath = this.getMCPConfigPath();
50
- try {
51
- const mcpServers = {};
52
- servers.forEach(server => {
53
- mcpServers[server.name] = server;
54
- });
55
- const config = { mcpServers };
56
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
57
- this._mcpServers = servers;
58
- }
59
- catch (err) {
60
- console.error('Failed to save MCP config:', err);
61
- }
62
- }
63
- /**
64
- * Load config from .env file
65
- */
66
- loadConfigFromEnv() {
67
- const projectRoot = process.env['CONVERSATIONAL_AGENT_ROOT'] || path.resolve('./../../');
68
- const envPath = path.join(projectRoot, '.env');
69
- try {
70
- if (fs.existsSync(envPath)) {
71
- const envContent = fs.readFileSync(envPath, 'utf-8');
72
- const envVars = {};
73
- envContent.split('\n').forEach(line => {
74
- const trimmedLine = line.trim();
75
- if (trimmedLine && !trimmedLine.startsWith('#')) {
76
- const [key, ...valueParts] = trimmedLine.split('=');
77
- if (key && valueParts.length > 0) {
78
- envVars[key] = valueParts.join('=');
79
- }
80
- }
81
- });
82
- return {
83
- accountId: envVars['HEDERA_ACCOUNT_ID'] || '',
84
- privateKey: envVars['HEDERA_PRIVATE_KEY'] || '',
85
- network: envVars['HEDERA_NETWORK'] || 'testnet',
86
- openAIApiKey: envVars['OPENAI_API_KEY'] || '',
87
- };
88
- }
89
- }
90
- catch (err) { }
91
- return {
92
- accountId: '',
93
- privateKey: '',
94
- network: 'testnet',
95
- openAIApiKey: '',
96
- };
97
- }
98
- /**
99
- * Save config to .env file
100
- */
101
- saveConfig(configToSave) {
102
- const projectRoot = process.env['CONVERSATIONAL_AGENT_ROOT'] || path.resolve('./../../');
103
- const envPath = path.join(projectRoot, '.env');
104
- try {
105
- let envContent = '';
106
- if (fs.existsSync(envPath)) {
107
- envContent = fs.readFileSync(envPath, 'utf-8');
108
- }
109
- const updateEnvVar = (key, value) => {
110
- const regex = new RegExp(`^${key}=.*$`, 'gm');
111
- if (regex.test(envContent)) {
112
- envContent = envContent.replace(regex, `${key}=${value}`);
113
- }
114
- else {
115
- envContent += `${envContent ? '\n' : ''}${key}=${value}`;
116
- }
117
- };
118
- updateEnvVar('HEDERA_ACCOUNT_ID', configToSave.accountId);
119
- updateEnvVar('HEDERA_PRIVATE_KEY', configToSave.privateKey);
120
- updateEnvVar('HEDERA_NETWORK', configToSave.network);
121
- updateEnvVar('OPENAI_API_KEY', configToSave.openAIApiKey);
122
- fs.writeFileSync(envPath, envContent);
123
- this._config = null;
124
- }
125
- catch (err) { }
126
- }
127
- /**
128
- * Get complete config (cached)
129
- */
130
- getConfig(props = {}) {
131
- if (!this._config) {
132
- const envConfig = this.loadConfigFromEnv();
133
- const mcpServers = this.loadMCPConfig();
134
- this._config = {
135
- accountId: props.accountId || envConfig.accountId,
136
- privateKey: props.privateKey || envConfig.privateKey,
137
- network: props.network || envConfig.network,
138
- openAIApiKey: props.openAIApiKey || envConfig.openAIApiKey,
139
- mcpServers,
140
- };
141
- }
142
- return this._config;
143
- }
144
- /**
145
- * Update config and save
146
- */
147
- updateConfig(updates) {
148
- const current = this.getConfig();
149
- const updated = { ...current, ...updates };
150
- this.saveConfig(updated);
151
- this._config = updated;
152
- return updated;
153
- }
154
- /**
155
- * Get MCP servers
156
- */
157
- getMCPServers() {
158
- return this.loadMCPConfig();
159
- }
160
- /**
161
- * Get MCP config path for display
162
- */
163
- getMCPConfigPathForDisplay() {
164
- return this.getMCPConfigPath();
165
- }
166
- /**
167
- * Reset cache (for testing)
168
- */
169
- resetCache() {
170
- this._config = null;
171
- this._mcpServers = null;
172
- }
173
- }
@@ -1,31 +0,0 @@
1
- export type Screen = 'welcome' | 'setup' | 'mcp-config' | 'chat' | 'loading';
2
- export interface Message {
3
- role: 'user' | 'assistant' | 'system';
4
- content: string;
5
- timestamp: Date;
6
- }
7
- export interface Config {
8
- accountId: string;
9
- privateKey: string;
10
- network: string;
11
- openAIApiKey: string;
12
- }
13
- export declare const BRAND_COLORS: {
14
- blue: string;
15
- green: string;
16
- purple: string;
17
- dark: string;
18
- white: string;
19
- hedera: {
20
- purple: string;
21
- blue: string;
22
- green: string;
23
- charcoal: string;
24
- smoke: string;
25
- };
26
- keywords: string;
27
- functions: string;
28
- strings: string;
29
- variables: string;
30
- comments: string;
31
- };
package/cli/dist/types.js DELETED
@@ -1,19 +0,0 @@
1
- export const BRAND_COLORS = {
2
- blue: '#5599fe',
3
- green: '#48df7b',
4
- purple: '#b56cff',
5
- dark: '#3f4174',
6
- white: '#ffffff',
7
- hedera: {
8
- purple: '#8259ef',
9
- blue: '#2d84eb',
10
- green: '#3ec878',
11
- charcoal: '#464646',
12
- smoke: '#8c8c8c',
13
- },
14
- keywords: '#3f4174',
15
- functions: '#5599fe',
16
- strings: '#48df7b',
17
- variables: '#b56cff',
18
- comments: '#6b7280',
19
- };
@@ -1,84 +0,0 @@
1
- import { ContentReference, ReferenceId } from '../types/content-reference';
2
- import { ContentStorage } from '../memory/ContentStorage';
3
- import { Logger } from '@hashgraphonline/standards-sdk';
4
-
5
- export interface ReferenceContext {
6
- reference: ContentReference;
7
- displayedAt: Date;
8
- lastAccessedAt: Date;
9
- contextId: string;
10
- conversationTurn: number;
11
- }
12
- export interface ReferenceDisplayOptions {
13
- maxPreviewLength?: number;
14
- showMetadata?: boolean;
15
- showSize?: boolean;
16
- includeActions?: boolean;
17
- format?: 'inline' | 'card' | 'compact';
18
- }
19
- export interface DisplayResult {
20
- displayText: string;
21
- hasValidReference: boolean;
22
- contextId?: string;
23
- suggestedActions?: string[];
24
- }
25
- /**
26
- * Manages content references within agent conversation context
27
- * Tracks reference usage, provides display formatting, and handles reference validation
28
- */
29
- export declare class ReferenceContextManager {
30
- private activeReferences;
31
- private contentStorage;
32
- private logger;
33
- private conversationTurn;
34
- constructor(contentStorage: ContentStorage, logger: Logger);
35
- /**
36
- * Add a reference to the current conversation context
37
- */
38
- addReference(reference: ContentReference): string;
39
- /**
40
- * Generate display text for a content reference
41
- */
42
- displayReference(reference: ContentReference, options?: ReferenceDisplayOptions): Promise<DisplayResult>;
43
- /**
44
- * Get the most recent reference for "inscribe it" commands
45
- */
46
- getMostRecentReference(): ContentReference | null;
47
- /**
48
- * Get reference by context ID
49
- */
50
- getReferenceByContextId(contextId: string): ContentReference | null;
51
- /**
52
- * Validate all active references and remove invalid ones
53
- */
54
- validateReferences(): Promise<{
55
- valid: number;
56
- invalid: number;
57
- removed: ReferenceId[];
58
- }>;
59
- /**
60
- * Clear old references based on age and usage
61
- */
62
- cleanupOldReferences(maxAgeMs?: number): number;
63
- /**
64
- * Get current context statistics
65
- */
66
- getContextStats(): {
67
- activeReferences: number;
68
- conversationTurn: number;
69
- oldestReference: number | null;
70
- mostRecentReference: number | null;
71
- };
72
- /**
73
- * Clear all references from context
74
- */
75
- clear(): void;
76
- private formatCardReference;
77
- private formatInlineReference;
78
- private formatCompactReference;
79
- private formatInvalidReference;
80
- private formatErrorReference;
81
- private truncateText;
82
- private getOldestReferenceAge;
83
- private getMostRecentReferenceAge;
84
- }
@@ -1,76 +0,0 @@
1
- import { ContentReference, ReferenceId } from '../types/content-reference';
2
- import { ReferenceContextManager, ReferenceDisplayOptions } from './ReferenceContextManager';
3
- import { Logger } from '@hashgraphonline/standards-sdk';
4
-
5
- export interface ResponseProcessingOptions {
6
- autoDisplayReferences?: boolean;
7
- displayOptions?: ReferenceDisplayOptions;
8
- includeReferenceInstructions?: boolean;
9
- contextualizeReferences?: boolean;
10
- }
11
- export interface ProcessedResponse {
12
- content: string;
13
- hasReferences: boolean;
14
- referenceCount: number;
15
- contextIds: string[];
16
- suggestedActions: string[];
17
- }
18
- export interface ReferenceDetectionResult {
19
- hasReferences: boolean;
20
- references: Array<{
21
- reference: ContentReference;
22
- position: number;
23
- originalText: string;
24
- }>;
25
- plainReferences: Array<{
26
- referenceId: ReferenceId;
27
- position: number;
28
- originalText: string;
29
- }>;
30
- }
31
- /**
32
- * Processes agent responses to detect and display content references
33
- * Handles both structured references and plain reference IDs
34
- */
35
- export declare class ReferenceResponseProcessor {
36
- private contextManager;
37
- private logger;
38
- constructor(contextManager: ReferenceContextManager, logger: Logger);
39
- /**
40
- * Process an agent response to handle content references
41
- */
42
- processResponse(responseContent: string, options?: ResponseProcessingOptions): Promise<ProcessedResponse>;
43
- /**
44
- * Detect references in response content
45
- */
46
- private detectReferences;
47
- /**
48
- * Create a preview from content buffer
49
- */
50
- private createPreviewFromContent;
51
- /**
52
- * Validate reference ID format
53
- */
54
- private isValidReferenceId;
55
- /**
56
- * Get reference context statistics
57
- */
58
- getContextStats(): {
59
- activeReferences: number;
60
- conversationTurn: number;
61
- oldestReference: number | null;
62
- mostRecentReference: number | null;
63
- };
64
- /**
65
- * Validate all references in context
66
- */
67
- validateAllReferences(): Promise<{
68
- valid: number;
69
- invalid: number;
70
- removed: ReferenceId[];
71
- }>;
72
- /**
73
- * Clean up old references
74
- */
75
- cleanupOldReferences(maxAgeMs?: number): number;
76
- }
@@ -1,26 +0,0 @@
1
- import { EntityAssociation } from '../memory/SmartMemoryManager';
2
-
3
- export interface EntityResolverConfig {
4
- apiKey: string;
5
- modelName?: string;
6
- }
7
- /**
8
- * LLM-based entity resolver that replaces brittle regex patterns
9
- */
10
- export declare class EntityResolver {
11
- private llm;
12
- constructor(config: EntityResolverConfig);
13
- /**
14
- * Resolve entity references using LLM instead of regex
15
- */
16
- resolveReferences(message: string, entities: EntityAssociation[]): Promise<string>;
17
- /**
18
- * Extract entities from agent response using LLM
19
- */
20
- extractEntities(response: unknown, userMessage: string): Promise<Array<{
21
- id: string;
22
- name: string;
23
- type: string;
24
- transactionId?: string;
25
- }>>;
26
- }
@@ -1,84 +0,0 @@
1
- import { ContentReference, ReferenceId } from '../types/content-reference';
2
- import { ContentStorage } from '../memory/ContentStorage';
3
- import { Logger } from '@hashgraphonline/standards-sdk';
4
-
5
- export interface ReferenceContext {
6
- reference: ContentReference;
7
- displayedAt: Date;
8
- lastAccessedAt: Date;
9
- contextId: string;
10
- conversationTurn: number;
11
- }
12
- export interface ReferenceDisplayOptions {
13
- maxPreviewLength?: number;
14
- showMetadata?: boolean;
15
- showSize?: boolean;
16
- includeActions?: boolean;
17
- format?: 'inline' | 'card' | 'compact';
18
- }
19
- export interface DisplayResult {
20
- displayText: string;
21
- hasValidReference: boolean;
22
- contextId?: string;
23
- suggestedActions?: string[];
24
- }
25
- /**
26
- * Manages content references within agent conversation context
27
- * Tracks reference usage, provides display formatting, and handles reference validation
28
- */
29
- export declare class ReferenceContextManager {
30
- private activeReferences;
31
- private contentStorage;
32
- private logger;
33
- private conversationTurn;
34
- constructor(contentStorage: ContentStorage, logger: Logger);
35
- /**
36
- * Add a reference to the current conversation context
37
- */
38
- addReference(reference: ContentReference): string;
39
- /**
40
- * Generate display text for a content reference
41
- */
42
- displayReference(reference: ContentReference, options?: ReferenceDisplayOptions): Promise<DisplayResult>;
43
- /**
44
- * Get the most recent reference for "inscribe it" commands
45
- */
46
- getMostRecentReference(): ContentReference | null;
47
- /**
48
- * Get reference by context ID
49
- */
50
- getReferenceByContextId(contextId: string): ContentReference | null;
51
- /**
52
- * Validate all active references and remove invalid ones
53
- */
54
- validateReferences(): Promise<{
55
- valid: number;
56
- invalid: number;
57
- removed: ReferenceId[];
58
- }>;
59
- /**
60
- * Clear old references based on age and usage
61
- */
62
- cleanupOldReferences(maxAgeMs?: number): number;
63
- /**
64
- * Get current context statistics
65
- */
66
- getContextStats(): {
67
- activeReferences: number;
68
- conversationTurn: number;
69
- oldestReference: number | null;
70
- mostRecentReference: number | null;
71
- };
72
- /**
73
- * Clear all references from context
74
- */
75
- clear(): void;
76
- private formatCardReference;
77
- private formatInlineReference;
78
- private formatCompactReference;
79
- private formatInvalidReference;
80
- private formatErrorReference;
81
- private truncateText;
82
- private getOldestReferenceAge;
83
- private getMostRecentReferenceAge;
84
- }