@hashgraphonline/standards-sdk 0.0.113 → 0.0.115
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/README.md +4 -2
- package/dist/cjs/hcs-10/base-client.d.ts +2 -0
- package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-10/browser.d.ts +2 -0
- package/dist/cjs/hcs-10/browser.d.ts.map +1 -1
- package/dist/cjs/hcs-10/connections-manager.d.ts +1 -0
- package/dist/cjs/hcs-10/connections-manager.d.ts.map +1 -1
- package/dist/cjs/hcs-10/errors.d.ts.map +1 -1
- package/dist/cjs/hcs-10/registrations.d.ts.map +1 -1
- package/dist/cjs/hcs-10/sdk.d.ts +2 -1
- package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-10/types.d.ts +2 -0
- package/dist/cjs/hcs-10/types.d.ts.map +1 -1
- package/dist/cjs/hcs-11/client.d.ts.map +1 -1
- package/dist/cjs/hcs-11/types.d.ts +1 -0
- package/dist/cjs/hcs-11/types.d.ts.map +1 -1
- package/dist/cjs/hcs-3/src/index.d.ts.map +1 -1
- package/dist/cjs/hcs-7/evm-bridge.d.ts.map +1 -1
- package/dist/cjs/hcs-7/redis-cache.d.ts.map +1 -1
- package/dist/cjs/hcs-7/wasm-bridge.d.ts.map +1 -1
- package/dist/cjs/{index-CHar8dVv-SclbHQNq.cjs → index-CHar8dVv-SvZhHmF3.cjs} +2 -2
- package/dist/cjs/{index-CHar8dVv-SclbHQNq.cjs.map → index-CHar8dVv-SvZhHmF3.cjs.map} +1 -1
- package/dist/cjs/index-CtGN9edr.cjs +11 -0
- package/dist/cjs/index-CtGN9edr.cjs.map +1 -0
- package/dist/cjs/services/mirror-node.d.ts +1 -1
- package/dist/cjs/services/mirror-node.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +1 -1
- package/dist/cjs/utils/logger.d.ts +1 -1
- package/dist/cjs/utils/logger.d.ts.map +1 -1
- package/dist/cjs/utils/parsers/hts-parser.d.ts.map +1 -1
- package/dist/cjs/utils/parsers/scs-parser.d.ts.map +1 -1
- package/dist/cjs/utils/progress-reporter.d.ts.map +1 -1
- package/dist/cjs/utils/sleep.d.ts.map +1 -1
- package/dist/cjs/utils/transaction-parser-types.d.ts.map +1 -1
- package/dist/es/hcs-10/base-client.d.ts +2 -0
- package/dist/es/hcs-10/base-client.d.ts.map +1 -1
- package/dist/es/hcs-10/browser.d.ts +2 -0
- package/dist/es/hcs-10/browser.d.ts.map +1 -1
- package/dist/es/hcs-10/connections-manager.d.ts +1 -0
- package/dist/es/hcs-10/connections-manager.d.ts.map +1 -1
- package/dist/es/hcs-10/errors.d.ts.map +1 -1
- package/dist/es/hcs-10/registrations.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +2 -1
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/hcs-10/types.d.ts +2 -0
- package/dist/es/hcs-10/types.d.ts.map +1 -1
- package/dist/es/hcs-11/client.d.ts.map +1 -1
- package/dist/es/hcs-11/types.d.ts +1 -0
- package/dist/es/hcs-11/types.d.ts.map +1 -1
- package/dist/es/hcs-3/src/index.d.ts.map +1 -1
- package/dist/es/hcs-7/evm-bridge.d.ts.map +1 -1
- package/dist/es/hcs-7/redis-cache.d.ts.map +1 -1
- package/dist/es/hcs-7/wasm-bridge.d.ts.map +1 -1
- package/dist/es/services/mirror-node.d.ts +1 -1
- package/dist/es/services/mirror-node.d.ts.map +1 -1
- package/dist/es/standards-sdk.es10.js +7 -16
- package/dist/es/standards-sdk.es10.js.map +1 -1
- package/dist/es/standards-sdk.es12.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +5 -4
- package/dist/es/standards-sdk.es13.js.map +1 -1
- package/dist/es/standards-sdk.es14.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +13 -3
- package/dist/es/standards-sdk.es15.js.map +1 -1
- package/dist/es/standards-sdk.es16.js.map +1 -1
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es18.js.map +1 -1
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +5 -1
- package/dist/es/standards-sdk.es2.js.map +1 -1
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +9 -27
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es3.js +17 -9
- package/dist/es/standards-sdk.es3.js.map +1 -1
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +4 -1
- package/dist/es/standards-sdk.es4.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +4 -7
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es6.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +233 -114
- package/dist/es/standards-sdk.es7.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +8 -9
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +1 -3
- package/dist/es/standards-sdk.es9.js.map +1 -1
- package/dist/es/utils/logger.d.ts +1 -1
- package/dist/es/utils/logger.d.ts.map +1 -1
- package/dist/es/utils/parsers/hts-parser.d.ts.map +1 -1
- package/dist/es/utils/parsers/scs-parser.d.ts.map +1 -1
- package/dist/es/utils/progress-reporter.d.ts.map +1 -1
- package/dist/es/utils/sleep.d.ts.map +1 -1
- package/dist/es/utils/transaction-parser-types.d.ts.map +1 -1
- package/dist/umd/hcs-10/base-client.d.ts +2 -0
- package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
- package/dist/umd/hcs-10/browser.d.ts +2 -0
- package/dist/umd/hcs-10/browser.d.ts.map +1 -1
- package/dist/umd/hcs-10/connections-manager.d.ts +1 -0
- package/dist/umd/hcs-10/connections-manager.d.ts.map +1 -1
- package/dist/umd/hcs-10/errors.d.ts.map +1 -1
- package/dist/umd/hcs-10/registrations.d.ts.map +1 -1
- package/dist/umd/hcs-10/sdk.d.ts +2 -1
- package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
- package/dist/umd/hcs-10/types.d.ts +2 -0
- package/dist/umd/hcs-10/types.d.ts.map +1 -1
- package/dist/umd/hcs-11/client.d.ts.map +1 -1
- package/dist/umd/hcs-11/types.d.ts +1 -0
- package/dist/umd/hcs-11/types.d.ts.map +1 -1
- package/dist/umd/hcs-3/src/index.d.ts.map +1 -1
- package/dist/umd/hcs-7/evm-bridge.d.ts.map +1 -1
- package/dist/umd/hcs-7/redis-cache.d.ts.map +1 -1
- package/dist/umd/hcs-7/wasm-bridge.d.ts.map +1 -1
- package/dist/umd/services/mirror-node.d.ts +1 -1
- package/dist/umd/services/mirror-node.d.ts.map +1 -1
- package/dist/umd/standards-sdk.umd.js +6 -6
- package/dist/umd/standards-sdk.umd.js.map +1 -1
- package/dist/umd/utils/logger.d.ts +1 -1
- package/dist/umd/utils/logger.d.ts.map +1 -1
- package/dist/umd/utils/parsers/hts-parser.d.ts.map +1 -1
- package/dist/umd/utils/parsers/scs-parser.d.ts.map +1 -1
- package/dist/umd/utils/progress-reporter.d.ts.map +1 -1
- package/dist/umd/utils/sleep.d.ts.map +1 -1
- package/dist/umd/utils/transaction-parser-types.d.ts.map +1 -1
- package/package.json +10 -4
- package/dist/cjs/index-CcE0yY9g.cjs +0 -11
- package/dist/cjs/index-CcE0yY9g.cjs.map +0 -1
|
@@ -16,7 +16,8 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
16
16
|
logLevel: config.logLevel,
|
|
17
17
|
prettyPrint: config.prettyPrint,
|
|
18
18
|
feeAmount: config.feeAmount,
|
|
19
|
-
mirrorNode: config.mirrorNode
|
|
19
|
+
mirrorNode: config.mirrorNode,
|
|
20
|
+
silent: config.silent
|
|
20
21
|
});
|
|
21
22
|
this.client = config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet();
|
|
22
23
|
this.operatorPrivateKey = PrivateKey.fromString(config.operatorPrivateKey);
|
|
@@ -27,7 +28,8 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
27
28
|
);
|
|
28
29
|
this.logger = Logger.getInstance({
|
|
29
30
|
level: config.logLevel || "info",
|
|
30
|
-
module: "HCS-SDK"
|
|
31
|
+
module: "HCS-SDK",
|
|
32
|
+
silent: config.silent
|
|
31
33
|
});
|
|
32
34
|
this.guardedRegistryBaseUrl = config.guardedRegistryBaseUrl || "https://moonscape.tech";
|
|
33
35
|
this.hcs11Client = new HCS11Client({
|
|
@@ -36,7 +38,8 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
36
38
|
operatorId: config.operatorId,
|
|
37
39
|
privateKey: config.operatorPrivateKey
|
|
38
40
|
},
|
|
39
|
-
logLevel: config.logLevel
|
|
41
|
+
logLevel: config.logLevel,
|
|
42
|
+
silent: config.silent
|
|
40
43
|
});
|
|
41
44
|
}
|
|
42
45
|
getClient() {
|
|
@@ -120,26 +123,39 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
120
123
|
* Creates a new agent with inbound and outbound topics
|
|
121
124
|
* @param builder The agent builder object
|
|
122
125
|
* @param ttl Optional Time-To-Live for the topic memos, defaults to 60
|
|
126
|
+
* @param existingState Optional existing state to resume from
|
|
123
127
|
* @returns Object with topic IDs
|
|
124
128
|
*/
|
|
125
|
-
async createAgent(builder, ttl = 60) {
|
|
129
|
+
async createAgent(builder, ttl = 60, existingState) {
|
|
126
130
|
const config = builder.build();
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
this.logger.info(`Created new outbound topic ID: ${outboundTopicId}`);
|
|
131
|
+
let outboundTopicId = existingState?.outboundTopicId || "";
|
|
132
|
+
let inboundTopicId = existingState?.inboundTopicId || "";
|
|
133
|
+
let pfpTopicId = existingState?.pfpTopicId || config.existingPfpTopicId || "";
|
|
134
|
+
let profileTopicId = existingState?.profileTopicId || "";
|
|
132
135
|
const accountId = this.client.operatorAccountId?.toString();
|
|
133
136
|
if (!accountId) {
|
|
134
137
|
throw new Error("Failed to retrieve operator account ID");
|
|
135
138
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
139
|
+
if (!outboundTopicId) {
|
|
140
|
+
const outboundMemo = this._generateHcs10Memo(Hcs10MemoType.OUTBOUND, {
|
|
141
|
+
ttl
|
|
142
|
+
});
|
|
143
|
+
outboundTopicId = await this.createTopic(outboundMemo, true, true);
|
|
144
|
+
this.logger.info(`Created new outbound topic ID: ${outboundTopicId}`);
|
|
145
|
+
} else {
|
|
146
|
+
this.logger.info(`Using existing outbound topic ID: ${outboundTopicId}`);
|
|
147
|
+
}
|
|
148
|
+
if (!inboundTopicId) {
|
|
149
|
+
inboundTopicId = await this.createInboundTopic(
|
|
150
|
+
accountId,
|
|
151
|
+
config.inboundTopicType,
|
|
152
|
+
ttl,
|
|
153
|
+
config.inboundTopicType === InboundTopicType.FEE_BASED ? config.feeConfig : void 0
|
|
154
|
+
);
|
|
155
|
+
this.logger.info(`Created new inbound topic ID: ${inboundTopicId}`);
|
|
156
|
+
} else {
|
|
157
|
+
this.logger.info(`Using existing inbound topic ID: ${inboundTopicId}`);
|
|
158
|
+
}
|
|
143
159
|
if (!pfpTopicId && config.pfpBuffer && config.pfpBuffer.length > 0) {
|
|
144
160
|
this.logger.info("Inscribing new profile picture");
|
|
145
161
|
const pfpResult = await this.inscribePfp(
|
|
@@ -150,24 +166,28 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
150
166
|
this.logger.info(
|
|
151
167
|
`Profile picture inscribed with topic ID: ${pfpTopicId}`
|
|
152
168
|
);
|
|
153
|
-
} else if (
|
|
169
|
+
} else if (pfpTopicId) {
|
|
154
170
|
this.logger.info(
|
|
155
|
-
`Using existing profile picture with topic ID: ${
|
|
171
|
+
`Using existing profile picture with topic ID: ${pfpTopicId}`
|
|
156
172
|
);
|
|
157
173
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
174
|
+
if (!profileTopicId) {
|
|
175
|
+
const profileResult = await this.storeHCS11Profile(
|
|
176
|
+
config.name,
|
|
177
|
+
config.bio,
|
|
178
|
+
inboundTopicId,
|
|
179
|
+
outboundTopicId,
|
|
180
|
+
config.capabilities,
|
|
181
|
+
config.metadata,
|
|
182
|
+
config.pfpBuffer && config.pfpBuffer.length > 0 && !pfpTopicId ? config.pfpBuffer : void 0,
|
|
183
|
+
config.pfpFileName,
|
|
184
|
+
pfpTopicId
|
|
185
|
+
);
|
|
186
|
+
profileTopicId = profileResult.profileTopicId;
|
|
187
|
+
this.logger.info(`Profile stored with topic ID: ${profileTopicId}`);
|
|
188
|
+
} else {
|
|
189
|
+
this.logger.info(`Using existing profile topic ID: ${profileTopicId}`);
|
|
190
|
+
}
|
|
171
191
|
return {
|
|
172
192
|
inboundTopicId,
|
|
173
193
|
outboundTopicId,
|
|
@@ -440,9 +460,7 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
440
460
|
"Connection accepted. Looking forward to collaborating!"
|
|
441
461
|
);
|
|
442
462
|
const accountTopics = await this.retrieveCommunicationTopics(accountId);
|
|
443
|
-
const requestingAccountTopics = await this.retrieveCommunicationTopics(
|
|
444
|
-
requestingAccountId
|
|
445
|
-
);
|
|
463
|
+
const requestingAccountTopics = await this.retrieveCommunicationTopics(requestingAccountId);
|
|
446
464
|
const requestingAccountOperatorId = `${requestingAccountTopics.inboundTopic}@${requestingAccountId}`;
|
|
447
465
|
await this.recordOutboundConnectionConfirmation({
|
|
448
466
|
outboundTopicId: accountTopics.outboundTopic,
|
|
@@ -757,86 +775,181 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
757
775
|
const config = builder.build();
|
|
758
776
|
const progressCallback = options?.progressCallback;
|
|
759
777
|
const baseUrl = options?.baseUrl || this.guardedRegistryBaseUrl;
|
|
760
|
-
let state = options?.existingState ||
|
|
778
|
+
let state = options?.existingState || {
|
|
779
|
+
currentStage: "init",
|
|
780
|
+
completedPercentage: 0,
|
|
781
|
+
createdResources: []
|
|
782
|
+
};
|
|
783
|
+
state.agentMetadata = config.metadata;
|
|
761
784
|
if (progressCallback) {
|
|
762
785
|
progressCallback({
|
|
763
786
|
stage: "preparing",
|
|
764
|
-
message: "
|
|
765
|
-
progressPercent:
|
|
787
|
+
message: "Starting agent creation process",
|
|
788
|
+
progressPercent: 0,
|
|
766
789
|
details: { state }
|
|
767
790
|
});
|
|
768
791
|
}
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
792
|
+
let account = config.existingAccount;
|
|
793
|
+
let agentClient;
|
|
794
|
+
if (!state.inboundTopicId || !state.outboundTopicId || !state.profileTopicId) {
|
|
795
|
+
if (!account) {
|
|
796
|
+
if (state.createdResources && state.createdResources.some((r) => r.startsWith("account:"))) {
|
|
797
|
+
const accountResource = state.createdResources.find(
|
|
798
|
+
(r) => r.startsWith("account:")
|
|
799
|
+
);
|
|
800
|
+
const existingAccountId = accountResource?.split(":")[1];
|
|
801
|
+
if (existingAccountId && config.existingAccount) {
|
|
802
|
+
account = config.existingAccount;
|
|
803
|
+
this.logger.info(
|
|
804
|
+
`Resuming with existing account: ${existingAccountId}`
|
|
805
|
+
);
|
|
806
|
+
} else {
|
|
807
|
+
account = await this.createAccount(options?.initialBalance);
|
|
808
|
+
state.createdResources = state.createdResources || [];
|
|
809
|
+
state.createdResources.push(`account:${account.accountId}`);
|
|
810
|
+
}
|
|
811
|
+
} else {
|
|
812
|
+
account = await this.createAccount(options?.initialBalance);
|
|
813
|
+
state.createdResources = state.createdResources || [];
|
|
814
|
+
state.createdResources.push(`account:${account.accountId}`);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
if (progressCallback) {
|
|
818
|
+
progressCallback({
|
|
819
|
+
stage: "preparing",
|
|
820
|
+
message: "Created account or using existing account",
|
|
821
|
+
progressPercent: 20,
|
|
822
|
+
details: { state, account }
|
|
823
|
+
});
|
|
824
|
+
}
|
|
825
|
+
agentClient = new HCS10Client({
|
|
826
|
+
network: config.network,
|
|
827
|
+
operatorId: account.accountId,
|
|
828
|
+
operatorPrivateKey: account.privateKey,
|
|
829
|
+
operatorPublicKey: PrivateKey.fromString(
|
|
830
|
+
account.privateKey
|
|
831
|
+
).publicKey.toString(),
|
|
832
|
+
logLevel: "info",
|
|
833
|
+
guardedRegistryBaseUrl: baseUrl
|
|
794
834
|
});
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
835
|
+
if (progressCallback) {
|
|
836
|
+
progressCallback({
|
|
837
|
+
stage: "preparing",
|
|
838
|
+
message: "Initialized agent client",
|
|
839
|
+
progressPercent: 25,
|
|
840
|
+
details: { state }
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
let outboundTopicId = state.outboundTopicId;
|
|
844
|
+
let inboundTopicId = state.inboundTopicId;
|
|
845
|
+
let pfpTopicId = state.pfpTopicId;
|
|
846
|
+
let profileTopicId = state.profileTopicId;
|
|
847
|
+
if (!outboundTopicId || !inboundTopicId || !profileTopicId) {
|
|
848
|
+
if (pfpTopicId) {
|
|
849
|
+
builder.setExistingProfilePicture(pfpTopicId);
|
|
808
850
|
}
|
|
851
|
+
const createResult = await agentClient.createAgent(builder, 60, state);
|
|
852
|
+
outboundTopicId = createResult.outboundTopicId;
|
|
853
|
+
inboundTopicId = createResult.inboundTopicId;
|
|
854
|
+
pfpTopicId = createResult.pfpTopicId;
|
|
855
|
+
profileTopicId = createResult.profileTopicId;
|
|
856
|
+
state.outboundTopicId = outboundTopicId;
|
|
857
|
+
state.inboundTopicId = inboundTopicId;
|
|
858
|
+
state.pfpTopicId = pfpTopicId;
|
|
859
|
+
state.profileTopicId = profileTopicId;
|
|
860
|
+
if (!state.createdResources) {
|
|
861
|
+
state.createdResources = [];
|
|
862
|
+
}
|
|
863
|
+
if (pfpTopicId && !state.createdResources.includes(`pfp:${pfpTopicId}`)) {
|
|
864
|
+
state.createdResources.push(`pfp:${pfpTopicId}`);
|
|
865
|
+
}
|
|
866
|
+
if (!state.createdResources.includes(`inbound:${inboundTopicId}`)) {
|
|
867
|
+
state.createdResources.push(`inbound:${inboundTopicId}`);
|
|
868
|
+
}
|
|
869
|
+
if (!state.createdResources.includes(`outbound:${outboundTopicId}`)) {
|
|
870
|
+
state.createdResources.push(`outbound:${outboundTopicId}`);
|
|
871
|
+
}
|
|
872
|
+
if (!state.createdResources.includes(`profile:${profileTopicId}`)) {
|
|
873
|
+
state.createdResources.push(`profile:${profileTopicId}`);
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
state.currentStage = "profile";
|
|
877
|
+
state.completedPercentage = 60;
|
|
878
|
+
if (progressCallback) {
|
|
879
|
+
progressCallback({
|
|
880
|
+
stage: "submitting",
|
|
881
|
+
message: "Created agent with topics and profile",
|
|
882
|
+
progressPercent: 60,
|
|
883
|
+
details: {
|
|
884
|
+
state,
|
|
885
|
+
outboundTopicId,
|
|
886
|
+
inboundTopicId,
|
|
887
|
+
pfpTopicId,
|
|
888
|
+
profileTopicId
|
|
889
|
+
}
|
|
890
|
+
});
|
|
891
|
+
}
|
|
892
|
+
} else {
|
|
893
|
+
account = account || config.existingAccount;
|
|
894
|
+
if (!account) {
|
|
895
|
+
throw new Error(
|
|
896
|
+
"Cannot resume registration without account information"
|
|
897
|
+
);
|
|
898
|
+
}
|
|
899
|
+
agentClient = new HCS10Client({
|
|
900
|
+
network: config.network,
|
|
901
|
+
operatorId: account.accountId,
|
|
902
|
+
operatorPrivateKey: account.privateKey,
|
|
903
|
+
operatorPublicKey: PrivateKey.fromString(
|
|
904
|
+
account.privateKey
|
|
905
|
+
).publicKey.toString(),
|
|
906
|
+
logLevel: "info",
|
|
907
|
+
guardedRegistryBaseUrl: baseUrl
|
|
908
|
+
});
|
|
909
|
+
this.logger.info("Resuming registration with existing state", {
|
|
910
|
+
inboundTopicId: state.inboundTopicId,
|
|
911
|
+
outboundTopicId: state.outboundTopicId,
|
|
912
|
+
profileTopicId: state.profileTopicId,
|
|
913
|
+
pfpTopicId: state.pfpTopicId
|
|
809
914
|
});
|
|
810
915
|
}
|
|
811
|
-
const operatorId = `${inboundTopicId}@${account.accountId}`;
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
916
|
+
const operatorId = `${state.inboundTopicId}@${account.accountId}`;
|
|
917
|
+
if (state.currentStage !== "complete" || !state.createdResources?.includes(
|
|
918
|
+
`registration:${state.inboundTopicId}`
|
|
919
|
+
)) {
|
|
920
|
+
const registrationResult = await agentClient.registerAgentWithGuardedRegistry(
|
|
921
|
+
account.accountId,
|
|
922
|
+
config.network,
|
|
923
|
+
{
|
|
924
|
+
progressCallback: (data) => {
|
|
925
|
+
const adjustedPercent = 60 + (data.progressPercent || 0) * 0.4;
|
|
926
|
+
if (progressCallback) {
|
|
927
|
+
progressCallback({
|
|
928
|
+
stage: data.stage,
|
|
929
|
+
message: data.message,
|
|
930
|
+
progressPercent: adjustedPercent,
|
|
931
|
+
details: {
|
|
932
|
+
...data.details,
|
|
933
|
+
outboundTopicId: state.outboundTopicId,
|
|
934
|
+
inboundTopicId: state.inboundTopicId,
|
|
935
|
+
pfpTopicId: state.pfpTopicId,
|
|
936
|
+
profileTopicId: state.profileTopicId,
|
|
937
|
+
operatorId,
|
|
938
|
+
state: data.details?.state || state
|
|
939
|
+
}
|
|
940
|
+
});
|
|
941
|
+
}
|
|
942
|
+
},
|
|
943
|
+
existingState: state
|
|
944
|
+
}
|
|
945
|
+
);
|
|
946
|
+
if (!registrationResult.success) {
|
|
947
|
+
return {
|
|
948
|
+
...registrationResult,
|
|
949
|
+
state
|
|
950
|
+
};
|
|
836
951
|
}
|
|
837
|
-
|
|
838
|
-
if (!registrationResult.success) {
|
|
839
|
-
return registrationResult;
|
|
952
|
+
state = registrationResult.state || state;
|
|
840
953
|
}
|
|
841
954
|
if (progressCallback) {
|
|
842
955
|
progressCallback({
|
|
@@ -844,25 +957,26 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
844
957
|
message: "Agent creation and registration complete",
|
|
845
958
|
progressPercent: 100,
|
|
846
959
|
details: {
|
|
847
|
-
outboundTopicId,
|
|
848
|
-
inboundTopicId,
|
|
849
|
-
pfpTopicId,
|
|
850
|
-
profileTopicId,
|
|
960
|
+
outboundTopicId: state.outboundTopicId,
|
|
961
|
+
inboundTopicId: state.inboundTopicId,
|
|
962
|
+
pfpTopicId: state.pfpTopicId,
|
|
963
|
+
profileTopicId: state.profileTopicId,
|
|
851
964
|
operatorId,
|
|
852
|
-
state
|
|
965
|
+
state
|
|
853
966
|
}
|
|
854
967
|
});
|
|
855
968
|
}
|
|
856
969
|
return {
|
|
857
|
-
|
|
970
|
+
success: true,
|
|
971
|
+
state,
|
|
858
972
|
metadata: {
|
|
859
973
|
accountId: account.accountId,
|
|
860
974
|
privateKey: account.privateKey,
|
|
861
975
|
operatorId,
|
|
862
|
-
inboundTopicId,
|
|
863
|
-
outboundTopicId,
|
|
864
|
-
profileTopicId,
|
|
865
|
-
pfpTopicId
|
|
976
|
+
inboundTopicId: state.inboundTopicId,
|
|
977
|
+
outboundTopicId: state.outboundTopicId,
|
|
978
|
+
profileTopicId: state.profileTopicId,
|
|
979
|
+
pfpTopicId: state.pfpTopicId
|
|
866
980
|
}
|
|
867
981
|
};
|
|
868
982
|
} catch (e) {
|
|
@@ -871,7 +985,12 @@ class HCS10Client extends HCS10BaseClient {
|
|
|
871
985
|
this.logger.error(logMessage);
|
|
872
986
|
return {
|
|
873
987
|
error: error.message,
|
|
874
|
-
success: false
|
|
988
|
+
success: false,
|
|
989
|
+
state: options?.existingState || {
|
|
990
|
+
currentStage: "init",
|
|
991
|
+
completedPercentage: 0,
|
|
992
|
+
error: error.message
|
|
993
|
+
}
|
|
875
994
|
};
|
|
876
995
|
}
|
|
877
996
|
}
|