@hashgraphonline/conversational-agent 0.2.103 → 0.2.106

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 (70) hide show
  1. package/dist/cjs/conversational-agent.d.ts +11 -2
  2. package/dist/cjs/core/tool-registry.d.ts +3 -0
  3. package/dist/cjs/forms/field-guidance-registry.d.ts +33 -0
  4. package/dist/cjs/index.cjs +1 -1
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/cjs/index.d.ts +1 -0
  7. package/dist/cjs/plugins/inscribe/InscribePlugin.d.ts +1 -0
  8. package/dist/cjs/runtime/wallet-bridge.d.ts +23 -0
  9. package/dist/cjs/signers/browser-signer.d.ts +32 -0
  10. package/dist/esm/index.js +3 -0
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/index10.js +13 -5
  13. package/dist/esm/index10.js.map +1 -1
  14. package/dist/esm/index13.js +157 -179
  15. package/dist/esm/index13.js.map +1 -1
  16. package/dist/esm/index2.js +29 -25
  17. package/dist/esm/index2.js.map +1 -1
  18. package/dist/esm/index21.js +1 -1
  19. package/dist/esm/index23.js +3 -3
  20. package/dist/esm/index3.js.map +1 -1
  21. package/dist/esm/index33.js +5 -5
  22. package/dist/esm/index33.js.map +1 -1
  23. package/dist/esm/index36.js +8 -45
  24. package/dist/esm/index36.js.map +1 -1
  25. package/dist/esm/index37.js +41 -102
  26. package/dist/esm/index37.js.map +1 -1
  27. package/dist/esm/index38.js +107 -21
  28. package/dist/esm/index38.js.map +1 -1
  29. package/dist/esm/index39.js +66 -12
  30. package/dist/esm/index39.js.map +1 -1
  31. package/dist/esm/index4.js +43 -0
  32. package/dist/esm/index4.js.map +1 -1
  33. package/dist/esm/index40.js +21 -7
  34. package/dist/esm/index40.js.map +1 -1
  35. package/dist/esm/index41.js +11 -4
  36. package/dist/esm/index41.js.map +1 -1
  37. package/dist/esm/index42.js +7 -255
  38. package/dist/esm/index42.js.map +1 -1
  39. package/dist/esm/index43.js +5 -184
  40. package/dist/esm/index43.js.map +1 -1
  41. package/dist/esm/index44.js +254 -75
  42. package/dist/esm/index44.js.map +1 -1
  43. package/dist/esm/index45.js +181 -24
  44. package/dist/esm/index45.js.map +1 -1
  45. package/dist/esm/index46.js +30 -0
  46. package/dist/esm/index46.js.map +1 -0
  47. package/dist/esm/index47.js +95 -0
  48. package/dist/esm/index47.js.map +1 -0
  49. package/dist/esm/index5.js +2 -2
  50. package/dist/esm/index6.js +153 -46
  51. package/dist/esm/index6.js.map +1 -1
  52. package/dist/types/conversational-agent.d.ts +11 -2
  53. package/dist/types/core/tool-registry.d.ts +3 -0
  54. package/dist/types/forms/field-guidance-registry.d.ts +33 -0
  55. package/dist/types/index.d.ts +1 -0
  56. package/dist/types/plugins/inscribe/InscribePlugin.d.ts +1 -0
  57. package/dist/types/runtime/wallet-bridge.d.ts +23 -0
  58. package/dist/types/signers/browser-signer.d.ts +32 -0
  59. package/package.json +19 -10
  60. package/src/conversational-agent.ts +181 -59
  61. package/src/core/tool-registry.ts +25 -0
  62. package/src/forms/field-guidance-registry.ts +215 -188
  63. package/src/forms/form-generator.ts +28 -12
  64. package/src/index.ts +1 -0
  65. package/src/langchain/langchain-agent.ts +1 -1
  66. package/src/plugins/hcs-10/HCS10Plugin.ts +32 -28
  67. package/src/plugins/hcs-2/HCS2Plugin.ts +4 -2
  68. package/src/plugins/inscribe/InscribePlugin.ts +47 -2
  69. package/src/runtime/wallet-bridge.ts +41 -0
  70. package/src/signers/browser-signer.ts +112 -0
@@ -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';
@@ -45,6 +45,15 @@ export interface ConversationalAgentOptions {
45
45
  namespace?: string;
46
46
  }) => boolean;
47
47
  mcpServers?: MCPServerConfig[];
48
+ walletExecutor?: (base64: string, network: 'mainnet' | 'testnet') => Promise<{
49
+ transactionId: string;
50
+ }>;
51
+ /** Optional: provide a signer factory to override default signer selection */
52
+ customSignerFactory?: (args: {
53
+ operationalMode: AgentOperationalMode;
54
+ accountId: string;
55
+ network: NetworkType;
56
+ }) => AbstractSigner;
48
57
  /** Enable automatic entity memory functionality (default: true) */
49
58
  entityMemoryEnabled?: boolean;
50
59
  /** Configuration for entity memory system */
@@ -143,7 +152,7 @@ export declare class ConversationalAgent {
143
152
  /**
144
153
  * Creates the agent configuration object.
145
154
  *
146
- * @param serverSigner - The server signer instance
155
+ * @param signer - The signer instance
147
156
  * @param llm - The language model instance
148
157
  * @param allPlugins - Array of plugins to use
149
158
  * @returns Configuration object for creating the agent
@@ -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
@@ -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 {};