@hashgraphonline/standards-agent-kit 0.2.141 → 0.2.143

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 (49) hide show
  1. package/dist/cjs/builders/hcs6/hcs6-builder.d.ts +2 -2
  2. package/dist/cjs/standards-agent-kit.cjs +1 -1
  3. package/dist/cjs/standards-agent-kit.cjs.map +1 -1
  4. package/dist/es/builders/hcs6/hcs6-builder.d.ts +2 -2
  5. package/dist/es/standards-agent-kit.es24.js +1 -1
  6. package/dist/es/standards-agent-kit.es25.js +1 -1
  7. package/dist/es/standards-agent-kit.es26.js +1 -1
  8. package/dist/es/standards-agent-kit.es27.js +1 -1
  9. package/dist/es/standards-agent-kit.es28.js +1 -1
  10. package/dist/es/standards-agent-kit.es31.js +1 -1
  11. package/dist/es/standards-agent-kit.es32.js +1 -1
  12. package/dist/es/standards-agent-kit.es33.js +1 -1
  13. package/dist/es/standards-agent-kit.es36.js +1 -1
  14. package/dist/es/standards-agent-kit.es37.js +1 -1
  15. package/dist/es/standards-agent-kit.es38.js +3 -3
  16. package/dist/es/standards-agent-kit.es39.js +16 -6
  17. package/dist/es/standards-agent-kit.es39.js.map +1 -1
  18. package/dist/es/standards-agent-kit.es41.js +1 -1
  19. package/dist/es/standards-agent-kit.es42.js +1 -1
  20. package/dist/es/standards-agent-kit.es47.js +3 -24
  21. package/dist/es/standards-agent-kit.es47.js.map +1 -1
  22. package/dist/es/standards-agent-kit.es49.js +24 -3
  23. package/dist/es/standards-agent-kit.es49.js.map +1 -1
  24. package/dist/es/standards-agent-kit.es50.js +20 -3
  25. package/dist/es/standards-agent-kit.es50.js.map +1 -1
  26. package/dist/es/standards-agent-kit.es51.js +50 -17
  27. package/dist/es/standards-agent-kit.es51.js.map +1 -1
  28. package/dist/es/standards-agent-kit.es52.js +3 -54
  29. package/dist/es/standards-agent-kit.es52.js.map +1 -1
  30. package/dist/es/standards-agent-kit.es53.js +39 -2
  31. package/dist/es/standards-agent-kit.es53.js.map +1 -1
  32. package/dist/es/standards-agent-kit.es54.js +17 -38
  33. package/dist/es/standards-agent-kit.es54.js.map +1 -1
  34. package/dist/es/standards-agent-kit.es55.js +71 -16
  35. package/dist/es/standards-agent-kit.es55.js.map +1 -1
  36. package/dist/es/standards-agent-kit.es56.js +3 -73
  37. package/dist/es/standards-agent-kit.es56.js.map +1 -1
  38. package/dist/es/standards-agent-kit.es6.js +1 -1
  39. package/dist/es/standards-agent-kit.es6.js.map +1 -1
  40. package/dist/es/standards-agent-kit.es7.js +51 -13
  41. package/dist/es/standards-agent-kit.es7.js.map +1 -1
  42. package/dist/es/standards-agent-kit.es9.js +1 -1
  43. package/dist/umd/builders/hcs6/hcs6-builder.d.ts +2 -2
  44. package/dist/umd/standards-agent-kit.umd.js +1 -1
  45. package/dist/umd/standards-agent-kit.umd.js.map +1 -1
  46. package/package.json +35 -27
  47. package/src/builders/hcs2/hcs2-builder.ts +1 -1
  48. package/src/builders/hcs6/hcs6-builder.ts +90 -21
  49. package/src/tools/inscriber/InscribeHashinalTool.ts +15 -10
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es6.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 HederaMirrorNode,\n} from '@hashgraphonline/standards-sdk';\nimport { SignerProviderRegistry, type NetworkString } from '../../signing/signer-provider';\nimport type { TopicRegistrationResult, RegistryOperationResult, SubmitMessageResult } from '../../types/tx-results';\nimport { CodedError } from '../../utils/CodedError';\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 let keyTypeHint: 'ed25519' | 'ecdsa' | undefined;\n try {\n const mirror = new HederaMirrorNode(networkType);\n const info = await mirror.requestAccount(operatorId);\n const t = (info as any)?.key?._type as string | undefined;\n if (t) {\n const upper = t.toUpperCase();\n if (upper.includes('ED25519')) keyTypeHint = 'ed25519';\n else if (upper.includes('ECDSA')) keyTypeHint = 'ecdsa';\n }\n } catch {}\n\n const config: SDKHCS2ClientConfig = {\n network: networkType,\n operatorId: operatorId,\n operatorKey: operatorPrivateKey,\n ...(keyTypeHint ? { keyType: keyTypeHint } : {}),\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<TopicRegistrationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { options };\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const { transactionBytes } = await start('hcs2.createRegistry', request, network);\n if (transactionBytes) {\n return { success: true, transactionBytes };\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError('wallet_submit_failed', `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n }\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.createRegistry');\n }\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\n const client = await this.getHCS2Client();\n return await client.createRegistry(options);\n }\n /**\n * Register a new entry in an HCS-2 registry\n */\n async registerEntry(\n registryTopicId: string,\n options: RegisterEntryOptions\n ): Promise<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.registerEntry')) {\n const built = await ByteBuildRegistry.build('hcs2.registerEntry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = {\n registryTopicId,\n options,\n };\n const { transactionBytes } = await start('hcs2.registerEntry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.registerEntry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.updateEntry')) {\n const built = await ByteBuildRegistry.build('hcs2.updateEntry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = {\n registryTopicId,\n options,\n };\n const { transactionBytes } = await start('hcs2.updateEntry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.updateEntry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.deleteEntry')) {\n const built = await ByteBuildRegistry.build('hcs2.deleteEntry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = {\n registryTopicId,\n options,\n };\n const { transactionBytes } = await start('hcs2.deleteEntry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.deleteEntry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.migrateRegistry')) {\n const built = await ByteBuildRegistry.build('hcs2.migrateRegistry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { registryTopicId, options };\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const { transactionBytes } = await start('hcs2.migrateRegistry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.migrateRegistry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<SubmitMessageResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.submitMessage')) {\n const built = await ByteBuildRegistry.build('hcs2.submitMessage', this.hederaKit, { topicId, payload });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { topicId, payload };\n const { transactionBytes } = await start('hcs2.submitMessage', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.submitMessage');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\n const client = await this.getHCS2Client();\n await client.submitMessage(topicId, payload);\n return { success: true };\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":"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"}
1
+ {"version":3,"file":"standards-agent-kit.es6.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 HederaMirrorNode,\n} from '@hashgraphonline/standards-sdk';\nimport { SignerProviderRegistry, type NetworkString } from '../../signing/signer-provider';\nimport type { TopicRegistrationResult, RegistryOperationResult, SubmitMessageResult } from '../../types/tx-results';\nimport { CodedError } from '../../utils/CodedError';\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().toString()\n : '';\n\n const network = this.hederaKit.client.network;\n const networkType: NetworkType = network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n\n let keyTypeHint: 'ed25519' | 'ecdsa' | undefined;\n try {\n const mirror = new HederaMirrorNode(networkType);\n const info = await mirror.requestAccount(operatorId);\n const t = (info as any)?.key?._type as string | undefined;\n if (t) {\n const upper = t.toUpperCase();\n if (upper.includes('ED25519')) keyTypeHint = 'ed25519';\n else if (upper.includes('ECDSA')) keyTypeHint = 'ecdsa';\n }\n } catch {}\n\n const config: SDKHCS2ClientConfig = {\n network: networkType,\n operatorId: operatorId,\n operatorKey: operatorPrivateKey,\n ...(keyTypeHint ? { keyType: keyTypeHint } : {}),\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<TopicRegistrationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { options };\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const { transactionBytes } = await start('hcs2.createRegistry', request, network);\n if (transactionBytes) {\n return { success: true, transactionBytes };\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError('wallet_submit_failed', `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n }\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.createRegistry');\n }\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\n const client = await this.getHCS2Client();\n return await client.createRegistry(options);\n }\n /**\n * Register a new entry in an HCS-2 registry\n */\n async registerEntry(\n registryTopicId: string,\n options: RegisterEntryOptions\n ): Promise<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.registerEntry')) {\n const built = await ByteBuildRegistry.build('hcs2.registerEntry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = {\n registryTopicId,\n options,\n };\n const { transactionBytes } = await start('hcs2.registerEntry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.registerEntry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.updateEntry')) {\n const built = await ByteBuildRegistry.build('hcs2.updateEntry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = {\n registryTopicId,\n options,\n };\n const { transactionBytes } = await start('hcs2.updateEntry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.updateEntry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.deleteEntry')) {\n const built = await ByteBuildRegistry.build('hcs2.deleteEntry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = {\n registryTopicId,\n options,\n };\n const { transactionBytes } = await start('hcs2.deleteEntry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.deleteEntry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.migrateRegistry')) {\n const built = await ByteBuildRegistry.build('hcs2.migrateRegistry', this.hederaKit, { registryTopicId, options });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { registryTopicId, options };\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const { transactionBytes } = await start('hcs2.migrateRegistry', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.migrateRegistry');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\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<SubmitMessageResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n const hasPrivateKey = !!(this.hederaKit?.signer?.getOperatorPrivateKey && this.hederaKit.signer.getOperatorPrivateKey());\n\n try {\n const { ByteBuildRegistry } = await import('../../signing/bytes-registry');\n if (ByteBuildRegistry.has('hcs2.submitMessage')) {\n const built = await ByteBuildRegistry.build('hcs2.submitMessage', this.hederaKit, { topicId, payload });\n if (built && built.transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes: built.transactionBytes };\n }\n }\n }\n } catch {}\n\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { topicId, payload };\n const { transactionBytes } = await start('hcs2.submitMessage', request, network);\n if (transactionBytes) {\n if (exec) {\n return { success: true, transactionBytes };\n }\n if (!hasPrivateKey) {\n return { success: true, transactionBytes };\n }\n }\n } catch (err) {\n if (preferWallet) {\n const msg = `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`;\n throw new CodedError('wallet_submit_failed', msg);\n }\n }\n }\n\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs2.submitMessage');\n }\n\n if (!hasPrivateKey) {\n throw new CodedError('wallet_unavailable', 'No wallet executor and no operator private key available for server execution');\n }\n const client = await this.getHCS2Client();\n await client.submitMessage(topicId, payload);\n return { success: true };\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":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseServiceBuilder } from "hedera-agent-kit";
2
- import { HCS6Client } from "@hashgraphonline/standards-sdk";
2
+ import { HCS6Client, HederaMirrorNode } from "@hashgraphonline/standards-sdk";
3
3
  import { SignerProviderRegistry } from "./standards-agent-kit.es3.js";
4
4
  import { CodedError } from "./standards-agent-kit.es48.js";
5
5
  class HCS6Builder extends BaseServiceBuilder {
@@ -37,18 +37,28 @@ class HCS6Builder extends BaseServiceBuilder {
37
37
  if (start) {
38
38
  try {
39
39
  const request = { options };
40
- const { transactionBytes } = await start("hcs6.createRegistry", request, network);
40
+ const { transactionBytes } = await start(
41
+ "hcs6.createRegistry",
42
+ request,
43
+ network
44
+ );
41
45
  if (transactionBytes) {
42
46
  return { success: true, transactionBytes };
43
47
  }
44
48
  } catch (err) {
45
49
  if (preferWallet) {
46
- throw new CodedError("wallet_submit_failed", `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);
50
+ throw new CodedError(
51
+ "wallet_submit_failed",
52
+ `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`
53
+ );
47
54
  }
48
55
  }
49
56
  }
50
57
  if (preferWallet) {
51
- throw new CodedError("wallet_unavailable", "WalletExecutor not configured for hcs6.createRegistry");
58
+ throw new CodedError(
59
+ "wallet_unavailable",
60
+ "WalletExecutor not configured for hcs6.createRegistry"
61
+ );
52
62
  }
53
63
  }
54
64
  const client = await this.getHCS6Client();
@@ -70,18 +80,28 @@ class HCS6Builder extends BaseServiceBuilder {
70
80
  if (start) {
71
81
  try {
72
82
  const request = { registryTopicId, options };
73
- const { transactionBytes } = await start("hcs6.registerEntry", request, network);
83
+ const { transactionBytes } = await start(
84
+ "hcs6.registerEntry",
85
+ request,
86
+ network
87
+ );
74
88
  if (transactionBytes) {
75
89
  return { success: true, transactionBytes };
76
90
  }
77
91
  } catch (err) {
78
92
  if (preferWallet) {
79
- throw new CodedError("wallet_submit_failed", `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);
93
+ throw new CodedError(
94
+ "wallet_submit_failed",
95
+ `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`
96
+ );
80
97
  }
81
98
  }
82
99
  }
83
100
  if (preferWallet) {
84
- throw new CodedError("wallet_unavailable", "WalletExecutor not configured for hcs6.registerEntry");
101
+ throw new CodedError(
102
+ "wallet_unavailable",
103
+ "WalletExecutor not configured for hcs6.registerEntry"
104
+ );
85
105
  }
86
106
  }
87
107
  const client = await this.getHCS6Client();
@@ -141,28 +161,46 @@ class HCS6Builder extends BaseServiceBuilder {
141
161
  if (start) {
142
162
  try {
143
163
  const request = { topicId, payload };
144
- const { transactionBytes } = await start("hcs6.submitMessage", request, network);
164
+ const { transactionBytes } = await start(
165
+ "hcs6.submitMessage",
166
+ request,
167
+ network
168
+ );
145
169
  if (transactionBytes) {
146
- return { success: true, transactionBytes };
170
+ return {
171
+ success: true,
172
+ transactionBytes
173
+ };
147
174
  }
148
175
  } catch (err) {
149
176
  if (preferWallet) {
150
- throw new CodedError("wallet_submit_failed", `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);
177
+ throw new CodedError(
178
+ "wallet_submit_failed",
179
+ `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`
180
+ );
151
181
  }
152
182
  }
153
183
  }
154
184
  if (preferWallet) {
155
- throw new CodedError("wallet_unavailable", "WalletExecutor not configured for hcs6.submitMessage");
185
+ throw new CodedError(
186
+ "wallet_unavailable",
187
+ "WalletExecutor not configured for hcs6.submitMessage"
188
+ );
156
189
  }
157
190
  }
158
191
  const client = await this.getHCS6Client();
159
- return await client.submitMessage(topicId, payload);
192
+ return await client.submitMessage(
193
+ topicId,
194
+ payload
195
+ );
160
196
  }
161
197
  /**
162
198
  * Get topic info from mirror node
163
199
  */
164
200
  async getTopicInfo(topicId) {
165
- const client = await this.getHCS6Client();
201
+ const network = this.hederaKit.client.network;
202
+ const networkType = network.toString().includes("mainnet") ? "mainnet" : "testnet";
203
+ const client = new HederaMirrorNode(networkType);
166
204
  return await client.getTopicInfo(topicId);
167
205
  }
168
206
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"standards-agent-kit.es7.js","sources":["../../src/builders/hcs6/hcs6-builder.ts"],"sourcesContent":["import { BaseServiceBuilder } from 'hedera-agent-kit';\nimport type { HederaAgentKit } from 'hedera-agent-kit';\nimport {\n HCS6Client,\n SDKHCS6ClientConfig,\n HCS6CreateRegistryOptions,\n HCS6RegisterEntryOptions,\n HCS6QueryRegistryOptions,\n HCS6RegisterOptions,\n HCS6CreateHashinalOptions,\n HCS6TopicRegistrationResponse,\n HCS6RegistryOperationResponse,\n HCS6TopicRegistry,\n HCS6CreateHashinalResponse,\n NetworkType,\n} from '@hashgraphonline/standards-sdk';\nimport { SignerProviderRegistry, type NetworkString } from '../../signing/signer-provider';\nimport type { HCS6TopicRegistrationResult, HCS6RegistryOperationResult, HCS6CreateHashinalResult } from '../../types/tx-results';\nimport { CodedError } from '../../utils/CodedError';\n\n/**\n * Builder for HCS-6 operations that delegates to HCS6Client\n */\nexport class HCS6Builder extends BaseServiceBuilder {\n protected hcs6Client?: HCS6Client;\n\n constructor(hederaKit: HederaAgentKit) {\n super(hederaKit);\n }\n\n /**\n * Get or create HCS-6 client\n */\n protected async getHCS6Client(): Promise<HCS6Client> {\n if (!this.hcs6Client) {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toString()\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: SDKHCS6ClientConfig = {\n network: networkType,\n operatorId: operatorId,\n operatorKey: operatorPrivateKey,\n };\n\n this.hcs6Client = new HCS6Client(config);\n }\n return this.hcs6Client;\n }\n\n /**\n * Create a new HCS-6 dynamic registry\n * Note: This executes the transaction directly via HCS6Client\n */\n async createRegistry(\n options: HCS6CreateRegistryOptions = {}\n ): Promise<HCS6TopicRegistrationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { options };\n const { transactionBytes } = await start('hcs6.createRegistry', request, network);\n if (transactionBytes) {\n return { success: true, transactionBytes };\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError('wallet_submit_failed', `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n }\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs6.createRegistry');\n }\n }\n\n const client = await this.getHCS6Client();\n const sanitized = { ...options };\n if ('adminKey' in sanitized) {\n delete (sanitized as any).adminKey;\n }\n return await client.createRegistry(sanitized);\n }\n\n /**\n * Register a new dynamic hashinal entry in an HCS-6 registry\n */\n async registerEntry(\n registryTopicId: string,\n options: HCS6RegisterEntryOptions\n ): Promise<HCS6RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { registryTopicId, options };\n const { transactionBytes } = await start('hcs6.registerEntry', request, network);\n if (transactionBytes) {\n return { success: true, transactionBytes };\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError('wallet_submit_failed', `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n }\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs6.registerEntry');\n }\n }\n\n const client = await this.getHCS6Client();\n return await client.registerEntry(registryTopicId, options);\n }\n\n /**\n * Query entries from an HCS-6 registry\n */\n async getRegistry(\n topicId: string,\n options: HCS6QueryRegistryOptions = {}\n ): Promise<HCS6TopicRegistry> {\n const client = await this.getHCS6Client();\n return await client.getRegistry(topicId, options);\n }\n\n /**\n * Create a complete dynamic hashinal with inscription and registry\n */\n async createHashinal(\n options: HCS6CreateHashinalOptions\n ): Promise<HCS6CreateHashinalResponse> {\n const client = await this.getHCS6Client();\n const metadata = {\n name: options.metadata?.name || 'Dynamic Hashinal',\n creator:\n options.metadata?.creator || this.hederaKit.signer.getAccountId().toString(),\n description: options.metadata?.description || 'Dynamic hashinal metadata',\n type: options.metadata?.type || 'json',\n ...options.metadata,\n } as Record<string, unknown>;\n\n return await client.createHashinal({\n ...options,\n metadata,\n });\n }\n\n /**\n * Register a dynamic hashinal with combined inscription and registry creation\n * This is the main method for creating and updating dynamic hashinals\n */\n async register(\n options: HCS6RegisterOptions\n ): Promise<HCS6CreateHashinalResponse> {\n const client = await this.getHCS6Client();\n const metadata = {\n name: options.metadata?.name || 'Dynamic Hashinal',\n creator:\n options.metadata?.creator || this.hederaKit.signer.getAccountId().toString(),\n description:\n options.metadata?.description || 'Dynamic hashinal registration',\n type: options.metadata?.type || 'json',\n ...options.metadata,\n } as Record<string, unknown>;\n\n return await client.register({\n ...options,\n metadata,\n });\n }\n\n /**\n * Submit a raw message to an HCS-6 topic\n */\n async submitMessage(\n topicId: string,\n payload: any\n ): Promise<HCS6RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (this.hederaKit.client.network.toString().includes('mainnet') ? 'mainnet' : 'testnet') as NetworkString;\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { topicId, payload };\n const { transactionBytes } = await start('hcs6.submitMessage', request, network);\n if (transactionBytes) {\n return { success: true, transactionBytes } as unknown as HCS6RegistryOperationResult;\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError('wallet_submit_failed', `wallet_submit_failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n }\n if (preferWallet) {\n throw new CodedError('wallet_unavailable', 'WalletExecutor not configured for hcs6.submitMessage');\n }\n }\n\n const client = await this.getHCS6Client();\n return await client.submitMessage(topicId, payload) as unknown as HCS6RegistryOperationResult;\n }\n\n /**\n * Get topic info from mirror node\n */\n async getTopicInfo(topicId: string): Promise<any> {\n const client = await this.getHCS6Client();\n return await client.getTopicInfo(topicId);\n }\n\n /**\n * Close the HCS-6 client\n */\n async close(): Promise<void> {\n if (this.hcs6Client) {\n this.hcs6Client.close();\n this.hcs6Client = undefined;\n }\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-agent-kit.es7.js","sources":["../../src/builders/hcs6/hcs6-builder.ts"],"sourcesContent":["import { BaseServiceBuilder } from 'hedera-agent-kit';\nimport type { HederaAgentKit } from 'hedera-agent-kit';\nimport {\n HCS6Client,\n SDKHCS6ClientConfig,\n HCS6CreateRegistryOptions,\n HCS6RegisterEntryOptions,\n HCS6QueryRegistryOptions,\n HCS6RegisterOptions,\n HCS6CreateHashinalOptions,\n HCS6TopicRegistrationResponse,\n HCS6RegistryOperationResponse,\n HCS6TopicRegistry,\n HCS6CreateHashinalResponse,\n NetworkType,\n HederaMirrorNode,\n TopicResponse,\n} from '@hashgraphonline/standards-sdk';\nimport {\n SignerProviderRegistry,\n type NetworkString,\n} from '../../signing/signer-provider';\nimport type {\n HCS6TopicRegistrationResult,\n HCS6RegistryOperationResult,\n HCS6CreateHashinalResult,\n} from '../../types/tx-results';\nimport { CodedError } from '../../utils/CodedError';\n\n/**\n * Builder for HCS-6 operations that delegates to HCS6Client\n */\nexport class HCS6Builder extends BaseServiceBuilder {\n protected hcs6Client?: HCS6Client;\n\n constructor(hederaKit: HederaAgentKit) {\n super(hederaKit);\n }\n\n /**\n * Get or create HCS-6 client\n */\n protected async getHCS6Client(): Promise<HCS6Client> {\n if (!this.hcs6Client) {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toString()\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: SDKHCS6ClientConfig = {\n network: networkType,\n operatorId: operatorId,\n operatorKey: operatorPrivateKey,\n };\n\n this.hcs6Client = new HCS6Client(config);\n }\n return this.hcs6Client;\n }\n\n /**\n * Create a new HCS-6 dynamic registry\n * Note: This executes the transaction directly via HCS6Client\n */\n async createRegistry(\n options: HCS6CreateRegistryOptions = {}\n ): Promise<HCS6TopicRegistrationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (\n this.hederaKit.client.network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet'\n ) as NetworkString;\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { options };\n const { transactionBytes } = await start(\n 'hcs6.createRegistry',\n request,\n network\n );\n if (transactionBytes) {\n return { success: true, transactionBytes };\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError(\n 'wallet_submit_failed',\n `wallet_submit_failed: ${\n err instanceof Error ? err.message : String(err)\n }`\n );\n }\n }\n }\n if (preferWallet) {\n throw new CodedError(\n 'wallet_unavailable',\n 'WalletExecutor not configured for hcs6.createRegistry'\n );\n }\n }\n\n const client = await this.getHCS6Client();\n const sanitized = { ...options };\n if ('adminKey' in sanitized) {\n delete (sanitized as any).adminKey;\n }\n return await client.createRegistry(sanitized);\n }\n\n /**\n * Register a new dynamic hashinal entry in an HCS-6 registry\n */\n async registerEntry(\n registryTopicId: string,\n options: HCS6RegisterEntryOptions\n ): Promise<HCS6RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (\n this.hederaKit.client.network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet'\n ) as NetworkString;\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { registryTopicId, options };\n const { transactionBytes } = await start(\n 'hcs6.registerEntry',\n request,\n network\n );\n if (transactionBytes) {\n return { success: true, transactionBytes };\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError(\n 'wallet_submit_failed',\n `wallet_submit_failed: ${\n err instanceof Error ? err.message : String(err)\n }`\n );\n }\n }\n }\n if (preferWallet) {\n throw new CodedError(\n 'wallet_unavailable',\n 'WalletExecutor not configured for hcs6.registerEntry'\n );\n }\n }\n\n const client = await this.getHCS6Client();\n return await client.registerEntry(registryTopicId, options);\n }\n\n /**\n * Query entries from an HCS-6 registry\n */\n async getRegistry(\n topicId: string,\n options: HCS6QueryRegistryOptions = {}\n ): Promise<HCS6TopicRegistry> {\n const client = await this.getHCS6Client();\n return await client.getRegistry(topicId, options);\n }\n\n /**\n * Create a complete dynamic hashinal with inscription and registry\n */\n async createHashinal(\n options: HCS6CreateHashinalOptions\n ): Promise<HCS6CreateHashinalResponse> {\n const client = await this.getHCS6Client();\n const metadata = {\n name: options.metadata?.name || 'Dynamic Hashinal',\n creator:\n options.metadata?.creator ||\n this.hederaKit.signer.getAccountId().toString(),\n description: options.metadata?.description || 'Dynamic hashinal metadata',\n type: options.metadata?.type || 'json',\n ...options.metadata,\n } as Record<string, unknown>;\n\n return await client.createHashinal({\n ...options,\n metadata,\n });\n }\n\n /**\n * Register a dynamic hashinal with combined inscription and registry creation\n * This is the main method for creating and updating dynamic hashinals\n */\n async register(\n options: HCS6RegisterOptions\n ): Promise<HCS6CreateHashinalResponse> {\n const client = await this.getHCS6Client();\n const metadata = {\n name: options.metadata?.name || 'Dynamic Hashinal',\n creator:\n options.metadata?.creator ||\n this.hederaKit.signer.getAccountId().toString(),\n description:\n options.metadata?.description || 'Dynamic hashinal registration',\n type: options.metadata?.type || 'json',\n ...options.metadata,\n } as Record<string, unknown>;\n\n return await client.register({\n ...options,\n metadata,\n });\n }\n\n /**\n * Submit a raw message to an HCS-6 topic\n */\n async submitMessage(\n topicId: string,\n payload: any\n ): Promise<HCS6RegistryOperationResult> {\n const exec = SignerProviderRegistry.walletExecutor;\n const preferWallet = SignerProviderRegistry.preferWalletOnly;\n const network = (\n this.hederaKit.client.network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet'\n ) as NetworkString;\n\n if (exec) {\n const start = SignerProviderRegistry.startHCSDelegate;\n if (start) {\n try {\n const request: Record<string, unknown> = { topicId, payload };\n const { transactionBytes } = await start(\n 'hcs6.submitMessage',\n request,\n network\n );\n if (transactionBytes) {\n return {\n success: true,\n transactionBytes,\n } as unknown as HCS6RegistryOperationResult;\n }\n } catch (err) {\n if (preferWallet) {\n throw new CodedError(\n 'wallet_submit_failed',\n `wallet_submit_failed: ${\n err instanceof Error ? err.message : String(err)\n }`\n );\n }\n }\n }\n if (preferWallet) {\n throw new CodedError(\n 'wallet_unavailable',\n 'WalletExecutor not configured for hcs6.submitMessage'\n );\n }\n }\n\n const client = await this.getHCS6Client();\n return (await client.submitMessage(\n topicId,\n payload\n )) as unknown as HCS6RegistryOperationResult;\n }\n\n /**\n * Get topic info from mirror node\n */\n async getTopicInfo(topicId: string): Promise<TopicResponse> {\n const network = this.hederaKit.client.network;\n const networkType: NetworkType = network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n const client = new HederaMirrorNode(networkType);\n return await client.getTopicInfo(topicId);\n }\n\n /**\n * Close the HCS-6 client\n */\n async close(): Promise<void> {\n if (this.hcs6Client) {\n this.hcs6Client.close();\n this.hcs6Client = undefined;\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { HCS10Client as HCS10Client$1, Logger, AgentBuilder, AIAgentCapability, InboundTopicType } from "@hashgraphonline/standards-sdk";
2
- import { encryptMessage } from "./standards-agent-kit.es49.js";
2
+ import { encryptMessage } from "./standards-agent-kit.es47.js";
3
3
  class HCS10Client {
4
4
  constructor(operatorId, operatorPrivateKey, network, options) {
5
5
  this.standardClient = new HCS10Client$1({
@@ -1,5 +1,5 @@
1
1
  import { BaseServiceBuilder, HederaAgentKit } from 'hedera-agent-kit';
2
- import { HCS6Client, HCS6CreateRegistryOptions, HCS6RegisterEntryOptions, HCS6QueryRegistryOptions, HCS6RegisterOptions, HCS6CreateHashinalOptions, HCS6TopicRegistry, HCS6CreateHashinalResponse } from '@hashgraphonline/standards-sdk';
2
+ import { HCS6Client, HCS6CreateRegistryOptions, HCS6RegisterEntryOptions, HCS6QueryRegistryOptions, HCS6RegisterOptions, HCS6CreateHashinalOptions, HCS6TopicRegistry, HCS6CreateHashinalResponse, TopicResponse } from '@hashgraphonline/standards-sdk';
3
3
  import { HCS6TopicRegistrationResult, HCS6RegistryOperationResult } from '../../types/tx-results';
4
4
  /**
5
5
  * Builder for HCS-6 operations that delegates to HCS6Client
@@ -40,7 +40,7 @@ export declare class HCS6Builder extends BaseServiceBuilder {
40
40
  /**
41
41
  * Get topic info from mirror node
42
42
  */
43
- getTopicInfo(topicId: string): Promise<any>;
43
+ getTopicInfo(topicId: string): Promise<TopicResponse>;
44
44
  /**
45
45
  * Close the HCS-6 client
46
46
  */