@hashgraphonline/standards-agent-kit 0.2.142 → 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.
- package/dist/cjs/builders/hcs6/hcs6-builder.d.ts +2 -2
- package/dist/cjs/standards-agent-kit.cjs +1 -1
- package/dist/cjs/standards-agent-kit.cjs.map +1 -1
- package/dist/es/builders/hcs6/hcs6-builder.d.ts +2 -2
- package/dist/es/standards-agent-kit.es24.js +1 -1
- package/dist/es/standards-agent-kit.es25.js +1 -1
- package/dist/es/standards-agent-kit.es26.js +1 -1
- package/dist/es/standards-agent-kit.es27.js +1 -1
- package/dist/es/standards-agent-kit.es28.js +1 -1
- package/dist/es/standards-agent-kit.es31.js +1 -1
- package/dist/es/standards-agent-kit.es32.js +1 -1
- package/dist/es/standards-agent-kit.es33.js +1 -1
- package/dist/es/standards-agent-kit.es36.js +1 -1
- package/dist/es/standards-agent-kit.es37.js +1 -1
- package/dist/es/standards-agent-kit.es38.js +3 -3
- package/dist/es/standards-agent-kit.es39.js +5 -5
- package/dist/es/standards-agent-kit.es39.js.map +1 -1
- package/dist/es/standards-agent-kit.es41.js +1 -1
- package/dist/es/standards-agent-kit.es42.js +1 -1
- package/dist/es/standards-agent-kit.es47.js +3 -24
- package/dist/es/standards-agent-kit.es47.js.map +1 -1
- package/dist/es/standards-agent-kit.es49.js +24 -3
- package/dist/es/standards-agent-kit.es49.js.map +1 -1
- package/dist/es/standards-agent-kit.es50.js +20 -3
- package/dist/es/standards-agent-kit.es50.js.map +1 -1
- package/dist/es/standards-agent-kit.es51.js +50 -17
- package/dist/es/standards-agent-kit.es51.js.map +1 -1
- package/dist/es/standards-agent-kit.es52.js +3 -54
- package/dist/es/standards-agent-kit.es52.js.map +1 -1
- package/dist/es/standards-agent-kit.es53.js +39 -2
- package/dist/es/standards-agent-kit.es53.js.map +1 -1
- package/dist/es/standards-agent-kit.es54.js +17 -38
- package/dist/es/standards-agent-kit.es54.js.map +1 -1
- package/dist/es/standards-agent-kit.es55.js +71 -16
- package/dist/es/standards-agent-kit.es55.js.map +1 -1
- package/dist/es/standards-agent-kit.es56.js +3 -73
- package/dist/es/standards-agent-kit.es56.js.map +1 -1
- package/dist/es/standards-agent-kit.es6.js +1 -1
- package/dist/es/standards-agent-kit.es6.js.map +1 -1
- package/dist/es/standards-agent-kit.es7.js +51 -13
- package/dist/es/standards-agent-kit.es7.js.map +1 -1
- package/dist/es/standards-agent-kit.es9.js +1 -1
- package/dist/umd/builders/hcs6/hcs6-builder.d.ts +2 -2
- package/dist/umd/standards-agent-kit.umd.js +1 -1
- package/dist/umd/standards-agent-kit.umd.js.map +1 -1
- package/package.json +35 -27
- package/src/builders/hcs2/hcs2-builder.ts +1 -1
- package/src/builders/hcs6/hcs6-builder.ts +90 -21
- package/src/tools/inscriber/InscribeHashinalTool.ts +15 -10
|
@@ -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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
164
|
+
const { transactionBytes } = await start(
|
|
165
|
+
"hcs6.submitMessage",
|
|
166
|
+
request,
|
|
167
|
+
network
|
|
168
|
+
);
|
|
145
169
|
if (transactionBytes) {
|
|
146
|
-
return {
|
|
170
|
+
return {
|
|
171
|
+
success: true,
|
|
172
|
+
transactionBytes
|
|
173
|
+
};
|
|
147
174
|
}
|
|
148
175
|
} catch (err) {
|
|
149
176
|
if (preferWallet) {
|
|
150
|
-
throw new CodedError(
|
|
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(
|
|
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(
|
|
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
|
|
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":";;;;AAuBO,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,SAAA,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,UAAqC,IACC;AACtC,UAAM,OAAO,uBAAuB;AACpC,UAAM,eAAe,uBAAuB;AAC5C,UAAM,UAAW,KAAK,UAAU,OAAO,QAAQ,WAAW,SAAS,SAAS,IAAI,YAAY;AAE5F,QAAI,MAAM;AACR,YAAM,QAAQ,uBAAuB;AACrC,UAAI,OAAO;AACT,YAAI;AACF,gBAAM,UAAmC,EAAE,QAAA;AAC3C,gBAAM,EAAE,iBAAA,IAAqB,MAAM,MAAM,uBAAuB,SAAS,OAAO;AAChF,cAAI,kBAAkB;AACpB,mBAAO,EAAE,SAAS,MAAM,iBAAA;AAAA,UAC1B;AAAA,QACF,SAAS,KAAK;AACZ,cAAI,cAAc;AAChB,kBAAM,IAAI,WAAW,wBAAwB,yBAAyB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,UAC1H;AAAA,QACF;AAAA,MACF;AACA,UAAI,cAAc;AAChB,cAAM,IAAI,WAAW,sBAAsB,uDAAuD;AAAA,MACpG;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,UAAM,YAAY,EAAE,GAAG,QAAA;AACvB,QAAI,cAAc,WAAW;AAC3B,aAAQ,UAAkB;AAAA,IAC5B;AACA,WAAO,MAAM,OAAO,eAAe,SAAS;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,cACJ,iBACA,SACsC;AACtC,UAAM,OAAO,uBAAuB;AACpC,UAAM,eAAe,uBAAuB;AAC5C,UAAM,UAAW,KAAK,UAAU,OAAO,QAAQ,WAAW,SAAS,SAAS,IAAI,YAAY;AAE5F,QAAI,MAAM;AACR,YAAM,QAAQ,uBAAuB;AACrC,UAAI,OAAO;AACT,YAAI;AACF,gBAAM,UAAmC,EAAE,iBAAiB,QAAA;AAC5D,gBAAM,EAAE,iBAAA,IAAqB,MAAM,MAAM,sBAAsB,SAAS,OAAO;AAC/E,cAAI,kBAAkB;AACpB,mBAAO,EAAE,SAAS,MAAM,iBAAA;AAAA,UAC1B;AAAA,QACF,SAAS,KAAK;AACZ,cAAI,cAAc;AAChB,kBAAM,IAAI,WAAW,wBAAwB,yBAAyB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,UAC1H;AAAA,QACF;AAAA,MACF;AACA,UAAI,cAAc;AAChB,cAAM,IAAI,WAAW,sBAAsB,sDAAsD;AAAA,MACnG;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,cAAc,iBAAiB,OAAO;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YACJ,SACA,UAAoC,IACR;AAC5B,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,WAAO,MAAM,OAAO,YAAY,SAAS,OAAO;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,eACJ,SACqC;AACrC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,UAAM,WAAW;AAAA,MACf,MAAM,QAAQ,UAAU,QAAQ;AAAA,MAChC,SACE,QAAQ,UAAU,WAAW,KAAK,UAAU,OAAO,aAAA,EAAe,SAAA;AAAA,MACpE,aAAa,QAAQ,UAAU,eAAe;AAAA,MAC9C,MAAM,QAAQ,UAAU,QAAQ;AAAA,MAChC,GAAG,QAAQ;AAAA,IAAA;AAGb,WAAO,MAAM,OAAO,eAAe;AAAA,MACjC,GAAG;AAAA,MACH;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SACJ,SACqC;AACrC,UAAM,SAAS,MAAM,KAAK,cAAA;AAC1B,UAAM,WAAW;AAAA,MACf,MAAM,QAAQ,UAAU,QAAQ;AAAA,MAChC,SACE,QAAQ,UAAU,WAAW,KAAK,UAAU,OAAO,aAAA,EAAe,SAAA;AAAA,MACpE,aACE,QAAQ,UAAU,eAAe;AAAA,MACnC,MAAM,QAAQ,UAAU,QAAQ;AAAA,MAChC,GAAG,QAAQ;AAAA,IAAA;AAGb,WAAO,MAAM,OAAO,SAAS;AAAA,MAC3B,GAAG;AAAA,MACH;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,cACJ,SACA,SACsC;AACtC,UAAM,OAAO,uBAAuB;AACpC,UAAM,eAAe,uBAAuB;AAC5C,UAAM,UAAW,KAAK,UAAU,OAAO,QAAQ,WAAW,SAAS,SAAS,IAAI,YAAY;AAE5F,QAAI,MAAM;AACR,YAAM,QAAQ,uBAAuB;AACrC,UAAI,OAAO;AACT,YAAI;AACF,gBAAM,UAAmC,EAAE,SAAS,QAAA;AACpD,gBAAM,EAAE,iBAAA,IAAqB,MAAM,MAAM,sBAAsB,SAAS,OAAO;AAC/E,cAAI,kBAAkB;AACpB,mBAAO,EAAE,SAAS,MAAM,iBAAA;AAAA,UAC1B;AAAA,QACF,SAAS,KAAK;AACZ,cAAI,cAAc;AAChB,kBAAM,IAAI,WAAW,wBAAwB,yBAAyB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,UAC1H;AAAA,QACF;AAAA,MACF;AACA,UAAI,cAAc;AAChB,cAAM,IAAI,WAAW,sBAAsB,sDAAsD;AAAA,MACnG;AAAA,IACF;AAEA,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.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.
|
|
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<
|
|
43
|
+
getTopicInfo(topicId: string): Promise<TopicResponse>;
|
|
44
44
|
/**
|
|
45
45
|
* Close the HCS-6 client
|
|
46
46
|
*/
|