@hashgraphonline/standards-agent-kit 0.2.162 → 0.2.164
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/inscriber/inscriber-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/inscriber/inscriber-builder.d.ts +2 -2
- package/dist/es/standards-agent-kit.es48.js +3 -7
- package/dist/es/standards-agent-kit.es48.js.map +1 -1
- package/dist/es/standards-agent-kit.es49.js +7 -3
- package/dist/es/standards-agent-kit.es49.js.map +1 -1
- package/dist/es/standards-agent-kit.es6.js +1 -1
- package/dist/es/standards-agent-kit.es7.js +1 -1
- package/dist/es/standards-agent-kit.es8.js +26 -47
- package/dist/es/standards-agent-kit.es8.js.map +1 -1
- package/dist/es/standards-agent-kit.es9.js +1 -1
- package/dist/umd/builders/inscriber/inscriber-builder.d.ts +2 -2
- package/dist/umd/standards-agent-kit.umd.js +1 -220
- package/dist/umd/standards-agent-kit.umd.js.map +1 -1
- package/package.json +2 -2
- package/src/builders/inscriber/inscriber-builder.ts +34 -59
|
@@ -27,7 +27,7 @@ export interface CompletedInscriptionResponse {
|
|
|
27
27
|
/**
|
|
28
28
|
* Builder for Inscription operations
|
|
29
29
|
*/
|
|
30
|
-
type InscriptionSDKInstance =
|
|
30
|
+
type InscriptionSDKInstance = InscriptionSDK;
|
|
31
31
|
export declare const toDashedTransactionId: (transactionId: string) => string;
|
|
32
32
|
export declare class InscriberBuilder extends BaseServiceBuilder {
|
|
33
33
|
protected inscriptionSDK?: InscriptionSDKInstance;
|
|
@@ -59,7 +59,7 @@ export declare class InscriberBuilder extends BaseServiceBuilder {
|
|
|
59
59
|
/**
|
|
60
60
|
* Get or create Inscription SDK
|
|
61
61
|
*/
|
|
62
|
-
protected getInscriptionSDK(
|
|
62
|
+
protected getInscriptionSDK(options: InscriptionOptions): Promise<InscriptionSDKInstance | null>;
|
|
63
63
|
/**
|
|
64
64
|
* Inscribe content using server-side authentication
|
|
65
65
|
*/
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
super(message);
|
|
4
|
-
this.code = code;
|
|
5
|
-
Object.setPrototypeOf(this, CodedError.prototype);
|
|
6
|
-
}
|
|
1
|
+
function encryptMessage(message) {
|
|
2
|
+
return message;
|
|
7
3
|
}
|
|
8
4
|
export {
|
|
9
|
-
|
|
5
|
+
encryptMessage
|
|
10
6
|
};
|
|
11
7
|
//# sourceMappingURL=standards-agent-kit.es48.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es48.js","sources":["../../src/utils/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es48.js","sources":["../../src/utils/Encryption.ts"],"sourcesContent":["\n/**\n * Placeholder for encryption functionality.\n * Currently, encryption is disabled. The useEncryption flag is false by default.\n * TODO: Implement actual encryption/decryption logic.\n */\n\nexport function encryptMessage(message: string): string {\n return message; // currently returns plaintext.\n}\n\nexport function decryptMessage(encryptedMessage: string): string {\n return encryptedMessage;\n}\n"],"names":[],"mappings":"AAOO,SAAS,eAAe,SAAyB;AACpD,SAAO;AACX;"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
class CodedError extends Error {
|
|
2
|
+
constructor(code, message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.code = code;
|
|
5
|
+
Object.setPrototypeOf(this, CodedError.prototype);
|
|
6
|
+
}
|
|
3
7
|
}
|
|
4
8
|
export {
|
|
5
|
-
|
|
9
|
+
CodedError
|
|
6
10
|
};
|
|
7
11
|
//# sourceMappingURL=standards-agent-kit.es49.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es49.js","sources":["../../src/utils/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es49.js","sources":["../../src/utils/CodedError.ts"],"sourcesContent":["export class CodedError extends Error {\n code: string;\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n Object.setPrototypeOf(this, CodedError.prototype);\n }\n}\n"],"names":[],"mappings":"AAAO,MAAM,mBAAmB,MAAM;AAAA,EAEpC,YAAY,MAAc,SAAiB;AACzC,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,WAAO,eAAe,MAAM,WAAW,SAAS;AAAA,EAClD;AACF;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseServiceBuilder } from "hedera-agent-kit";
|
|
2
2
|
import { HederaMirrorNode, HCS2Client } from "@hashgraphonline/standards-sdk";
|
|
3
3
|
import { SignerProviderRegistry } from "./standards-agent-kit.es3.js";
|
|
4
|
-
import { CodedError } from "./standards-agent-kit.
|
|
4
|
+
import { CodedError } from "./standards-agent-kit.es49.js";
|
|
5
5
|
class HCS2Builder extends BaseServiceBuilder {
|
|
6
6
|
constructor(hederaKit) {
|
|
7
7
|
super(hederaKit);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseServiceBuilder } from "hedera-agent-kit";
|
|
2
2
|
import { HCS6Client, HederaMirrorNode } from "@hashgraphonline/standards-sdk";
|
|
3
3
|
import { SignerProviderRegistry } from "./standards-agent-kit.es3.js";
|
|
4
|
-
import { CodedError } from "./standards-agent-kit.
|
|
4
|
+
import { CodedError } from "./standards-agent-kit.es49.js";
|
|
5
5
|
class HCS6Builder extends BaseServiceBuilder {
|
|
6
6
|
constructor(hederaKit) {
|
|
7
7
|
super(hederaKit);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BaseServiceBuilder } from "hedera-agent-kit";
|
|
2
|
-
import { inscribe, inscribeWithSigner, getTopicId, retrieveInscription } from "@hashgraphonline/standards-sdk";
|
|
3
|
-
import { InscriptionSDK } from "@kiloscribe/inscription-sdk";
|
|
2
|
+
import { getOrCreateSDK, inscribe, inscribeWithSigner, getTopicId, retrieveInscription } from "@hashgraphonline/standards-sdk";
|
|
4
3
|
const toDashedTransactionId = (transactionId) => {
|
|
5
4
|
if (transactionId.includes("-")) {
|
|
6
5
|
return transactionId;
|
|
@@ -54,57 +53,39 @@ const _InscriberBuilder = class _InscriberBuilder extends BaseServiceBuilder {
|
|
|
54
53
|
/**
|
|
55
54
|
* Get or create Inscription SDK
|
|
56
55
|
*/
|
|
57
|
-
async getInscriptionSDK(
|
|
56
|
+
async getInscriptionSDK(options) {
|
|
58
57
|
if (this.inscriptionSDK) {
|
|
59
58
|
return this.inscriptionSDK;
|
|
60
59
|
}
|
|
61
60
|
const network = this.hederaKit.client.network;
|
|
62
61
|
const networkType = network.toString().includes("mainnet") ? "mainnet" : "testnet";
|
|
63
62
|
const accountId = this.hederaKit.signer.getAccountId().toString();
|
|
63
|
+
const operatorKey = this.hederaKit.signer?.getOperatorPrivateKey();
|
|
64
|
+
const baseOptions = {
|
|
65
|
+
...options,
|
|
66
|
+
network: options.network ?? networkType
|
|
67
|
+
};
|
|
68
|
+
const apiKey = baseOptions.apiKey ?? (operatorKey ? void 0 : "public-access");
|
|
69
|
+
const effectiveOptions = apiKey ? { ...baseOptions, apiKey } : baseOptions;
|
|
70
|
+
const clientConfig = {
|
|
71
|
+
accountId,
|
|
72
|
+
privateKey: operatorKey?.toStringRaw() ?? apiKey ?? "public-access",
|
|
73
|
+
network: networkType
|
|
74
|
+
};
|
|
64
75
|
try {
|
|
65
|
-
this.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.inscriptionSDK = await InscriptionSDK.createWithAuth({
|
|
72
|
-
type: "server",
|
|
73
|
-
accountId,
|
|
74
|
-
privateKey: privateKey.toStringRaw(),
|
|
75
|
-
network: networkType
|
|
76
|
-
});
|
|
77
|
-
this.logger.info("Created InscriptionSDK via createWithAuth", {
|
|
78
|
-
network: networkType
|
|
79
|
-
});
|
|
80
|
-
}
|
|
76
|
+
this.inscriptionSDK = await getOrCreateSDK(
|
|
77
|
+
clientConfig,
|
|
78
|
+
effectiveOptions,
|
|
79
|
+
this.inscriptionSDK
|
|
80
|
+
);
|
|
81
|
+
return this.inscriptionSDK;
|
|
81
82
|
} catch (error) {
|
|
82
|
-
this.logger.
|
|
83
|
+
this.logger.error("failed to setup sdk", {
|
|
84
|
+
error: error instanceof Error ? error.message : String(error)
|
|
85
|
+
});
|
|
83
86
|
this.inscriptionSDK = void 0;
|
|
87
|
+
return null;
|
|
84
88
|
}
|
|
85
|
-
if (!this.inscriptionSDK) {
|
|
86
|
-
try {
|
|
87
|
-
this.logger.info("Creating fallback InscriptionSDK instance", {
|
|
88
|
-
network: networkType
|
|
89
|
-
});
|
|
90
|
-
this.inscriptionSDK = new InscriptionSDK({
|
|
91
|
-
apiKey: "public-access",
|
|
92
|
-
network: networkType,
|
|
93
|
-
connectionMode: "http"
|
|
94
|
-
});
|
|
95
|
-
this.logger.info("Created fallback InscriptionSDK instance", {
|
|
96
|
-
network: networkType
|
|
97
|
-
});
|
|
98
|
-
return this.inscriptionSDK;
|
|
99
|
-
} catch (fallbackError) {
|
|
100
|
-
this.logger.error(
|
|
101
|
-
"Failed to create InscriptionSDK fallback instance",
|
|
102
|
-
fallbackError
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
this.logger.error("failed to setup sdk");
|
|
107
|
-
return null;
|
|
108
89
|
}
|
|
109
90
|
/**
|
|
110
91
|
* Inscribe content using server-side authentication
|
|
@@ -224,14 +205,13 @@ const _InscriberBuilder = class _InscriberBuilder extends BaseServiceBuilder {
|
|
|
224
205
|
network
|
|
225
206
|
);
|
|
226
207
|
const transactionId = exec?.transactionId || "";
|
|
208
|
+
const rawTransactionId = startResponse.tx_id || transactionId;
|
|
209
|
+
const canonicalTransactionId = toDashedTransactionId(rawTransactionId);
|
|
227
210
|
this.logger.info("inscribeAuto wallet execution", {
|
|
228
211
|
transactionId,
|
|
229
212
|
network
|
|
230
213
|
});
|
|
231
214
|
const shouldWait = options.quoteOnly ? false : options.waitForConfirmation ?? true;
|
|
232
|
-
const canonicalTransactionId = toDashedTransactionId(
|
|
233
|
-
startResponse.tx_id || transactionId
|
|
234
|
-
);
|
|
235
215
|
if (shouldWait) {
|
|
236
216
|
const maxAttempts = options.waitMaxAttempts ?? 60;
|
|
237
217
|
const intervalMs = options.waitIntervalMs ?? 5e3;
|
|
@@ -239,7 +219,6 @@ const _InscriberBuilder = class _InscriberBuilder extends BaseServiceBuilder {
|
|
|
239
219
|
this.logger.debug("Will be retrieving inscription", pollId);
|
|
240
220
|
let retrieved = null;
|
|
241
221
|
const sdk = await this.getInscriptionSDK(options);
|
|
242
|
-
console.log("got an SDK", sdk);
|
|
243
222
|
if (sdk) {
|
|
244
223
|
try {
|
|
245
224
|
retrieved = await sdk.waitForInscription(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es8.js","sources":["../../src/builders/inscriber/inscriber-builder.ts"],"sourcesContent":["import { BaseServiceBuilder } from 'hedera-agent-kit';\nimport type { HederaAgentKit } from 'hedera-agent-kit';\nimport {\n inscribe,\n inscribeWithSigner,\n retrieveInscription,\n InscriptionInput,\n InscriptionOptions,\n InscriptionResponse,\n RetrievedInscriptionResult,\n HederaClientConfig,\n NetworkType,\n getTopicId,\n Logger,\n} from '@hashgraphonline/standards-sdk';\nimport {\n InscriptionSDK,\n type InscriptionResult,\n type RegistrationProgressData,\n} from '@kiloscribe/inscription-sdk';\nimport type { AgentOperationalMode } from 'hedera-agent-kit';\n\n/**\n * Type definition for DAppSigner interface compatible with inscription SDK\n */\ninterface DAppSigner {\n getAccountId(): { toString(): string };\n [key: string]: unknown;\n}\n\nexport interface PendingInscriptionResponse {\n transactionBytes: string;\n tx_id?: string;\n topic_id?: string;\n status?: string;\n completed?: boolean;\n}\n\nexport interface CompletedInscriptionResponse {\n confirmed?: boolean;\n result?: InscriptionResult;\n inscription?: RetrievedInscriptionResult;\n jsonTopicId?: string;\n network?: string;\n}\n/**\n * Builder for Inscription operations\n */\ntype InscriptionSDKInstance = InstanceType<typeof InscriptionSDK>;\ntype InscriptionSDKAuthParams = Parameters<\n typeof InscriptionSDK.createWithAuth\n>[0];\ntype ClientAuthConfig = Extract<InscriptionSDKAuthParams, { type: 'client' }>;\ntype ServerAuthConfig = Extract<InscriptionSDKAuthParams, { type: 'server' }>;\n\nexport const toDashedTransactionId = (transactionId: string): string => {\n if (transactionId.includes('-')) {\n return transactionId;\n }\n\n const [account, timePart] = transactionId.split('@');\n if (!account || !timePart) {\n return transactionId;\n }\n\n const [secondsPart, nanosPart] = timePart.split('.');\n if (!secondsPart) {\n return transactionId;\n }\n\n const normalizedNanos = (nanosPart ?? '0').padEnd(9, '0').slice(0, 9);\n return `${account}-${secondsPart}-${normalizedNanos}`;\n};\n\nexport class InscriberBuilder extends BaseServiceBuilder {\n protected inscriptionSDK?: InscriptionSDKInstance;\n private static signerProvider?: () =>\n | Promise<DAppSigner | null>\n | DAppSigner\n | null;\n private static walletInfoResolver?: () =>\n | Promise<{ accountId: string; network: 'mainnet' | 'testnet' } | null>\n | { accountId: string; network: 'mainnet' | 'testnet' }\n | null;\n\n private static startInscriptionDelegate?: (\n request: Record<string, unknown>,\n network: 'mainnet' | 'testnet'\n ) => Promise<PendingInscriptionResponse | CompletedInscriptionResponse>;\n private static walletExecutor?: (\n base64: string,\n network: 'mainnet' | 'testnet'\n ) => Promise<{ transactionId: string }>;\n /** When true, do not allow server fallback; require a wallet path in Provide Bytes */\n private static preferWalletOnly = false;\n\n constructor(hederaKit: HederaAgentKit) {\n super(hederaKit);\n }\n\n public getOperationalMode(): AgentOperationalMode {\n return this.hederaKit.operationalMode as AgentOperationalMode;\n }\n\n static setSignerProvider(\n provider: () => Promise<DAppSigner | null> | DAppSigner | null\n ): void {\n InscriberBuilder.signerProvider = provider;\n }\n\n static setWalletInfoResolver(\n resolver: () =>\n | Promise<{ accountId: string; network: 'mainnet' | 'testnet' } | null>\n | { accountId: string; network: 'mainnet' | 'testnet' }\n | null\n ): void {\n InscriberBuilder.walletInfoResolver = resolver;\n }\n\n static setStartInscriptionDelegate(\n delegate: (\n request: Record<string, unknown>,\n network: 'mainnet' | 'testnet'\n ) => Promise<PendingInscriptionResponse | CompletedInscriptionResponse>\n ): void {\n InscriberBuilder.startInscriptionDelegate = delegate;\n }\n\n static setWalletExecutor(\n executor: (\n base64: string,\n network: 'mainnet' | 'testnet'\n ) => Promise<{ transactionId: string }>\n ): void {\n InscriberBuilder.walletExecutor = executor;\n }\n\n /**\n * Control fallback behavior. When true, wallet must be available for execution paths.\n */\n static setPreferWalletOnly(flag: boolean): void {\n InscriberBuilder.preferWalletOnly = !!flag;\n }\n\n async getSigner(): Promise<DAppSigner | null> {\n const provider = InscriberBuilder.signerProvider;\n if (!provider) return null;\n try {\n const maybe = provider();\n return maybe && typeof (maybe as Promise<unknown>).then === 'function'\n ? await (maybe as Promise<DAppSigner | null>)\n : (maybe as DAppSigner | null);\n } catch {\n return null;\n }\n }\n\n /**\n * Get or create Inscription SDK\n */\n protected async getInscriptionSDK(\n _options: InscriptionOptions\n ): Promise<InscriptionSDKInstance | null> {\n if (this.inscriptionSDK) {\n return this.inscriptionSDK;\n }\n\n const network = this.hederaKit.client.network;\n const networkType: 'mainnet' | 'testnet' = network\n .toString()\n .includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n const accountId = this.hederaKit.signer.getAccountId().toString();\n\n try {\n this.logger.info('Attempting InscriptionSDK.createWithAuth', {\n accountId,\n network: networkType,\n });\n const privateKey = this.hederaKit.signer?.getOperatorPrivateKey();\n if (privateKey) {\n this.inscriptionSDK = await InscriptionSDK.createWithAuth({\n type: 'server',\n accountId,\n privateKey:\n privateKey.toStringRaw() as ServerAuthConfig['privateKey'],\n network: networkType,\n });\n this.logger.info('Created InscriptionSDK via createWithAuth', {\n network: networkType,\n });\n }\n } catch (error) {\n this.logger.warn('Failed to create InscriptionSDK with auth', error);\n this.inscriptionSDK = undefined;\n }\n\n if (!this.inscriptionSDK) {\n try {\n this.logger.info('Creating fallback InscriptionSDK instance', {\n network: networkType,\n });\n this.inscriptionSDK = new InscriptionSDK({\n apiKey: 'public-access',\n network: networkType,\n connectionMode: 'http',\n });\n this.logger.info('Created fallback InscriptionSDK instance', {\n network: networkType,\n });\n return this.inscriptionSDK;\n } catch (fallbackError) {\n this.logger.error(\n 'Failed to create InscriptionSDK fallback instance',\n fallbackError\n );\n }\n }\n\n this.logger.error('failed to setup sdk');\n\n return null;\n }\n\n /**\n * Inscribe content using server-side authentication\n */\n async inscribe(\n input: InscriptionInput,\n options: InscriptionOptions\n ): Promise<InscriptionResponse> {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toStringRaw()\n : '';\n\n const network = this.hederaKit.client.network;\n const networkType: NetworkType = network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n\n const clientConfig: HederaClientConfig = {\n accountId: operatorId,\n privateKey: operatorPrivateKey,\n network: networkType,\n };\n\n return await inscribe(input, clientConfig, options);\n }\n\n /**\n * Inscribe content using a DApp signer\n */\n async inscribeWithSigner(\n input: InscriptionInput,\n signer: DAppSigner,\n options: InscriptionOptions\n ): Promise<InscriptionResponse> {\n return await inscribeWithSigner(\n input,\n signer as unknown as Parameters<typeof inscribeWithSigner>[1],\n options\n );\n }\n\n async inscribeAuto(\n input: InscriptionInput,\n options: InscriptionOptions\n ): Promise<InscriptionResponse> {\n const signer = await this.getSigner();\n if (signer) {\n return this.inscribeWithSigner(input, signer, options);\n }\n\n type WalletInfo = { accountId: string; network: 'mainnet' | 'testnet' };\n\n type WalletExecutorResponse = { transactionId: string };\n\n const infoMaybe: WalletInfo | null = InscriberBuilder.walletInfoResolver\n ? await InscriberBuilder.walletInfoResolver()\n : null;\n\n if (InscriberBuilder.preferWalletOnly && !infoMaybe) {\n const err = new Error(\n 'Wallet unavailable: connect a wallet or switch to autonomous mode'\n );\n (err as unknown as { code: string }).code = 'wallet_unavailable';\n throw err;\n }\n\n if (\n infoMaybe &&\n InscriberBuilder.startInscriptionDelegate &&\n InscriberBuilder.walletExecutor\n ) {\n const holderId = infoMaybe.accountId;\n const network: 'mainnet' | 'testnet' = infoMaybe.network;\n\n type InscriptionOptionsExt = InscriptionOptions & {\n fileStandard?: string;\n chunkSize?: number;\n jsonFileURL?: string;\n metadata?: Record<string, unknown> & {\n creator?: string;\n description?: string;\n };\n };\n const ext = options as InscriptionOptionsExt;\n\n const baseRequest: Record<string, unknown> = {\n holderId,\n metadata: ext.metadata || {},\n tags: options.tags || [],\n mode: options.mode || 'file',\n };\n if (typeof ext.fileStandard !== 'undefined') {\n (baseRequest as { fileStandard?: string }).fileStandard =\n ext.fileStandard;\n }\n if (typeof ext.chunkSize !== 'undefined') {\n (baseRequest as { chunkSize?: number }).chunkSize = ext.chunkSize;\n }\n\n let request: Record<string, unknown> = { ...baseRequest };\n switch (input.type) {\n case 'url':\n request = { ...baseRequest, file: { type: 'url', url: input.url } };\n break;\n case 'file':\n request = {\n ...baseRequest,\n file: { type: 'path', path: input.path },\n };\n break;\n case 'buffer':\n request = {\n ...baseRequest,\n file: {\n type: 'base64',\n base64: Buffer.from(input.buffer).toString('base64'),\n fileName: input.fileName,\n mimeType: input.mimeType,\n },\n };\n break;\n }\n\n if (options.mode === 'hashinal') {\n (request as { metadataObject?: unknown }).metadataObject = ext.metadata;\n (request as { creator?: string }).creator =\n ext.metadata?.creator || holderId;\n (request as { description?: string }).description =\n ext.metadata?.description;\n if (typeof ext.jsonFileURL === 'string' && ext.jsonFileURL.length > 0) {\n (request as { jsonFileURL?: string }).jsonFileURL = ext.jsonFileURL;\n }\n }\n\n const start = await InscriberBuilder.startInscriptionDelegate(\n request,\n network\n );\n\n this.logger.info('inscribeAuto start response', {\n hasTransactionBytes:\n typeof (start as { transactionBytes?: unknown }).transactionBytes ===\n 'string',\n txId: (start as { tx_id?: unknown }).tx_id,\n status: (start as { status?: unknown }).status,\n });\n\n const completedStart = start as CompletedInscriptionResponse;\n const isCompletedResponse =\n Boolean(completedStart?.inscription) && completedStart?.confirmed;\n\n if (isCompletedResponse) {\n const completed = start as {\n confirmed?: boolean;\n result?: unknown;\n inscription?: unknown;\n };\n this.logger.info(\n 'inscription already completed, short circuiting',\n start\n );\n return {\n quote: false,\n confirmed: completed.confirmed === true,\n result: completed.result as InscriptionResult,\n inscription: completed.inscription,\n } as unknown as InscriptionResponse;\n }\n\n const startResponse = start as {\n transactionBytes: string;\n tx_id?: string;\n topic_id?: string;\n status?: string;\n completed?: boolean;\n };\n\n if (!startResponse || !startResponse.transactionBytes) {\n throw new Error('Failed to start inscription (no transaction bytes)');\n }\n\n const exec: WalletExecutorResponse =\n await InscriberBuilder.walletExecutor(\n startResponse.transactionBytes,\n network\n );\n const transactionId = exec?.transactionId || '';\n\n this.logger.info('inscribeAuto wallet execution', {\n transactionId,\n network,\n });\n\n const shouldWait = options.quoteOnly\n ? false\n : options.waitForConfirmation ?? true;\n const canonicalTransactionId = toDashedTransactionId(\n startResponse.tx_id || transactionId\n );\n if (shouldWait) {\n const maxAttempts =\n (options as { waitMaxAttempts?: number }).waitMaxAttempts ?? 60;\n const intervalMs =\n (options as { waitIntervalMs?: number }).waitIntervalMs ?? 5000;\n const pollId = canonicalTransactionId;\n this.logger.debug('Will be retrieving inscription', pollId);\n\n let retrieved: RetrievedInscriptionResult | null = null;\n const sdk = await this.getInscriptionSDK(options);\n\n console.log('got an SDK', sdk);\n\n if (sdk) {\n try {\n retrieved = await sdk.waitForInscription(\n pollId,\n maxAttempts,\n intervalMs,\n true,\n (progress: RegistrationProgressData) => {\n this.logger.debug('checking inscription', progress);\n }\n );\n } catch (error) {\n this.logger.warn('Primary inscription wait failed', {\n pollId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n } else {\n this.logger.warn(\n 'No inscription SDK available, using public client',\n {\n pollId,\n }\n );\n }\n\n if (retrieved) {\n const topicIdFromInscription: string | undefined = getTopicId(\n retrieved as unknown\n );\n const topicId: string | undefined =\n topicIdFromInscription ?? startResponse.topic_id;\n const resultConfirmed: InscriptionResponse = {\n quote: false,\n confirmed: true,\n result: {\n jobId: toDashedTransactionId(startResponse.tx_id || ''),\n transactionId: canonicalTransactionId,\n topicId,\n },\n inscription: retrieved,\n } as unknown as InscriptionResponse;\n this.logger.debug(\n 'retrieved inscription confirmed',\n resultConfirmed,\n retrieved\n );\n return resultConfirmed;\n }\n }\n\n const partial: InscriptionResponse = {\n quote: false,\n confirmed: false,\n result: {\n jobId: toDashedTransactionId(startResponse.tx_id || ''),\n transactionId: canonicalTransactionId,\n status: startResponse.status,\n completed: startResponse.completed,\n },\n inscription: startResponse.topic_id\n ? { topic_id: startResponse.topic_id }\n : undefined,\n } as unknown as InscriptionResponse;\n return partial;\n }\n\n if (InscriberBuilder.preferWalletOnly) {\n const err = new Error(\n 'Wallet unavailable: connect a wallet or switch to autonomous mode'\n );\n (err as unknown as { code: string }).code = 'wallet_unavailable';\n throw err;\n }\n return this.inscribe(input, options);\n }\n\n /**\n * Retrieve an existing inscription\n */\n async retrieveInscription(\n transactionId: string,\n options: InscriptionOptions\n ): Promise<RetrievedInscriptionResult> {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toStringRaw()\n : '';\n\n return await retrieveInscription(transactionId, {\n ...options,\n accountId: operatorId,\n privateKey: operatorPrivateKey,\n });\n }\n\n /**\n * Close the inscription SDK\n */\n async close(): Promise<void> {\n this.inscriptionSDK = undefined;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es8.js","sources":["../../src/builders/inscriber/inscriber-builder.ts"],"sourcesContent":["import { BaseServiceBuilder } from 'hedera-agent-kit';\nimport type { HederaAgentKit } from 'hedera-agent-kit';\nimport {\n inscribe,\n inscribeWithSigner,\n retrieveInscription,\n getOrCreateSDK,\n InscriptionInput,\n InscriptionOptions,\n InscriptionResponse,\n RetrievedInscriptionResult,\n HederaClientConfig,\n NetworkType,\n getTopicId,\n Logger,\n} from '@hashgraphonline/standards-sdk';\nimport type {\n InscriptionSDK,\n InscriptionResult,\n RegistrationProgressData,\n} from '@kiloscribe/inscription-sdk';\nimport type { AgentOperationalMode } from 'hedera-agent-kit';\n\n/**\n * Type definition for DAppSigner interface compatible with inscription SDK\n */\ninterface DAppSigner {\n getAccountId(): { toString(): string };\n [key: string]: unknown;\n}\n\nexport interface PendingInscriptionResponse {\n transactionBytes: string;\n tx_id?: string;\n topic_id?: string;\n status?: string;\n completed?: boolean;\n}\n\nexport interface CompletedInscriptionResponse {\n confirmed?: boolean;\n result?: InscriptionResult;\n inscription?: RetrievedInscriptionResult;\n jsonTopicId?: string;\n network?: string;\n}\n/**\n * Builder for Inscription operations\n */\ntype InscriptionSDKInstance = InscriptionSDK;\n\nexport const toDashedTransactionId = (transactionId: string): string => {\n if (transactionId.includes('-')) {\n return transactionId;\n }\n\n const [account, timePart] = transactionId.split('@');\n if (!account || !timePart) {\n return transactionId;\n }\n\n const [secondsPart, nanosPart] = timePart.split('.');\n if (!secondsPart) {\n return transactionId;\n }\n\n const normalizedNanos = (nanosPart ?? '0').padEnd(9, '0').slice(0, 9);\n return `${account}-${secondsPart}-${normalizedNanos}`;\n};\n\nexport class InscriberBuilder extends BaseServiceBuilder {\n protected inscriptionSDK?: InscriptionSDKInstance;\n private static signerProvider?: () =>\n | Promise<DAppSigner | null>\n | DAppSigner\n | null;\n private static walletInfoResolver?: () =>\n | Promise<{ accountId: string; network: 'mainnet' | 'testnet' } | null>\n | { accountId: string; network: 'mainnet' | 'testnet' }\n | null;\n\n private static startInscriptionDelegate?: (\n request: Record<string, unknown>,\n network: 'mainnet' | 'testnet'\n ) => Promise<PendingInscriptionResponse | CompletedInscriptionResponse>;\n private static walletExecutor?: (\n base64: string,\n network: 'mainnet' | 'testnet'\n ) => Promise<{ transactionId: string }>;\n /** When true, do not allow server fallback; require a wallet path in Provide Bytes */\n private static preferWalletOnly = false;\n\n constructor(hederaKit: HederaAgentKit) {\n super(hederaKit);\n }\n\n public getOperationalMode(): AgentOperationalMode {\n return this.hederaKit.operationalMode as AgentOperationalMode;\n }\n\n static setSignerProvider(\n provider: () => Promise<DAppSigner | null> | DAppSigner | null\n ): void {\n InscriberBuilder.signerProvider = provider;\n }\n\n static setWalletInfoResolver(\n resolver: () =>\n | Promise<{ accountId: string; network: 'mainnet' | 'testnet' } | null>\n | { accountId: string; network: 'mainnet' | 'testnet' }\n | null\n ): void {\n InscriberBuilder.walletInfoResolver = resolver;\n }\n\n static setStartInscriptionDelegate(\n delegate: (\n request: Record<string, unknown>,\n network: 'mainnet' | 'testnet'\n ) => Promise<PendingInscriptionResponse | CompletedInscriptionResponse>\n ): void {\n InscriberBuilder.startInscriptionDelegate = delegate;\n }\n\n static setWalletExecutor(\n executor: (\n base64: string,\n network: 'mainnet' | 'testnet'\n ) => Promise<{ transactionId: string }>\n ): void {\n InscriberBuilder.walletExecutor = executor;\n }\n\n /**\n * Control fallback behavior. When true, wallet must be available for execution paths.\n */\n static setPreferWalletOnly(flag: boolean): void {\n InscriberBuilder.preferWalletOnly = !!flag;\n }\n\n async getSigner(): Promise<DAppSigner | null> {\n const provider = InscriberBuilder.signerProvider;\n if (!provider) return null;\n try {\n const maybe = provider();\n return maybe && typeof (maybe as Promise<unknown>).then === 'function'\n ? await (maybe as Promise<DAppSigner | null>)\n : (maybe as DAppSigner | null);\n } catch {\n return null;\n }\n }\n\n /**\n * Get or create Inscription SDK\n */\n protected async getInscriptionSDK(\n options: InscriptionOptions\n ): Promise<InscriptionSDKInstance | null> {\n if (this.inscriptionSDK) {\n return this.inscriptionSDK;\n }\n\n const network = this.hederaKit.client.network;\n const networkType: 'mainnet' | 'testnet' = network\n .toString()\n .includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n const accountId = this.hederaKit.signer.getAccountId().toString();\n const operatorKey = this.hederaKit.signer?.getOperatorPrivateKey();\n const baseOptions: InscriptionOptions = {\n ...options,\n network: options.network ?? networkType,\n };\n\n const apiKey = baseOptions.apiKey ?? (operatorKey ? undefined : 'public-access');\n const effectiveOptions: InscriptionOptions = apiKey\n ? { ...baseOptions, apiKey }\n : baseOptions;\n\n const clientConfig = {\n accountId,\n privateKey: operatorKey?.toStringRaw() ?? apiKey ?? 'public-access',\n network: networkType,\n };\n\n try {\n this.inscriptionSDK = await getOrCreateSDK(\n clientConfig,\n effectiveOptions,\n this.inscriptionSDK\n );\n return this.inscriptionSDK;\n } catch (error) {\n this.logger.error('failed to setup sdk', {\n error: error instanceof Error ? error.message : String(error),\n });\n this.inscriptionSDK = undefined;\n return null;\n }\n }\n\n /**\n * Inscribe content using server-side authentication\n */\n async inscribe(\n input: InscriptionInput,\n options: InscriptionOptions\n ): Promise<InscriptionResponse> {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toStringRaw()\n : '';\n\n const network = this.hederaKit.client.network;\n const networkType: NetworkType = network.toString().includes('mainnet')\n ? 'mainnet'\n : 'testnet';\n\n const clientConfig: HederaClientConfig = {\n accountId: operatorId,\n privateKey: operatorPrivateKey,\n network: networkType,\n };\n\n return await inscribe(input, clientConfig, options);\n }\n\n /**\n * Inscribe content using a DApp signer\n */\n async inscribeWithSigner(\n input: InscriptionInput,\n signer: DAppSigner,\n options: InscriptionOptions\n ): Promise<InscriptionResponse> {\n return await inscribeWithSigner(\n input,\n signer as unknown as Parameters<typeof inscribeWithSigner>[1],\n options\n );\n }\n\n async inscribeAuto(\n input: InscriptionInput,\n options: InscriptionOptions\n ): Promise<InscriptionResponse> {\n const signer = await this.getSigner();\n if (signer) {\n return this.inscribeWithSigner(input, signer, options);\n }\n\n type WalletInfo = { accountId: string; network: 'mainnet' | 'testnet' };\n\n type WalletExecutorResponse = { transactionId: string };\n\n const infoMaybe: WalletInfo | null = InscriberBuilder.walletInfoResolver\n ? await InscriberBuilder.walletInfoResolver()\n : null;\n\n if (InscriberBuilder.preferWalletOnly && !infoMaybe) {\n const err = new Error(\n 'Wallet unavailable: connect a wallet or switch to autonomous mode'\n );\n (err as unknown as { code: string }).code = 'wallet_unavailable';\n throw err;\n }\n\n if (\n infoMaybe &&\n InscriberBuilder.startInscriptionDelegate &&\n InscriberBuilder.walletExecutor\n ) {\n const holderId = infoMaybe.accountId;\n const network: 'mainnet' | 'testnet' = infoMaybe.network;\n\n type InscriptionOptionsExt = InscriptionOptions & {\n fileStandard?: string;\n chunkSize?: number;\n jsonFileURL?: string;\n metadata?: Record<string, unknown> & {\n creator?: string;\n description?: string;\n };\n };\n const ext = options as InscriptionOptionsExt;\n\n const baseRequest: Record<string, unknown> = {\n holderId,\n metadata: ext.metadata || {},\n tags: options.tags || [],\n mode: options.mode || 'file',\n };\n if (typeof ext.fileStandard !== 'undefined') {\n (baseRequest as { fileStandard?: string }).fileStandard =\n ext.fileStandard;\n }\n if (typeof ext.chunkSize !== 'undefined') {\n (baseRequest as { chunkSize?: number }).chunkSize = ext.chunkSize;\n }\n\n let request: Record<string, unknown> = { ...baseRequest };\n switch (input.type) {\n case 'url':\n request = { ...baseRequest, file: { type: 'url', url: input.url } };\n break;\n case 'file':\n request = {\n ...baseRequest,\n file: { type: 'path', path: input.path },\n };\n break;\n case 'buffer':\n request = {\n ...baseRequest,\n file: {\n type: 'base64',\n base64: Buffer.from(input.buffer).toString('base64'),\n fileName: input.fileName,\n mimeType: input.mimeType,\n },\n };\n break;\n }\n\n if (options.mode === 'hashinal') {\n (request as { metadataObject?: unknown }).metadataObject = ext.metadata;\n (request as { creator?: string }).creator =\n ext.metadata?.creator || holderId;\n (request as { description?: string }).description =\n ext.metadata?.description;\n if (typeof ext.jsonFileURL === 'string' && ext.jsonFileURL.length > 0) {\n (request as { jsonFileURL?: string }).jsonFileURL = ext.jsonFileURL;\n }\n }\n\n const start = await InscriberBuilder.startInscriptionDelegate(\n request,\n network\n );\n\n this.logger.info('inscribeAuto start response', {\n hasTransactionBytes:\n typeof (start as { transactionBytes?: unknown }).transactionBytes ===\n 'string',\n txId: (start as { tx_id?: unknown }).tx_id,\n status: (start as { status?: unknown }).status,\n });\n\n const completedStart = start as CompletedInscriptionResponse;\n const isCompletedResponse =\n Boolean(completedStart?.inscription) && completedStart?.confirmed;\n\n if (isCompletedResponse) {\n const completed = start as {\n confirmed?: boolean;\n result?: unknown;\n inscription?: unknown;\n };\n this.logger.info(\n 'inscription already completed, short circuiting',\n start\n );\n return {\n quote: false,\n confirmed: completed.confirmed === true,\n result: completed.result as InscriptionResult,\n inscription: completed.inscription,\n } as unknown as InscriptionResponse;\n }\n\n const startResponse = start as {\n transactionBytes: string;\n tx_id?: string;\n topic_id?: string;\n status?: string;\n completed?: boolean;\n };\n\n if (!startResponse || !startResponse.transactionBytes) {\n throw new Error('Failed to start inscription (no transaction bytes)');\n }\n\n const exec: WalletExecutorResponse =\n await InscriberBuilder.walletExecutor(\n startResponse.transactionBytes,\n network\n );\n const transactionId = exec?.transactionId || '';\n const rawTransactionId = startResponse.tx_id || transactionId;\n const canonicalTransactionId = toDashedTransactionId(rawTransactionId);\n\n this.logger.info('inscribeAuto wallet execution', {\n transactionId,\n network,\n });\n\n const shouldWait = options.quoteOnly\n ? false\n : options.waitForConfirmation ?? true;\n if (shouldWait) {\n const maxAttempts =\n (options as { waitMaxAttempts?: number }).waitMaxAttempts ?? 60;\n const intervalMs =\n (options as { waitIntervalMs?: number }).waitIntervalMs ?? 5000;\n const pollId = canonicalTransactionId;\n this.logger.debug('Will be retrieving inscription', pollId);\n\n let retrieved: RetrievedInscriptionResult | null = null;\n const sdk = await this.getInscriptionSDK(options);\n\n if (sdk) {\n try {\n retrieved = await sdk.waitForInscription(\n pollId,\n maxAttempts,\n intervalMs,\n true,\n (progress: RegistrationProgressData) => {\n this.logger.debug('checking inscription', progress);\n }\n );\n } catch (error) {\n this.logger.warn('Primary inscription wait failed', {\n pollId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n } else {\n this.logger.warn(\n 'No inscription SDK available, using public client',\n {\n pollId,\n }\n );\n }\n\n if (retrieved) {\n const topicIdFromInscription: string | undefined = getTopicId(\n retrieved as unknown\n );\n const topicId: string | undefined =\n topicIdFromInscription ?? startResponse.topic_id;\n const resultConfirmed: InscriptionResponse = {\n quote: false,\n confirmed: true,\n result: {\n jobId: toDashedTransactionId(startResponse.tx_id || ''),\n transactionId: canonicalTransactionId,\n topicId,\n },\n inscription: retrieved,\n } as unknown as InscriptionResponse;\n this.logger.debug(\n 'retrieved inscription confirmed',\n resultConfirmed,\n retrieved\n );\n return resultConfirmed;\n }\n }\n\n const partial: InscriptionResponse = {\n quote: false,\n confirmed: false,\n result: {\n jobId: toDashedTransactionId(startResponse.tx_id || ''),\n transactionId: canonicalTransactionId,\n status: startResponse.status,\n completed: startResponse.completed,\n },\n inscription: startResponse.topic_id\n ? { topic_id: startResponse.topic_id }\n : undefined,\n } as unknown as InscriptionResponse;\n return partial;\n }\n\n if (InscriberBuilder.preferWalletOnly) {\n const err = new Error(\n 'Wallet unavailable: connect a wallet or switch to autonomous mode'\n );\n (err as unknown as { code: string }).code = 'wallet_unavailable';\n throw err;\n }\n return this.inscribe(input, options);\n }\n\n /**\n * Retrieve an existing inscription\n */\n async retrieveInscription(\n transactionId: string,\n options: InscriptionOptions\n ): Promise<RetrievedInscriptionResult> {\n const operatorId = this.hederaKit.signer.getAccountId().toString();\n const operatorPrivateKey = this.hederaKit.signer?.getOperatorPrivateKey()\n ? this.hederaKit.signer.getOperatorPrivateKey().toStringRaw()\n : '';\n\n return await retrieveInscription(transactionId, {\n ...options,\n accountId: operatorId,\n privateKey: operatorPrivateKey,\n });\n }\n\n /**\n * Close the inscription SDK\n */\n async close(): Promise<void> {\n this.inscriptionSDK = undefined;\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.es48.js";
|
|
3
3
|
class HCS10Client {
|
|
4
4
|
constructor(operatorId, operatorPrivateKey, network, options) {
|
|
5
5
|
this.standardClient = new HCS10Client$1({
|
|
@@ -27,7 +27,7 @@ export interface CompletedInscriptionResponse {
|
|
|
27
27
|
/**
|
|
28
28
|
* Builder for Inscription operations
|
|
29
29
|
*/
|
|
30
|
-
type InscriptionSDKInstance =
|
|
30
|
+
type InscriptionSDKInstance = InscriptionSDK;
|
|
31
31
|
export declare const toDashedTransactionId: (transactionId: string) => string;
|
|
32
32
|
export declare class InscriberBuilder extends BaseServiceBuilder {
|
|
33
33
|
protected inscriptionSDK?: InscriptionSDKInstance;
|
|
@@ -59,7 +59,7 @@ export declare class InscriberBuilder extends BaseServiceBuilder {
|
|
|
59
59
|
/**
|
|
60
60
|
* Get or create Inscription SDK
|
|
61
61
|
*/
|
|
62
|
-
protected getInscriptionSDK(
|
|
62
|
+
protected getInscriptionSDK(options: InscriptionOptions): Promise<InscriptionSDKInstance | null>;
|
|
63
63
|
/**
|
|
64
64
|
* Inscribe content using server-side authentication
|
|
65
65
|
*/
|