@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.
- package/README.md +64 -27
- package/cli/dist/CLIApp.d.ts +11 -0
- package/cli/dist/CLIApp.d.ts.map +1 -0
- package/cli/dist/CLIApp.js +128 -0
- package/cli/dist/CLIApp.js.map +1 -0
- package/cli/dist/LocalConversationalAgent.d.ts +37 -0
- package/cli/dist/LocalConversationalAgent.js +58 -0
- package/cli/dist/app.d.ts +18 -0
- package/cli/dist/app.d.ts.map +1 -0
- package/cli/dist/app.js +14 -0
- package/cli/dist/app.js.map +1 -0
- package/cli/dist/cli.d.ts +3 -0
- package/cli/dist/cli.d.ts.map +1 -0
- package/cli/dist/cli.js +87 -0
- package/cli/dist/cli.js.map +1 -0
- package/cli/dist/components/AppContainer.d.ts +16 -0
- package/cli/dist/components/AppContainer.js +24 -0
- package/cli/dist/components/AppScreens.d.ts +2 -0
- package/cli/dist/components/AppScreens.js +259 -0
- package/cli/dist/components/ChatScreen.d.ts +21 -0
- package/cli/dist/components/ChatScreen.d.ts.map +1 -0
- package/cli/dist/components/ChatScreen.js +40 -0
- package/cli/dist/components/ChatScreen.js.map +1 -0
- package/cli/dist/components/DebugLoadingScreen.d.ts +5 -0
- package/cli/dist/components/DebugLoadingScreen.js +31 -0
- package/cli/dist/components/LoadingScreen.d.ts +3 -0
- package/cli/dist/components/LoadingScreen.d.ts.map +1 -0
- package/cli/dist/components/LoadingScreen.js +17 -0
- package/cli/dist/components/LoadingScreen.js.map +1 -0
- package/cli/dist/components/LoadingScreenDebug.d.ts +5 -0
- package/cli/dist/components/LoadingScreenDebug.js +27 -0
- package/cli/dist/components/MCPConfigScreen.d.ts +28 -0
- package/cli/dist/components/MCPConfigScreen.d.ts.map +1 -0
- package/cli/dist/components/MCPConfigScreen.js +186 -0
- package/cli/dist/components/MCPConfigScreen.js.map +1 -0
- package/cli/dist/components/ScreenRouter.d.ts +13 -0
- package/cli/dist/components/ScreenRouter.d.ts.map +1 -0
- package/cli/dist/components/ScreenRouter.js +23 -0
- package/cli/dist/components/ScreenRouter.js.map +1 -0
- package/cli/dist/components/SetupScreen.d.ts +16 -0
- package/cli/dist/components/SetupScreen.d.ts.map +1 -0
- package/cli/dist/components/SetupScreen.js +67 -0
- package/cli/dist/components/SetupScreen.js.map +1 -0
- package/cli/dist/components/SingleLoadingScreen.d.ts +5 -0
- package/cli/dist/components/SingleLoadingScreen.js +27 -0
- package/cli/dist/components/StatusBadge.d.ts +10 -0
- package/cli/dist/components/StatusBadge.d.ts.map +1 -0
- package/cli/dist/components/StatusBadge.js +24 -0
- package/cli/dist/components/StatusBadge.js.map +1 -0
- package/cli/dist/components/TerminalWindow.d.ts +9 -0
- package/cli/dist/components/TerminalWindow.d.ts.map +1 -0
- package/cli/dist/components/TerminalWindow.js +19 -0
- package/cli/dist/components/TerminalWindow.js.map +1 -0
- package/cli/dist/components/WelcomeScreen.d.ts +12 -0
- package/cli/dist/components/WelcomeScreen.d.ts.map +1 -0
- package/cli/dist/components/WelcomeScreen.js +47 -0
- package/cli/dist/components/WelcomeScreen.js.map +1 -0
- package/cli/dist/context/AppContext.d.ts +68 -0
- package/cli/dist/context/AppContext.js +363 -0
- package/cli/dist/headless-runner.d.ts +17 -0
- package/cli/dist/headless-runner.d.ts.map +1 -0
- package/cli/dist/headless-runner.js +128 -0
- package/cli/dist/headless-runner.js.map +1 -0
- package/cli/dist/hooks/useInitializeAgent.d.ts +19 -0
- package/cli/dist/hooks/useInitializeAgent.d.ts.map +1 -0
- package/cli/dist/hooks/useInitializeAgent.js +29 -0
- package/cli/dist/hooks/useInitializeAgent.js.map +1 -0
- package/cli/dist/hooks/useStableState.d.ts +38 -0
- package/cli/dist/hooks/useStableState.d.ts.map +1 -0
- package/cli/dist/hooks/useStableState.js +69 -0
- package/cli/dist/hooks/useStableState.js.map +1 -0
- package/cli/dist/managers/AgentManager.d.ts +58 -0
- package/cli/dist/managers/AgentManager.d.ts.map +1 -0
- package/cli/dist/managers/AgentManager.js +121 -0
- package/cli/dist/managers/AgentManager.js.map +1 -0
- package/cli/dist/managers/ConfigManager.d.ts +54 -0
- package/cli/dist/managers/ConfigManager.d.ts.map +1 -0
- package/cli/dist/managers/ConfigManager.js +188 -0
- package/cli/dist/managers/ConfigManager.js.map +1 -0
- package/cli/dist/types.d.ts +52 -0
- package/cli/dist/types.d.ts.map +1 -0
- package/cli/dist/types.js +34 -0
- package/cli/dist/types.js.map +1 -0
- package/dist/cjs/config/system-message.d.ts +1 -1
- package/dist/cjs/conversational-agent.d.ts +30 -2
- package/dist/cjs/core/tool-registry.d.ts +29 -0
- package/dist/cjs/forms/field-guidance-registry.d.ts +33 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/mcp/types.d.ts +14 -3
- package/dist/cjs/plugins/index.d.ts +1 -0
- package/dist/cjs/plugins/inscribe/InscribePlugin.d.ts +1 -0
- package/dist/cjs/plugins/web-browser/WebBrowserPlugin.d.ts +14 -0
- package/dist/cjs/runtime/wallet-bridge.d.ts +26 -0
- package/dist/cjs/services/attachment-processor.d.ts +1 -2
- package/dist/cjs/services/content-store-manager.d.ts +1 -1
- package/dist/cjs/services/formatters/types.d.ts +3 -1
- package/dist/cjs/services/index.d.ts +1 -1
- package/dist/cjs/signers/browser-signer.d.ts +32 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index10.js +13 -5
- package/dist/esm/index10.js.map +1 -1
- package/dist/esm/index13.js +157 -179
- package/dist/esm/index13.js.map +1 -1
- package/dist/esm/index15.js +9 -4
- package/dist/esm/index15.js.map +1 -1
- package/dist/esm/index18.js.map +1 -1
- package/dist/esm/index2.js +25 -27
- package/dist/esm/index2.js.map +1 -1
- package/dist/esm/index21.js +1 -1
- package/dist/esm/index21.js.map +1 -1
- package/dist/esm/index23.js +3 -3
- package/dist/esm/index24.js.map +1 -1
- package/dist/esm/index26.js.map +1 -1
- package/dist/esm/index3.js.map +1 -1
- package/dist/esm/index30.js.map +1 -1
- package/dist/esm/index31.js +6 -3
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index33.js +5 -5
- package/dist/esm/index33.js.map +1 -1
- package/dist/esm/index36.js +8 -45
- package/dist/esm/index36.js.map +1 -1
- package/dist/esm/index37.js +41 -102
- package/dist/esm/index37.js.map +1 -1
- package/dist/esm/index38.js +107 -21
- package/dist/esm/index38.js.map +1 -1
- package/dist/esm/index39.js +66 -12
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +43 -0
- package/dist/esm/index4.js.map +1 -1
- package/dist/esm/index40.js +79 -7
- package/dist/esm/index40.js.map +1 -1
- package/dist/esm/index41.js +21 -5
- package/dist/esm/index41.js.map +1 -1
- package/dist/esm/index42.js +5 -255
- package/dist/esm/index42.js.map +1 -1
- package/dist/esm/index43.js +12 -184
- package/dist/esm/index43.js.map +1 -1
- package/dist/esm/index44.js +309 -79
- package/dist/esm/index44.js.map +1 -1
- package/dist/esm/index45.js +181 -24
- package/dist/esm/index45.js.map +1 -1
- package/dist/esm/index46.js +30 -0
- package/dist/esm/index46.js.map +1 -0
- package/dist/esm/index47.js +10 -0
- package/dist/esm/index47.js.map +1 -0
- package/dist/esm/index48.js +98 -0
- package/dist/esm/index48.js.map +1 -0
- package/dist/esm/index5.js +2 -2
- package/dist/esm/index6.js +231 -52
- package/dist/esm/index6.js.map +1 -1
- package/dist/types/config/system-message.d.ts +1 -1
- package/dist/types/conversational-agent.d.ts +30 -2
- package/dist/types/core/tool-registry.d.ts +29 -0
- package/dist/types/forms/field-guidance-registry.d.ts +33 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/mcp/types.d.ts +14 -3
- package/dist/types/plugins/index.d.ts +1 -0
- package/dist/types/plugins/inscribe/InscribePlugin.d.ts +1 -0
- package/dist/types/plugins/web-browser/WebBrowserPlugin.d.ts +14 -0
- package/dist/types/runtime/wallet-bridge.d.ts +26 -0
- package/dist/types/services/attachment-processor.d.ts +1 -2
- package/dist/types/services/content-store-manager.d.ts +1 -1
- package/dist/types/services/formatters/types.d.ts +3 -1
- package/dist/types/services/index.d.ts +1 -1
- package/dist/types/signers/browser-signer.d.ts +32 -0
- package/package.json +40 -37
- package/src/config/system-message.ts +3 -3
- package/src/conversational-agent.ts +356 -61
- package/src/core/tool-registry.ts +85 -0
- package/src/forms/field-guidance-registry.ts +213 -188
- package/src/forms/form-generator.ts +28 -12
- package/src/index.ts +1 -0
- package/src/langchain/form-aware-agent-executor.ts +6 -6
- package/src/langchain/langchain-agent.ts +1 -1
- package/src/mcp/mcp-client-manager.ts +12 -5
- package/src/mcp/types.ts +15 -3
- package/src/memory/content-storage.ts +19 -6
- package/src/memory/smart-memory-manager.ts +0 -1
- package/src/plugins/hbar/AccountBuilder.ts +16 -16
- package/src/plugins/hcs-10/HCS10Plugin.ts +38 -38
- package/src/plugins/hcs-2/HCS2Plugin.ts +2 -2
- package/src/plugins/index.ts +2 -1
- package/src/plugins/inscribe/InscribePlugin.ts +46 -2
- package/src/plugins/web-browser/WebBrowserPlugin.ts +128 -0
- package/src/runtime/wallet-bridge.ts +46 -0
- package/src/services/attachment-processor.ts +1 -1
- package/src/services/content-store-manager.ts +1 -1
- package/src/services/formatters/types.ts +3 -1
- package/src/services/index.ts +1 -1
- package/src/signers/browser-signer.ts +111 -0
- 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
|
|
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 {};
|