@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 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es4.js","sources":["../../src/builders/hcs2/hcs2-builder.ts"],"sourcesContent":["import { BaseServiceBuilder } from 'hedera-agent-kit';\nimport type { HederaAgentKit } from 'hedera-agent-kit';\nimport {\n HCS2Client,\n SDKHCS2ClientConfig,\n CreateRegistryOptions,\n RegisterEntryOptions,\n UpdateEntryOptions,\n DeleteEntryOptions,\n MigrateTopicOptions,\n QueryRegistryOptions,\n TopicRegistrationResponse,\n RegistryOperationResponse,\n TopicRegistry,\n NetworkType,\n} from '@hashgraphonline/standards-sdk';\n\n/**\n * Builder for HCS-2 operations that delegates to HCS2Client\n */\nexport class HCS2Builder extends BaseServiceBuilder {\n protected hcs2Client?: HCS2Client;\n\n constructor(hederaKit: HederaAgentKit) {\n super(hederaKit);\n }\n\n /**\n * Get or create HCS-2 client\n */\n protected async getHCS2Client(): Promise<HCS2Client> {\n if (!this.hcs2Client) {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toStringRaw()\n : '';\n\n const network = this.hederaKit.client.network;\n const networkType: NetworkType = network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n\n const config: SDKHCS2ClientConfig = {\n network: networkType,\n operatorId: operatorId,\n operatorKey: operatorPrivateKey,\n };\n\n this.hcs2Client = new HCS2Client(config);\n }\n return this.hcs2Client;\n }\n\n /**\n * Create a new HCS-2 registry\n * Note: This executes the transaction directly via HCS2Client\n */\n async createRegistry(\n options: CreateRegistryOptions = {}\n ): Promise<TopicRegistrationResponse> {\n const client = await this.getHCS2Client();\n return await client.createRegistry(options);\n }\n\n /**\n * Register a new entry in an HCS-2 registry\n */\n async registerEntry(\n registryTopicId: string,\n options: RegisterEntryOptions\n ): Promise<RegistryOperationResponse> {\n const client = await this.getHCS2Client();\n return await client.registerEntry(registryTopicId, options);\n }\n\n /**\n * Update an existing entry in an HCS-2 registry\n */\n async updateEntry(\n registryTopicId: string,\n options: UpdateEntryOptions\n ): Promise<RegistryOperationResponse> {\n const client = await this.getHCS2Client();\n return await client.updateEntry(registryTopicId, options);\n }\n\n /**\n * Delete an entry from an HCS-2 registry\n */\n async deleteEntry(\n registryTopicId: string,\n options: DeleteEntryOptions\n ): Promise<RegistryOperationResponse> {\n const client = await this.getHCS2Client();\n return await client.deleteEntry(registryTopicId, options);\n }\n\n /**\n * Migrate an HCS-2 registry to a new topic\n */\n async migrateRegistry(\n registryTopicId: string,\n options: MigrateTopicOptions\n ): Promise<RegistryOperationResponse> {\n const client = await this.getHCS2Client();\n return await client.migrateRegistry(registryTopicId, options);\n }\n\n /**\n * Query entries from an HCS-2 registry\n */\n async getRegistry(\n topicId: string,\n options: QueryRegistryOptions = {}\n ): Promise<TopicRegistry> {\n const client = await this.getHCS2Client();\n return await client.getRegistry(topicId, options);\n }\n\n /**\n * Submit a raw message to an HCS-2 topic\n */\n async submitMessage(\n topicId: string,\n payload: any\n ): Promise<any> {\n const client = await this.getHCS2Client();\n return await client.submitMessage(topicId, payload);\n }\n\n /**\n * Get topic info from mirror node\n */\n async getTopicInfo(topicId: string): Promise<any> {\n const client = await this.getHCS2Client();\n return await client.getTopicInfo(topicId);\n }\n\n /**\n * Close the HCS-2 client\n */\n async close(): Promise<void> {\n if (this.hcs2Client) {\n this.hcs2Client.close();\n this.hcs2Client = undefined;\n }\n }\n}"],"names":[],"mappings":";;AAoBO,MAAM,oBAAoB,mBAAmB;AAAA,EAGlD,YAAY,WAA2B;AACrC,UAAM,SAAS;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAgB,gBAAqC;AACnD,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,aAAa,KAAK,UAAU,OAAO,aAAA,EAAe,SAAA;AACxD,YAAM,qBAAqB,KAAK,UAAU,QAAQ,sBAAA,IAC9C,KAAK,UAAU,OAAO,wBAAwB,YAAA,IAC9C;AAEJ,YAAM,UAAU,KAAK,UAAU,OAAO;AACtC,YAAM,cAA2B,QAAQ,SAAA,EAAW,SAAS,SAAS,IAClE,YACA;AAEJ,YAAM,SAA8B;AAAA,QAClC,SAAS;AAAA,QACT;AAAA,QACA,aAAa;AAAA,MAAA;AAGf,WAAK,aAAa,IAAI,WAAW,MAAM;AAAA,IACzC;AACA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eACJ,UAAiC,IACG;AACpC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,eAAe,OAAO;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,cACJ,iBACA,SACoC;AACpC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,cAAc,iBAAiB,OAAO;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YACJ,iBACA,SACoC;AACpC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,YAAY,iBAAiB,OAAO;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YACJ,iBACA,SACoC;AACpC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,YAAY,iBAAiB,OAAO;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,gBACJ,iBACA,SACoC;AACpC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,gBAAgB,iBAAiB,OAAO;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YACJ,SACA,UAAgC,IACR;AACxB,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,YAAY,SAAS,OAAO;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,cACJ,SACA,SACc;AACd,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,cAAc,SAAS,OAAO;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa,SAA+B;AAChD,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,aAAa,OAAO;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAuB;AAC3B,QAAI,KAAK,YAAY;AACnB,WAAK,WAAW,MAAA;AAChB,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"standards-agent-kit.es4.js","sources":["../../src/signing/bytes-registry.ts"],"sourcesContent":["import type { HederaAgentKit } from 'hedera-agent-kit';\nimport {\n AccountId,\n Client,\n TopicCreateTransaction,\n TopicId,\n TopicMessageSubmitTransaction,\n TransactionId,\n} from '@hashgraph/sdk';\nimport {\n buildHcs2CreateRegistryTx,\n buildHcs2RegisterTx,\n buildHcs2UpdateTx,\n buildHcs2DeleteTx,\n buildHcs2MigrateTx,\n HCS2RegistryType,\n buildHcs6CreateRegistryTx,\n buildHcs6RegisterEntryTx,\n buildHcs10SendMessageTx,\n buildHcs10SubmitConnectionRequestTx,\n buildHcs20DeployTx,\n buildHcs20MintTx,\n buildHcs20TransferTx,\n buildHcs20BurnTx,\n buildHcs20RegisterTx,\n buildHcs12CreateRegistryTopicTx,\n buildHcs12SubmitMessageTx,\n buildHcs12RegisterAssemblyTx,\n buildHcs12AddBlockToAssemblyTx,\n buildHcs12AddActionToAssemblyTx,\n buildHcs12UpdateAssemblyTx,\n buildHcs7SubmitMessageTx,\n buildHcs7EvmMessageTx,\n buildHcs7WasmMessageTx,\n} from '@hashgraphonline/standards-sdk';\n\nexport type ByteBuildHandler = (ctx: {\n hederaKit: HederaAgentKit;\n request: Record<string, unknown>;\n}) => Promise<{ transactionBytes: string }>;\n\nclass ByteBuildRegistryImpl {\n private handlers = new Map<string, ByteBuildHandler>();\n\n register(op: string, handler: ByteBuildHandler): void {\n this.handlers.set(op, handler);\n }\n\n has(op: string): boolean {\n return this.handlers.has(op);\n }\n\n async build(\n op: string,\n hederaKit: HederaAgentKit,\n request: Record<string, unknown>\n ): Promise<{ transactionBytes: string } | null> {\n const h = this.handlers.get(op);\n if (!h) return null;\n return await h({ hederaKit, request });\n }\n}\n\nexport const ByteBuildRegistry = new ByteBuildRegistryImpl();\n\nasync function freezeTxToBytes(\n hederaKit: HederaAgentKit,\n tx: any,\n): Promise<{ transactionBytes: string }> {\n const network = hederaKit.client.network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n const client = network === 'mainnet' ? Client.forMainnet() : Client.forTestnet();\n const operatorId = hederaKit.signer.getAccountId().toString();\n const payer = AccountId.fromString(operatorId);\n if (typeof tx.setTransactionId === 'function') {\n tx.setTransactionId(TransactionId.generate(payer));\n }\n if (typeof tx.setAutoRenewAccountId === 'function') {\n try { tx.setAutoRenewAccountId(operatorId); } catch {}\n }\n const frozen = await tx.freezeWith(client);\n return { transactionBytes: Buffer.from(frozen.toBytes()).toString('base64') };\n}\n\nasync function buildTopicCreateBytes(\n hederaKit: HederaAgentKit,\n memo: string,\n ttlSeconds?: number\n): Promise<{ transactionBytes: string }> {\n const network = hederaKit.client.network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n const client = network === 'mainnet' ? Client.forMainnet() : Client.forTestnet();\n const operatorId = hederaKit.signer.getAccountId().toString();\n const payer = AccountId.fromString(operatorId);\n\n let tx = new TopicCreateTransaction()\n .setTransactionId(TransactionId.generate(payer))\n .setTopicMemo(memo);\n if (ttlSeconds && Number.isFinite(ttlSeconds)) {\n try {\n tx = tx.setAutoRenewPeriod(ttlSeconds);\n } catch {}\n }\n const frozen = await tx.freezeWith(client);\n return { transactionBytes: Buffer.from(frozen.toBytes()).toString('base64') };\n}\n\nasync function buildTopicMessageBytes(\n hederaKit: HederaAgentKit,\n topicId: string,\n message: string | Uint8Array,\n memo?: string\n): Promise<{ transactionBytes: string }> {\n const network = hederaKit.client.network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n const client = network === 'mainnet' ? Client.forMainnet() : Client.forTestnet();\n const operatorId = hederaKit.signer.getAccountId().toString();\n const payer = AccountId.fromString(operatorId);\n const tx = new TopicMessageSubmitTransaction()\n .setTopicId(TopicId.fromString(topicId))\n .setTransactionId(TransactionId.generate(payer))\n .setMessage(message);\n if (memo && memo.length > 0) {\n tx.setTransactionMemo(memo);\n }\n const frozen = await tx.freezeWith(client);\n return { transactionBytes: Buffer.from(frozen.toBytes()).toString('base64') };\n}\n\nByteBuildRegistry.register(\n 'hcs2.createRegistry',\n async ({ hederaKit, request }) => {\n const opts = (request?.options || {}) as {\n registryType?: number;\n ttl?: number;\n adminKey?: string | boolean;\n submitKey?: string | boolean;\n };\n\n let operatorPublicKey: any | undefined;\n try {\n const priv = (hederaKit as any)?.signer?.getOperatorPrivateKey?.();\n operatorPublicKey = priv?.publicKey;\n } catch {}\n\n const tx = buildHcs2CreateRegistryTx({\n registryType: (opts.registryType ?? HCS2RegistryType.INDEXED) as any,\n ttl: opts.ttl ?? 86400,\n adminKey: opts.adminKey as any,\n submitKey: opts.submitKey as any,\n operatorPublicKey,\n });\n return await freezeTxToBytes(hederaKit, tx);\n }\n);\n\nByteBuildRegistry.register(\n 'hcs2.migrateRegistry',\n async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs2.migrateRegistry: invalid request payload');\n const registryTopicId = getStringProp(request, 'registryTopicId') || '';\n if (!registryTopicId) throw new Error('hcs2.migrateRegistry: registryTopicId is required');\n const options = getObjectProp(request, 'options') || {};\n const targetTopicId = getStringProp(options, 'targetTopicId') || '';\n const metadata = getStringProp(options, 'metadata');\n const memo = getStringProp(options, 'memo');\n const tx = buildHcs2MigrateTx({\n registryTopicId,\n targetTopicId,\n metadata,\n memo,\n });\n return await freezeTxToBytes(hederaKit, tx);\n }\n);\n\nfunction isRecord(x: unknown): x is Record<string, unknown> {\n return typeof x === 'object' && x !== null;\n}\nfunction getStringProp(\n obj: Record<string, unknown>,\n key: string\n): string | undefined {\n const val = obj[key];\n return typeof val === 'string' ? val : undefined;\n}\nfunction getNumberProp(\n obj: Record<string, unknown>,\n key: string\n): number | undefined {\n const val = obj[key];\n return typeof val === 'number' && Number.isFinite(val) ? val : undefined;\n}\nfunction getObjectProp(\n obj: Record<string, unknown>,\n key: string\n): Record<string, unknown> | undefined {\n const val = obj[key];\n return isRecord(val) ? val : undefined;\n}\n\nByteBuildRegistry.register(\n 'hcs2.submitMessage',\n async ({ hederaKit, request }) => {\n if (!isRecord(request))\n throw new Error('hcs2.submitMessage: invalid request payload');\n const topicId =\n getStringProp(request, 'topicId') ||\n getStringProp(request, 'registryTopicId') ||\n '';\n if (!topicId) throw new Error('hcs2.submitMessage: topicId is required');\n const payload = request['payload'];\n const message =\n typeof payload === 'string' ? payload : JSON.stringify(payload ?? {});\n return await buildTopicMessageBytes(hederaKit, topicId, message);\n }\n);\n\nByteBuildRegistry.register('hcs2.registerEntry', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs2.registerEntry: invalid request payload');\n const registryTopicId = getStringProp(request, 'registryTopicId') || '';\n if (!registryTopicId) throw new Error('hcs2.registerEntry: registryTopicId is required');\n const options = getObjectProp(request, 'options') || {};\n const targetTopicId = getStringProp(options, 'targetTopicId') || '';\n const metadata = getStringProp(options, 'metadata');\n const memo = getStringProp(options, 'memo');\n const tx = buildHcs2RegisterTx({\n registryTopicId,\n targetTopicId,\n metadata,\n memo,\n });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs2.updateEntry', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs2.updateEntry: invalid request payload');\n const registryTopicId = getStringProp(request, 'registryTopicId') || '';\n if (!registryTopicId) throw new Error('hcs2.updateEntry: registryTopicId is required');\n const options = getObjectProp(request, 'options') || {};\n const targetTopicId = getStringProp(options, 'targetTopicId') || '';\n const uid = getStringProp(options, 'uid') || '';\n const metadata = getStringProp(options, 'metadata');\n const memo = getStringProp(options, 'memo');\n const tx = buildHcs2UpdateTx({\n registryTopicId,\n uid,\n targetTopicId,\n metadata,\n memo,\n });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs2.deleteEntry', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs2.deleteEntry: invalid request payload');\n const registryTopicId = getStringProp(request, 'registryTopicId') || '';\n if (!registryTopicId) throw new Error('hcs2.deleteEntry: registryTopicId is required');\n const options = getObjectProp(request, 'options') || {};\n const uid = getStringProp(options, 'uid') || '';\n const memo = getStringProp(options, 'memo');\n const tx = buildHcs2DeleteTx({\n registryTopicId,\n uid,\n memo,\n });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register(\n 'hcs6.createRegistry',\n async ({ hederaKit, request }) => {\n const opts = isRecord(request) ? getObjectProp(request, 'options') : undefined;\n const ttl = opts ? getNumberProp(opts, 'ttl') : undefined;\n\n let operatorPublicKey: any | undefined;\n try {\n const priv = (hederaKit as any)?.signer?.getOperatorPrivateKey?.();\n operatorPublicKey = priv?.publicKey;\n } catch {}\n\n const tx = buildHcs6CreateRegistryTx({ ttl: ttl ?? 86400, operatorPublicKey });\n return await freezeTxToBytes(hederaKit, tx);\n }\n);\n\nByteBuildRegistry.register(\n 'hcs6.registerEntry',\n async ({ hederaKit, request }) => {\n if (!isRecord(request))\n throw new Error('hcs6.registerEntry: invalid request payload');\n const registryTopicId = getStringProp(request, 'registryTopicId') || '';\n if (!registryTopicId)\n throw new Error('hcs6.registerEntry: registryTopicId is required');\n const options = getObjectProp(request, 'options') || {};\n const targetTopicId = getStringProp(options, 'targetTopicId') || '';\n const memo = getStringProp(options, 'memo');\n const tx = buildHcs6RegisterEntryTx({\n registryTopicId,\n targetTopicId,\n memo,\n });\n return await freezeTxToBytes(hederaKit, tx);\n }\n);\n\nByteBuildRegistry.register(\n 'hcs6.submitMessage',\n async ({ hederaKit, request }) => {\n if (!isRecord(request))\n throw new Error('hcs6.submitMessage: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs6.submitMessage: topicId is required');\n const payload = request['payload'];\n const message =\n typeof payload === 'string' ? payload : JSON.stringify(payload ?? {});\n return await buildTopicMessageBytes(hederaKit, topicId, message);\n }\n);\n\nByteBuildRegistry.register('sendMessage', async ({ hederaKit, request }) => {\n if (!isRecord(request))\n throw new Error('sendMessage: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('sendMessage: topicId is required');\n const dataVal = request['data'];\n const memo = getStringProp(request, 'memo') || '';\n const operatorId = hederaKit.signer.getAccountId().toString();\n const data = typeof dataVal === 'string' ? dataVal : JSON.stringify(dataVal ?? {});\n const tx = buildHcs10SendMessageTx({ connectionTopicId: topicId, operatorId, data, memo });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register(\n 'submitConnectionRequest',\n async ({ hederaKit, request }) => {\n if (!isRecord(request))\n throw new Error('submitConnectionRequest: invalid request payload');\n const inboundTopicId = getStringProp(request, 'inboundTopicId') || '';\n if (!inboundTopicId)\n throw new Error('submitConnectionRequest: inboundTopicId is required');\n const memo = getStringProp(request, 'memo') || '';\n const operatorId = hederaKit.signer.getAccountId().toString();\n const tx = buildHcs10SubmitConnectionRequestTx({ inboundTopicId, operatorId, memo });\n return await freezeTxToBytes(hederaKit, tx);\n }\n);\n\nByteBuildRegistry.register('hcs20.deploy', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs20.deploy: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs20.deploy: topicId is required');\n const name = getStringProp(request, 'name') || '';\n const tick = getStringProp(request, 'tick') || '';\n const max = getStringProp(request, 'max') || '';\n const lim = getStringProp(request, 'lim');\n const metadata = getStringProp(request, 'metadata');\n const memo = getStringProp(request, 'memo');\n const tx = buildHcs20DeployTx({ topicId, name, tick, max, lim, metadata, memo });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs20.mint', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs20.mint: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs20.mint: topicId is required');\n const tick = getStringProp(request, 'tick') || '';\n const amt = getStringProp(request, 'amt') || '';\n const to = getStringProp(request, 'to') || '';\n const memo = getStringProp(request, 'memo');\n const tx = buildHcs20MintTx({ topicId, tick, amt, to, memo });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs20.transfer', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs20.transfer: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs20.transfer: topicId is required');\n const tick = getStringProp(request, 'tick') || '';\n const amt = getStringProp(request, 'amt') || '';\n const from = getStringProp(request, 'from') || '';\n const to = getStringProp(request, 'to') || '';\n const memo = getStringProp(request, 'memo');\n const tx = buildHcs20TransferTx({ topicId, tick, amt, from, to, memo });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs20.burn', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs20.burn: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs20.burn: topicId is required');\n const tick = getStringProp(request, 'tick') || '';\n const amt = getStringProp(request, 'amt') || '';\n const from = getStringProp(request, 'from') || '';\n const memo = getStringProp(request, 'memo');\n const tx = buildHcs20BurnTx({ topicId, tick, amt, from, memo });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs20.register', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs20.register: invalid request payload');\n const registryTopicId = getStringProp(request, 'registryTopicId') || '';\n if (!registryTopicId) throw new Error('hcs20.register: registryTopicId is required');\n const topicId = getStringProp(request, 'topicId') || '';\n const name = getStringProp(request, 'name') || '';\n const isPrivateVal = (request as any)['isPrivate'];\n const isPrivate = typeof isPrivateVal === 'boolean' ? isPrivateVal : false;\n const metadata = getStringProp(request, 'metadata');\n const memo = getStringProp(request, 'memo');\n const tx = buildHcs20RegisterTx({ registryTopicId, name, topicId, isPrivate, metadata, memo });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs12.createRegistry', async ({ hederaKit, request }) => {\n const opts = isRecord(request) ? getObjectProp(request, 'options') : undefined;\n const ttlVal = opts ? getNumberProp(opts, 'ttl') : undefined;\n const ttl = (ttlVal ?? 60) as number;\n const registry = (opts && getStringProp(opts, 'registry')) || 'hashlinks';\n let operatorPublicKey: any | undefined;\n try {\n const priv = (hederaKit as any)?.signer?.getOperatorPrivateKey?.();\n operatorPublicKey = priv?.publicKey;\n } catch {}\n const tx = buildHcs12CreateRegistryTopicTx({ registry: registry as any, ttl, operatorPublicKey });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs12.submitMessage', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs12.submitMessage: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs12.submitMessage: topicId is required');\n const payload = (request as any)['payload'];\n const tx = buildHcs12SubmitMessageTx({ topicId, payload: payload as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs12.registerAssembly', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs12.registerAssembly: invalid request payload');\n const assemblyTopicId = getStringProp(request, 'assemblyTopicId') || '';\n if (!assemblyTopicId) throw new Error('hcs12.registerAssembly: assemblyTopicId is required');\n const registration = getObjectProp(request, 'registration') || {};\n const tx = buildHcs12RegisterAssemblyTx({ assemblyTopicId, registration: registration as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs12.addBlock', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs12.addBlock: invalid request payload');\n const assemblyTopicId = getStringProp(request, 'assemblyTopicId') || '';\n if (!assemblyTopicId) throw new Error('hcs12.addBlock: assemblyTopicId is required');\n const operation = getObjectProp(request, 'operation') || {};\n const tx = buildHcs12AddBlockToAssemblyTx({ assemblyTopicId, operation: operation as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs12.addAction', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs12.addAction: invalid request payload');\n const assemblyTopicId = getStringProp(request, 'assemblyTopicId') || '';\n if (!assemblyTopicId) throw new Error('hcs12.addAction: assemblyTopicId is required');\n const operation = getObjectProp(request, 'operation') || {};\n const tx = buildHcs12AddActionToAssemblyTx({ assemblyTopicId, operation: operation as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs12.updateAssembly', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs12.updateAssembly: invalid request payload');\n const assemblyTopicId = getStringProp(request, 'assemblyTopicId') || '';\n if (!assemblyTopicId) throw new Error('hcs12.updateAssembly: assemblyTopicId is required');\n const operation = getObjectProp(request, 'operation') || {};\n const tx = buildHcs12UpdateAssemblyTx({ assemblyTopicId, operation: operation as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs7.submitMessage', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs7.submitMessage: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs7.submitMessage: topicId is required');\n const message = getObjectProp(request, 'message') || {};\n const tx = buildHcs7SubmitMessageTx({ topicId, message: message as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs7.evm', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs7.evm: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs7.evm: topicId is required');\n const config = getObjectProp(request, 'config') || {};\n const tx = buildHcs7EvmMessageTx({ topicId, config: config as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n\nByteBuildRegistry.register('hcs7.wasm', async ({ hederaKit, request }) => {\n if (!isRecord(request)) throw new Error('hcs7.wasm: invalid request payload');\n const topicId = getStringProp(request, 'topicId') || '';\n if (!topicId) throw new Error('hcs7.wasm: topicId is required');\n const config = getObjectProp(request, 'config') || {};\n const tx = buildHcs7WasmMessageTx({ topicId, config: config as any });\n return await freezeTxToBytes(hederaKit, tx);\n});\n"],"names":[],"mappings":"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"}
@@ -1,141 +1,45 @@
1
- import { ServerSigner, HederaAgentKit } from "hedera-agent-kit";
2
- import { HCS10Builder } from "./standards-agent-kit.es3.js";
3
- import { RegisterAgentTool } from "./standards-agent-kit.es9.js";
4
- import { FindRegistrationsTool } from "./standards-agent-kit.es14.js";
5
- import { InitiateConnectionTool } from "./standards-agent-kit.es11.js";
6
- import { ListConnectionsTool } from "./standards-agent-kit.es12.js";
7
- import { SendMessageToConnectionTool } from "./standards-agent-kit.es10.js";
8
- import { CheckMessagesTool } from "./standards-agent-kit.es13.js";
9
- import { ConnectionMonitorTool } from "./standards-agent-kit.es15.js";
10
- import { ManageConnectionRequestsTool } from "./standards-agent-kit.es16.js";
11
- import { AcceptConnectionRequestTool } from "./standards-agent-kit.es17.js";
12
- import { RetrieveProfileTool } from "./standards-agent-kit.es18.js";
13
- import { ListUnapprovedConnectionRequestsTool } from "./standards-agent-kit.es19.js";
14
- import { OpenConvaiState } from "./standards-agent-kit.es39.js";
15
- import { Logger } from "@hashgraphonline/standards-sdk";
16
- import { ENV_FILE_PATH } from "./standards-agent-kit.es45.js";
17
- const initializeStandardsAgentKit = async (options) => {
18
- const config = options?.clientConfig || {};
19
- const operatorId = config.operatorId || process.env.HEDERA_OPERATOR_ID;
20
- const operatorPrivateKey = config.operatorKey || process.env.HEDERA_OPERATOR_KEY;
21
- const networkEnv = config.network || process.env.HEDERA_NETWORK || "testnet";
22
- const shouldSilence = process.env.DISABLE_LOGGING === "true";
23
- const logger = Logger.getInstance({
24
- level: config.logLevel || "info",
25
- silent: shouldSilence
26
- });
27
- let network;
28
- if (networkEnv === "mainnet") {
29
- network = "mainnet";
30
- } else if (networkEnv === "testnet") {
31
- network = "testnet";
32
- } else {
33
- logger.warn(
34
- `Unsupported network specified: '${networkEnv}'. Defaulting to 'testnet'.`
35
- );
36
- network = "testnet";
37
- }
38
- if (!operatorId || !operatorPrivateKey) {
39
- throw new Error(
40
- "Operator ID and private key must be provided either through options or environment variables."
41
- );
1
+ import { z } from "zod";
2
+ import { BaseInscriberQueryTool } from "./standards-agent-kit.es35.js";
3
+ const retrieveInscriptionSchema = z.object({
4
+ transactionId: z.string().describe("The transaction ID of the inscription to retrieve"),
5
+ apiKey: z.string().optional().describe("API key for inscription service")
6
+ });
7
+ class RetrieveInscriptionTool extends BaseInscriberQueryTool {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = "retrieveInscription";
11
+ this.description = "Retrieve details of an existing inscription from the Hedera network";
42
12
  }
43
- const stateManager = options?.stateManager || new OpenConvaiState({
44
- defaultEnvFilePath: ENV_FILE_PATH,
45
- defaultPrefix: "TODD"
46
- });
47
- logger.info("State manager initialized");
48
- const signer = new ServerSigner(operatorId, operatorPrivateKey, network);
49
- const hederaKit = new HederaAgentKit(signer);
50
- await hederaKit.initialize();
51
- logger.info(`HederaAgentKit initialized for ${operatorId} on ${network}`);
52
- const hcs10Builder = new HCS10Builder(hederaKit, stateManager, {
53
- useEncryption: config.useEncryption,
54
- registryUrl: config.registryUrl,
55
- logLevel: config.logLevel
56
- });
57
- let monitoringHederaKit;
58
- let monitoringHcs10Builder;
59
- if (options?.monitoringClient) {
60
- const monitoringSigner = new ServerSigner(operatorId, operatorPrivateKey, network);
61
- monitoringHederaKit = new HederaAgentKit(monitoringSigner);
62
- await monitoringHederaKit.initialize();
63
- monitoringHcs10Builder = new HCS10Builder(monitoringHederaKit, stateManager, {
64
- useEncryption: config.useEncryption,
65
- registryUrl: config.registryUrl,
66
- logLevel: "error"
67
- });
68
- logger.info("Monitoring client initialized");
13
+ get specificInputSchema() {
14
+ return retrieveInscriptionSchema;
69
15
  }
70
- const tools = {};
71
- tools.registerAgentTool = new RegisterAgentTool({
72
- hederaKit,
73
- hcs10Builder,
74
- logger: void 0
75
- });
76
- if (options?.createAllTools) {
77
- tools.findRegistrationsTool = new FindRegistrationsTool({
78
- hederaKit,
79
- hcs10Builder,
80
- logger: void 0
81
- });
82
- tools.retrieveProfileTool = new RetrieveProfileTool({
83
- hederaKit,
84
- hcs10Builder,
85
- logger: void 0
86
- });
87
- tools.initiateConnectionTool = new InitiateConnectionTool({
88
- hederaKit,
89
- hcs10Builder,
90
- logger: void 0
91
- });
92
- tools.listConnectionsTool = new ListConnectionsTool({
93
- hederaKit,
94
- hcs10Builder,
95
- logger: void 0
96
- });
97
- tools.sendMessageToConnectionTool = new SendMessageToConnectionTool({
98
- hederaKit,
99
- hcs10Builder,
100
- logger: void 0
101
- });
102
- tools.checkMessagesTool = new CheckMessagesTool({
103
- hederaKit,
104
- hcs10Builder,
105
- logger: void 0
106
- });
107
- tools.connectionMonitorTool = new ConnectionMonitorTool({
108
- hederaKit: monitoringHederaKit || hederaKit,
109
- hcs10Builder: monitoringHcs10Builder || hcs10Builder,
110
- logger: void 0
111
- });
112
- tools.manageConnectionRequestsTool = new ManageConnectionRequestsTool({
113
- hederaKit,
114
- hcs10Builder,
115
- logger: void 0
116
- });
117
- tools.acceptConnectionRequestTool = new AcceptConnectionRequestTool({
118
- hederaKit,
119
- hcs10Builder,
120
- logger: void 0
121
- });
122
- tools.listUnapprovedConnectionRequestsTool = new ListUnapprovedConnectionRequestsTool({
123
- hederaKit,
124
- hcs10Builder,
125
- logger: void 0
126
- });
127
- logger.info("All tools initialized");
16
+ async executeQuery(params, _runManager) {
17
+ const result = await this.inscriberBuilder.retrieveInscription(
18
+ params.transactionId,
19
+ {
20
+ apiKey: params.apiKey,
21
+ network: this.inscriberBuilder["hederaKit"].client.network.toString().includes("mainnet") ? "mainnet" : "testnet"
22
+ }
23
+ );
24
+ return {
25
+ inscriptionId: result.inscriptionId,
26
+ transactionId: result.transactionId || "unknown",
27
+ topicId: result.topic_id || result.topicId,
28
+ status: result.status || "unknown",
29
+ holderId: result.holderId,
30
+ metadata: result.metadata,
31
+ tags: result.tags,
32
+ mode: result.mode,
33
+ chunks: result.chunks,
34
+ createdAt: result.createdAt,
35
+ completedAt: result.completed || result.completedAt,
36
+ fileUrl: result.fileUrl,
37
+ mimeType: result.mimeType,
38
+ fileSize: result.fileSize
39
+ };
128
40
  }
129
- return {
130
- hederaKit,
131
- hcs10Builder,
132
- monitoringHederaKit,
133
- monitoringHcs10Builder,
134
- tools,
135
- stateManager
136
- };
137
- };
41
+ }
138
42
  export {
139
- initializeStandardsAgentKit
43
+ RetrieveInscriptionTool
140
44
  };
141
45
  //# sourceMappingURL=standards-agent-kit.es40.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es40.js","sources":["../../src/init/init.ts"],"sourcesContent":["import { HederaAgentKit, ServerSigner } from 'hedera-agent-kit';\nimport { HCS10Builder } from '../builders/hcs10/hcs10-builder';\nimport { RegisterAgentTool } from '../tools/hcs10/RegisterAgentTool';\nimport { FindRegistrationsTool } from '../tools/hcs10/FindRegistrationsTool';\nimport { InitiateConnectionTool } from '../tools/hcs10/InitiateConnectionTool';\nimport { ListConnectionsTool } from '../tools/hcs10/ListConnectionsTool';\nimport { SendMessageToConnectionTool } from '../tools/hcs10/SendMessageToConnectionTool';\nimport { CheckMessagesTool } from '../tools/hcs10/CheckMessagesTool';\nimport { ConnectionMonitorTool } from '../tools/hcs10/ConnectionMonitorTool';\nimport { ManageConnectionRequestsTool } from '../tools/hcs10/ManageConnectionRequestsTool';\nimport { AcceptConnectionRequestTool } from '../tools/hcs10/AcceptConnectionRequestTool';\nimport { RetrieveProfileTool } from '../tools/hcs10/RetrieveProfileTool';\nimport { ListUnapprovedConnectionRequestsTool } from '../tools/hcs10/ListUnapprovedConnectionRequestsTool';\nimport { IStateManager } from '../state/state-types';\nimport { OpenConvaiState } from '../state/open-convai-state';\nimport { Logger } from '@hashgraphonline/standards-sdk';\nimport { ENV_FILE_PATH } from '../utils/state-tools';\n\nexport interface HCS10ClientConfig {\n operatorId?: string;\n operatorKey?: string;\n network?: 'mainnet' | 'testnet';\n useEncryption?: boolean;\n registryUrl?: string;\n logLevel?: 'debug' | 'info' | 'warn' | 'error';\n}\n\nexport interface HCS10InitializationOptions {\n clientConfig?: HCS10ClientConfig;\n stateManager?: IStateManager;\n createAllTools?: boolean;\n monitoringClient?: boolean;\n}\n\n/**\n * Tool collection containing all available tools from the standards-agent-kit\n */\nexport interface HCS10Tools {\n registerAgentTool: RegisterAgentTool;\n findRegistrationsTool: FindRegistrationsTool;\n retrieveProfileTool: RetrieveProfileTool;\n initiateConnectionTool: InitiateConnectionTool;\n listConnectionsTool: ListConnectionsTool;\n sendMessageToConnectionTool: SendMessageToConnectionTool;\n checkMessagesTool: CheckMessagesTool;\n connectionMonitorTool: ConnectionMonitorTool;\n manageConnectionRequestsTool: ManageConnectionRequestsTool;\n acceptConnectionRequestTool: AcceptConnectionRequestTool;\n listUnapprovedConnectionRequestsTool: ListUnapprovedConnectionRequestsTool;\n}\n\n/**\n * Initializes the HCS10 client and returns pre-registered LangChain tools.\n *\n * @param options - Initialization options\n * @returns Object containing hederaKit, hcs10Builder and requested tools\n */\nexport const initializeStandardsAgentKit = async (\n options?: HCS10InitializationOptions\n): Promise<{\n hederaKit: HederaAgentKit;\n hcs10Builder: HCS10Builder;\n monitoringHederaKit?: HederaAgentKit;\n monitoringHcs10Builder?: HCS10Builder;\n tools: Partial<HCS10Tools>;\n stateManager: IStateManager;\n}> => {\n const config = options?.clientConfig || {};\n\n const operatorId = config.operatorId || process.env.HEDERA_OPERATOR_ID;\n const operatorPrivateKey =\n config.operatorKey || process.env.HEDERA_OPERATOR_KEY;\n\n const networkEnv = config.network || process.env.HEDERA_NETWORK || 'testnet';\n\n const shouldSilence = process.env.DISABLE_LOGGING === 'true';\n const logger = Logger.getInstance({\n level: config.logLevel || 'info',\n silent: shouldSilence,\n });\n\n let network: 'mainnet' | 'testnet';\n if (networkEnv === 'mainnet') {\n network = 'mainnet';\n } else if (networkEnv === 'testnet') {\n network = 'testnet';\n } else {\n logger.warn(\n `Unsupported network specified: '${networkEnv}'. Defaulting to 'testnet'.`\n );\n network = 'testnet';\n }\n\n if (!operatorId || !operatorPrivateKey) {\n throw new Error(\n 'Operator ID and private key must be provided either through options or environment variables.'\n );\n }\n\n const stateManager =\n options?.stateManager ||\n new OpenConvaiState({\n defaultEnvFilePath: ENV_FILE_PATH,\n defaultPrefix: 'TODD',\n });\n logger.info('State manager initialized');\n\n const signer = new ServerSigner(operatorId, operatorPrivateKey, network);\n const hederaKit = new HederaAgentKit(signer);\n await hederaKit.initialize();\n logger.info(`HederaAgentKit initialized for ${operatorId} on ${network}`);\n\n const hcs10Builder = new HCS10Builder(hederaKit, stateManager, {\n useEncryption: config.useEncryption,\n registryUrl: config.registryUrl,\n logLevel: config.logLevel,\n });\n\n let monitoringHederaKit: HederaAgentKit | undefined;\n let monitoringHcs10Builder: HCS10Builder | undefined;\n\n if (options?.monitoringClient) {\n const monitoringSigner = new ServerSigner(operatorId, operatorPrivateKey, network);\n monitoringHederaKit = new HederaAgentKit(monitoringSigner);\n await monitoringHederaKit.initialize();\n monitoringHcs10Builder = new HCS10Builder(monitoringHederaKit, stateManager, {\n useEncryption: config.useEncryption,\n registryUrl: config.registryUrl,\n logLevel: 'error',\n });\n logger.info('Monitoring client initialized');\n }\n\n const tools: Partial<HCS10Tools> = {};\n\n tools.registerAgentTool = new RegisterAgentTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n\n if (options?.createAllTools) {\n tools.findRegistrationsTool = new FindRegistrationsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.retrieveProfileTool = new RetrieveProfileTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.initiateConnectionTool = new InitiateConnectionTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.listConnectionsTool = new ListConnectionsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.sendMessageToConnectionTool = new SendMessageToConnectionTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.checkMessagesTool = new CheckMessagesTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.connectionMonitorTool = new ConnectionMonitorTool({\n hederaKit: monitoringHederaKit || hederaKit,\n hcs10Builder: monitoringHcs10Builder || hcs10Builder,\n logger: undefined,\n });\n tools.manageConnectionRequestsTool = new ManageConnectionRequestsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.acceptConnectionRequestTool = new AcceptConnectionRequestTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.listUnapprovedConnectionRequestsTool =\n new ListUnapprovedConnectionRequestsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n\n logger.info('All tools initialized');\n }\n\n return {\n hederaKit,\n hcs10Builder,\n monitoringHederaKit,\n monitoringHcs10Builder,\n tools,\n stateManager,\n };\n};"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-agent-kit.es40.js","sources":["../../src/tools/inscriber/RetrieveInscriptionTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseInscriberQueryTool } from './base-inscriber-tools';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\nimport type { RetrievedInscriptionResult } from '@hashgraphonline/standards-sdk';\n\n/**\n * Schema for retrieving inscription\n */\nconst retrieveInscriptionSchema = z.object({\n transactionId: z\n .string()\n .describe('The transaction ID of the inscription to retrieve'),\n apiKey: z\n .string()\n .optional()\n .describe('API key for inscription service'),\n});\n\n/**\n * Type definition for inscription retrieval result\n */\ninterface InscriptionRetrievalResult {\n inscriptionId?: string;\n transactionId: string;\n topicId?: string;\n status?: string;\n holderId?: string;\n metadata?: unknown;\n tags?: unknown;\n mode?: string;\n chunks?: unknown;\n createdAt?: string;\n completedAt?: string;\n fileUrl?: string;\n mimeType?: string;\n fileSize?: number;\n}\n\n\n/**\n * Tool for retrieving inscriptions\n */\nexport class RetrieveInscriptionTool extends BaseInscriberQueryTool<typeof retrieveInscriptionSchema> {\n name = 'retrieveInscription';\n description = 'Retrieve details of an existing inscription from the Hedera network';\n\n get specificInputSchema() {\n return retrieveInscriptionSchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof retrieveInscriptionSchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<InscriptionRetrievalResult> {\n const result: RetrievedInscriptionResult = await this.inscriberBuilder.retrieveInscription(\n params.transactionId,\n {\n apiKey: params.apiKey,\n network: this.inscriberBuilder['hederaKit'].client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet',\n }\n );\n\n return {\n inscriptionId: (result as unknown as { inscriptionId?: string }).inscriptionId,\n transactionId: (result as unknown as { transactionId?: string }).transactionId || 'unknown',\n topicId: (result as unknown as { topic_id?: string; topicId?: string }).topic_id || (result as unknown as { topicId?: string }).topicId,\n status: (result as unknown as { status?: string }).status || 'unknown',\n holderId: (result as unknown as { holderId?: string }).holderId,\n metadata: result.metadata,\n tags: (result as unknown as { tags?: unknown }).tags,\n mode: (result as unknown as { mode?: string }).mode,\n chunks: (result as unknown as { chunks?: unknown }).chunks,\n createdAt: (result as unknown as { createdAt?: string }).createdAt,\n completedAt: (result as unknown as { completed?: string; completedAt?: string }).completed || (result as unknown as { completedAt?: string }).completedAt,\n fileUrl: (result as unknown as { fileUrl?: string }).fileUrl,\n mimeType: (result as unknown as { mimeType?: string }).mimeType,\n fileSize: (result as unknown as { fileSize?: number }).fileSize,\n };\n }\n}"],"names":[],"mappings":";;AAQA,MAAM,4BAA4B,EAAE,OAAO;AAAA,EACzC,eAAe,EACZ,SACA,SAAS,mDAAmD;AAAA,EAC/D,QAAQ,EACL,OAAA,EACA,SAAA,EACA,SAAS,iCAAiC;AAC/C,CAAC;AA0BM,MAAM,gCAAgC,uBAAyD;AAAA,EAA/F,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAsB;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACqC;AACrC,UAAM,SAAqC,MAAM,KAAK,iBAAiB;AAAA,MACrE,OAAO;AAAA,MACP;AAAA,QACE,QAAQ,OAAO;AAAA,QACf,SAAS,KAAK,iBAAiB,WAAW,EAAE,OAAO,QAAQ,WAAW,SAAS,SAAS,IAAI,YAAY;AAAA,MAAA;AAAA,IAC1G;AAGF,WAAO;AAAA,MACL,eAAgB,OAAiD;AAAA,MACjE,eAAgB,OAAiD,iBAAiB;AAAA,MAClF,SAAU,OAA8D,YAAa,OAA2C;AAAA,MAChI,QAAS,OAA0C,UAAU;AAAA,MAC7D,UAAW,OAA4C;AAAA,MACvD,UAAU,OAAO;AAAA,MACjB,MAAO,OAAyC;AAAA,MAChD,MAAO,OAAwC;AAAA,MAC/C,QAAS,OAA2C;AAAA,MACpD,WAAY,OAA6C;AAAA,MACzD,aAAc,OAAmE,aAAc,OAA+C;AAAA,MAC9I,SAAU,OAA2C;AAAA,MACrD,UAAW,OAA4C;AAAA,MACvD,UAAW,OAA4C;AAAA,IAAA;AAAA,EAE3D;AACF;"}
@@ -1,33 +1,249 @@
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 = [];
12
- }
13
- async initialize(context) {
14
- await super.initialize(context);
15
- this.initializeTools();
16
- }
17
- initializeTools() {
18
- this.tools = [
19
- new HederaGetHbarPriceTool({
20
- hederaKit: this.context.config.hederaKit,
21
- logger: this.context.logger
22
- })
23
- ];
24
- }
25
- getTools() {
26
- return this.tools;
1
+ import { updateEnvFile } from "./standards-agent-kit.es47.js";
2
+ import { Logger, ConnectionsManager } from "@hashgraphonline/standards-sdk";
3
+ class OpenConvaiState {
4
+ /**
5
+ * Creates a new OpenConvaiState instance
6
+ * @param options - Options for environment variable persistence
7
+ */
8
+ constructor(options) {
9
+ this.currentAgent = null;
10
+ this.connectionMessageTimestamps = {};
11
+ this.connectionsManager = null;
12
+ this.defaultEnvFilePath = options?.defaultEnvFilePath;
13
+ this.defaultPrefix = options?.defaultPrefix ?? "TODD";
14
+ const shouldSilence = options?.disableLogging || process.env.DISABLE_LOGGING === "true";
15
+ this.logger = new Logger({ module: "OpenConvaiState", silent: shouldSilence });
16
+ if (options?.baseClient) {
17
+ this.initializeConnectionsManager(options.baseClient);
18
+ }
19
+ }
20
+ /**
21
+ * Initializes the ConnectionsManager
22
+ * @param baseClient - HCS10BaseClient instance to use
23
+ */
24
+ initializeConnectionsManager(baseClient) {
25
+ if (!this.connectionsManager) {
26
+ this.logger.debug("Initializing ConnectionsManager");
27
+ this.connectionsManager = new ConnectionsManager({
28
+ baseClient,
29
+ logLevel: "error"
30
+ });
31
+ } else {
32
+ this.logger.debug("ConnectionsManager already initialized");
33
+ }
34
+ return this.connectionsManager;
35
+ }
36
+ /**
37
+ * Gets the ConnectionsManager instance
38
+ * @returns The ConnectionsManager instance, or null if not initialized
39
+ */
40
+ getConnectionsManager() {
41
+ return this.connectionsManager;
42
+ }
43
+ /**
44
+ * Sets the current active agent and clears any previous connection data.
45
+ * This should be called when switching between agents.
46
+ */
47
+ setCurrentAgent(agent) {
48
+ this.currentAgent = agent;
49
+ this.connectionMessageTimestamps = {};
50
+ if (this.connectionsManager) {
51
+ this.connectionsManager.clearAll();
52
+ }
53
+ }
54
+ /**
55
+ * Returns the currently active agent or null if none is set.
56
+ */
57
+ getCurrentAgent() {
58
+ return this.currentAgent;
59
+ }
60
+ /**
61
+ * Adds a new connection to the active connections list.
62
+ * Ensures no duplicates are added based on connectionTopicId.
63
+ * Initializes timestamp tracking for the connection.
64
+ */
65
+ addActiveConnection(connection) {
66
+ if (!this.connectionsManager) {
67
+ this.logger.error(
68
+ "ConnectionsManager not initialized. Call initializeConnectionsManager before adding connections."
69
+ );
70
+ throw new Error(
71
+ "ConnectionsManager not initialized. Call initializeConnectionsManager before adding connections."
72
+ );
73
+ }
74
+ const sdkConnection = {
75
+ connectionTopicId: connection.connectionTopicId,
76
+ targetAccountId: connection.targetAccountId,
77
+ targetAgentName: connection.targetAgentName,
78
+ targetInboundTopicId: connection.targetInboundTopicId,
79
+ status: this.convertConnectionStatus(connection.status || "established"),
80
+ isPending: connection.isPending || false,
81
+ needsConfirmation: connection.needsConfirmation || false,
82
+ created: connection.created || /* @__PURE__ */ new Date(),
83
+ lastActivity: connection.lastActivity,
84
+ profileInfo: connection.profileInfo,
85
+ connectionRequestId: connection.connectionRequestId,
86
+ processed: true
87
+ };
88
+ this.connectionsManager.updateOrAddConnection(sdkConnection);
89
+ this.initializeTimestampIfNeeded(connection.connectionTopicId);
90
+ }
91
+ /**
92
+ * Updates an existing connection or adds it if not found.
93
+ * Preserves existing properties when updating by merging objects.
94
+ */
95
+ updateOrAddConnection(connection) {
96
+ this.addActiveConnection(connection);
97
+ }
98
+ /**
99
+ * Returns a copy of all active connections.
100
+ */
101
+ listConnections() {
102
+ if (!this.connectionsManager) {
103
+ this.logger.debug(
104
+ "ConnectionsManager not initialized, returning empty connections list"
105
+ );
106
+ return [];
107
+ }
108
+ return this.connectionsManager.getAllConnections().map((conn) => this.convertToActiveConnection(conn));
109
+ }
110
+ /**
111
+ * Finds a connection by its identifier, which can be:
112
+ * - A 1-based index as displayed in the connection list
113
+ * - A target account ID string
114
+ * - A connection topic ID string
115
+ */
116
+ getConnectionByIdentifier(identifier) {
117
+ if (!this.connectionsManager) {
118
+ return void 0;
119
+ }
120
+ const connections = this.listConnections();
121
+ const numericIndex = parseInt(identifier) - 1;
122
+ if (!isNaN(numericIndex) && numericIndex >= 0 && numericIndex < connections.length) {
123
+ return connections[numericIndex];
124
+ }
125
+ const byTopicId = this.connectionsManager.getConnectionByTopicId(identifier);
126
+ if (byTopicId) {
127
+ return this.convertToActiveConnection(byTopicId);
128
+ }
129
+ const byAccountId = this.connectionsManager.getConnectionByAccountId(identifier);
130
+ if (byAccountId) {
131
+ return this.convertToActiveConnection(byAccountId);
132
+ }
133
+ return void 0;
134
+ }
135
+ /**
136
+ * Gets the last processed message timestamp for a connection.
137
+ * Returns 0 if no timestamp has been recorded.
138
+ */
139
+ getLastTimestamp(connectionTopicId) {
140
+ return this.connectionMessageTimestamps[connectionTopicId] || 0;
141
+ }
142
+ /**
143
+ * Updates the last processed message timestamp for a connection,
144
+ * but only if the new timestamp is more recent than the existing one.
145
+ */
146
+ updateTimestamp(connectionTopicId, timestampNanos) {
147
+ if (!(connectionTopicId in this.connectionMessageTimestamps)) {
148
+ this.connectionMessageTimestamps[connectionTopicId] = timestampNanos;
149
+ return;
150
+ }
151
+ const currentTimestamp = this.connectionMessageTimestamps[connectionTopicId];
152
+ if (timestampNanos > currentTimestamp) {
153
+ this.connectionMessageTimestamps[connectionTopicId] = timestampNanos;
154
+ }
155
+ }
156
+ /**
157
+ * Helper method to initialize timestamp tracking for a connection
158
+ * if it doesn't already exist.
159
+ */
160
+ initializeTimestampIfNeeded(connectionTopicId) {
161
+ if (!(connectionTopicId in this.connectionMessageTimestamps)) {
162
+ this.connectionMessageTimestamps[connectionTopicId] = Date.now() * 1e6;
163
+ }
164
+ }
165
+ /**
166
+ * Converts ConnectionStatus to SDK status format
167
+ */
168
+ convertConnectionStatus(status) {
169
+ switch (status) {
170
+ case "pending":
171
+ return "pending";
172
+ case "established":
173
+ return "established";
174
+ case "needs confirmation":
175
+ return "needs_confirmation";
176
+ default:
177
+ return "established";
178
+ }
179
+ }
180
+ /**
181
+ * Converts SDK Connection to ActiveConnection
182
+ */
183
+ convertToActiveConnection(conn) {
184
+ return {
185
+ targetAccountId: conn.targetAccountId,
186
+ targetAgentName: conn.targetAgentName || `Agent ${conn.targetAccountId}`,
187
+ targetInboundTopicId: conn.targetInboundTopicId || "",
188
+ connectionTopicId: conn.connectionTopicId,
189
+ status: this.convertToStateStatus(conn.status),
190
+ created: conn.created,
191
+ lastActivity: conn.lastActivity,
192
+ isPending: conn.isPending,
193
+ needsConfirmation: conn.needsConfirmation,
194
+ profileInfo: conn.profileInfo,
195
+ connectionRequestId: conn.connectionRequestId
196
+ };
197
+ }
198
+ /**
199
+ * Converts SDK status to state status format
200
+ */
201
+ convertToStateStatus(status) {
202
+ switch (status) {
203
+ case "pending":
204
+ return "pending";
205
+ case "established":
206
+ return "established";
207
+ case "needs_confirmation":
208
+ return "needs confirmation";
209
+ case "closed":
210
+ return "established";
211
+ // Mapping closed to established for compatibility
212
+ default:
213
+ return "unknown";
214
+ }
215
+ }
216
+ /**
217
+ * Persists agent data to environment variables
218
+ * @param agent - The agent data to persist
219
+ * @param options - Environment file persistence options
220
+ */
221
+ async persistAgentData(agent, options) {
222
+ if (options?.type && options.type !== "env-file") {
223
+ throw new Error(
224
+ `Unsupported persistence type: ${options.type}. Only 'env-file' is supported.`
225
+ );
226
+ }
227
+ const envFilePath = options?.envFilePath || this.defaultEnvFilePath || process.env.ENV_FILE_PATH || ".env";
228
+ const prefix = options?.prefix || this.defaultPrefix;
229
+ if (!agent.accountId || !agent.inboundTopicId || !agent.outboundTopicId) {
230
+ throw new Error("Agent data incomplete, cannot persist to environment");
231
+ }
232
+ const updates = {
233
+ [`${prefix}_ACCOUNT_ID`]: agent.accountId,
234
+ [`${prefix}_INBOUND_TOPIC_ID`]: agent.inboundTopicId,
235
+ [`${prefix}_OUTBOUND_TOPIC_ID`]: agent.outboundTopicId
236
+ };
237
+ if (agent.privateKey) {
238
+ updates[`${prefix}_PRIVATE_KEY`] = agent.privateKey;
239
+ }
240
+ if (agent.profileTopicId) {
241
+ updates[`${prefix}_PROFILE_TOPIC_ID`] = agent.profileTopicId;
242
+ }
243
+ await updateEnvFile(envFilePath, updates);
27
244
  }
28
245
  }
29
246
  export {
30
- HederaGetHbarPriceTool2 as GetHbarPriceTool,
31
- HbarPricePlugin
247
+ OpenConvaiState
32
248
  };
33
249
  //# sourceMappingURL=standards-agent-kit.es41.js.map