@hashgraphonline/standards-agent-kit 0.2.136 → 0.2.138

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 (211) hide show
  1. package/README.md +3 -4
  2. package/dist/cjs/builders/hcs10/hcs10-builder.d.ts +1 -0
  3. package/dist/cjs/builders/hcs2/hcs2-builder.d.ts +8 -7
  4. package/dist/cjs/builders/hcs6/hcs6-builder.d.ts +5 -4
  5. package/dist/cjs/builders/inscriber/inscriber-builder.d.ts +32 -1
  6. package/dist/cjs/index.d.ts +4 -0
  7. package/dist/cjs/signing/bytes-registry.d.ts +17 -0
  8. package/dist/cjs/signing/signer-provider.d.ts +45 -0
  9. package/dist/cjs/standards-agent-kit.cjs +1 -1
  10. package/dist/cjs/standards-agent-kit.cjs.map +1 -1
  11. package/dist/cjs/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
  12. package/dist/cjs/tools/hcs2/CreateRegistryTool.d.ts +2 -2
  13. package/dist/cjs/tools/hcs2/DeleteEntryTool.d.ts +2 -2
  14. package/dist/cjs/tools/hcs2/UpdateEntryTool.d.ts +2 -2
  15. package/dist/cjs/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
  16. package/dist/cjs/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
  17. package/dist/cjs/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
  18. package/dist/cjs/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
  19. package/dist/cjs/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
  20. package/dist/cjs/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
  21. package/dist/cjs/types/inscription-response.d.ts +8 -0
  22. package/dist/cjs/types/tx-results.d.ts +15 -0
  23. package/dist/cjs/utils/CodedError.d.ts +4 -0
  24. package/dist/cjs/utils/inscription-utils.d.ts +21 -0
  25. package/dist/cjs/validation/hip412-schemas.d.ts +2 -2
  26. package/dist/es/builders/hcs10/hcs10-builder.d.ts +1 -0
  27. package/dist/es/builders/hcs2/hcs2-builder.d.ts +8 -7
  28. package/dist/es/builders/hcs6/hcs6-builder.d.ts +5 -4
  29. package/dist/es/builders/inscriber/inscriber-builder.d.ts +32 -1
  30. package/dist/es/index.d.ts +4 -0
  31. package/dist/es/signing/bytes-registry.d.ts +17 -0
  32. package/dist/es/signing/signer-provider.d.ts +45 -0
  33. package/dist/es/standards-agent-kit.es.js +46 -42
  34. package/dist/es/standards-agent-kit.es.js.map +1 -1
  35. package/dist/es/standards-agent-kit.es10.js +24 -83
  36. package/dist/es/standards-agent-kit.es10.js.map +1 -1
  37. package/dist/es/standards-agent-kit.es11.js +224 -20
  38. package/dist/es/standards-agent-kit.es11.js.map +1 -1
  39. package/dist/es/standards-agent-kit.es12.js +78 -27
  40. package/dist/es/standards-agent-kit.es12.js.map +1 -1
  41. package/dist/es/standards-agent-kit.es13.js +26 -36
  42. package/dist/es/standards-agent-kit.es13.js.map +1 -1
  43. package/dist/es/standards-agent-kit.es14.js +17 -39
  44. package/dist/es/standards-agent-kit.es14.js.map +1 -1
  45. package/dist/es/standards-agent-kit.es15.js +36 -58
  46. package/dist/es/standards-agent-kit.es15.js.map +1 -1
  47. package/dist/es/standards-agent-kit.es16.js +45 -18
  48. package/dist/es/standards-agent-kit.es16.js.map +1 -1
  49. package/dist/es/standards-agent-kit.es17.js +53 -16
  50. package/dist/es/standards-agent-kit.es17.js.map +1 -1
  51. package/dist/es/standards-agent-kit.es18.js +18 -28
  52. package/dist/es/standards-agent-kit.es18.js.map +1 -1
  53. package/dist/es/standards-agent-kit.es19.js +26 -12
  54. package/dist/es/standards-agent-kit.es19.js.map +1 -1
  55. package/dist/es/standards-agent-kit.es20.js +38 -136
  56. package/dist/es/standards-agent-kit.es20.js.map +1 -1
  57. package/dist/es/standards-agent-kit.es21.js +13 -24
  58. package/dist/es/standards-agent-kit.es21.js.map +1 -1
  59. package/dist/es/standards-agent-kit.es22.js +136 -39
  60. package/dist/es/standards-agent-kit.es22.js.map +1 -1
  61. package/dist/es/standards-agent-kit.es23.js +25 -41
  62. package/dist/es/standards-agent-kit.es23.js.map +1 -1
  63. package/dist/es/standards-agent-kit.es24.js +49 -31
  64. package/dist/es/standards-agent-kit.es24.js.map +1 -1
  65. package/dist/es/standards-agent-kit.es25.js +34 -18
  66. package/dist/es/standards-agent-kit.es25.js.map +1 -1
  67. package/dist/es/standards-agent-kit.es26.js +35 -19
  68. package/dist/es/standards-agent-kit.es26.js.map +1 -1
  69. package/dist/es/standards-agent-kit.es27.js +45 -32
  70. package/dist/es/standards-agent-kit.es27.js.map +1 -1
  71. package/dist/es/standards-agent-kit.es28.js +54 -25
  72. package/dist/es/standards-agent-kit.es28.js.map +1 -1
  73. package/dist/es/standards-agent-kit.es29.js +35 -23
  74. package/dist/es/standards-agent-kit.es29.js.map +1 -1
  75. package/dist/es/standards-agent-kit.es3.js +41 -1545
  76. package/dist/es/standards-agent-kit.es3.js.map +1 -1
  77. package/dist/es/standards-agent-kit.es30.js +23 -39
  78. package/dist/es/standards-agent-kit.es30.js.map +1 -1
  79. package/dist/es/standards-agent-kit.es31.js +30 -28
  80. package/dist/es/standards-agent-kit.es31.js.map +1 -1
  81. package/dist/es/standards-agent-kit.es32.js +45 -32
  82. package/dist/es/standards-agent-kit.es32.js.map +1 -1
  83. package/dist/es/standards-agent-kit.es33.js +50 -89
  84. package/dist/es/standards-agent-kit.es33.js.map +1 -1
  85. package/dist/es/standards-agent-kit.es34.js +35 -228
  86. package/dist/es/standards-agent-kit.es34.js.map +1 -1
  87. package/dist/es/standards-agent-kit.es35.js +87 -212
  88. package/dist/es/standards-agent-kit.es35.js.map +1 -1
  89. package/dist/es/standards-agent-kit.es36.js +188 -128
  90. package/dist/es/standards-agent-kit.es36.js.map +1 -1
  91. package/dist/es/standards-agent-kit.es37.js +167 -561
  92. package/dist/es/standards-agent-kit.es37.js.map +1 -1
  93. package/dist/es/standards-agent-kit.es38.js +236 -31
  94. package/dist/es/standards-agent-kit.es38.js.map +1 -1
  95. package/dist/es/standards-agent-kit.es39.js +483 -206
  96. package/dist/es/standards-agent-kit.es39.js.map +1 -1
  97. package/dist/es/standards-agent-kit.es4.js +359 -81
  98. package/dist/es/standards-agent-kit.es4.js.map +1 -1
  99. package/dist/es/standards-agent-kit.es40.js +39 -135
  100. package/dist/es/standards-agent-kit.es40.js.map +1 -1
  101. package/dist/es/standards-agent-kit.es41.js +244 -28
  102. package/dist/es/standards-agent-kit.es41.js.map +1 -1
  103. package/dist/es/standards-agent-kit.es42.js +132 -418
  104. package/dist/es/standards-agent-kit.es42.js.map +1 -1
  105. package/dist/es/standards-agent-kit.es43.js +28 -184
  106. package/dist/es/standards-agent-kit.es43.js.map +1 -1
  107. package/dist/es/standards-agent-kit.es44.js +423 -3
  108. package/dist/es/standards-agent-kit.es44.js.map +1 -1
  109. package/dist/es/standards-agent-kit.es45.js +185 -24
  110. package/dist/es/standards-agent-kit.es45.js.map +1 -1
  111. package/dist/es/standards-agent-kit.es46.js +3 -3
  112. package/dist/es/standards-agent-kit.es46.js.map +1 -1
  113. package/dist/es/standards-agent-kit.es47.js +21 -50
  114. package/dist/es/standards-agent-kit.es47.js.map +1 -1
  115. package/dist/es/standards-agent-kit.es48.js +8 -3
  116. package/dist/es/standards-agent-kit.es48.js.map +1 -1
  117. package/dist/es/standards-agent-kit.es49.js +3 -39
  118. package/dist/es/standards-agent-kit.es49.js.map +1 -1
  119. package/dist/es/standards-agent-kit.es5.js +1747 -73
  120. package/dist/es/standards-agent-kit.es5.js.map +1 -1
  121. package/dist/es/standards-agent-kit.es50.js +18 -16
  122. package/dist/es/standards-agent-kit.es50.js.map +1 -1
  123. package/dist/es/standards-agent-kit.es51.js +49 -49
  124. package/dist/es/standards-agent-kit.es51.js.map +1 -1
  125. package/dist/es/standards-agent-kit.es52.js +6 -0
  126. package/dist/es/standards-agent-kit.es52.js.map +1 -0
  127. package/dist/es/standards-agent-kit.es53.js +43 -0
  128. package/dist/es/standards-agent-kit.es53.js.map +1 -0
  129. package/dist/es/standards-agent-kit.es54.js +22 -0
  130. package/dist/es/standards-agent-kit.es54.js.map +1 -0
  131. package/dist/es/standards-agent-kit.es55.js +77 -0
  132. package/dist/es/standards-agent-kit.es55.js.map +1 -0
  133. package/dist/es/standards-agent-kit.es56.js +7 -0
  134. package/dist/es/standards-agent-kit.es56.js.map +1 -0
  135. package/dist/es/standards-agent-kit.es6.js +347 -32
  136. package/dist/es/standards-agent-kit.es6.js.map +1 -1
  137. package/dist/es/standards-agent-kit.es7.js +142 -293
  138. package/dist/es/standards-agent-kit.es7.js.map +1 -1
  139. package/dist/es/standards-agent-kit.es8.js +201 -21
  140. package/dist/es/standards-agent-kit.es8.js.map +1 -1
  141. package/dist/es/standards-agent-kit.es9.js +301 -213
  142. package/dist/es/standards-agent-kit.es9.js.map +1 -1
  143. package/dist/es/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
  144. package/dist/es/tools/hcs2/CreateRegistryTool.d.ts +2 -2
  145. package/dist/es/tools/hcs2/DeleteEntryTool.d.ts +2 -2
  146. package/dist/es/tools/hcs2/UpdateEntryTool.d.ts +2 -2
  147. package/dist/es/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
  148. package/dist/es/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
  149. package/dist/es/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
  150. package/dist/es/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
  151. package/dist/es/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
  152. package/dist/es/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
  153. package/dist/es/types/inscription-response.d.ts +8 -0
  154. package/dist/es/types/tx-results.d.ts +15 -0
  155. package/dist/es/utils/CodedError.d.ts +4 -0
  156. package/dist/es/utils/inscription-utils.d.ts +21 -0
  157. package/dist/es/validation/hip412-schemas.d.ts +2 -2
  158. package/dist/umd/builders/hcs10/hcs10-builder.d.ts +1 -0
  159. package/dist/umd/builders/hcs2/hcs2-builder.d.ts +8 -7
  160. package/dist/umd/builders/hcs6/hcs6-builder.d.ts +5 -4
  161. package/dist/umd/builders/inscriber/inscriber-builder.d.ts +32 -1
  162. package/dist/umd/index.d.ts +4 -0
  163. package/dist/umd/signing/bytes-registry.d.ts +17 -0
  164. package/dist/umd/signing/signer-provider.d.ts +45 -0
  165. package/dist/umd/standards-agent-kit.umd.js +1 -1
  166. package/dist/umd/standards-agent-kit.umd.js.map +1 -1
  167. package/dist/umd/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
  168. package/dist/umd/tools/hcs2/CreateRegistryTool.d.ts +2 -2
  169. package/dist/umd/tools/hcs2/DeleteEntryTool.d.ts +2 -2
  170. package/dist/umd/tools/hcs2/UpdateEntryTool.d.ts +2 -2
  171. package/dist/umd/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
  172. package/dist/umd/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
  173. package/dist/umd/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
  174. package/dist/umd/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
  175. package/dist/umd/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
  176. package/dist/umd/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
  177. package/dist/umd/types/inscription-response.d.ts +8 -0
  178. package/dist/umd/types/tx-results.d.ts +15 -0
  179. package/dist/umd/utils/CodedError.d.ts +4 -0
  180. package/dist/umd/utils/inscription-utils.d.ts +21 -0
  181. package/dist/umd/validation/hip412-schemas.d.ts +2 -2
  182. package/package.json +10 -5
  183. package/src/builders/hcs10/hcs10-builder.ts +239 -6
  184. package/src/builders/hcs2/hcs2-builder.ts +302 -9
  185. package/src/builders/hcs6/hcs6-builder.ts +79 -4
  186. package/src/builders/inscriber/inscriber-builder.ts +235 -2
  187. package/src/hcs10/HCS10Client.ts +1 -1
  188. package/src/index.ts +5 -1
  189. package/src/lib/zod-render/schema-extension.ts +0 -1
  190. package/src/signing/bytes-registry.ts +501 -0
  191. package/src/signing/signer-provider.ts +120 -0
  192. package/src/tools/hcs2/CreateRegistryTool.ts +30 -5
  193. package/src/tools/hcs2/DeleteEntryTool.ts +16 -2
  194. package/src/tools/hcs2/MigrateRegistryTool.ts +16 -2
  195. package/src/tools/hcs2/QueryRegistryTool.ts +11 -2
  196. package/src/tools/hcs2/RegisterEntryTool.ts +17 -3
  197. package/src/tools/hcs2/UpdateEntryTool.ts +16 -2
  198. package/src/tools/hcs6/CreateDynamicRegistryTool.ts +17 -3
  199. package/src/tools/hcs6/RegisterDynamicHashinalTool.ts +17 -3
  200. package/src/tools/hcs6/UpdateDynamicHashinalTool.ts +17 -3
  201. package/src/tools/inscriber/InscribeFromBufferTool.ts +126 -21
  202. package/src/tools/inscriber/InscribeFromFileTool.ts +10 -13
  203. package/src/tools/inscriber/InscribeFromUrlTool.ts +15 -11
  204. package/src/tools/inscriber/InscribeHashinalTool.ts +40 -168
  205. package/src/tools/inscriber/RetrieveInscriptionTool.ts +15 -16
  206. package/src/types/inscription-response.ts +27 -0
  207. package/src/types/tx-results.ts +18 -0
  208. package/src/utils/CodedError.ts +8 -0
  209. package/src/utils/Encryption.ts +0 -2
  210. package/src/utils/ensure-agent-has-hbar.ts +4 -5
  211. package/src/utils/inscription-utils.ts +53 -0
@@ -1,47 +1,49 @@
1
1
  import { loadConfig } from "./standards-agent-kit.es2.js";
2
- import { HCS10Builder } from "./standards-agent-kit.es3.js";
3
- import { HCS2Builder } from "./standards-agent-kit.es4.js";
4
- import { HCS6Builder } from "./standards-agent-kit.es5.js";
5
- import { InscriberBuilder } from "./standards-agent-kit.es6.js";
6
- import { HCS10Client } from "./standards-agent-kit.es7.js";
7
- import { BaseHCS10QueryTool, BaseHCS10TransactionTool } from "./standards-agent-kit.es8.js";
8
- import { RegisterAgentTool } from "./standards-agent-kit.es9.js";
9
- import { SendMessageToConnectionTool } from "./standards-agent-kit.es10.js";
10
- import { InitiateConnectionTool } from "./standards-agent-kit.es11.js";
11
- import { ListConnectionsTool } from "./standards-agent-kit.es12.js";
12
- import { CheckMessagesTool } from "./standards-agent-kit.es13.js";
13
- import { FindRegistrationsTool } from "./standards-agent-kit.es14.js";
14
- import { ConnectionMonitorTool } from "./standards-agent-kit.es15.js";
15
- import { ManageConnectionRequestsTool } from "./standards-agent-kit.es16.js";
16
- import { AcceptConnectionRequestTool } from "./standards-agent-kit.es17.js";
17
- import { RetrieveProfileTool } from "./standards-agent-kit.es18.js";
18
- import { ListUnapprovedConnectionRequestsTool } from "./standards-agent-kit.es19.js";
19
- import { NaturalLanguageMapper } from "./standards-agent-kit.es20.js";
20
- import { BaseHCS2QueryTool, BaseHCS2TransactionTool } from "./standards-agent-kit.es21.js";
21
- import { CreateRegistryTool } from "./standards-agent-kit.es22.js";
22
- import { RegisterEntryTool } from "./standards-agent-kit.es23.js";
23
- import { UpdateEntryTool } from "./standards-agent-kit.es24.js";
24
- import { DeleteEntryTool } from "./standards-agent-kit.es25.js";
25
- import { MigrateRegistryTool } from "./standards-agent-kit.es26.js";
26
- import { QueryRegistryTool } from "./standards-agent-kit.es27.js";
27
- import { BaseHCS6QueryTool, BaseHCS6TransactionTool } from "./standards-agent-kit.es28.js";
28
- import { CreateDynamicRegistryTool } from "./standards-agent-kit.es29.js";
29
- import { RegisterDynamicHashinalTool } from "./standards-agent-kit.es30.js";
30
- import { UpdateDynamicHashinalTool } from "./standards-agent-kit.es31.js";
31
- import { QueryDynamicRegistryTool } from "./standards-agent-kit.es32.js";
32
- import { BaseInscriberQueryTool, BaseInscriberTransactionTool } from "./standards-agent-kit.es33.js";
33
- import { InscribeFromUrlTool } from "./standards-agent-kit.es34.js";
34
- import { InscribeFromFileTool } from "./standards-agent-kit.es35.js";
35
- import { InscribeFromBufferTool } from "./standards-agent-kit.es36.js";
36
- import { InscribeHashinalTool } from "./standards-agent-kit.es37.js";
37
- import { RetrieveInscriptionTool } from "./standards-agent-kit.es38.js";
38
- import { OpenConvaiState } from "./standards-agent-kit.es39.js";
39
- import { initializeStandardsAgentKit } from "./standards-agent-kit.es40.js";
2
+ import { SignerProviderRegistry } from "./standards-agent-kit.es3.js";
3
+ import { ByteBuildRegistry } from "./standards-agent-kit.es4.js";
4
+ import { HCS10Builder } from "./standards-agent-kit.es5.js";
5
+ import { HCS2Builder } from "./standards-agent-kit.es6.js";
6
+ import { HCS6Builder } from "./standards-agent-kit.es7.js";
7
+ import { InscriberBuilder } from "./standards-agent-kit.es8.js";
8
+ import { HCS10Client } from "./standards-agent-kit.es9.js";
9
+ import { BaseHCS10QueryTool, BaseHCS10TransactionTool } from "./standards-agent-kit.es10.js";
10
+ import { RegisterAgentTool } from "./standards-agent-kit.es11.js";
11
+ import { SendMessageToConnectionTool } from "./standards-agent-kit.es12.js";
12
+ import { InitiateConnectionTool } from "./standards-agent-kit.es13.js";
13
+ import { ListConnectionsTool } from "./standards-agent-kit.es14.js";
14
+ import { CheckMessagesTool } from "./standards-agent-kit.es15.js";
15
+ import { FindRegistrationsTool } from "./standards-agent-kit.es16.js";
16
+ import { ConnectionMonitorTool } from "./standards-agent-kit.es17.js";
17
+ import { ManageConnectionRequestsTool } from "./standards-agent-kit.es18.js";
18
+ import { AcceptConnectionRequestTool } from "./standards-agent-kit.es19.js";
19
+ import { RetrieveProfileTool } from "./standards-agent-kit.es20.js";
20
+ import { ListUnapprovedConnectionRequestsTool } from "./standards-agent-kit.es21.js";
21
+ import { NaturalLanguageMapper } from "./standards-agent-kit.es22.js";
22
+ import { BaseHCS2QueryTool, BaseHCS2TransactionTool } from "./standards-agent-kit.es23.js";
23
+ import { CreateRegistryTool } from "./standards-agent-kit.es24.js";
24
+ import { RegisterEntryTool } from "./standards-agent-kit.es25.js";
25
+ import { UpdateEntryTool } from "./standards-agent-kit.es26.js";
26
+ import { DeleteEntryTool } from "./standards-agent-kit.es27.js";
27
+ import { MigrateRegistryTool } from "./standards-agent-kit.es28.js";
28
+ import { QueryRegistryTool } from "./standards-agent-kit.es29.js";
29
+ import { BaseHCS6QueryTool, BaseHCS6TransactionTool } from "./standards-agent-kit.es30.js";
30
+ import { CreateDynamicRegistryTool } from "./standards-agent-kit.es31.js";
31
+ import { RegisterDynamicHashinalTool } from "./standards-agent-kit.es32.js";
32
+ import { UpdateDynamicHashinalTool } from "./standards-agent-kit.es33.js";
33
+ import { QueryDynamicRegistryTool } from "./standards-agent-kit.es34.js";
34
+ import { BaseInscriberQueryTool, BaseInscriberTransactionTool } from "./standards-agent-kit.es35.js";
35
+ import { InscribeFromUrlTool } from "./standards-agent-kit.es36.js";
36
+ import { InscribeFromFileTool } from "./standards-agent-kit.es37.js";
37
+ import { InscribeFromBufferTool } from "./standards-agent-kit.es38.js";
38
+ import { InscribeHashinalTool } from "./standards-agent-kit.es39.js";
39
+ import { RetrieveInscriptionTool } from "./standards-agent-kit.es40.js";
40
+ import { OpenConvaiState } from "./standards-agent-kit.es41.js";
41
+ import { initializeStandardsAgentKit } from "./standards-agent-kit.es42.js";
40
42
  import { BasePlugin, HederaGetHbarPriceTool, PluginRegistry } from "hedera-agent-kit";
41
- import { HbarPricePlugin } from "./standards-agent-kit.es41.js";
42
- import { createProgressiveSchema, enhanceRenderConfig, extendZodSchema, extractFieldMetadata, extractOptionsFromSchema, extractProgressiveInfo, extractValidationConstraints, getDefaultValue, getInnerSchema, getRenderConfig, hasRenderConfig, inferFieldTypeFromSchema, installZodRenderExtensions, isOptionalSchema, renderConfigs } from "./standards-agent-kit.es42.js";
43
- import { createFieldConfigMap, createSimpleConfig, extractRenderConfigs, generateFieldOrdering } from "./standards-agent-kit.es43.js";
44
- import { isFormValidatable } from "./standards-agent-kit.es44.js";
43
+ import { HbarPricePlugin } from "./standards-agent-kit.es43.js";
44
+ import { createProgressiveSchema, enhanceRenderConfig, extendZodSchema, extractFieldMetadata, extractOptionsFromSchema, extractProgressiveInfo, extractValidationConstraints, getDefaultValue, getInnerSchema, getRenderConfig, hasRenderConfig, inferFieldTypeFromSchema, installZodRenderExtensions, isOptionalSchema, renderConfigs } from "./standards-agent-kit.es44.js";
45
+ import { createFieldConfigMap, createSimpleConfig, extractRenderConfigs, generateFieldOrdering } from "./standards-agent-kit.es45.js";
46
+ import { isFormValidatable } from "./standards-agent-kit.es46.js";
45
47
  export {
46
48
  AcceptConnectionRequestTool,
47
49
  BaseHCS10QueryTool,
@@ -53,6 +55,7 @@ export {
53
55
  BaseInscriberQueryTool,
54
56
  BaseInscriberTransactionTool,
55
57
  BasePlugin,
58
+ ByteBuildRegistry,
56
59
  CheckMessagesTool,
57
60
  ConnectionMonitorTool,
58
61
  CreateDynamicRegistryTool,
@@ -86,6 +89,7 @@ export {
86
89
  RetrieveInscriptionTool,
87
90
  RetrieveProfileTool,
88
91
  SendMessageToConnectionTool,
92
+ SignerProviderRegistry,
89
93
  UpdateDynamicHashinalTool,
90
94
  UpdateEntryTool,
91
95
  createFieldConfigMap,
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"standards-agent-kit.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,91 +1,32 @@
1
- import { z } from "zod";
2
- import { BaseHCS10TransactionTool } from "./standards-agent-kit.es8.js";
3
- import { Logger } from "@hashgraphonline/standards-sdk";
4
- const logger = new Logger({ module: "SendMessageToConnectionTool" });
5
- const SendMessageToConnectionZodSchema = z.object({
6
- targetIdentifier: z.string().optional().describe(
7
- "The request key (e.g., 'req-1:0.0.6155171@0.0.6154875'), account ID (e.g., 0.0.12345) of the target agent, OR the connection number (e.g., '1', '2') from the 'list_connections' tool. Request key is most deterministic."
8
- ),
9
- connectionId: z.string().optional().describe(
10
- "The connection number (e.g., '1', '2') from the 'list_connections' tool."
11
- ),
12
- agentId: z.string().optional().describe("The account ID (e.g., 0.0.12345) of the target agent."),
13
- message: z.string().describe("The text message content to send."),
14
- disableMonitoring: z.boolean().optional().default(false)
15
- });
16
- class SendMessageToConnectionTool extends BaseHCS10TransactionTool {
1
+ import { BaseHederaTransactionTool, BaseHederaQueryTool } from "hedera-agent-kit";
2
+ class BaseHCS10TransactionTool extends BaseHederaTransactionTool {
17
3
  constructor(params) {
18
4
  super(params);
19
- this.name = "send_message_to_connection";
20
- this.description = "Use this to send a message to an agent you already have an active connection with. Provide the target agent's account ID (e.g., 0.0.12345) and your message. If no active connection exists, this will fail - use initiate_connection instead to create a new connection first.";
21
- this.specificInputSchema = SendMessageToConnectionZodSchema;
22
- this.requiresMultipleTransactions = true;
23
- this.neverScheduleThisTool = true;
5
+ this.namespace = "hcs10";
6
+ this.hcs10Builder = params.hcs10Builder;
24
7
  }
25
- async callBuilderMethod(builder, specificArgs) {
26
- const hcs10Builder = builder;
27
- const targetIdentifier = specificArgs.targetIdentifier || specificArgs.agentId || specificArgs.connectionId;
28
- if (!targetIdentifier) {
29
- throw new Error(
30
- "Either targetIdentifier, connectionId, or agentId must be provided"
31
- );
32
- }
33
- const stateManager = hcs10Builder.getStateManager();
34
- if (stateManager) {
35
- const connectionsManager = stateManager.getConnectionsManager();
36
- if (connectionsManager) {
37
- try {
38
- const currentAgent = stateManager.getCurrentAgent();
39
- if (currentAgent && currentAgent.accountId) {
40
- await connectionsManager.fetchConnectionData(
41
- currentAgent.accountId
42
- );
43
- }
44
- } catch (error) {
45
- logger.debug("Could not refresh connections:", error);
46
- }
47
- }
48
- if (targetIdentifier.match(/^\d+$/)) {
49
- const connections = stateManager.listConnections();
50
- const connectionIndex = parseInt(targetIdentifier) - 1;
51
- const establishedConnections = connections.filter(
52
- (conn) => conn.status === "established" && !conn.isPending && !conn.needsConfirmation
53
- );
54
- if (connectionIndex >= 0 && connectionIndex < establishedConnections.length) {
55
- const selectedConnection = establishedConnections[connectionIndex];
56
- if (selectedConnection && selectedConnection.connectionTopicId) {
57
- await hcs10Builder.sendMessageToConnection({
58
- targetIdentifier: selectedConnection.connectionTopicId,
59
- message: specificArgs.message,
60
- disableMonitoring: specificArgs.disableMonitoring
61
- });
62
- return;
63
- }
64
- }
65
- }
66
- if (targetIdentifier.match(/^\d+\.\d+\.\d+$/)) {
67
- const connections = stateManager.listConnections();
68
- const establishedConnection = connections.find(
69
- (conn) => (conn.targetAccountId === targetIdentifier || conn.targetAccountId === `0.0.${targetIdentifier}`) && conn.status === "established" && !conn.isPending && !conn.needsConfirmation
70
- );
71
- if (establishedConnection && establishedConnection.connectionTopicId) {
72
- await hcs10Builder.sendMessageToConnection({
73
- targetIdentifier: establishedConnection.connectionTopicId,
74
- message: specificArgs.message,
75
- disableMonitoring: specificArgs.disableMonitoring
76
- });
77
- return;
78
- }
79
- }
80
- }
81
- await hcs10Builder.sendMessageToConnection({
82
- targetIdentifier,
83
- message: specificArgs.message,
84
- disableMonitoring: specificArgs.disableMonitoring
85
- });
8
+ /**
9
+ * Override to return the HCS10Builder
10
+ */
11
+ getServiceBuilder() {
12
+ return this.hcs10Builder;
13
+ }
14
+ }
15
+ class BaseHCS10QueryTool extends BaseHederaQueryTool {
16
+ constructor(params) {
17
+ super(params);
18
+ this.namespace = "hcs10";
19
+ this.hcs10Builder = params.hcs10Builder;
20
+ }
21
+ /**
22
+ * Override to return the HCS10Builder
23
+ */
24
+ getServiceBuilder() {
25
+ return this.hcs10Builder;
86
26
  }
87
27
  }
88
28
  export {
89
- SendMessageToConnectionTool
29
+ BaseHCS10QueryTool,
30
+ BaseHCS10TransactionTool
90
31
  };
91
32
  //# sourceMappingURL=standards-agent-kit.es10.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es10.js","sources":["../../src/tools/hcs10/SendMessageToConnectionTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS10TransactionTool } from './base-hcs10-tools';\nimport { HCS10Builder } from '../../builders/hcs10/hcs10-builder';\nimport { HCS10TransactionToolParams } from './hcs10-tool-params';\nimport { BaseServiceBuilder } from 'hedera-agent-kit';\nimport { Logger } from '@hashgraphonline/standards-sdk';\n\nconst logger = new Logger({ module: 'SendMessageToConnectionTool' });\n\nconst SendMessageToConnectionZodSchema = z.object({\n targetIdentifier: z\n .string()\n .optional()\n .describe(\n \"The request key (e.g., 'req-1:0.0.6155171@0.0.6154875'), account ID (e.g., 0.0.12345) of the target agent, OR the connection number (e.g., '1', '2') from the 'list_connections' tool. Request key is most deterministic.\"\n ),\n connectionId: z\n .string()\n .optional()\n .describe(\n \"The connection number (e.g., '1', '2') from the 'list_connections' tool.\"\n ),\n agentId: z\n .string()\n .optional()\n .describe('The account ID (e.g., 0.0.12345) of the target agent.'),\n message: z.string().describe('The text message content to send.'),\n disableMonitoring: z.boolean().optional().default(false),\n});\n\n/**\n * A tool to send a message to an agent over an established HCS-10 connection.\n */\nexport class SendMessageToConnectionTool extends BaseHCS10TransactionTool<\n typeof SendMessageToConnectionZodSchema\n> {\n name = 'send_message_to_connection';\n description =\n \"Use this to send a message to an agent you already have an active connection with. Provide the target agent's account ID (e.g., 0.0.12345) and your message. If no active connection exists, this will fail - use initiate_connection instead to create a new connection first.\";\n specificInputSchema = SendMessageToConnectionZodSchema;\n constructor(params: HCS10TransactionToolParams) {\n super(params);\n this.requiresMultipleTransactions = true;\n this.neverScheduleThisTool = true;\n }\n\n protected async callBuilderMethod(\n builder: BaseServiceBuilder,\n specificArgs: z.infer<typeof SendMessageToConnectionZodSchema>\n ): Promise<void> {\n const hcs10Builder = builder as HCS10Builder;\n\n const targetIdentifier =\n specificArgs.targetIdentifier ||\n specificArgs.agentId ||\n specificArgs.connectionId;\n\n if (!targetIdentifier) {\n throw new Error(\n 'Either targetIdentifier, connectionId, or agentId must be provided'\n );\n }\n\n const stateManager = hcs10Builder.getStateManager();\n if (stateManager) {\n const connectionsManager = stateManager.getConnectionsManager();\n if (connectionsManager) {\n try {\n const currentAgent = stateManager.getCurrentAgent();\n if (currentAgent && currentAgent.accountId) {\n await connectionsManager.fetchConnectionData(\n currentAgent.accountId\n );\n }\n } catch (error) {\n logger.debug('Could not refresh connections:', error);\n }\n }\n\n if (targetIdentifier.match(/^\\d+$/)) {\n const connections = stateManager.listConnections();\n const connectionIndex = parseInt(targetIdentifier) - 1; // Connection numbers are 1-based\n\n const establishedConnections = connections.filter(\n (conn) =>\n conn.status === 'established' &&\n !conn.isPending &&\n !conn.needsConfirmation\n );\n\n if (\n connectionIndex >= 0 &&\n connectionIndex < establishedConnections.length\n ) {\n const selectedConnection = establishedConnections[connectionIndex];\n if (selectedConnection && selectedConnection.connectionTopicId) {\n await hcs10Builder.sendMessageToConnection({\n targetIdentifier: selectedConnection.connectionTopicId,\n message: specificArgs.message,\n disableMonitoring: specificArgs.disableMonitoring,\n });\n return;\n }\n }\n }\n\n if (targetIdentifier.match(/^\\d+\\.\\d+\\.\\d+$/)) {\n const connections = stateManager.listConnections();\n const establishedConnection = connections.find(\n (conn) =>\n (conn.targetAccountId === targetIdentifier ||\n conn.targetAccountId === `0.0.${targetIdentifier}`) &&\n conn.status === 'established' &&\n !conn.isPending &&\n !conn.needsConfirmation\n );\n\n if (establishedConnection && establishedConnection.connectionTopicId) {\n await hcs10Builder.sendMessageToConnection({\n targetIdentifier: establishedConnection.connectionTopicId,\n message: specificArgs.message,\n disableMonitoring: specificArgs.disableMonitoring,\n });\n return;\n }\n }\n }\n\n await hcs10Builder.sendMessageToConnection({\n targetIdentifier: targetIdentifier,\n message: specificArgs.message,\n disableMonitoring: specificArgs.disableMonitoring,\n });\n }\n}\n"],"names":[],"mappings":";;;AAOA,MAAM,SAAS,IAAI,OAAO,EAAE,QAAQ,+BAA+B;AAEnE,MAAM,mCAAmC,EAAE,OAAO;AAAA,EAChD,kBAAkB,EACf,SACA,WACA;AAAA,IACC;AAAA,EAAA;AAAA,EAEJ,cAAc,EACX,SACA,WACA;AAAA,IACC;AAAA,EAAA;AAAA,EAEJ,SAAS,EACN,OAAA,EACA,SAAA,EACA,SAAS,uDAAuD;AAAA,EACnE,SAAS,EAAE,SAAS,SAAS,mCAAmC;AAAA,EAChE,mBAAmB,EAAE,QAAA,EAAU,SAAA,EAAW,QAAQ,KAAK;AACzD,CAAC;AAKM,MAAM,oCAAoC,yBAE/C;AAAA,EAKA,YAAY,QAAoC;AAC9C,UAAM,MAAM;AALd,SAAA,OAAO;AACP,SAAA,cACE;AACF,SAAA,sBAAsB;AAGpB,SAAK,+BAA+B;AACpC,SAAK,wBAAwB;AAAA,EAC/B;AAAA,EAEA,MAAgB,kBACd,SACA,cACe;AACf,UAAM,eAAe;AAErB,UAAM,mBACJ,aAAa,oBACb,aAAa,WACb,aAAa;AAEf,QAAI,CAAC,kBAAkB;AACrB,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAM,eAAe,aAAa,gBAAA;AAClC,QAAI,cAAc;AAChB,YAAM,qBAAqB,aAAa,sBAAA;AACxC,UAAI,oBAAoB;AACtB,YAAI;AACF,gBAAM,eAAe,aAAa,gBAAA;AAClC,cAAI,gBAAgB,aAAa,WAAW;AAC1C,kBAAM,mBAAmB;AAAA,cACvB,aAAa;AAAA,YAAA;AAAA,UAEjB;AAAA,QACF,SAAS,OAAO;AACd,iBAAO,MAAM,kCAAkC,KAAK;AAAA,QACtD;AAAA,MACF;AAEA,UAAI,iBAAiB,MAAM,OAAO,GAAG;AACnC,cAAM,cAAc,aAAa,gBAAA;AACjC,cAAM,kBAAkB,SAAS,gBAAgB,IAAI;AAErD,cAAM,yBAAyB,YAAY;AAAA,UACzC,CAAC,SACC,KAAK,WAAW,iBAChB,CAAC,KAAK,aACN,CAAC,KAAK;AAAA,QAAA;AAGV,YACE,mBAAmB,KACnB,kBAAkB,uBAAuB,QACzC;AACA,gBAAM,qBAAqB,uBAAuB,eAAe;AACjE,cAAI,sBAAsB,mBAAmB,mBAAmB;AAC9D,kBAAM,aAAa,wBAAwB;AAAA,cACzC,kBAAkB,mBAAmB;AAAA,cACrC,SAAS,aAAa;AAAA,cACtB,mBAAmB,aAAa;AAAA,YAAA,CACjC;AACD;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,UAAI,iBAAiB,MAAM,iBAAiB,GAAG;AAC7C,cAAM,cAAc,aAAa,gBAAA;AACjC,cAAM,wBAAwB,YAAY;AAAA,UACxC,CAAC,UACE,KAAK,oBAAoB,oBACxB,KAAK,oBAAoB,OAAO,gBAAgB,OAClD,KAAK,WAAW,iBAChB,CAAC,KAAK,aACN,CAAC,KAAK;AAAA,QAAA;AAGV,YAAI,yBAAyB,sBAAsB,mBAAmB;AACpE,gBAAM,aAAa,wBAAwB;AAAA,YACzC,kBAAkB,sBAAsB;AAAA,YACxC,SAAS,aAAa;AAAA,YACtB,mBAAmB,aAAa;AAAA,UAAA,CACjC;AACD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,aAAa,wBAAwB;AAAA,MACzC;AAAA,MACA,SAAS,aAAa;AAAA,MACtB,mBAAmB,aAAa;AAAA,IAAA,CACjC;AAAA,EACH;AACF;"}
1
+ {"version":3,"file":"standards-agent-kit.es10.js","sources":["../../src/tools/hcs10/base-hcs10-tools.ts"],"sourcesContent":["import {\n BaseHederaTransactionTool,\n BaseHederaQueryTool,\n BaseServiceBuilder,\n} from 'hedera-agent-kit';\nimport { HCS10Builder } from '../../builders/hcs10/hcs10-builder';\nimport {\n HCS10TransactionToolParams,\n HCS10QueryToolParams,\n} from './hcs10-tool-params';\nimport { z } from 'zod';\n\n/**\n * Base class for HCS10 transaction tools\n */\nexport abstract class BaseHCS10TransactionTool<\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 hcs10Builder: HCS10Builder;\n namespace = 'hcs10' as const;\n\n constructor(params: HCS10TransactionToolParams) {\n super(params);\n this.hcs10Builder = params.hcs10Builder;\n }\n\n /**\n * Override to return the HCS10Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs10Builder;\n }\n}\n\n/**\n * Base class for HCS10 query tools\n */\nexport abstract class BaseHCS10QueryTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaQueryTool<T> {\n protected hcs10Builder: HCS10Builder;\n namespace = 'hcs10' as const;\n\n constructor(params: HCS10QueryToolParams) {\n super(params);\n this.hcs10Builder = params.hcs10Builder;\n }\n\n /**\n * Override to return the HCS10Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs10Builder;\n }\n}\n"],"names":[],"mappings":";AAeO,MAAe,iCAMZ,0BAA6B;AAAA,EAIrC,YAAY,QAAoC;AAC9C,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,eAAe,OAAO;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;AAKO,MAAe,2BAMZ,oBAAuB;AAAA,EAI/B,YAAY,QAA8B;AACxC,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,eAAe,OAAO;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;"}
@@ -1,40 +1,244 @@
1
+ import { AIAgentCapability } from "@hashgraphonline/standards-sdk";
1
2
  import { z } from "zod";
2
- import { BaseHCS10TransactionTool } from "./standards-agent-kit.es8.js";
3
- const InitiateConnectionZodSchema = z.object({
4
- targetAccountId: z.string().describe(
5
- "The Hedera account ID (e.g., 0.0.12345) of the agent you want to connect with."
3
+ import { BaseHCS10TransactionTool } from "./standards-agent-kit.es10.js";
4
+ import { NaturalLanguageMapper } from "./standards-agent-kit.es22.js";
5
+ const RegisterAgentZodSchema = z.object({
6
+ name: z.string().min(1).max(50).describe("A unique name for the agent (1-50 characters)"),
7
+ description: z.string().max(500).optional().describe("Optional bio description for the agent (max 500 characters)"),
8
+ alias: z.string().optional().transform((val) => {
9
+ if (!val || val.toLowerCase().includes("random")) {
10
+ const timestamp = Date.now().toString(36);
11
+ const randomChars = Math.random().toString(36);
12
+ return `bot${timestamp}${randomChars}`;
13
+ }
14
+ return val;
15
+ }).describe(
16
+ 'Optional custom username/alias for the agent. Use "random" to generate a unique alias'
17
+ ),
18
+ type: z.enum(["autonomous", "manual"]).optional().describe("Agent type (default: autonomous)"),
19
+ model: z.string().optional().describe("AI model identifier (default: agent-model-2024)"),
20
+ capabilities: z.union([
21
+ z.array(z.nativeEnum(AIAgentCapability)),
22
+ z.array(z.string()),
23
+ z.string()
24
+ ]).optional().transform((val) => {
25
+ if (!val) {
26
+ return void 0;
27
+ }
28
+ if (typeof val === "string") {
29
+ return NaturalLanguageMapper.parseCapabilities(val);
30
+ }
31
+ if (Array.isArray(val) && val.length > 0 && typeof val[0] === "string") {
32
+ return NaturalLanguageMapper.parseTagsOrCapabilities(val);
33
+ }
34
+ return val;
35
+ }).describe('Agent capabilities - can be capability names (e.g. "ai", "data processing"), capability enum values, or array of either. Common values: "ai"/"text" (TEXT_GENERATION), "data" (DATA_INTEGRATION), "analytics" (TRANSACTION_ANALYTICS)'),
36
+ tags: z.union([
37
+ z.array(z.string()),
38
+ z.string()
39
+ ]).optional().transform((val) => {
40
+ if (!val) {
41
+ return void 0;
42
+ }
43
+ if (typeof val === "string") {
44
+ return NaturalLanguageMapper.parseCapabilities(val);
45
+ }
46
+ return NaturalLanguageMapper.parseTagsOrCapabilities(val);
47
+ }).describe('Tags for the agent (alternative to capabilities) - e.g. "ai", "data", "analytics". Will be converted to appropriate capabilities.'),
48
+ creator: z.string().optional().describe("Creator attribution for the agent"),
49
+ socials: z.record(
50
+ z.enum([
51
+ "twitter",
52
+ "github",
53
+ "discord",
54
+ "telegram",
55
+ "linkedin",
56
+ "youtube",
57
+ "website",
58
+ "x"
59
+ ]),
60
+ z.string()
61
+ ).optional().describe(
62
+ 'Social media links (e.g., {"twitter": "@handle", "discord": "username"})'
63
+ ),
64
+ properties: z.record(z.unknown()).optional().describe("Custom metadata properties for the agent"),
65
+ profilePicture: z.union([
66
+ z.string().describe("URL or local file path to profile picture"),
67
+ z.object({
68
+ url: z.string().optional(),
69
+ path: z.string().optional(),
70
+ filename: z.string().optional()
71
+ })
72
+ ]).optional().describe(
73
+ "Optional profile picture as URL, file path, or object with url/path/filename"
6
74
  ),
7
- disableMonitor: z.boolean().optional().describe(
8
- "If true, does not wait for connection confirmation. Returns immediately after sending the request."
75
+ existingProfilePictureTopicId: z.string().optional().describe(
76
+ "Topic ID of an existing profile picture to reuse (e.g., 0.0.12345)"
9
77
  ),
10
- memo: z.string().optional().describe(
11
- 'Optional memo to include with the connection request (e.g., "Hello from Alice"). If not provided, defaults to "true" or "false" based on monitoring preference.'
12
- )
78
+ initialBalance: z.number().positive().optional().describe(
79
+ "Optional initial HBAR balance for the new agent account (will create new account if provided)"
80
+ ),
81
+ userAccountId: z.string().optional().describe(
82
+ "Optional account ID (e.g., 0.0.12345) to use as the agent account instead of creating a new one"
83
+ ),
84
+ hbarFee: z.number().positive().optional().describe(
85
+ "Optional HBAR fee amount to charge per message on the inbound topic"
86
+ ),
87
+ tokenFees: z.array(
88
+ z.object({
89
+ amount: z.number().positive(),
90
+ tokenId: z.string()
91
+ })
92
+ ).optional().describe("Optional token fees to charge per message"),
93
+ exemptAccountIds: z.array(z.string()).optional().describe("Optional account IDs to exempt from fees"),
94
+ setAsCurrent: z.boolean().optional().describe("Whether to set as current agent (default: true)"),
95
+ persistence: z.object({
96
+ prefix: z.string().optional()
97
+ }).optional().describe("Optional persistence configuration")
13
98
  });
14
- class InitiateConnectionTool extends BaseHCS10TransactionTool {
99
+ class RegisterAgentTool extends BaseHCS10TransactionTool {
15
100
  constructor(params) {
16
101
  super(params);
17
- this.name = "initiate_connection";
18
- this.description = "ONLY use this to START a BRAND NEW connection to an agent you have NEVER connected to before. If you already have an active connection to this agent, use send_message_to_connection instead. This creates a new connection request and waits for acceptance.";
19
- this.specificInputSchema = InitiateConnectionZodSchema;
102
+ this.name = "register_agent";
103
+ this.description = 'Creates and registers the AI agent on the Hedera network. Returns JSON string with agent details (accountId, privateKey, topics) on success. Supports natural language for capabilities/tags like "ai", "data processing", "analytics". Note: This tool requires multiple transactions and cannot be used in returnBytes mode. If alias is set to "random" or contains "random", a unique alias will be generated.';
104
+ this.specificInputSchema = RegisterAgentZodSchema;
20
105
  this.neverScheduleThisTool = true;
21
106
  this.requiresMultipleTransactions = true;
22
107
  }
23
108
  async callBuilderMethod(builder, specificArgs) {
24
109
  const hcs10Builder = builder;
110
+ this.specificArgs = specificArgs;
25
111
  const params = {
26
- targetAccountId: specificArgs.targetAccountId
112
+ name: specificArgs.name
27
113
  };
28
- if (specificArgs.disableMonitor !== void 0) {
29
- params.disableMonitor = specificArgs.disableMonitor;
114
+ if (specificArgs.description !== void 0) {
115
+ params.bio = specificArgs.description;
116
+ }
117
+ if (specificArgs.alias !== void 0) {
118
+ params.alias = specificArgs.alias;
119
+ } else {
120
+ const randomSuffix = Date.now().toString(36);
121
+ params.alias = `${specificArgs.name}${randomSuffix}`;
122
+ }
123
+ if (specificArgs.type !== void 0) {
124
+ params.type = specificArgs.type;
125
+ }
126
+ if (specificArgs.model !== void 0) {
127
+ params.model = specificArgs.model;
128
+ }
129
+ if (specificArgs.tags !== void 0) {
130
+ params.capabilities = specificArgs.tags;
131
+ } else if (specificArgs.capabilities !== void 0) {
132
+ params.capabilities = specificArgs.capabilities;
133
+ }
134
+ if (specificArgs.creator !== void 0) {
135
+ params.creator = specificArgs.creator;
136
+ }
137
+ if (specificArgs.socials !== void 0) {
138
+ params.socials = specificArgs.socials;
139
+ }
140
+ if (specificArgs.properties !== void 0) {
141
+ params.properties = specificArgs.properties;
142
+ }
143
+ if (specificArgs.profilePicture !== void 0) {
144
+ if (typeof specificArgs.profilePicture === "string") {
145
+ params.profilePicture = specificArgs.profilePicture;
146
+ } else {
147
+ const profilePicObj = {};
148
+ if (specificArgs.profilePicture.url !== void 0) {
149
+ profilePicObj.url = specificArgs.profilePicture.url;
150
+ }
151
+ if (specificArgs.profilePicture.path !== void 0) {
152
+ profilePicObj.path = specificArgs.profilePicture.path;
153
+ }
154
+ if (specificArgs.profilePicture.filename !== void 0) {
155
+ profilePicObj.filename = specificArgs.profilePicture.filename;
156
+ }
157
+ params.profilePicture = profilePicObj;
158
+ }
159
+ }
160
+ if (specificArgs.existingProfilePictureTopicId !== void 0) {
161
+ params.existingProfilePictureTopicId = specificArgs.existingProfilePictureTopicId;
162
+ }
163
+ if (specificArgs.userAccountId !== void 0) {
164
+ params.userAccountId = specificArgs.userAccountId;
165
+ }
166
+ if (specificArgs.hbarFee !== void 0) {
167
+ params.hbarFee = specificArgs.hbarFee;
168
+ }
169
+ if (specificArgs.tokenFees !== void 0) {
170
+ params.tokenFees = specificArgs.tokenFees;
171
+ }
172
+ if (specificArgs.exemptAccountIds !== void 0) {
173
+ params.exemptAccountIds = specificArgs.exemptAccountIds;
174
+ }
175
+ if (specificArgs.initialBalance !== void 0) {
176
+ params.initialBalance = specificArgs.initialBalance;
177
+ }
178
+ await hcs10Builder.registerAgent(params);
179
+ }
180
+ /**
181
+ * Override _call to intercept the result and save agent to state if needed
182
+ */
183
+ async _call(args, runManager) {
184
+ const result = await super._call(args, runManager);
185
+ const shouldSetAsCurrent = this.specificArgs?.setAsCurrent !== false;
186
+ if (this.specificArgs && shouldSetAsCurrent) {
187
+ try {
188
+ const parsed = JSON.parse(result);
189
+ if (parsed.rawResult) {
190
+ this._handleRegistrationResult(parsed.rawResult);
191
+ } else if (parsed.state || parsed.accountId || parsed.metadata) {
192
+ this._handleRegistrationResult(parsed);
193
+ }
194
+ } catch (e) {
195
+ }
196
+ }
197
+ return result;
198
+ }
199
+ /**
200
+ * Extract agent data from registration result and save to state
201
+ */
202
+ _handleRegistrationResult(rawResult) {
203
+ let accountId = rawResult.accountId || rawResult.metadata?.accountId;
204
+ if (!accountId && rawResult.state?.createdResources) {
205
+ const accountResource = rawResult.state.createdResources.find(
206
+ (r) => r.startsWith("account:")
207
+ );
208
+ if (accountResource) {
209
+ accountId = accountResource.split(":")[1];
210
+ }
30
211
  }
31
- if (specificArgs.memo !== void 0) {
32
- params.memo = specificArgs.memo;
212
+ const inboundTopicId = rawResult.inboundTopicId || rawResult.metadata?.inboundTopicId || rawResult.state?.inboundTopicId;
213
+ const outboundTopicId = rawResult.outboundTopicId || rawResult.metadata?.outboundTopicId || rawResult.state?.outboundTopicId;
214
+ const profileTopicId = rawResult.profileTopicId || rawResult.metadata?.profileTopicId || rawResult.state?.profileTopicId;
215
+ const privateKey = rawResult.privateKey || rawResult.metadata?.privateKey;
216
+ if (accountId && inboundTopicId && outboundTopicId && this.specificArgs) {
217
+ const registeredAgent = {
218
+ name: this.specificArgs.name,
219
+ accountId,
220
+ inboundTopicId,
221
+ outboundTopicId,
222
+ profileTopicId,
223
+ privateKey
224
+ };
225
+ const hcs10Builder = this.getServiceBuilder();
226
+ const stateManager = hcs10Builder.getStateManager();
227
+ if (stateManager) {
228
+ stateManager.setCurrentAgent(registeredAgent);
229
+ if (stateManager.persistAgentData) {
230
+ const prefix = this.specificArgs.persistence?.prefix || this.specificArgs.name.toUpperCase().replace(/[^A-Z0-9]/g, "_");
231
+ stateManager.persistAgentData(registeredAgent, {
232
+ type: "env-file",
233
+ prefix
234
+ }).catch(() => {
235
+ });
236
+ }
237
+ }
33
238
  }
34
- await hcs10Builder.initiateConnection(params);
35
239
  }
36
240
  }
37
241
  export {
38
- InitiateConnectionTool
242
+ RegisterAgentTool
39
243
  };
40
244
  //# sourceMappingURL=standards-agent-kit.es11.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es11.js","sources":["../../src/tools/hcs10/InitiateConnectionTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS10TransactionTool } from './base-hcs10-tools';\nimport { HCS10Builder } from '../../builders/hcs10/hcs10-builder';\nimport { HCS10TransactionToolParams } from './hcs10-tool-params';\nimport { BaseServiceBuilder } from 'hedera-agent-kit';\n\nconst InitiateConnectionZodSchema = z.object({\n targetAccountId: z\n .string()\n .describe(\n 'The Hedera account ID (e.g., 0.0.12345) of the agent you want to connect with.'\n ),\n disableMonitor: z\n .boolean()\n .optional()\n .describe(\n 'If true, does not wait for connection confirmation. Returns immediately after sending the request.'\n ),\n memo: z\n .string()\n .optional()\n .describe(\n 'Optional memo to include with the connection request (e.g., \"Hello from Alice\"). If not provided, defaults to \"true\" or \"false\" based on monitoring preference.'\n ),\n});\n\n/**\n * A tool to actively START a NEW HCS-10 connection TO a target agent.\n * Requires the target agent's account ID.\n * It retrieves their profile, sends a connection request, and optionally waits for confirmation.\n * Use this tool ONLY to actively INITIATE an OUTGOING connection.\n */\nexport class InitiateConnectionTool extends BaseHCS10TransactionTool<\n typeof InitiateConnectionZodSchema\n> {\n name = 'initiate_connection';\n description =\n 'ONLY use this to START a BRAND NEW connection to an agent you have NEVER connected to before. If you already have an active connection to this agent, use send_message_to_connection instead. This creates a new connection request and waits for acceptance.';\n specificInputSchema = InitiateConnectionZodSchema;\n constructor(params: HCS10TransactionToolParams) {\n super(params);\n this.neverScheduleThisTool = true;\n this.requiresMultipleTransactions = true;\n }\n\n protected async callBuilderMethod(\n builder: BaseServiceBuilder,\n specificArgs: z.infer<typeof InitiateConnectionZodSchema>\n ): Promise<void> {\n const hcs10Builder = builder as HCS10Builder;\n const params: {\n targetAccountId: string;\n disableMonitor?: boolean;\n memo?: string;\n } = {\n targetAccountId: specificArgs.targetAccountId,\n };\n if (specificArgs.disableMonitor !== undefined) {\n params.disableMonitor = specificArgs.disableMonitor;\n }\n if (specificArgs.memo !== undefined) {\n params.memo = specificArgs.memo;\n }\n await hcs10Builder.initiateConnection(params);\n }\n}"],"names":[],"mappings":";;AAMA,MAAM,8BAA8B,EAAE,OAAO;AAAA,EAC3C,iBAAiB,EACd,OAAA,EACA;AAAA,IACC;AAAA,EAAA;AAAA,EAEJ,gBAAgB,EACb,UACA,WACA;AAAA,IACC;AAAA,EAAA;AAAA,EAEJ,MAAM,EACH,SACA,WACA;AAAA,IACC;AAAA,EAAA;AAEN,CAAC;AAQM,MAAM,+BAA+B,yBAE1C;AAAA,EAKA,YAAY,QAAoC;AAC9C,UAAM,MAAM;AALd,SAAA,OAAO;AACP,SAAA,cACE;AACF,SAAA,sBAAsB;AAGpB,SAAK,wBAAwB;AAC7B,SAAK,+BAA+B;AAAA,EACtC;AAAA,EAEA,MAAgB,kBACd,SACA,cACe;AACf,UAAM,eAAe;AACrB,UAAM,SAIF;AAAA,MACF,iBAAiB,aAAa;AAAA,IAAA;AAEhC,QAAI,aAAa,mBAAmB,QAAW;AAC7C,aAAO,iBAAiB,aAAa;AAAA,IACvC;AACA,QAAI,aAAa,SAAS,QAAW;AACnC,aAAO,OAAO,aAAa;AAAA,IAC7B;AACA,UAAM,aAAa,mBAAmB,MAAM;AAAA,EAC9C;AACF;"}
1
+ {"version":3,"file":"standards-agent-kit.es11.js","sources":["../../src/tools/hcs10/RegisterAgentTool.ts"],"sourcesContent":["import { AIAgentCapability } from '@hashgraphonline/standards-sdk';\nimport { z } from 'zod';\nimport { BaseServiceBuilder } from 'hedera-agent-kit';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\nimport {\n HCS10Builder,\n RegisterAgentParams,\n} from '../../builders/hcs10/hcs10-builder';\nimport { BaseHCS10TransactionTool } from './base-hcs10-tools';\nimport { HCS10TransactionToolParams } from './hcs10-tool-params';\nimport { RegisteredAgent } from '../../state/state-types';\nimport { NaturalLanguageMapper } from './natural-language-mapper';\n\nconst RegisterAgentZodSchema = z.object({\n name: z\n .string()\n .min(1)\n .max(50)\n .describe('A unique name for the agent (1-50 characters)'),\n description: z\n .string()\n .max(500)\n .optional()\n .describe('Optional bio description for the agent (max 500 characters)'),\n alias: z\n .string()\n .optional()\n .transform((val) => {\n if (!val || val.toLowerCase().includes('random')) {\n const timestamp = Date.now().toString(36);\n const randomChars = Math.random().toString(36);\n return `bot${timestamp}${randomChars}`;\n }\n return val;\n })\n .describe(\n 'Optional custom username/alias for the agent. Use \"random\" to generate a unique alias'\n ),\n type: z\n .enum(['autonomous', 'manual'])\n .optional()\n .describe('Agent type (default: autonomous)'),\n model: z\n .string()\n .optional()\n .describe('AI model identifier (default: agent-model-2024)'),\n capabilities: z\n .union([\n z.array(z.nativeEnum(AIAgentCapability)),\n z.array(z.string()),\n z.string(),\n ])\n .optional()\n .transform((val) => {\n if (!val) {return undefined;}\n if (typeof val === 'string') {\n return NaturalLanguageMapper.parseCapabilities(val);\n }\n if (Array.isArray(val) && val.length > 0 && typeof val[0] === 'string') {\n return NaturalLanguageMapper.parseTagsOrCapabilities(val);\n }\n return val as AIAgentCapability[];\n })\n .describe('Agent capabilities - can be capability names (e.g. \"ai\", \"data processing\"), capability enum values, or array of either. Common values: \"ai\"/\"text\" (TEXT_GENERATION), \"data\" (DATA_INTEGRATION), \"analytics\" (TRANSACTION_ANALYTICS)'),\n tags: z\n .union([\n z.array(z.string()),\n z.string(),\n ])\n .optional()\n .transform((val) => {\n if (!val) {return undefined;}\n if (typeof val === 'string') {\n return NaturalLanguageMapper.parseCapabilities(val);\n }\n return NaturalLanguageMapper.parseTagsOrCapabilities(val);\n })\n .describe('Tags for the agent (alternative to capabilities) - e.g. \"ai\", \"data\", \"analytics\". Will be converted to appropriate capabilities.'),\n creator: z.string().optional().describe('Creator attribution for the agent'),\n socials: z\n .record(\n z.enum([\n 'twitter',\n 'github',\n 'discord',\n 'telegram',\n 'linkedin',\n 'youtube',\n 'website',\n 'x',\n ] as const),\n z.string()\n )\n .optional()\n .describe(\n 'Social media links (e.g., {\"twitter\": \"@handle\", \"discord\": \"username\"})'\n ),\n properties: z\n .record(z.unknown())\n .optional()\n .describe('Custom metadata properties for the agent'),\n profilePicture: z\n .union([\n z.string().describe('URL or local file path to profile picture'),\n z.object({\n url: z.string().optional(),\n path: z.string().optional(),\n filename: z.string().optional(),\n }),\n ])\n .optional()\n .describe(\n 'Optional profile picture as URL, file path, or object with url/path/filename'\n ),\n existingProfilePictureTopicId: z\n .string()\n .optional()\n .describe(\n 'Topic ID of an existing profile picture to reuse (e.g., 0.0.12345)'\n ),\n initialBalance: z\n .number()\n .positive()\n .optional()\n .describe(\n 'Optional initial HBAR balance for the new agent account (will create new account if provided)'\n ),\n userAccountId: z\n .string()\n .optional()\n .describe(\n 'Optional account ID (e.g., 0.0.12345) to use as the agent account instead of creating a new one'\n ),\n hbarFee: z\n .number()\n .positive()\n .optional()\n .describe(\n 'Optional HBAR fee amount to charge per message on the inbound topic'\n ),\n tokenFees: z\n .array(\n z.object({\n amount: z.number().positive(),\n tokenId: z.string(),\n })\n )\n .optional()\n .describe('Optional token fees to charge per message'),\n exemptAccountIds: z\n .array(z.string())\n .optional()\n .describe('Optional account IDs to exempt from fees'),\n setAsCurrent: z\n .boolean()\n .optional()\n .describe('Whether to set as current agent (default: true)'),\n persistence: z\n .object({\n prefix: z.string().optional(),\n })\n .optional()\n .describe('Optional persistence configuration'),\n});\n\nexport class RegisterAgentTool extends BaseHCS10TransactionTool<\n typeof RegisterAgentZodSchema\n> {\n name = 'register_agent';\n description =\n 'Creates and registers the AI agent on the Hedera network. Returns JSON string with agent details (accountId, privateKey, topics) on success. Supports natural language for capabilities/tags like \"ai\", \"data processing\", \"analytics\". Note: This tool requires multiple transactions and cannot be used in returnBytes mode. If alias is set to \"random\" or contains \"random\", a unique alias will be generated.';\n specificInputSchema = RegisterAgentZodSchema;\n private specificArgs: z.infer<typeof RegisterAgentZodSchema> | undefined;\n\n constructor(params: HCS10TransactionToolParams) {\n super(params);\n this.neverScheduleThisTool = true;\n this.requiresMultipleTransactions = true;\n }\n\n protected async callBuilderMethod(\n builder: BaseServiceBuilder,\n specificArgs: z.infer<typeof RegisterAgentZodSchema>\n ): Promise<void> {\n const hcs10Builder = builder as HCS10Builder;\n this.specificArgs = specificArgs;\n const params: RegisterAgentParams = {\n name: specificArgs.name,\n };\n\n if (specificArgs.description !== undefined) {\n params.bio = specificArgs.description;\n }\n if (specificArgs.alias !== undefined) {\n params.alias = specificArgs.alias;\n } else {\n const randomSuffix = Date.now().toString(36);\n params.alias = `${specificArgs.name}${randomSuffix}`;\n }\n if (specificArgs.type !== undefined) {\n params.type = specificArgs.type;\n }\n if (specificArgs.model !== undefined) {\n params.model = specificArgs.model;\n }\n\n if (specificArgs.tags !== undefined) {\n params.capabilities = specificArgs.tags as AIAgentCapability[];\n } else if (specificArgs.capabilities !== undefined) {\n params.capabilities = specificArgs.capabilities as AIAgentCapability[];\n }\n if (specificArgs.creator !== undefined) {\n params.creator = specificArgs.creator;\n }\n if (specificArgs.socials !== undefined) {\n params.socials = specificArgs.socials;\n }\n if (specificArgs.properties !== undefined) {\n params.properties = specificArgs.properties;\n }\n if (specificArgs.profilePicture !== undefined) {\n if (typeof specificArgs.profilePicture === 'string') {\n params.profilePicture = specificArgs.profilePicture;\n } else {\n const profilePicObj: {\n url?: string;\n path?: string;\n filename?: string;\n } = {};\n if (specificArgs.profilePicture.url !== undefined) {\n profilePicObj.url = specificArgs.profilePicture.url;\n }\n if (specificArgs.profilePicture.path !== undefined) {\n profilePicObj.path = specificArgs.profilePicture.path;\n }\n if (specificArgs.profilePicture.filename !== undefined) {\n profilePicObj.filename = specificArgs.profilePicture.filename;\n }\n params.profilePicture = profilePicObj;\n }\n }\n if (specificArgs.existingProfilePictureTopicId !== undefined) {\n params.existingProfilePictureTopicId =\n specificArgs.existingProfilePictureTopicId;\n }\n if (specificArgs.userAccountId !== undefined) {\n params.userAccountId = specificArgs.userAccountId;\n }\n if (specificArgs.hbarFee !== undefined) {\n params.hbarFee = specificArgs.hbarFee;\n }\n if (specificArgs.tokenFees !== undefined) {\n params.tokenFees = specificArgs.tokenFees;\n }\n if (specificArgs.exemptAccountIds !== undefined) {\n params.exemptAccountIds = specificArgs.exemptAccountIds;\n }\n if (specificArgs.initialBalance !== undefined) {\n params.initialBalance = specificArgs.initialBalance;\n }\n\n await hcs10Builder.registerAgent(params);\n }\n\n /**\n * Override _call to intercept the result and save agent to state if needed\n */\n protected override async _call(\n args: z.infer<ReturnType<this['schema']>>,\n runManager?: CallbackManagerForToolRun\n ): Promise<string> {\n const result = await super._call(args, runManager);\n\n const shouldSetAsCurrent = this.specificArgs?.setAsCurrent !== false;\n\n if (this.specificArgs && shouldSetAsCurrent) {\n try {\n const parsed = JSON.parse(result);\n if (parsed.rawResult) {\n this._handleRegistrationResult(parsed.rawResult);\n } else if (parsed.state || parsed.accountId || parsed.metadata) {\n this._handleRegistrationResult(parsed);\n }\n } catch (e) {}\n }\n\n return result;\n }\n\n /**\n * Extract agent data from registration result and save to state\n */\n private _handleRegistrationResult(rawResult: any): void {\n let accountId = rawResult.accountId || rawResult.metadata?.accountId;\n\n if (!accountId && rawResult.state?.createdResources) {\n const accountResource = rawResult.state.createdResources.find(\n (r: string) => r.startsWith('account:')\n );\n if (accountResource) {\n accountId = accountResource.split(':')[1];\n }\n }\n\n const inboundTopicId =\n rawResult.inboundTopicId ||\n rawResult.metadata?.inboundTopicId ||\n rawResult.state?.inboundTopicId;\n\n const outboundTopicId =\n rawResult.outboundTopicId ||\n rawResult.metadata?.outboundTopicId ||\n rawResult.state?.outboundTopicId;\n\n const profileTopicId =\n rawResult.profileTopicId ||\n rawResult.metadata?.profileTopicId ||\n rawResult.state?.profileTopicId;\n\n const privateKey = rawResult.privateKey || rawResult.metadata?.privateKey;\n\n if (accountId && inboundTopicId && outboundTopicId && this.specificArgs) {\n const registeredAgent: RegisteredAgent = {\n name: this.specificArgs.name,\n accountId,\n inboundTopicId,\n outboundTopicId,\n profileTopicId,\n privateKey,\n };\n\n const hcs10Builder = this.getServiceBuilder() as HCS10Builder;\n const stateManager = hcs10Builder.getStateManager();\n if (stateManager) {\n stateManager.setCurrentAgent(registeredAgent);\n\n if (stateManager.persistAgentData) {\n const prefix =\n this.specificArgs.persistence?.prefix ||\n this.specificArgs.name.toUpperCase().replace(/[^A-Z0-9]/g, '_');\n stateManager\n .persistAgentData(registeredAgent, {\n type: 'env-file',\n prefix: prefix,\n })\n .catch(() => {});\n }\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}