@hashgraphonline/conversational-agent 0.2.103 → 0.2.105

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 (194) hide show
  1. package/README.md +64 -27
  2. package/cli/dist/CLIApp.d.ts +11 -0
  3. package/cli/dist/CLIApp.d.ts.map +1 -0
  4. package/cli/dist/CLIApp.js +128 -0
  5. package/cli/dist/CLIApp.js.map +1 -0
  6. package/cli/dist/LocalConversationalAgent.d.ts +37 -0
  7. package/cli/dist/LocalConversationalAgent.js +58 -0
  8. package/cli/dist/app.d.ts +18 -0
  9. package/cli/dist/app.d.ts.map +1 -0
  10. package/cli/dist/app.js +14 -0
  11. package/cli/dist/app.js.map +1 -0
  12. package/cli/dist/cli.d.ts +3 -0
  13. package/cli/dist/cli.d.ts.map +1 -0
  14. package/cli/dist/cli.js +87 -0
  15. package/cli/dist/cli.js.map +1 -0
  16. package/cli/dist/components/AppContainer.d.ts +16 -0
  17. package/cli/dist/components/AppContainer.js +24 -0
  18. package/cli/dist/components/AppScreens.d.ts +2 -0
  19. package/cli/dist/components/AppScreens.js +259 -0
  20. package/cli/dist/components/ChatScreen.d.ts +21 -0
  21. package/cli/dist/components/ChatScreen.d.ts.map +1 -0
  22. package/cli/dist/components/ChatScreen.js +40 -0
  23. package/cli/dist/components/ChatScreen.js.map +1 -0
  24. package/cli/dist/components/DebugLoadingScreen.d.ts +5 -0
  25. package/cli/dist/components/DebugLoadingScreen.js +31 -0
  26. package/cli/dist/components/LoadingScreen.d.ts +3 -0
  27. package/cli/dist/components/LoadingScreen.d.ts.map +1 -0
  28. package/cli/dist/components/LoadingScreen.js +17 -0
  29. package/cli/dist/components/LoadingScreen.js.map +1 -0
  30. package/cli/dist/components/LoadingScreenDebug.d.ts +5 -0
  31. package/cli/dist/components/LoadingScreenDebug.js +27 -0
  32. package/cli/dist/components/MCPConfigScreen.d.ts +28 -0
  33. package/cli/dist/components/MCPConfigScreen.d.ts.map +1 -0
  34. package/cli/dist/components/MCPConfigScreen.js +186 -0
  35. package/cli/dist/components/MCPConfigScreen.js.map +1 -0
  36. package/cli/dist/components/ScreenRouter.d.ts +13 -0
  37. package/cli/dist/components/ScreenRouter.d.ts.map +1 -0
  38. package/cli/dist/components/ScreenRouter.js +23 -0
  39. package/cli/dist/components/ScreenRouter.js.map +1 -0
  40. package/cli/dist/components/SetupScreen.d.ts +16 -0
  41. package/cli/dist/components/SetupScreen.d.ts.map +1 -0
  42. package/cli/dist/components/SetupScreen.js +67 -0
  43. package/cli/dist/components/SetupScreen.js.map +1 -0
  44. package/cli/dist/components/SingleLoadingScreen.d.ts +5 -0
  45. package/cli/dist/components/SingleLoadingScreen.js +27 -0
  46. package/cli/dist/components/StatusBadge.d.ts +10 -0
  47. package/cli/dist/components/StatusBadge.d.ts.map +1 -0
  48. package/cli/dist/components/StatusBadge.js +24 -0
  49. package/cli/dist/components/StatusBadge.js.map +1 -0
  50. package/cli/dist/components/TerminalWindow.d.ts +9 -0
  51. package/cli/dist/components/TerminalWindow.d.ts.map +1 -0
  52. package/cli/dist/components/TerminalWindow.js +19 -0
  53. package/cli/dist/components/TerminalWindow.js.map +1 -0
  54. package/cli/dist/components/WelcomeScreen.d.ts +12 -0
  55. package/cli/dist/components/WelcomeScreen.d.ts.map +1 -0
  56. package/cli/dist/components/WelcomeScreen.js +47 -0
  57. package/cli/dist/components/WelcomeScreen.js.map +1 -0
  58. package/cli/dist/context/AppContext.d.ts +68 -0
  59. package/cli/dist/context/AppContext.js +363 -0
  60. package/cli/dist/headless-runner.d.ts +17 -0
  61. package/cli/dist/headless-runner.d.ts.map +1 -0
  62. package/cli/dist/headless-runner.js +128 -0
  63. package/cli/dist/headless-runner.js.map +1 -0
  64. package/cli/dist/hooks/useInitializeAgent.d.ts +19 -0
  65. package/cli/dist/hooks/useInitializeAgent.d.ts.map +1 -0
  66. package/cli/dist/hooks/useInitializeAgent.js +29 -0
  67. package/cli/dist/hooks/useInitializeAgent.js.map +1 -0
  68. package/cli/dist/hooks/useStableState.d.ts +38 -0
  69. package/cli/dist/hooks/useStableState.d.ts.map +1 -0
  70. package/cli/dist/hooks/useStableState.js +69 -0
  71. package/cli/dist/hooks/useStableState.js.map +1 -0
  72. package/cli/dist/managers/AgentManager.d.ts +58 -0
  73. package/cli/dist/managers/AgentManager.d.ts.map +1 -0
  74. package/cli/dist/managers/AgentManager.js +121 -0
  75. package/cli/dist/managers/AgentManager.js.map +1 -0
  76. package/cli/dist/managers/ConfigManager.d.ts +54 -0
  77. package/cli/dist/managers/ConfigManager.d.ts.map +1 -0
  78. package/cli/dist/managers/ConfigManager.js +188 -0
  79. package/cli/dist/managers/ConfigManager.js.map +1 -0
  80. package/cli/dist/types.d.ts +52 -0
  81. package/cli/dist/types.d.ts.map +1 -0
  82. package/cli/dist/types.js +34 -0
  83. package/cli/dist/types.js.map +1 -0
  84. package/dist/cjs/config/system-message.d.ts +1 -1
  85. package/dist/cjs/conversational-agent.d.ts +30 -2
  86. package/dist/cjs/core/tool-registry.d.ts +29 -0
  87. package/dist/cjs/forms/field-guidance-registry.d.ts +33 -0
  88. package/dist/cjs/index.cjs +1 -1
  89. package/dist/cjs/index.cjs.map +1 -1
  90. package/dist/cjs/index.d.ts +1 -0
  91. package/dist/cjs/mcp/types.d.ts +14 -3
  92. package/dist/cjs/plugins/index.d.ts +1 -0
  93. package/dist/cjs/plugins/inscribe/InscribePlugin.d.ts +1 -0
  94. package/dist/cjs/plugins/web-browser/WebBrowserPlugin.d.ts +14 -0
  95. package/dist/cjs/runtime/wallet-bridge.d.ts +26 -0
  96. package/dist/cjs/services/attachment-processor.d.ts +1 -2
  97. package/dist/cjs/services/content-store-manager.d.ts +1 -1
  98. package/dist/cjs/services/formatters/types.d.ts +3 -1
  99. package/dist/cjs/services/index.d.ts +1 -1
  100. package/dist/cjs/signers/browser-signer.d.ts +32 -0
  101. package/dist/esm/index.js +3 -0
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/index10.js +13 -5
  104. package/dist/esm/index10.js.map +1 -1
  105. package/dist/esm/index13.js +157 -179
  106. package/dist/esm/index13.js.map +1 -1
  107. package/dist/esm/index15.js +9 -4
  108. package/dist/esm/index15.js.map +1 -1
  109. package/dist/esm/index18.js.map +1 -1
  110. package/dist/esm/index2.js +25 -27
  111. package/dist/esm/index2.js.map +1 -1
  112. package/dist/esm/index21.js +1 -1
  113. package/dist/esm/index21.js.map +1 -1
  114. package/dist/esm/index23.js +3 -3
  115. package/dist/esm/index24.js.map +1 -1
  116. package/dist/esm/index26.js.map +1 -1
  117. package/dist/esm/index3.js.map +1 -1
  118. package/dist/esm/index30.js.map +1 -1
  119. package/dist/esm/index31.js +6 -3
  120. package/dist/esm/index31.js.map +1 -1
  121. package/dist/esm/index33.js +5 -5
  122. package/dist/esm/index33.js.map +1 -1
  123. package/dist/esm/index36.js +8 -45
  124. package/dist/esm/index36.js.map +1 -1
  125. package/dist/esm/index37.js +41 -102
  126. package/dist/esm/index37.js.map +1 -1
  127. package/dist/esm/index38.js +107 -21
  128. package/dist/esm/index38.js.map +1 -1
  129. package/dist/esm/index39.js +66 -12
  130. package/dist/esm/index39.js.map +1 -1
  131. package/dist/esm/index4.js +43 -0
  132. package/dist/esm/index4.js.map +1 -1
  133. package/dist/esm/index40.js +79 -7
  134. package/dist/esm/index40.js.map +1 -1
  135. package/dist/esm/index41.js +21 -5
  136. package/dist/esm/index41.js.map +1 -1
  137. package/dist/esm/index42.js +5 -255
  138. package/dist/esm/index42.js.map +1 -1
  139. package/dist/esm/index43.js +12 -184
  140. package/dist/esm/index43.js.map +1 -1
  141. package/dist/esm/index44.js +309 -79
  142. package/dist/esm/index44.js.map +1 -1
  143. package/dist/esm/index45.js +181 -24
  144. package/dist/esm/index45.js.map +1 -1
  145. package/dist/esm/index46.js +30 -0
  146. package/dist/esm/index46.js.map +1 -0
  147. package/dist/esm/index47.js +10 -0
  148. package/dist/esm/index47.js.map +1 -0
  149. package/dist/esm/index48.js +98 -0
  150. package/dist/esm/index48.js.map +1 -0
  151. package/dist/esm/index5.js +2 -2
  152. package/dist/esm/index6.js +231 -52
  153. package/dist/esm/index6.js.map +1 -1
  154. package/dist/types/config/system-message.d.ts +1 -1
  155. package/dist/types/conversational-agent.d.ts +30 -2
  156. package/dist/types/core/tool-registry.d.ts +29 -0
  157. package/dist/types/forms/field-guidance-registry.d.ts +33 -0
  158. package/dist/types/index.d.ts +1 -0
  159. package/dist/types/mcp/types.d.ts +14 -3
  160. package/dist/types/plugins/index.d.ts +1 -0
  161. package/dist/types/plugins/inscribe/InscribePlugin.d.ts +1 -0
  162. package/dist/types/plugins/web-browser/WebBrowserPlugin.d.ts +14 -0
  163. package/dist/types/runtime/wallet-bridge.d.ts +26 -0
  164. package/dist/types/services/attachment-processor.d.ts +1 -2
  165. package/dist/types/services/content-store-manager.d.ts +1 -1
  166. package/dist/types/services/formatters/types.d.ts +3 -1
  167. package/dist/types/services/index.d.ts +1 -1
  168. package/dist/types/signers/browser-signer.d.ts +32 -0
  169. package/package.json +40 -37
  170. package/src/config/system-message.ts +3 -3
  171. package/src/conversational-agent.ts +356 -61
  172. package/src/core/tool-registry.ts +85 -0
  173. package/src/forms/field-guidance-registry.ts +213 -188
  174. package/src/forms/form-generator.ts +28 -12
  175. package/src/index.ts +1 -0
  176. package/src/langchain/form-aware-agent-executor.ts +6 -6
  177. package/src/langchain/langchain-agent.ts +1 -1
  178. package/src/mcp/mcp-client-manager.ts +12 -5
  179. package/src/mcp/types.ts +15 -3
  180. package/src/memory/content-storage.ts +19 -6
  181. package/src/memory/smart-memory-manager.ts +0 -1
  182. package/src/plugins/hbar/AccountBuilder.ts +16 -16
  183. package/src/plugins/hcs-10/HCS10Plugin.ts +38 -38
  184. package/src/plugins/hcs-2/HCS2Plugin.ts +2 -2
  185. package/src/plugins/index.ts +2 -1
  186. package/src/plugins/inscribe/InscribePlugin.ts +46 -2
  187. package/src/plugins/web-browser/WebBrowserPlugin.ts +128 -0
  188. package/src/runtime/wallet-bridge.ts +46 -0
  189. package/src/services/attachment-processor.ts +1 -1
  190. package/src/services/content-store-manager.ts +1 -1
  191. package/src/services/formatters/types.ts +3 -1
  192. package/src/services/index.ts +1 -1
  193. package/src/signers/browser-signer.ts +111 -0
  194. package/cli/readme.md +0 -181
@@ -1,4 +1,4 @@
1
- import { BasePlugin, AgentOperationalMode, MirrorNodeConfig } from 'hedera-agent-kit';
1
+ import { BasePlugin, AbstractSigner, AgentOperationalMode, MirrorNodeConfig } from 'hedera-agent-kit';
2
2
  import { Logger, NetworkType } from '@hashgraphonline/standards-sdk';
3
3
  import { createAgent } from './agent-factory';
4
4
  import { ChatResponse } from './base-agent';
@@ -6,6 +6,7 @@ import { HCS10Plugin } from './plugins/hcs-10/HCS10Plugin';
6
6
  import { HCS2Plugin } from './plugins/hcs-2/HCS2Plugin';
7
7
  import { InscribePlugin } from './plugins/inscribe/InscribePlugin';
8
8
  import { HbarPlugin } from './plugins/hbar/HbarPlugin';
9
+ import { WebBrowserPlugin } from './plugins/web-browser/WebBrowserPlugin';
9
10
  import { IStateManager } from '@hashgraphonline/standards-agent-kit';
10
11
  import { MCPServerConfig, MCPConnectionStatus } from './mcp/types';
11
12
  import { ContentStoreManager } from './services/content-store-manager';
@@ -40,11 +41,21 @@ export interface ConversationalAgentOptions {
40
41
  mirrorNodeConfig?: MirrorNodeConfig;
41
42
  disableLogging?: boolean;
42
43
  enabledPlugins?: string[];
44
+ disabledPlugins?: string[];
43
45
  toolFilter?: (tool: {
44
46
  name: string;
45
47
  namespace?: string;
46
48
  }) => boolean;
47
49
  mcpServers?: MCPServerConfig[];
50
+ walletExecutor?: (base64: string, network: 'mainnet' | 'testnet') => Promise<{
51
+ transactionId: string;
52
+ }>;
53
+ /** Optional: provide a signer factory to override default signer selection */
54
+ customSignerFactory?: (args: {
55
+ operationalMode: AgentOperationalMode;
56
+ accountId: string;
57
+ network: NetworkType;
58
+ }) => AbstractSigner;
48
59
  /** Enable automatic entity memory functionality (default: true) */
49
60
  entityMemoryEnabled?: boolean;
50
61
  /** Configuration for entity memory system */
@@ -76,6 +87,7 @@ export declare class ConversationalAgent {
76
87
  hcs2Plugin: HCS2Plugin;
77
88
  inscribePlugin: InscribePlugin;
78
89
  hbarPlugin: HbarPlugin;
90
+ webBrowserPlugin: WebBrowserPlugin;
79
91
  stateManager: IStateManager;
80
92
  private options;
81
93
  logger: Logger;
@@ -143,7 +155,7 @@ export declare class ConversationalAgent {
143
155
  /**
144
156
  * Creates the agent configuration object.
145
157
  *
146
- * @param serverSigner - The server signer instance
158
+ * @param signer - The signer instance
147
159
  * @param llm - The language model instance
148
160
  * @param allPlugins - Array of plugins to use
149
161
  * @returns Configuration object for creating the agent
@@ -235,5 +247,21 @@ export declare class ConversationalAgent {
235
247
  * Clean up resources
236
248
  */
237
249
  cleanup(): Promise<void>;
250
+ /**
251
+ * Switch operational mode
252
+ */
253
+ switchMode(mode?: AgentOperationalMode): void;
254
+ /**
255
+ * Get usage statistics
256
+ */
257
+ getUsageStats(): unknown;
258
+ /**
259
+ * Clear usage statistics
260
+ */
261
+ clearUsageStats(): void;
262
+ /**
263
+ * Shutdown the agent
264
+ */
265
+ shutdown(): Promise<void>;
238
266
  private extractResponseText;
239
267
  }
@@ -2,6 +2,7 @@ import { StructuredTool } from '@langchain/core/tools';
2
2
  import { z } from 'zod';
3
3
  import { Logger } from '@hashgraphonline/standards-sdk';
4
4
  import { FormValidatingToolWrapper } from '../langchain/form-validating-tool-wrapper';
5
+ import { ToolFieldConfiguration as FG_ToolFieldConfiguration, FieldGuidanceProvider as FG_FieldGuidanceProvider } from '../forms/field-guidance-registry';
5
6
 
6
7
  /**
7
8
  * Tool capabilities configuration for registry entries
@@ -33,6 +34,8 @@ export interface ToolMetadata {
33
34
  dependencies: string[];
34
35
  schema: unknown;
35
36
  entityResolutionPreferences?: EntityResolutionPreferences;
37
+ fieldGuidance?: FG_ToolFieldConfiguration;
38
+ fieldGuidanceProvider?: FG_FieldGuidanceProvider;
36
39
  }
37
40
  /**
38
41
  * Registry entry containing tool instance and metadata
@@ -42,6 +45,12 @@ export interface ToolRegistryEntry {
42
45
  metadata: ToolMetadata;
43
46
  wrapper?: FormValidatingToolWrapper<z.ZodObject<z.ZodRawShape>> | undefined;
44
47
  originalTool: StructuredTool;
48
+ options?: {
49
+ priority?: ToolCapabilities['priority'];
50
+ capability?: string;
51
+ enabled?: boolean;
52
+ namespace?: string;
53
+ };
45
54
  }
46
55
  /**
47
56
  * Options for tool registration
@@ -99,6 +108,26 @@ export declare class ToolRegistry {
99
108
  * Get all tool names
100
109
  */
101
110
  getToolNames(): string[];
111
+ /**
112
+ * Get tools by priority
113
+ */
114
+ getToolsByPriority(priority: ToolCapabilities['priority']): ToolRegistryEntry[];
115
+ /**
116
+ * Get enabled tools (all tools are considered enabled by default)
117
+ */
118
+ getEnabledTools(): ToolRegistryEntry[];
119
+ /**
120
+ * Get tools by namespace/category
121
+ */
122
+ getToolsByNamespace(namespace?: string): ToolRegistryEntry[];
123
+ /**
124
+ * Check if registry has capability
125
+ */
126
+ hasCapability(capability: keyof ToolCapabilities): boolean;
127
+ /**
128
+ * Update tool options (metadata)
129
+ */
130
+ updateToolOptions(name: string, options: Partial<ToolMetadata>): boolean;
102
131
  /**
103
132
  * Check if a tool is registered
104
133
  */
@@ -79,10 +79,29 @@ export interface ToolFieldConfiguration {
79
79
  */
80
80
  declare class FieldGuidanceRegistry {
81
81
  private configurations;
82
+ private providers;
83
+ private registerOrderCounter;
84
+ private logger;
85
+ constructor();
82
86
  /**
83
87
  * Register field guidance for a specific tool
84
88
  */
85
89
  registerToolConfiguration(config: ToolFieldConfiguration): void;
90
+ /**
91
+ * Register a provider for dynamic field/global guidance
92
+ */
93
+ registerToolProvider(toolPattern: string | RegExp, provider: FieldGuidanceProvider, options?: {
94
+ id?: string;
95
+ priority?: number;
96
+ }): string;
97
+ /** Unregister a provider by id */
98
+ unregisterProvider(id: string): void;
99
+ /** List registered providers */
100
+ listProviders(): Array<{
101
+ id: string;
102
+ priority: number;
103
+ pattern: string | RegExp;
104
+ }>;
86
105
  /**
87
106
  * Get field guidance for a specific tool and field
88
107
  */
@@ -103,6 +122,20 @@ declare class FieldGuidanceRegistry {
103
122
  * Clear all configurations (useful for testing)
104
123
  */
105
124
  clear(): void;
125
+ /** Choose matching provider by priority then last-in wins */
126
+ private pickMatchingProviders;
127
+ private safeGetFieldGuidance;
128
+ private safeGetGlobalGuidance;
129
+ private mergeGuidance;
106
130
  }
107
131
  export declare const fieldGuidanceRegistry: FieldGuidanceRegistry;
132
+ /**
133
+ * Provider interface (optional, for dynamic guidance)
134
+ */
135
+ export interface FieldGuidanceProvider {
136
+ getFieldGuidance(fieldName: string, ctx: {
137
+ toolName: string;
138
+ }): FieldGuidance | null;
139
+ getGlobalGuidance?(toolName: string): ToolFieldConfiguration['globalGuidance'] | null;
140
+ }
108
141
  export {};