@hashgraphonline/conversational-agent 0.1.217 → 0.1.218

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 (286) 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/cjs/core/{ToolRegistry.d.ts → tool-registry.d.ts} +10 -7
  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 -12
  19. package/dist/cjs/langchain/index.d.ts +2 -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 -16
  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 +811 -224
  86. package/dist/esm/index29.js.map +1 -1
  87. package/dist/esm/index30.js +1245 -122
  88. package/dist/esm/index30.js.map +1 -1
  89. package/dist/esm/index31.js +126 -56
  90. package/dist/esm/index31.js.map +1 -1
  91. package/dist/esm/index32.js +111 -24
  92. package/dist/esm/index32.js.map +1 -1
  93. package/dist/esm/index33.js +41 -87
  94. package/dist/esm/index33.js.map +1 -1
  95. package/dist/esm/index34.js +88 -227
  96. package/dist/esm/index34.js.map +1 -1
  97. package/dist/esm/index35.js +24 -0
  98. package/dist/esm/index35.js.map +1 -0
  99. package/dist/esm/index36.js +15 -0
  100. package/dist/esm/index36.js.map +1 -0
  101. package/dist/esm/index37.js +10 -0
  102. package/dist/esm/index37.js.map +1 -0
  103. package/dist/esm/index38.js +8 -0
  104. package/dist/esm/index38.js.map +1 -0
  105. package/dist/esm/index39.js +227 -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 +95 -0
  112. package/dist/esm/index42.js.map +1 -0
  113. package/dist/esm/index5.js +2 -2
  114. package/dist/esm/index5.js.map +1 -1
  115. package/dist/esm/index6.js +44 -67
  116. package/dist/esm/index6.js.map +1 -1
  117. package/dist/esm/index7.js +9 -0
  118. package/dist/esm/index7.js.map +1 -1
  119. package/dist/esm/index8.js +13 -1095
  120. package/dist/esm/index8.js.map +1 -1
  121. package/dist/esm/index9.js +17 -13
  122. package/dist/esm/index9.js.map +1 -1
  123. package/dist/types/constants/entity-references.d.ts +18 -0
  124. package/dist/types/constants/form-priorities.d.ts +24 -0
  125. package/dist/types/constants/index.d.ts +4 -0
  126. package/dist/types/constants/messages.d.ts +19 -0
  127. package/dist/types/constants/test-constants.d.ts +42 -0
  128. package/dist/types/conversational-agent.d.ts +3 -8
  129. package/dist/types/core/{ToolRegistry.d.ts → tool-registry.d.ts} +10 -7
  130. package/dist/{cjs/execution/ExecutionPipeline.d.ts → types/execution/execution-pipeline.d.ts} +3 -3
  131. package/dist/types/forms/field-guidance-registry.d.ts +108 -0
  132. package/dist/types/forms/form-generator.d.ts +2 -7
  133. package/dist/types/forms/index.d.ts +3 -0
  134. package/dist/types/forms/types.d.ts +9 -1
  135. package/dist/types/index.d.ts +7 -12
  136. package/dist/types/langchain/external-tool-wrapper.d.ts +101 -0
  137. package/dist/{cjs/langchain/FormAwareAgentExecutor.d.ts → types/langchain/form-aware-agent-executor.d.ts} +19 -12
  138. package/dist/types/langchain/index.d.ts +2 -0
  139. package/dist/{cjs → types/langchain}/langchain-agent.d.ts +15 -7
  140. package/dist/types/mcp/adapters/index.d.ts +1 -0
  141. package/dist/types/mcp/adapters/langchain.d.ts +1 -1
  142. package/dist/{cjs/mcp/ContentProcessor.d.ts → types/mcp/content-processor.d.ts} +1 -1
  143. package/dist/types/mcp/index.d.ts +5 -0
  144. package/dist/{cjs/mcp/MCPClientManager.d.ts → types/mcp/mcp-client-manager.d.ts} +1 -1
  145. package/dist/types/memory/{ContentStorage.d.ts → content-storage.d.ts} +4 -4
  146. package/dist/types/memory/index.d.ts +5 -7
  147. package/dist/{cjs/memory/MemoryWindow.d.ts → types/memory/memory-window.d.ts} +1 -1
  148. package/dist/{cjs/memory/SmartMemoryManager.d.ts → types/memory/smart-memory-manager.d.ts} +1 -1
  149. package/dist/types/services/{ContentStoreManager.d.ts → content-store-manager.d.ts} +6 -6
  150. package/dist/types/services/context/resolution-context.d.ts +49 -0
  151. package/dist/types/services/entity-resolver.d.ts +58 -0
  152. package/dist/types/services/formatters/converters/index.d.ts +2 -0
  153. package/dist/types/services/formatters/converters/string-normalization-converter.d.ts +13 -0
  154. package/dist/types/services/formatters/converters/topic-id-to-hrl-converter.d.ts +17 -0
  155. package/dist/types/services/formatters/format-converter-registry.d.ts +66 -0
  156. package/dist/types/services/formatters/index.d.ts +3 -0
  157. package/dist/types/services/formatters/types.d.ts +29 -0
  158. package/dist/types/services/index.d.ts +3 -0
  159. package/dist/types/services/resolution/resolution-pipeline.d.ts +44 -0
  160. package/dist/types/tools/index.d.ts +1 -0
  161. package/dist/types/utils/index.d.ts +1 -0
  162. package/package.json +30 -27
  163. package/src/agent-factory.ts +1 -1
  164. package/src/base-agent.ts +9 -0
  165. package/src/config/system-message.ts +2 -15
  166. package/src/constants/entity-references.ts +23 -0
  167. package/src/constants/form-priorities.ts +25 -0
  168. package/src/constants/index.ts +4 -0
  169. package/src/constants/messages.ts +20 -0
  170. package/src/constants/test-constants.ts +49 -0
  171. package/src/conversational-agent.ts +42 -69
  172. package/src/core/{ToolRegistry.ts → tool-registry.ts} +70 -44
  173. package/src/examples/external-tool-wrapper-example.ts +56 -0
  174. package/src/execution/{ExecutionPipeline.ts → execution-pipeline.ts} +3 -3
  175. package/src/forms/field-guidance-registry.ts +415 -0
  176. package/src/forms/field-type-registry.ts +49 -48
  177. package/src/forms/{FormEngine.ts → form-engine.ts} +66 -43
  178. package/src/forms/form-generator.ts +91 -17
  179. package/src/forms/index.ts +4 -1
  180. package/src/forms/types.ts +9 -1
  181. package/src/index.ts +7 -37
  182. package/src/langchain/external-tool-wrapper.ts +90 -0
  183. package/src/langchain/{FormAwareAgentExecutor.ts → form-aware-agent-executor.ts} +579 -351
  184. package/src/langchain/index.ts +2 -0
  185. package/src/{langchain-agent.ts → langchain/langchain-agent.ts} +389 -113
  186. package/src/mcp/adapters/index.ts +1 -0
  187. package/src/mcp/adapters/langchain.ts +27 -18
  188. package/src/mcp/{ContentProcessor.ts → content-processor.ts} +71 -47
  189. package/src/mcp/index.ts +5 -0
  190. package/src/mcp/{MCPClientManager.ts → mcp-client-manager.ts} +2 -2
  191. package/src/memory/{ContentStorage.ts → content-storage.ts} +263 -167
  192. package/src/memory/index.ts +5 -8
  193. package/src/memory/{MemoryWindow.ts → memory-window.ts} +47 -24
  194. package/src/memory/{SmartMemoryManager.ts → smart-memory-manager.ts} +49 -22
  195. package/src/plugins/hbar/HbarPlugin.ts +1 -1
  196. package/src/plugins/hcs-10/HCS10Plugin.ts +46 -28
  197. package/src/scripts/test-external-tool-wrapper.ts +6 -6
  198. package/src/scripts/test-inscribe-form-generation.ts +22 -21
  199. package/src/scripts/test-inscribe-wrapper-verification.ts +5 -4
  200. package/src/services/{ContentStoreManager.ts → content-store-manager.ts} +75 -33
  201. package/src/services/context/resolution-context.ts +80 -0
  202. package/src/services/entity-resolver.ts +425 -0
  203. package/src/services/formatters/converters/index.ts +2 -0
  204. package/src/services/formatters/converters/string-normalization-converter.ts +106 -0
  205. package/src/services/formatters/converters/topic-id-to-hrl-converter.ts +25 -0
  206. package/src/services/formatters/format-converter-registry.ts +229 -0
  207. package/src/services/formatters/index.ts +3 -0
  208. package/src/services/formatters/types.ts +31 -0
  209. package/src/services/index.ts +3 -0
  210. package/src/services/resolution/resolution-pipeline.ts +106 -0
  211. package/src/tools/index.ts +1 -0
  212. package/src/types/content-reference.ts +87 -60
  213. package/src/utils/index.ts +1 -0
  214. package/cli/dist/CLIApp.d.ts +0 -9
  215. package/cli/dist/CLIApp.js +0 -127
  216. package/cli/dist/LocalConversationalAgent.d.ts +0 -37
  217. package/cli/dist/LocalConversationalAgent.js +0 -58
  218. package/cli/dist/app.d.ts +0 -16
  219. package/cli/dist/app.js +0 -13
  220. package/cli/dist/cli.d.ts +0 -2
  221. package/cli/dist/cli.js +0 -51
  222. package/cli/dist/components/AppContainer.d.ts +0 -16
  223. package/cli/dist/components/AppContainer.js +0 -24
  224. package/cli/dist/components/AppScreens.d.ts +0 -2
  225. package/cli/dist/components/AppScreens.js +0 -259
  226. package/cli/dist/components/ChatScreen.d.ts +0 -15
  227. package/cli/dist/components/ChatScreen.js +0 -39
  228. package/cli/dist/components/DebugLoadingScreen.d.ts +0 -5
  229. package/cli/dist/components/DebugLoadingScreen.js +0 -31
  230. package/cli/dist/components/LoadingScreen.d.ts +0 -2
  231. package/cli/dist/components/LoadingScreen.js +0 -16
  232. package/cli/dist/components/LoadingScreenDebug.d.ts +0 -5
  233. package/cli/dist/components/LoadingScreenDebug.js +0 -27
  234. package/cli/dist/components/MCPConfigScreen.d.ts +0 -28
  235. package/cli/dist/components/MCPConfigScreen.js +0 -168
  236. package/cli/dist/components/ScreenRouter.d.ts +0 -12
  237. package/cli/dist/components/ScreenRouter.js +0 -22
  238. package/cli/dist/components/SetupScreen.d.ts +0 -15
  239. package/cli/dist/components/SetupScreen.js +0 -65
  240. package/cli/dist/components/SingleLoadingScreen.d.ts +0 -5
  241. package/cli/dist/components/SingleLoadingScreen.js +0 -27
  242. package/cli/dist/components/StatusBadge.d.ts +0 -7
  243. package/cli/dist/components/StatusBadge.js +0 -28
  244. package/cli/dist/components/TerminalWindow.d.ts +0 -8
  245. package/cli/dist/components/TerminalWindow.js +0 -24
  246. package/cli/dist/components/WelcomeScreen.d.ts +0 -11
  247. package/cli/dist/components/WelcomeScreen.js +0 -47
  248. package/cli/dist/context/AppContext.d.ts +0 -68
  249. package/cli/dist/context/AppContext.js +0 -363
  250. package/cli/dist/hooks/useInitializeAgent.d.ts +0 -19
  251. package/cli/dist/hooks/useInitializeAgent.js +0 -28
  252. package/cli/dist/hooks/useStableState.d.ts +0 -38
  253. package/cli/dist/hooks/useStableState.js +0 -68
  254. package/cli/dist/managers/AgentManager.d.ts +0 -57
  255. package/cli/dist/managers/AgentManager.js +0 -119
  256. package/cli/dist/managers/ConfigManager.d.ts +0 -53
  257. package/cli/dist/managers/ConfigManager.js +0 -173
  258. package/cli/dist/types.d.ts +0 -31
  259. package/cli/dist/types.js +0 -19
  260. package/dist/cjs/context/ReferenceContextManager.d.ts +0 -84
  261. package/dist/cjs/context/ReferenceResponseProcessor.d.ts +0 -76
  262. package/dist/cjs/langchain/FormValidatingToolWrapper.d.ts +0 -81
  263. package/dist/cjs/services/EntityResolver.d.ts +0 -26
  264. package/dist/types/context/ReferenceContextManager.d.ts +0 -84
  265. package/dist/types/context/ReferenceResponseProcessor.d.ts +0 -76
  266. package/dist/types/langchain/FormValidatingToolWrapper.d.ts +0 -81
  267. package/dist/types/services/EntityResolver.d.ts +0 -26
  268. package/src/context/ReferenceContextManager.ts +0 -350
  269. package/src/context/ReferenceResponseProcessor.ts +0 -295
  270. package/src/langchain/FormValidatingToolWrapper.ts +0 -355
  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/memory/{ReferenceIdGenerator.d.ts → reference-id-generator.d.ts} +0 -0
  275. /package/dist/cjs/memory/{TokenCounter.d.ts → token-counter.d.ts} +0 -0
  276. /package/dist/cjs/tools/{EntityResolverTool.d.ts → entity-resolver-tool.d.ts} +0 -0
  277. /package/dist/cjs/utils/{ResponseFormatter.d.ts → response-formatter.d.ts} +0 -0
  278. /package/dist/types/forms/{FormEngine.d.ts → form-engine.d.ts} +0 -0
  279. /package/dist/types/memory/{ReferenceIdGenerator.d.ts → reference-id-generator.d.ts} +0 -0
  280. /package/dist/types/memory/{TokenCounter.d.ts → token-counter.d.ts} +0 -0
  281. /package/dist/types/tools/{EntityResolverTool.d.ts → entity-resolver-tool.d.ts} +0 -0
  282. /package/dist/types/utils/{ResponseFormatter.d.ts → response-formatter.d.ts} +0 -0
  283. /package/src/memory/{ReferenceIdGenerator.ts → reference-id-generator.ts} +0 -0
  284. /package/src/memory/{TokenCounter.ts → token-counter.ts} +0 -0
  285. /package/src/tools/{EntityResolverTool.ts → entity-resolver-tool.ts} +0 -0
  286. /package/src/utils/{ResponseFormatter.ts → response-formatter.ts} +0 -0
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { type Config } from '../types';
3
- interface Props {
4
- config: Config;
5
- currentField: number;
6
- error: string | null;
7
- onUpdateConfig: (field: keyof Config, value: string) => void;
8
- onSetCurrentField: (field: number) => void;
9
- onInitializeAgent: () => void;
10
- }
11
- /**
12
- * Setup screen for configuring credentials
13
- */
14
- export declare const SetupScreen: React.FC<Props>;
15
- export {};
@@ -1,65 +0,0 @@
1
- import React from 'react';
2
- import { Box, Text, useInput } from 'ink';
3
- import TextInput from 'ink-text-input';
4
- import SelectInput from 'ink-select-input';
5
- import { TerminalWindow } from './TerminalWindow.js';
6
- import { StatusBadge } from './StatusBadge.js';
7
- import { BRAND_COLORS } from '../types.js';
8
- const fields = ['accountId', 'privateKey', 'network', 'openAIApiKey'];
9
- /**
10
- * Setup screen for configuring credentials
11
- */
12
- export const SetupScreen = ({ config, currentField, error, onUpdateConfig, onSetCurrentField, onInitializeAgent, }) => {
13
- useInput((_, key) => {
14
- if (key.tab && !key.shift) {
15
- const nextField = (currentField + 1) % fields.length;
16
- onSetCurrentField(nextField);
17
- }
18
- else if (key.tab && key.shift) {
19
- const prevField = currentField === 0 ? fields.length - 1 : currentField - 1;
20
- onSetCurrentField(prevField);
21
- }
22
- });
23
- return (React.createElement(TerminalWindow, { title: "Configuration" },
24
- React.createElement(Box, { flexDirection: "column" },
25
- React.createElement(Box, { marginBottom: 1 },
26
- React.createElement(StatusBadge, { status: "info" }),
27
- React.createElement(Text, null, "Configure your Hedera account credentials")),
28
- fields.map((field, index) => (React.createElement(Box, { key: field, marginY: 1 },
29
- React.createElement(Box, { width: 20 },
30
- React.createElement(Text, { color: currentField === index
31
- ? BRAND_COLORS.blue
32
- : BRAND_COLORS.hedera.smoke },
33
- field === 'accountId' && 'Account ID:',
34
- field === 'privateKey' && 'Private Key:',
35
- field === 'network' && 'Network:',
36
- field === 'openAIApiKey' && 'OpenAI Key:')),
37
- currentField === index ? (field === 'network' ? (React.createElement(SelectInput, { items: [
38
- { label: 'Testnet', value: 'testnet' },
39
- { label: 'Mainnet', value: 'mainnet' },
40
- ], initialIndex: config.network === 'testnet' ? 0 : 1, onSelect: item => {
41
- onUpdateConfig('network', item.value);
42
- if (currentField < fields.length - 1) {
43
- onSetCurrentField(currentField + 1);
44
- }
45
- } })) : (React.createElement(TextInput, { value: config[field], onChange: value => onUpdateConfig(field, value), onSubmit: () => {
46
- if (currentField < fields.length - 1) {
47
- onSetCurrentField(currentField + 1);
48
- }
49
- else {
50
- onInitializeAgent();
51
- }
52
- }, mask: field === 'privateKey' || field === 'openAIApiKey'
53
- ? '*'
54
- : undefined }))) : (React.createElement(Text, { color: BRAND_COLORS.hedera.smoke }, field === 'network'
55
- ? config[field]
56
- : config[field]
57
- ? '••••••••'
58
- : '(not set)'))))),
59
- error && (React.createElement(Box, { marginTop: 2 },
60
- React.createElement(StatusBadge, { status: "error" }),
61
- React.createElement(Text, { color: "red" }, error))),
62
- React.createElement(Box, { marginTop: 2 },
63
- React.createElement(Text, { dimColor: true }, "Press Tab to navigate fields, Enter to submit"),
64
- React.createElement(Text, { dimColor: true }, "Complete all fields and press Enter on the last field to save and start")))));
65
- };
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Loading screen that tracks its own renders
4
- */
5
- export declare const SingleLoadingScreen: React.FC;
@@ -1,27 +0,0 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import { Box, Text } from 'ink';
3
- import Spinner from 'ink-spinner';
4
- import { BRAND_COLORS } from '../types.js';
5
- let globalRenderCount = 0;
6
- /**
7
- * Loading screen that tracks its own renders
8
- */
9
- export const SingleLoadingScreen = () => {
10
- const renderCount = useRef(0);
11
- const instanceId = useRef(Math.random());
12
- useEffect(() => {
13
- renderCount.current++;
14
- globalRenderCount++;
15
- console.error(`[LOADING] Instance ${instanceId.current.toFixed(4)} - Render #${renderCount.current} (Global: ${globalRenderCount})`);
16
- return () => {
17
- console.error(`[LOADING] Instance ${instanceId.current.toFixed(4)} - Unmounting after ${renderCount.current} renders`);
18
- };
19
- }, []);
20
- return (React.createElement(Box, { flexDirection: "column", alignItems: "center", paddingY: 4 },
21
- React.createElement(Box, { marginBottom: 2 },
22
- React.createElement(Text, { color: BRAND_COLORS.blue }, "Initializing "),
23
- React.createElement(Text, { color: BRAND_COLORS.purple }, "Hashgraph "),
24
- React.createElement(Text, { color: BRAND_COLORS.green }, "Online "),
25
- React.createElement(Text, { color: BRAND_COLORS.blue }, "Agent...")),
26
- React.createElement(Spinner, { type: "dots" })));
27
- };
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Status badge component
4
- */
5
- export declare const StatusBadge: React.FC<{
6
- status: 'success' | 'info' | 'warning' | 'error';
7
- }>;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { Box, Text } from 'ink';
3
- const BRAND_COLORS = {
4
- blue: '#5599fe',
5
- green: '#48df7b',
6
- };
7
- /**
8
- * Status badge component
9
- */
10
- export const StatusBadge = ({ status }) => {
11
- const colors = {
12
- success: BRAND_COLORS.green,
13
- info: BRAND_COLORS.blue,
14
- warning: '#FFBD2E',
15
- error: '#FF5F57',
16
- };
17
- const labels = {
18
- success: 'SUCCESS',
19
- info: 'INFO',
20
- warning: 'WARNING',
21
- error: 'ERROR',
22
- };
23
- return (React.createElement(Box, { marginRight: 1 },
24
- React.createElement(Text, { color: colors[status], bold: true },
25
- "[",
26
- labels[status],
27
- "]")));
28
- };
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Terminal window decoration component
4
- */
5
- export declare const TerminalWindow: React.FC<{
6
- title: string;
7
- children: React.ReactNode;
8
- }>;
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { Box, Text } from 'ink';
3
- const BRAND_COLORS = {
4
- blue: '#5599fe',
5
- dark: '#3f4174',
6
- hedera: {
7
- smoke: '#8c8c8c',
8
- },
9
- };
10
- /**
11
- * Terminal window decoration component
12
- */
13
- export const TerminalWindow = ({ title, children, }) => {
14
- return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: BRAND_COLORS.blue },
15
- React.createElement(Box, { paddingX: 1, borderStyle: "single", borderBottom: true, borderColor: BRAND_COLORS.dark },
16
- React.createElement(Box, { marginRight: 1 },
17
- React.createElement(Text, { color: "red" }, "\u25CF"),
18
- React.createElement(Text, null, " "),
19
- React.createElement(Text, { color: "yellow" }, "\u25CF"),
20
- React.createElement(Text, null, " "),
21
- React.createElement(Text, { color: "green" }, "\u25CF")),
22
- React.createElement(Text, { color: BRAND_COLORS.hedera.smoke }, title)),
23
- React.createElement(Box, { paddingX: 2, paddingY: 1, flexDirection: "column" }, children)));
24
- };
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { type Config, type Screen } from '../types';
3
- /**
4
- * Welcome screen component
5
- */
6
- export declare const WelcomeScreen: React.FC<{
7
- config: Config;
8
- onExit: () => void;
9
- onInitializeAgent: () => void;
10
- onSetScreen: (screen: Screen) => void;
11
- }>;
@@ -1,47 +0,0 @@
1
- import React from 'react';
2
- import { Box, Text } from 'ink';
3
- import SelectInput from 'ink-select-input';
4
- import Gradient from 'ink-gradient';
5
- import { BRAND_COLORS } from '../types.js';
6
- /**
7
- * Welcome screen component
8
- */
9
- export const WelcomeScreen = ({ config, onExit, onInitializeAgent, onSetScreen }) => (React.createElement(Box, { flexDirection: "column", alignItems: "center", paddingY: 2 },
10
- React.createElement(Box, { flexDirection: "column", alignItems: "center", marginBottom: 2 },
11
- React.createElement(Box, null,
12
- React.createElement(Gradient, { name: "atlas" },
13
- React.createElement(Text, { bold: true }, "\u2566 \u2566\u2554\u2550\u2557\u2554\u2550\u2557\u2566 \u2566\u2554\u2550\u2557\u2566\u2550\u2557\u2554\u2550\u2557\u2554\u2550\u2557\u2566 \u2566 \u2554\u2550\u2557\u2554\u2557\u2554\u2566 \u2566\u2554\u2557\u2554\u2554\u2550\u2557"))),
14
- React.createElement(Box, null,
15
- React.createElement(Gradient, { name: "atlas" },
16
- React.createElement(Text, { bold: true }, "\u2560\u2550\u2563\u2560\u2550\u2563\u255A\u2550\u2557\u2560\u2550\u2563\u2551 \u2566\u2560\u2566\u255D\u2560\u2550\u2563\u2560\u2550\u255D\u2560\u2550\u2563 \u2551 \u2551\u2551\u2551\u2551\u2551 \u2551\u2551\u2551\u2551\u2551\u2563 "))),
17
- React.createElement(Box, null,
18
- React.createElement(Gradient, { name: "atlas" },
19
- React.createElement(Text, { bold: true }, "\u2569 \u2569\u2569 \u2569\u255A\u2550\u255D\u2569 \u2569\u255A\u2550\u255D\u2569\u255A\u2550\u2569 \u2569\u2569 \u2569 \u2569 \u255A\u2550\u255D\u255D\u255A\u255D\u2569\u2550\u255D\u2569\u255D\u255A\u255D\u255A\u2550\u255D"))),
20
- React.createElement(Text, { color: BRAND_COLORS.hedera.smoke }, "Conversational Agent CLI"),
21
- React.createElement(Text, { color: BRAND_COLORS.hedera.smoke, dimColor: true }, "Powered by Hashgraph Online")),
22
- React.createElement(Box, { marginY: 2 },
23
- React.createElement(SelectInput, { items: [
24
- { label: 'Start Chat', value: 'chat' },
25
- { label: 'Configure', value: 'setup' },
26
- { label: 'MCP Servers', value: 'mcp-config' },
27
- { label: 'Exit', value: 'exit' },
28
- ], onSelect: item => {
29
- if (item.value === 'exit') {
30
- onExit();
31
- }
32
- else if (item.value === 'chat') {
33
- if (config.accountId &&
34
- config.privateKey &&
35
- config.openAIApiKey) {
36
- onInitializeAgent();
37
- }
38
- else {
39
- onSetScreen('setup');
40
- }
41
- }
42
- else {
43
- onSetScreen(item.value);
44
- }
45
- } })),
46
- React.createElement(Box, { marginTop: 2 },
47
- React.createElement(Text, { dimColor: true }, "Press \u2191/\u2193 to navigate, Enter to select"))));
@@ -1,68 +0,0 @@
1
- import React from 'react';
2
- import { ConversationalAgent, type MCPServerConfig } from '@hashgraphonline/conversational-agent';
3
- import { type Screen, type Message, type Config } from '../types.js';
4
- interface AppState {
5
- screen: Screen;
6
- agent: ConversationalAgent | null;
7
- messages: Message[];
8
- input: string;
9
- isLoading: boolean;
10
- error: string | null;
11
- config: Config & {
12
- mcpServers: MCPServerConfig[];
13
- };
14
- mcpConfig: {
15
- enableFilesystem: boolean;
16
- filesystemPath: string;
17
- customServers: MCPServerConfig[];
18
- addingCustom: boolean;
19
- newServerName: string;
20
- newServerCommand: string;
21
- newServerArgs: string;
22
- newServerEnv: string;
23
- currentField: number;
24
- };
25
- editingFilesystemPath: boolean;
26
- currentField: number;
27
- logs: string[];
28
- }
29
- interface AppContextType {
30
- state: AppState;
31
- actions: {
32
- setScreen: (screen: Screen) => void;
33
- setAgent: (agent: ConversationalAgent | null) => void;
34
- setMessages: (messages: Message[]) => void;
35
- addMessages: (messages: Message[]) => void;
36
- setInput: (input: string) => void;
37
- setLoading: (loading: boolean) => void;
38
- setError: (error: string | null) => void;
39
- setConfig: (config: Config & {
40
- mcpServers: MCPServerConfig[];
41
- }) => void;
42
- updateConfigField: (field: keyof Config, value: string) => void;
43
- setMcpConfig: (config: Partial<AppState['mcpConfig']>) => void;
44
- setEditingFilesystemPath: (editing: boolean) => void;
45
- setCurrentField: (field: number) => void;
46
- setLogs: (logs: string[]) => void;
47
- initializeAgent: () => Promise<void>;
48
- sendMessage: (message: string) => Promise<void>;
49
- };
50
- }
51
- /**
52
- * Get MCP config file path
53
- */
54
- declare const getMCPConfigPath: () => string;
55
- /**
56
- * Save MCP configuration to file
57
- */
58
- declare const saveMCPConfig: (servers: MCPServerConfig[]) => void;
59
- interface AppProviderProps {
60
- children: React.ReactNode;
61
- accountId?: string;
62
- privateKey?: string;
63
- network?: 'testnet' | 'mainnet';
64
- openAIApiKey?: string;
65
- }
66
- export declare const AppProvider: React.FC<AppProviderProps>;
67
- export declare const useAppContext: () => AppContextType;
68
- export { saveMCPConfig, getMCPConfigPath };