@hashgraphonline/standards-agent-kit 0.2.1 → 0.2.102

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 (193) hide show
  1. package/dist/cjs/builders/hcs10/hcs10-builder.d.ts +4 -0
  2. package/dist/cjs/builders/hcs2/hcs2-builder.d.ts +50 -0
  3. package/dist/cjs/builders/hcs2/index.d.ts +1 -0
  4. package/dist/cjs/builders/index.d.ts +2 -0
  5. package/dist/cjs/builders/inscriber/index.d.ts +1 -0
  6. package/dist/cjs/builders/inscriber/inscriber-builder.d.ts +46 -0
  7. package/dist/cjs/index.d.ts +1 -1
  8. package/dist/cjs/standards-agent-kit.cjs +1 -1
  9. package/dist/cjs/standards-agent-kit.cjs.map +1 -1
  10. package/dist/cjs/tools/hcs10/FindRegistrationsTool.d.ts +4 -4
  11. package/dist/cjs/tools/hcs10/RegisterAgentTool.d.ts +24 -8
  12. package/dist/cjs/tools/hcs10/index.d.ts +1 -0
  13. package/dist/cjs/tools/hcs10/natural-language-mapper.d.ts +19 -0
  14. package/dist/cjs/tools/hcs2/CreateRegistryTool.d.ts +48 -0
  15. package/dist/cjs/tools/hcs2/DeleteEntryTool.d.ts +41 -0
  16. package/dist/cjs/tools/hcs2/MigrateRegistryTool.d.ts +47 -0
  17. package/dist/cjs/tools/hcs2/QueryRegistryTool.d.ts +47 -0
  18. package/dist/cjs/tools/hcs2/RegisterEntryTool.d.ts +47 -0
  19. package/dist/cjs/tools/hcs2/UpdateEntryTool.d.ts +53 -0
  20. package/dist/cjs/tools/hcs2/base-hcs2-tools.d.ts +28 -0
  21. package/dist/cjs/tools/hcs2/hcs2-tool-params.d.ts +18 -0
  22. package/dist/cjs/tools/hcs2/index.d.ts +8 -0
  23. package/dist/cjs/tools/index.d.ts +2 -0
  24. package/dist/cjs/tools/inscriber/InscribeFromBufferTool.d.ts +77 -0
  25. package/dist/cjs/tools/inscriber/InscribeFromFileTool.d.ts +65 -0
  26. package/dist/cjs/tools/inscriber/InscribeFromUrlTool.d.ts +65 -0
  27. package/dist/cjs/tools/inscriber/InscribeHashinalTool.d.ts +125 -0
  28. package/dist/cjs/tools/inscriber/RetrieveInscriptionTool.d.ts +35 -0
  29. package/dist/cjs/tools/inscriber/base-inscriber-tools.d.ts +28 -0
  30. package/dist/cjs/tools/inscriber/index.d.ts +7 -0
  31. package/dist/cjs/tools/inscriber/inscriber-tool-params.d.ts +18 -0
  32. package/dist/es/builders/hcs10/hcs10-builder.d.ts +4 -0
  33. package/dist/es/builders/hcs2/hcs2-builder.d.ts +50 -0
  34. package/dist/es/builders/hcs2/index.d.ts +1 -0
  35. package/dist/es/builders/index.d.ts +2 -0
  36. package/dist/es/builders/inscriber/index.d.ts +1 -0
  37. package/dist/es/builders/inscriber/inscriber-builder.d.ts +46 -0
  38. package/dist/es/index.d.ts +1 -1
  39. package/dist/es/standards-agent-kit.es.js +50 -16
  40. package/dist/es/standards-agent-kit.es.js.map +1 -1
  41. package/dist/es/standards-agent-kit.es10.js +17 -23
  42. package/dist/es/standards-agent-kit.es10.js.map +1 -1
  43. package/dist/es/standards-agent-kit.es11.js +36 -58
  44. package/dist/es/standards-agent-kit.es11.js.map +1 -1
  45. package/dist/es/standards-agent-kit.es12.js +43 -18
  46. package/dist/es/standards-agent-kit.es12.js.map +1 -1
  47. package/dist/es/standards-agent-kit.es13.js +53 -16
  48. package/dist/es/standards-agent-kit.es13.js.map +1 -1
  49. package/dist/es/standards-agent-kit.es14.js +18 -28
  50. package/dist/es/standards-agent-kit.es14.js.map +1 -1
  51. package/dist/es/standards-agent-kit.es15.js +26 -12
  52. package/dist/es/standards-agent-kit.es15.js.map +1 -1
  53. package/dist/es/standards-agent-kit.es16.js +37 -241
  54. package/dist/es/standards-agent-kit.es16.js.map +1 -1
  55. package/dist/es/standards-agent-kit.es17.js +16 -136
  56. package/dist/es/standards-agent-kit.es17.js.map +1 -1
  57. package/dist/es/standards-agent-kit.es18.js +154 -27
  58. package/dist/es/standards-agent-kit.es18.js.map +1 -1
  59. package/dist/es/standards-agent-kit.es19.js +26 -22
  60. package/dist/es/standards-agent-kit.es19.js.map +1 -1
  61. package/dist/es/standards-agent-kit.es2.js +27 -13
  62. package/dist/es/standards-agent-kit.es2.js.map +1 -1
  63. package/dist/es/standards-agent-kit.es20.js +42 -3
  64. package/dist/es/standards-agent-kit.es20.js.map +1 -1
  65. package/dist/es/standards-agent-kit.es21.js +48 -0
  66. package/dist/es/standards-agent-kit.es21.js.map +1 -0
  67. package/dist/es/standards-agent-kit.es22.js +51 -0
  68. package/dist/es/standards-agent-kit.es22.js.map +1 -0
  69. package/dist/es/standards-agent-kit.es23.js +45 -0
  70. package/dist/es/standards-agent-kit.es23.js.map +1 -0
  71. package/dist/es/standards-agent-kit.es24.js +48 -0
  72. package/dist/es/standards-agent-kit.es24.js.map +1 -0
  73. package/dist/es/standards-agent-kit.es25.js +45 -0
  74. package/dist/es/standards-agent-kit.es25.js.map +1 -0
  75. package/dist/es/standards-agent-kit.es26.js +32 -0
  76. package/dist/es/standards-agent-kit.es26.js.map +1 -0
  77. package/dist/es/standards-agent-kit.es27.js +71 -0
  78. package/dist/es/standards-agent-kit.es27.js.map +1 -0
  79. package/dist/es/standards-agent-kit.es28.js +71 -0
  80. package/dist/es/standards-agent-kit.es28.js.map +1 -0
  81. package/dist/es/standards-agent-kit.es29.js +79 -0
  82. package/dist/es/standards-agent-kit.es29.js.map +1 -0
  83. package/dist/es/standards-agent-kit.es3.js +59 -296
  84. package/dist/es/standards-agent-kit.es3.js.map +1 -1
  85. package/dist/es/standards-agent-kit.es30.js +90 -0
  86. package/dist/es/standards-agent-kit.es30.js.map +1 -0
  87. package/dist/es/standards-agent-kit.es31.js +45 -0
  88. package/dist/es/standards-agent-kit.es31.js.map +1 -0
  89. package/dist/es/standards-agent-kit.es32.js +249 -0
  90. package/dist/es/standards-agent-kit.es32.js.map +1 -0
  91. package/dist/es/standards-agent-kit.es33.js +141 -0
  92. package/dist/es/standards-agent-kit.es33.js.map +1 -0
  93. package/dist/es/standards-agent-kit.es34.js +33 -0
  94. package/dist/es/standards-agent-kit.es34.js.map +1 -0
  95. package/dist/es/standards-agent-kit.es35.js +28 -0
  96. package/dist/es/standards-agent-kit.es35.js.map +1 -0
  97. package/dist/es/standards-agent-kit.es36.js +7 -0
  98. package/dist/es/standards-agent-kit.es36.js.map +1 -0
  99. package/dist/es/standards-agent-kit.es4.js +44 -20
  100. package/dist/es/standards-agent-kit.es4.js.map +1 -1
  101. package/dist/es/standards-agent-kit.es5.js +312 -121
  102. package/dist/es/standards-agent-kit.es5.js.map +1 -1
  103. package/dist/es/standards-agent-kit.es6.js +24 -23
  104. package/dist/es/standards-agent-kit.es6.js.map +1 -1
  105. package/dist/es/standards-agent-kit.es7.js +220 -20
  106. package/dist/es/standards-agent-kit.es7.js.map +1 -1
  107. package/dist/es/standards-agent-kit.es8.js +20 -29
  108. package/dist/es/standards-agent-kit.es8.js.map +1 -1
  109. package/dist/es/standards-agent-kit.es9.js +26 -36
  110. package/dist/es/standards-agent-kit.es9.js.map +1 -1
  111. package/dist/es/tools/hcs10/FindRegistrationsTool.d.ts +4 -4
  112. package/dist/es/tools/hcs10/RegisterAgentTool.d.ts +24 -8
  113. package/dist/es/tools/hcs10/index.d.ts +1 -0
  114. package/dist/es/tools/hcs10/natural-language-mapper.d.ts +19 -0
  115. package/dist/es/tools/hcs2/CreateRegistryTool.d.ts +48 -0
  116. package/dist/es/tools/hcs2/DeleteEntryTool.d.ts +41 -0
  117. package/dist/es/tools/hcs2/MigrateRegistryTool.d.ts +47 -0
  118. package/dist/es/tools/hcs2/QueryRegistryTool.d.ts +47 -0
  119. package/dist/es/tools/hcs2/RegisterEntryTool.d.ts +47 -0
  120. package/dist/es/tools/hcs2/UpdateEntryTool.d.ts +53 -0
  121. package/dist/es/tools/hcs2/base-hcs2-tools.d.ts +28 -0
  122. package/dist/es/tools/hcs2/hcs2-tool-params.d.ts +18 -0
  123. package/dist/es/tools/hcs2/index.d.ts +8 -0
  124. package/dist/es/tools/index.d.ts +2 -0
  125. package/dist/es/tools/inscriber/InscribeFromBufferTool.d.ts +77 -0
  126. package/dist/es/tools/inscriber/InscribeFromFileTool.d.ts +65 -0
  127. package/dist/es/tools/inscriber/InscribeFromUrlTool.d.ts +65 -0
  128. package/dist/es/tools/inscriber/InscribeHashinalTool.d.ts +125 -0
  129. package/dist/es/tools/inscriber/RetrieveInscriptionTool.d.ts +35 -0
  130. package/dist/es/tools/inscriber/base-inscriber-tools.d.ts +28 -0
  131. package/dist/es/tools/inscriber/index.d.ts +7 -0
  132. package/dist/es/tools/inscriber/inscriber-tool-params.d.ts +18 -0
  133. package/dist/umd/builders/hcs10/hcs10-builder.d.ts +4 -0
  134. package/dist/umd/builders/hcs2/hcs2-builder.d.ts +50 -0
  135. package/dist/umd/builders/hcs2/index.d.ts +1 -0
  136. package/dist/umd/builders/index.d.ts +2 -0
  137. package/dist/umd/builders/inscriber/index.d.ts +1 -0
  138. package/dist/umd/builders/inscriber/inscriber-builder.d.ts +46 -0
  139. package/dist/umd/index.d.ts +1 -1
  140. package/dist/umd/standards-agent-kit.umd.js +1 -1
  141. package/dist/umd/standards-agent-kit.umd.js.map +1 -1
  142. package/dist/umd/tools/hcs10/FindRegistrationsTool.d.ts +4 -4
  143. package/dist/umd/tools/hcs10/RegisterAgentTool.d.ts +24 -8
  144. package/dist/umd/tools/hcs10/index.d.ts +1 -0
  145. package/dist/umd/tools/hcs10/natural-language-mapper.d.ts +19 -0
  146. package/dist/umd/tools/hcs2/CreateRegistryTool.d.ts +48 -0
  147. package/dist/umd/tools/hcs2/DeleteEntryTool.d.ts +41 -0
  148. package/dist/umd/tools/hcs2/MigrateRegistryTool.d.ts +47 -0
  149. package/dist/umd/tools/hcs2/QueryRegistryTool.d.ts +47 -0
  150. package/dist/umd/tools/hcs2/RegisterEntryTool.d.ts +47 -0
  151. package/dist/umd/tools/hcs2/UpdateEntryTool.d.ts +53 -0
  152. package/dist/umd/tools/hcs2/base-hcs2-tools.d.ts +28 -0
  153. package/dist/umd/tools/hcs2/hcs2-tool-params.d.ts +18 -0
  154. package/dist/umd/tools/hcs2/index.d.ts +8 -0
  155. package/dist/umd/tools/index.d.ts +2 -0
  156. package/dist/umd/tools/inscriber/InscribeFromBufferTool.d.ts +77 -0
  157. package/dist/umd/tools/inscriber/InscribeFromFileTool.d.ts +65 -0
  158. package/dist/umd/tools/inscriber/InscribeFromUrlTool.d.ts +65 -0
  159. package/dist/umd/tools/inscriber/InscribeHashinalTool.d.ts +125 -0
  160. package/dist/umd/tools/inscriber/RetrieveInscriptionTool.d.ts +35 -0
  161. package/dist/umd/tools/inscriber/base-inscriber-tools.d.ts +28 -0
  162. package/dist/umd/tools/inscriber/index.d.ts +7 -0
  163. package/dist/umd/tools/inscriber/inscriber-tool-params.d.ts +18 -0
  164. package/package.json +32 -30
  165. package/src/builders/hcs10/hcs10-builder.ts +37 -16
  166. package/src/builders/hcs2/hcs2-builder.ts +148 -0
  167. package/src/builders/hcs2/index.ts +1 -0
  168. package/src/builders/index.ts +3 -1
  169. package/src/builders/inscriber/index.ts +1 -0
  170. package/src/builders/inscriber/inscriber-builder.ts +112 -0
  171. package/src/index.ts +1 -1
  172. package/src/tools/hcs10/FindRegistrationsTool.ts +19 -4
  173. package/src/tools/hcs10/RegisterAgentTool.ts +147 -9
  174. package/src/tools/hcs10/index.ts +2 -1
  175. package/src/tools/hcs10/natural-language-mapper.ts +194 -0
  176. package/src/tools/hcs2/CreateRegistryTool.ts +63 -0
  177. package/src/tools/hcs2/DeleteEntryTool.ts +58 -0
  178. package/src/tools/hcs2/MigrateRegistryTool.ts +64 -0
  179. package/src/tools/hcs2/QueryRegistryTool.ts +70 -0
  180. package/src/tools/hcs2/RegisterEntryTool.ts +63 -0
  181. package/src/tools/hcs2/UpdateEntryTool.ts +68 -0
  182. package/src/tools/hcs2/base-hcs2-tools.ts +65 -0
  183. package/src/tools/hcs2/hcs2-tool-params.ts +21 -0
  184. package/src/tools/hcs2/index.ts +8 -0
  185. package/src/tools/index.ts +3 -2
  186. package/src/tools/inscriber/InscribeFromBufferTool.ts +105 -0
  187. package/src/tools/inscriber/InscribeFromFileTool.ts +93 -0
  188. package/src/tools/inscriber/InscribeFromUrlTool.ts +93 -0
  189. package/src/tools/inscriber/InscribeHashinalTool.ts +117 -0
  190. package/src/tools/inscriber/RetrieveInscriptionTool.ts +59 -0
  191. package/src/tools/inscriber/base-inscriber-tools.ts +65 -0
  192. package/src/tools/inscriber/index.ts +7 -0
  193. package/src/tools/inscriber/inscriber-tool-params.ts +21 -0
@@ -1,33 +1,160 @@
1
- import { BasePlugin, HederaGetHbarPriceTool } from "hedera-agent-kit";
2
- import { HederaGetHbarPriceTool as HederaGetHbarPriceTool2 } from "hedera-agent-kit";
3
- class HbarPricePlugin extends BasePlugin {
4
- constructor() {
5
- super(...arguments);
6
- this.id = "hedera-hbar-price";
7
- this.name = "Hedera HBAR Price Plugin";
8
- this.description = "Provides tools to interact with Hedera network data, specifically HBAR price.";
9
- this.version = "1.0.0";
10
- this.author = "Hashgraph Online";
11
- this.tools = [];
1
+ import { AIAgentCapability } from "@hashgraphonline/standards-sdk";
2
+ const _NaturalLanguageMapper = class _NaturalLanguageMapper {
3
+ /**
4
+ * Parse natural language text and extract capability values
5
+ */
6
+ static parseCapabilities(text) {
7
+ if (!text) return [AIAgentCapability.TEXT_GENERATION];
8
+ const normalizedText = text.toLowerCase();
9
+ const capabilities = /* @__PURE__ */ new Set();
10
+ for (const [term, caps] of Object.entries(this.CAPABILITY_MAPPINGS)) {
11
+ if (normalizedText.includes(term)) {
12
+ caps.forEach((cap) => capabilities.add(cap));
13
+ }
14
+ }
15
+ if (capabilities.size === 0) {
16
+ capabilities.add(AIAgentCapability.TEXT_GENERATION);
17
+ }
18
+ return Array.from(capabilities);
12
19
  }
13
- async initialize(context) {
14
- await super.initialize(context);
15
- this.initializeTools();
20
+ /**
21
+ * Parse tags/capabilities from various input formats
22
+ */
23
+ static parseTagsOrCapabilities(input) {
24
+ if (Array.isArray(input) && input.every((item) => typeof item === "number")) {
25
+ return input;
26
+ }
27
+ if (Array.isArray(input) && input.every((item) => typeof item === "string")) {
28
+ const capabilities = /* @__PURE__ */ new Set();
29
+ input.forEach((term) => {
30
+ this.parseCapabilities(term).forEach((cap) => capabilities.add(cap));
31
+ });
32
+ return Array.from(capabilities);
33
+ }
34
+ if (typeof input === "string") {
35
+ return this.parseCapabilities(input);
36
+ }
37
+ return [AIAgentCapability.TEXT_GENERATION];
16
38
  }
17
- initializeTools() {
18
- this.tools = [
19
- new HederaGetHbarPriceTool({
20
- hederaKit: this.context.config.hederaKit,
21
- logger: this.context.logger
22
- })
23
- ];
39
+ /**
40
+ * Convert capability enum to human-readable name
41
+ */
42
+ static getCapabilityName(capability) {
43
+ const names = {
44
+ [AIAgentCapability.TEXT_GENERATION]: "Text Generation",
45
+ [AIAgentCapability.IMAGE_GENERATION]: "Image Generation",
46
+ [AIAgentCapability.AUDIO_GENERATION]: "Audio Generation",
47
+ [AIAgentCapability.VIDEO_GENERATION]: "Video Generation",
48
+ [AIAgentCapability.CODE_GENERATION]: "Code Generation",
49
+ [AIAgentCapability.LANGUAGE_TRANSLATION]: "Language Translation",
50
+ [AIAgentCapability.SUMMARIZATION_EXTRACTION]: "Summarization & Extraction",
51
+ [AIAgentCapability.KNOWLEDGE_RETRIEVAL]: "Knowledge Retrieval",
52
+ [AIAgentCapability.DATA_INTEGRATION]: "Data Integration",
53
+ [AIAgentCapability.MARKET_INTELLIGENCE]: "Market Intelligence",
54
+ [AIAgentCapability.TRANSACTION_ANALYTICS]: "Transaction Analytics",
55
+ [AIAgentCapability.SMART_CONTRACT_AUDIT]: "Smart Contract Audit",
56
+ [AIAgentCapability.GOVERNANCE_FACILITATION]: "Governance Facilitation",
57
+ [AIAgentCapability.SECURITY_MONITORING]: "Security Monitoring",
58
+ [AIAgentCapability.COMPLIANCE_ANALYSIS]: "Compliance Analysis",
59
+ [AIAgentCapability.FRAUD_DETECTION]: "Fraud Detection",
60
+ [AIAgentCapability.MULTI_AGENT_COORDINATION]: "Multi-Agent Coordination",
61
+ [AIAgentCapability.API_INTEGRATION]: "API Integration",
62
+ [AIAgentCapability.WORKFLOW_AUTOMATION]: "Workflow Automation"
63
+ };
64
+ return names[capability] || "Unknown Capability";
24
65
  }
25
- getTools() {
26
- return this.tools;
27
- }
28
- }
66
+ };
67
+ _NaturalLanguageMapper.CAPABILITY_MAPPINGS = {
68
+ // Common terms
69
+ "ai": [AIAgentCapability.TEXT_GENERATION],
70
+ "artificial intelligence": [AIAgentCapability.TEXT_GENERATION],
71
+ "chat": [AIAgentCapability.TEXT_GENERATION],
72
+ "conversation": [AIAgentCapability.TEXT_GENERATION],
73
+ "text": [AIAgentCapability.TEXT_GENERATION],
74
+ "text generation": [AIAgentCapability.TEXT_GENERATION],
75
+ // Image
76
+ "image": [AIAgentCapability.IMAGE_GENERATION],
77
+ "picture": [AIAgentCapability.IMAGE_GENERATION],
78
+ "visual": [AIAgentCapability.IMAGE_GENERATION],
79
+ "photo": [AIAgentCapability.IMAGE_GENERATION],
80
+ // Audio
81
+ "audio": [AIAgentCapability.AUDIO_GENERATION],
82
+ "sound": [AIAgentCapability.AUDIO_GENERATION],
83
+ "voice": [AIAgentCapability.AUDIO_GENERATION],
84
+ "speech": [AIAgentCapability.AUDIO_GENERATION],
85
+ // Video
86
+ "video": [AIAgentCapability.VIDEO_GENERATION],
87
+ "movie": [AIAgentCapability.VIDEO_GENERATION],
88
+ "animation": [AIAgentCapability.VIDEO_GENERATION],
89
+ // Code
90
+ "code": [AIAgentCapability.CODE_GENERATION],
91
+ "programming": [AIAgentCapability.CODE_GENERATION],
92
+ "development": [AIAgentCapability.CODE_GENERATION],
93
+ "coding": [AIAgentCapability.CODE_GENERATION],
94
+ // Translation
95
+ "translate": [AIAgentCapability.LANGUAGE_TRANSLATION],
96
+ "translation": [AIAgentCapability.LANGUAGE_TRANSLATION],
97
+ "language": [AIAgentCapability.LANGUAGE_TRANSLATION],
98
+ // Summarization
99
+ "summarize": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
100
+ "summary": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
101
+ "extract": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
102
+ "extraction": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
103
+ // Knowledge
104
+ "knowledge": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
105
+ "search": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
106
+ "retrieve": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
107
+ "lookup": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
108
+ // Data
109
+ "data": [AIAgentCapability.DATA_INTEGRATION],
110
+ "data processing": [AIAgentCapability.DATA_INTEGRATION],
111
+ "data integration": [AIAgentCapability.DATA_INTEGRATION],
112
+ "etl": [AIAgentCapability.DATA_INTEGRATION],
113
+ // Market
114
+ "market": [AIAgentCapability.MARKET_INTELLIGENCE],
115
+ "trading": [AIAgentCapability.MARKET_INTELLIGENCE],
116
+ "finance": [AIAgentCapability.MARKET_INTELLIGENCE],
117
+ "financial": [AIAgentCapability.MARKET_INTELLIGENCE],
118
+ // Analytics
119
+ "analytics": [AIAgentCapability.TRANSACTION_ANALYTICS],
120
+ "analysis": [AIAgentCapability.TRANSACTION_ANALYTICS],
121
+ "analyze": [AIAgentCapability.TRANSACTION_ANALYTICS],
122
+ "transactions": [AIAgentCapability.TRANSACTION_ANALYTICS],
123
+ // Smart Contract
124
+ "audit": [AIAgentCapability.SMART_CONTRACT_AUDIT],
125
+ "contract": [AIAgentCapability.SMART_CONTRACT_AUDIT],
126
+ "smart contract": [AIAgentCapability.SMART_CONTRACT_AUDIT],
127
+ // Governance
128
+ "governance": [AIAgentCapability.GOVERNANCE_FACILITATION],
129
+ "voting": [AIAgentCapability.GOVERNANCE_FACILITATION],
130
+ "dao": [AIAgentCapability.GOVERNANCE_FACILITATION],
131
+ // Security
132
+ "security": [AIAgentCapability.SECURITY_MONITORING],
133
+ "monitoring": [AIAgentCapability.SECURITY_MONITORING],
134
+ "threat": [AIAgentCapability.SECURITY_MONITORING],
135
+ // Compliance
136
+ "compliance": [AIAgentCapability.COMPLIANCE_ANALYSIS],
137
+ "regulatory": [AIAgentCapability.COMPLIANCE_ANALYSIS],
138
+ "regulation": [AIAgentCapability.COMPLIANCE_ANALYSIS],
139
+ // Fraud
140
+ "fraud": [AIAgentCapability.FRAUD_DETECTION],
141
+ "detection": [AIAgentCapability.FRAUD_DETECTION],
142
+ "anomaly": [AIAgentCapability.FRAUD_DETECTION],
143
+ // Multi-agent
144
+ "coordination": [AIAgentCapability.MULTI_AGENT_COORDINATION],
145
+ "multi-agent": [AIAgentCapability.MULTI_AGENT_COORDINATION],
146
+ "orchestration": [AIAgentCapability.MULTI_AGENT_COORDINATION],
147
+ // API
148
+ "api": [AIAgentCapability.API_INTEGRATION],
149
+ "integration": [AIAgentCapability.API_INTEGRATION],
150
+ "webhook": [AIAgentCapability.API_INTEGRATION],
151
+ // Workflow
152
+ "workflow": [AIAgentCapability.WORKFLOW_AUTOMATION],
153
+ "automation": [AIAgentCapability.WORKFLOW_AUTOMATION],
154
+ "process": [AIAgentCapability.WORKFLOW_AUTOMATION]
155
+ };
156
+ let NaturalLanguageMapper = _NaturalLanguageMapper;
29
157
  export {
30
- HederaGetHbarPriceTool2 as GetHbarPriceTool,
31
- HbarPricePlugin
158
+ NaturalLanguageMapper
32
159
  };
33
160
  //# sourceMappingURL=standards-agent-kit.es18.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es18.js","sources":["../../src/plugins/hedera/HbarPricePlugin.ts"],"sourcesContent":["// Re-export the HBAR price tool from hedera-agent-kit\nexport { HederaGetHbarPriceTool as GetHbarPriceTool } from 'hedera-agent-kit';\n\nimport { BasePlugin, GenericPluginContext, HederaTool, HederaAgentKit } from 'hedera-agent-kit';\nimport { HederaGetHbarPriceTool } from 'hedera-agent-kit';\n\n/**\n * Plugin to provide tools related to Hedera network information, like HBAR price.\n * Uses the built-in HederaGetHbarPriceTool from hedera-agent-kit.\n */\nexport class HbarPricePlugin extends BasePlugin<GenericPluginContext> {\n id = 'hedera-hbar-price';\n name = 'Hedera HBAR Price Plugin';\n description = 'Provides tools to interact with Hedera network data, specifically HBAR price.';\n version = '1.0.0';\n author = 'Hashgraph Online';\n\n private tools: HederaTool[] = [];\n\n override async initialize(context: GenericPluginContext): Promise<void> {\n await super.initialize(context);\n this.initializeTools();\n }\n\n private initializeTools(): void {\n this.tools = [\n new HederaGetHbarPriceTool({\n hederaKit: this.context.config.hederaKit as HederaAgentKit,\n logger: this.context.logger\n })\n ];\n }\n\n getTools(): HederaTool[] {\n return this.tools;\n }\n}"],"names":["HederaGetHbarPriceTool"],"mappings":";;AAUO,MAAM,wBAAwB,WAAiC;AAAA,EAA/D,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,KAAK;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AACd,SAAA,UAAU;AACV,SAAA,SAAS;AAET,SAAQ,QAAsB,CAAA;AAAA,EAAC;AAAA,EAE/B,MAAe,WAAW,SAA8C;AACtE,UAAM,MAAM,WAAW,OAAO;AAC9B,SAAK,gBAAA;AAAA,EACP;AAAA,EAEQ,kBAAwB;AAC9B,SAAK,QAAQ;AAAA,MACX,IAAIA,uBAAuB;AAAA,QACzB,WAAW,KAAK,QAAQ,OAAO;AAAA,QAC/B,QAAQ,KAAK,QAAQ;AAAA,MAAA,CACtB;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,WAAyB;AACvB,WAAO,KAAK;AAAA,EACd;AACF;"}
1
+ {"version":3,"file":"standards-agent-kit.es18.js","sources":["../../src/tools/hcs10/natural-language-mapper.ts"],"sourcesContent":["import { AIAgentCapability } from '@hashgraphonline/standards-sdk';\n\n/**\n * Maps natural language terms to AIAgentCapability enum values\n */\nexport class NaturalLanguageMapper {\n private static readonly CAPABILITY_MAPPINGS: Record<string, AIAgentCapability[]> = {\n // Common terms\n 'ai': [AIAgentCapability.TEXT_GENERATION],\n 'artificial intelligence': [AIAgentCapability.TEXT_GENERATION],\n 'chat': [AIAgentCapability.TEXT_GENERATION],\n 'conversation': [AIAgentCapability.TEXT_GENERATION],\n 'text': [AIAgentCapability.TEXT_GENERATION],\n 'text generation': [AIAgentCapability.TEXT_GENERATION],\n \n // Image\n 'image': [AIAgentCapability.IMAGE_GENERATION],\n 'picture': [AIAgentCapability.IMAGE_GENERATION],\n 'visual': [AIAgentCapability.IMAGE_GENERATION],\n 'photo': [AIAgentCapability.IMAGE_GENERATION],\n \n // Audio\n 'audio': [AIAgentCapability.AUDIO_GENERATION],\n 'sound': [AIAgentCapability.AUDIO_GENERATION],\n 'voice': [AIAgentCapability.AUDIO_GENERATION],\n 'speech': [AIAgentCapability.AUDIO_GENERATION],\n \n // Video\n 'video': [AIAgentCapability.VIDEO_GENERATION],\n 'movie': [AIAgentCapability.VIDEO_GENERATION],\n 'animation': [AIAgentCapability.VIDEO_GENERATION],\n \n // Code\n 'code': [AIAgentCapability.CODE_GENERATION],\n 'programming': [AIAgentCapability.CODE_GENERATION],\n 'development': [AIAgentCapability.CODE_GENERATION],\n 'coding': [AIAgentCapability.CODE_GENERATION],\n \n // Translation\n 'translate': [AIAgentCapability.LANGUAGE_TRANSLATION],\n 'translation': [AIAgentCapability.LANGUAGE_TRANSLATION],\n 'language': [AIAgentCapability.LANGUAGE_TRANSLATION],\n \n // Summarization\n 'summarize': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n 'summary': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n 'extract': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n 'extraction': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n \n // Knowledge\n 'knowledge': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n 'search': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n 'retrieve': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n 'lookup': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n \n // Data\n 'data': [AIAgentCapability.DATA_INTEGRATION],\n 'data processing': [AIAgentCapability.DATA_INTEGRATION],\n 'data integration': [AIAgentCapability.DATA_INTEGRATION],\n 'etl': [AIAgentCapability.DATA_INTEGRATION],\n \n // Market\n 'market': [AIAgentCapability.MARKET_INTELLIGENCE],\n 'trading': [AIAgentCapability.MARKET_INTELLIGENCE],\n 'finance': [AIAgentCapability.MARKET_INTELLIGENCE],\n 'financial': [AIAgentCapability.MARKET_INTELLIGENCE],\n \n // Analytics\n 'analytics': [AIAgentCapability.TRANSACTION_ANALYTICS],\n 'analysis': [AIAgentCapability.TRANSACTION_ANALYTICS],\n 'analyze': [AIAgentCapability.TRANSACTION_ANALYTICS],\n 'transactions': [AIAgentCapability.TRANSACTION_ANALYTICS],\n \n // Smart Contract\n 'audit': [AIAgentCapability.SMART_CONTRACT_AUDIT],\n 'contract': [AIAgentCapability.SMART_CONTRACT_AUDIT],\n 'smart contract': [AIAgentCapability.SMART_CONTRACT_AUDIT],\n \n // Governance\n 'governance': [AIAgentCapability.GOVERNANCE_FACILITATION],\n 'voting': [AIAgentCapability.GOVERNANCE_FACILITATION],\n 'dao': [AIAgentCapability.GOVERNANCE_FACILITATION],\n \n // Security\n 'security': [AIAgentCapability.SECURITY_MONITORING],\n 'monitoring': [AIAgentCapability.SECURITY_MONITORING],\n 'threat': [AIAgentCapability.SECURITY_MONITORING],\n \n // Compliance\n 'compliance': [AIAgentCapability.COMPLIANCE_ANALYSIS],\n 'regulatory': [AIAgentCapability.COMPLIANCE_ANALYSIS],\n 'regulation': [AIAgentCapability.COMPLIANCE_ANALYSIS],\n \n // Fraud\n 'fraud': [AIAgentCapability.FRAUD_DETECTION],\n 'detection': [AIAgentCapability.FRAUD_DETECTION],\n 'anomaly': [AIAgentCapability.FRAUD_DETECTION],\n \n // Multi-agent\n 'coordination': [AIAgentCapability.MULTI_AGENT_COORDINATION],\n 'multi-agent': [AIAgentCapability.MULTI_AGENT_COORDINATION],\n 'orchestration': [AIAgentCapability.MULTI_AGENT_COORDINATION],\n \n // API\n 'api': [AIAgentCapability.API_INTEGRATION],\n 'integration': [AIAgentCapability.API_INTEGRATION],\n 'webhook': [AIAgentCapability.API_INTEGRATION],\n \n // Workflow\n 'workflow': [AIAgentCapability.WORKFLOW_AUTOMATION],\n 'automation': [AIAgentCapability.WORKFLOW_AUTOMATION],\n 'process': [AIAgentCapability.WORKFLOW_AUTOMATION],\n };\n\n /**\n * Parse natural language text and extract capability values\n */\n static parseCapabilities(text: string): AIAgentCapability[] {\n if (!text) return [AIAgentCapability.TEXT_GENERATION];\n \n const normalizedText = text.toLowerCase();\n const capabilities = new Set<AIAgentCapability>();\n \n // Check for exact matches first\n for (const [term, caps] of Object.entries(this.CAPABILITY_MAPPINGS)) {\n if (normalizedText.includes(term)) {\n caps.forEach(cap => capabilities.add(cap));\n }\n }\n \n // Default to TEXT_GENERATION if no capabilities found\n if (capabilities.size === 0) {\n capabilities.add(AIAgentCapability.TEXT_GENERATION);\n }\n \n return Array.from(capabilities);\n }\n\n /**\n * Parse tags/capabilities from various input formats\n */\n static parseTagsOrCapabilities(input: any): AIAgentCapability[] {\n // If already an array of numbers, return as is\n if (Array.isArray(input) && input.every(item => typeof item === 'number')) {\n return input;\n }\n \n // If array of strings, parse each\n if (Array.isArray(input) && input.every(item => typeof item === 'string')) {\n const capabilities = new Set<AIAgentCapability>();\n input.forEach(term => {\n this.parseCapabilities(term).forEach(cap => capabilities.add(cap));\n });\n return Array.from(capabilities);\n }\n \n // If single string, parse it\n if (typeof input === 'string') {\n return this.parseCapabilities(input);\n }\n \n // Default\n return [AIAgentCapability.TEXT_GENERATION];\n }\n\n /**\n * Convert capability enum to human-readable name\n */\n static getCapabilityName(capability: AIAgentCapability): string {\n const names: Record<AIAgentCapability, string> = {\n [AIAgentCapability.TEXT_GENERATION]: 'Text Generation',\n [AIAgentCapability.IMAGE_GENERATION]: 'Image Generation',\n [AIAgentCapability.AUDIO_GENERATION]: 'Audio Generation',\n [AIAgentCapability.VIDEO_GENERATION]: 'Video Generation',\n [AIAgentCapability.CODE_GENERATION]: 'Code Generation',\n [AIAgentCapability.LANGUAGE_TRANSLATION]: 'Language Translation',\n [AIAgentCapability.SUMMARIZATION_EXTRACTION]: 'Summarization & Extraction',\n [AIAgentCapability.KNOWLEDGE_RETRIEVAL]: 'Knowledge Retrieval',\n [AIAgentCapability.DATA_INTEGRATION]: 'Data Integration',\n [AIAgentCapability.MARKET_INTELLIGENCE]: 'Market Intelligence',\n [AIAgentCapability.TRANSACTION_ANALYTICS]: 'Transaction Analytics',\n [AIAgentCapability.SMART_CONTRACT_AUDIT]: 'Smart Contract Audit',\n [AIAgentCapability.GOVERNANCE_FACILITATION]: 'Governance Facilitation',\n [AIAgentCapability.SECURITY_MONITORING]: 'Security Monitoring',\n [AIAgentCapability.COMPLIANCE_ANALYSIS]: 'Compliance Analysis',\n [AIAgentCapability.FRAUD_DETECTION]: 'Fraud Detection',\n [AIAgentCapability.MULTI_AGENT_COORDINATION]: 'Multi-Agent Coordination',\n [AIAgentCapability.API_INTEGRATION]: 'API Integration',\n [AIAgentCapability.WORKFLOW_AUTOMATION]: 'Workflow Automation',\n };\n \n return names[capability] || 'Unknown Capability';\n }\n}"],"names":[],"mappings":"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"}
@@ -1,28 +1,32 @@
1
- import "@hashgraphonline/standards-sdk";
2
- import fs from "fs";
3
- import path from "path";
4
- const ENV_FILE_PATH = path.join(process.cwd(), ".env");
5
- async function updateEnvFile(envFilePath, variables) {
6
- let envContent = "";
7
- if (fs.existsSync(envFilePath)) {
8
- envContent = fs.readFileSync(envFilePath, "utf8");
1
+ import { BaseHederaTransactionTool, BaseHederaQueryTool } from "hedera-agent-kit";
2
+ class BaseHCS2TransactionTool extends BaseHederaTransactionTool {
3
+ constructor(params) {
4
+ super(params);
5
+ this.namespace = "hcs2";
6
+ this.hcs2Builder = params.hcs2Builder;
9
7
  }
10
- const envLines = envContent.split("\n");
11
- const updatedLines = [...envLines];
12
- for (const [key, value] of Object.entries(variables)) {
13
- const lineIndex = updatedLines.findIndex(
14
- (line) => line.startsWith(`${key}=`)
15
- );
16
- if (lineIndex !== -1) {
17
- updatedLines[lineIndex] = `${key}=${value}`;
18
- } else {
19
- updatedLines.push(`${key}=${value}`);
20
- }
8
+ /**
9
+ * Override to return the HCS2Builder
10
+ */
11
+ getServiceBuilder() {
12
+ return this.hcs2Builder;
13
+ }
14
+ }
15
+ class BaseHCS2QueryTool extends BaseHederaQueryTool {
16
+ constructor(params) {
17
+ super(params);
18
+ this.namespace = "hcs2";
19
+ this.hcs2Builder = params.hcs2Builder;
20
+ }
21
+ /**
22
+ * Override to return the HCS2Builder
23
+ */
24
+ getServiceBuilder() {
25
+ return this.hcs2Builder;
21
26
  }
22
- fs.writeFileSync(envFilePath, updatedLines.join("\n"));
23
27
  }
24
28
  export {
25
- ENV_FILE_PATH,
26
- updateEnvFile
29
+ BaseHCS2QueryTool,
30
+ BaseHCS2TransactionTool
27
31
  };
28
32
  //# sourceMappingURL=standards-agent-kit.es19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es19.js","sources":["../../src/utils/state-tools.ts"],"sourcesContent":["import {\n HCS10Client,\n AgentBuilder,\n Logger,\n} from '@hashgraphonline/standards-sdk';\nimport fs from 'fs';\nimport path from 'path';\nimport { ensureAgentHasEnoughHbar } from './ensure-agent-has-hbar';\n\nexport const ENV_FILE_PATH = path.join(process.cwd(), '.env');\n\nexport interface AgentData {\n accountId: string;\n operatorId: string;\n inboundTopicId: string;\n outboundTopicId: string;\n client: HCS10Client;\n}\n\nexport interface RegistrationProgressData {\n registered: boolean;\n accountId?: string;\n privateKey?: string;\n publicKey?: string;\n inboundTopicId?: string;\n outboundTopicId?: string;\n}\n\nexport async function getAgentFromEnv(\n logger: Logger,\n baseClient: HCS10Client,\n agentName: string,\n envPrefix: string\n): Promise<AgentData | null> {\n const accountIdEnvVar = `${envPrefix}_ACCOUNT_ID`;\n const privateKeyEnvVar = `${envPrefix}_PRIVATE_KEY`;\n const inboundTopicIdEnvVar = `${envPrefix}_INBOUND_TOPIC_ID`;\n const outboundTopicIdEnvVar = `${envPrefix}_OUTBOUND_TOPIC_ID`;\n\n const accountId = process.env[accountIdEnvVar];\n const privateKey = process.env[privateKeyEnvVar];\n const inboundTopicId = process.env[inboundTopicIdEnvVar];\n const outboundTopicId = process.env[outboundTopicIdEnvVar];\n\n if (!accountId || !privateKey || !inboundTopicId || !outboundTopicId) {\n logger.info(`${agentName} agent not found in environment variables`);\n return null;\n }\n\n logger.info(`${agentName} agent found in environment variables`);\n logger.info(`${agentName} account ID: ${accountId}`);\n logger.info(`${agentName} inbound topic ID: ${inboundTopicId}`);\n logger.info(`${agentName} outbound topic ID: ${outboundTopicId}`);\n\n const client = new HCS10Client({\n network: 'testnet',\n operatorId: accountId,\n operatorPrivateKey: privateKey,\n guardedRegistryBaseUrl: process.env.REGISTRY_URL,\n prettyPrint: true,\n logLevel: 'debug',\n });\n\n await ensureAgentHasEnoughHbar(logger, baseClient, accountId, agentName);\n\n return {\n accountId,\n operatorId: `${inboundTopicId}@${accountId}`,\n inboundTopicId,\n outboundTopicId,\n client,\n };\n}\n\nexport async function createAgent(\n logger: Logger,\n baseClient: HCS10Client,\n agentName: string,\n agentBuilder: AgentBuilder,\n envPrefix: string\n): Promise<AgentData | null> {\n try {\n logger.info(`Creating ${agentName} agent...`);\n\n const result = await baseClient.createAndRegisterAgent(agentBuilder);\n\n if (!result.metadata) {\n logger.error(`${agentName} agent creation failed`);\n return null;\n }\n\n logger.info(`${agentName} agent created successfully`);\n logger.info(`${agentName} account ID: ${result.metadata.accountId}`);\n logger.info(`${agentName} private key: ${result.metadata.privateKey}`);\n logger.info(\n `${agentName} inbound topic ID: ${result.metadata.inboundTopicId}`\n );\n logger.info(\n `${agentName} outbound topic ID: ${result.metadata.outboundTopicId}`\n );\n\n const envVars = {\n [`${envPrefix}_ACCOUNT_ID`]: result.metadata.accountId,\n [`${envPrefix}_PRIVATE_KEY`]: result.metadata.privateKey,\n [`${envPrefix}_INBOUND_TOPIC_ID`]: result.metadata.inboundTopicId,\n [`${envPrefix}_OUTBOUND_TOPIC_ID`]: result.metadata.outboundTopicId,\n };\n\n await updateEnvFile(ENV_FILE_PATH, envVars);\n\n const client = new HCS10Client({\n network: 'testnet',\n operatorId: result.metadata.accountId,\n operatorPrivateKey: result.metadata.privateKey,\n guardedRegistryBaseUrl: process.env.REGISTRY_URL,\n prettyPrint: true,\n logLevel: 'debug',\n });\n\n return {\n accountId: result.metadata.accountId,\n operatorId: `${result.metadata.inboundTopicId}@${result.metadata.accountId}`,\n inboundTopicId: result.metadata.inboundTopicId,\n outboundTopicId: result.metadata.outboundTopicId,\n client,\n };\n } catch (error) {\n console.log('error', error, baseClient);\n logger.error(`Error creating ${agentName} agent:`, error);\n return null;\n }\n}\n\nexport async function updateEnvFile(\n envFilePath: string,\n variables: Record<string, string>\n): Promise<void> {\n let envContent = '';\n\n if (fs.existsSync(envFilePath)) {\n envContent = fs.readFileSync(envFilePath, 'utf8');\n }\n\n const envLines = envContent.split('\\n');\n const updatedLines = [...envLines];\n\n for (const [key, value] of Object.entries(variables)) {\n const lineIndex = updatedLines.findIndex((line) =>\n line.startsWith(`${key}=`)\n );\n\n if (lineIndex !== -1) {\n updatedLines[lineIndex] = `${key}=${value}`;\n } else {\n updatedLines.push(`${key}=${value}`);\n }\n }\n\n fs.writeFileSync(envFilePath, updatedLines.join('\\n'));\n}\n"],"names":[],"mappings":";;;AASO,MAAM,gBAAgB,KAAK,KAAK,QAAQ,IAAA,GAAO,MAAM;AA4H5D,eAAsB,cACpB,aACA,WACe;AACf,MAAI,aAAa;AAEjB,MAAI,GAAG,WAAW,WAAW,GAAG;AAC9B,iBAAa,GAAG,aAAa,aAAa,MAAM;AAAA,EAClD;AAEA,QAAM,WAAW,WAAW,MAAM,IAAI;AACtC,QAAM,eAAe,CAAC,GAAG,QAAQ;AAEjC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,SAAS,GAAG;AACpD,UAAM,YAAY,aAAa;AAAA,MAAU,CAAC,SACxC,KAAK,WAAW,GAAG,GAAG,GAAG;AAAA,IAAA;AAG3B,QAAI,cAAc,IAAI;AACpB,mBAAa,SAAS,IAAI,GAAG,GAAG,IAAI,KAAK;AAAA,IAC3C,OAAO;AACL,mBAAa,KAAK,GAAG,GAAG,IAAI,KAAK,EAAE;AAAA,IACrC;AAAA,EACF;AAEA,KAAG,cAAc,aAAa,aAAa,KAAK,IAAI,CAAC;AACvD;"}
1
+ {"version":3,"file":"standards-agent-kit.es19.js","sources":["../../src/tools/hcs2/base-hcs2-tools.ts"],"sourcesContent":["import {\n BaseHederaTransactionTool,\n BaseHederaQueryTool,\n BaseServiceBuilder,\n} from 'hedera-agent-kit';\nimport { HCS2Builder } from '../../builders/hcs2/hcs2-builder';\nimport {\n HCS2TransactionToolParams,\n HCS2QueryToolParams,\n} from './hcs2-tool-params';\nimport { z } from 'zod';\n\n/**\n * Base class for HCS2 transaction tools\n */\nexport abstract class BaseHCS2TransactionTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaTransactionTool<T> {\n protected hcs2Builder: HCS2Builder;\n namespace = 'hcs2' as const;\n\n constructor(params: HCS2TransactionToolParams) {\n super(params);\n this.hcs2Builder = params.hcs2Builder;\n }\n\n /**\n * Override to return the HCS2Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs2Builder;\n }\n}\n\n/**\n * Base class for HCS2 query tools\n */\nexport abstract class BaseHCS2QueryTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny,\n Record<string, unknown>,\n Record<string, unknown>\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaQueryTool<T> {\n protected hcs2Builder: HCS2Builder;\n namespace = 'hcs2' as const;\n\n constructor(params: HCS2QueryToolParams) {\n super(params);\n this.hcs2Builder = params.hcs2Builder;\n }\n\n /**\n * Override to return the HCS2Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs2Builder;\n }\n}"],"names":[],"mappings":";AAeO,MAAe,gCAMZ,0BAA6B;AAAA,EAIrC,YAAY,QAAmC;AAC7C,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;AAKO,MAAe,0BAQZ,oBAAuB;AAAA,EAI/B,YAAY,QAA6B;AACvC,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;"}
@@ -45,6 +45,12 @@ class HCS10Builder extends BaseServiceBuilder {
45
45
  getNetwork() {
46
46
  return this.network;
47
47
  }
48
+ /**
49
+ * Get state manager instance
50
+ */
51
+ getStateManager() {
52
+ return this.stateManager;
53
+ }
48
54
  /**
49
55
  * Get account and signer information
50
56
  */
@@ -185,16 +191,18 @@ class HCS10Builder extends BaseServiceBuilder {
185
191
  }
186
192
  try {
187
193
  const result = await this.standardClient.getMessages(topicId);
188
- const mappedMessages = result.messages.map((sdkMessage) => {
189
- const timestamp = sdkMessage?.created?.getTime() || 0;
190
- return {
191
- ...sdkMessage,
192
- timestamp,
193
- data: sdkMessage.data || "",
194
- sequence_number: sdkMessage.sequence_number,
195
- p: "hcs-10"
196
- };
197
- });
194
+ const mappedMessages = result.messages.map(
195
+ (sdkMessage) => {
196
+ const timestamp = sdkMessage?.created?.getTime() || 0;
197
+ return {
198
+ ...sdkMessage,
199
+ timestamp,
200
+ data: sdkMessage.data || "",
201
+ sequence_number: sdkMessage.sequence_number,
202
+ p: "hcs-10"
203
+ };
204
+ }
205
+ );
198
206
  mappedMessages.sort(
199
207
  (a, b) => a.timestamp - b.timestamp
200
208
  );
@@ -1056,13 +1064,17 @@ class HCS10Builder extends BaseServiceBuilder {
1056
1064
  try {
1057
1065
  const inboundTopicId = await this.getInboundTopicId();
1058
1066
  const messages = await this.getMessages(inboundTopicId);
1059
- const unapprovedRequests = messages.messages.filter((msg) => msg.op === "connection_request").map((msg) => ({
1067
+ const unapprovedRequests = messages.messages.filter(
1068
+ (msg) => msg.op === "connection_request"
1069
+ ).map((msg) => ({
1060
1070
  requestId: msg.sequence_number,
1061
1071
  fromAccountId: msg.operator_id?.split("@")[1] || "unknown",
1062
1072
  timestamp: msg.timestamp || new Date(msg?.created || "").getTime(),
1063
1073
  memo: msg.m || "",
1064
1074
  data: msg.data
1065
- })).filter((req) => req.fromAccountId !== "unknown");
1075
+ })).filter(
1076
+ (req) => req.fromAccountId !== "unknown"
1077
+ );
1066
1078
  this.executeResult = {
1067
1079
  success: true,
1068
1080
  transactionId: void 0,
@@ -1471,7 +1483,9 @@ ${displayContent}
1471
1483
  `;
1472
1484
  }
1473
1485
  if (profile.social && Object.keys(profile.social).length > 0) {
1474
- profileDetails += `Social: ${Object.entries(profile.social).map(([platform, handle]) => `${platform}: ${handle}`).join(", ")}
1486
+ profileDetails += `Social: ${Object.entries(profile.social).map(
1487
+ ([platform, handle]) => `${platform}: ${handle}`
1488
+ ).join(", ")}
1475
1489
  `;
1476
1490
  }
1477
1491
  if (profile.properties && Object.keys(profile.properties).length > 0) {