@hashgraphonline/standards-sdk 0.1.141-canary.13 → 0.1.141-canary.14
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 +3 -1
- package/dist/cjs/services/registry-broker/client.d.ts +4 -3
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +4 -3
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/standards-sdk.es100.js +1 -1
- package/dist/es/standards-sdk.es102.js +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -5
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +5 -5
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es121.js +1 -1
- package/dist/es/standards-sdk.es122.js +1 -1
- package/dist/es/standards-sdk.es123.js +5 -5
- package/dist/es/standards-sdk.es125.js +1 -1
- package/dist/es/standards-sdk.es126.js +1 -1
- package/dist/es/standards-sdk.es128.js +63 -21
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es136.js +105 -12241
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +42 -766
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +766 -138
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +12265 -33
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +13 -168
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +139 -289
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +274 -298
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +262 -369
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +316 -194
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +319 -64
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +74 -15
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es17.js +1 -6
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +4 -8
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +2 -6
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es28.js +3 -7
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +1 -1
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es36.js +2 -7
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +3 -3
- package/dist/es/standards-sdk.es38.js +1 -1
- package/dist/es/standards-sdk.es5.js +1 -1
- package/dist/es/standards-sdk.es54.js +1 -1
- package/dist/es/standards-sdk.es61.js +2 -6
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +2 -2
- package/dist/es/standards-sdk.es69.js +2 -2
- package/dist/es/standards-sdk.es70.js +1 -1
- package/dist/es/standards-sdk.es72.js +1 -1
- package/dist/es/standards-sdk.es77.js +1 -1
- package/dist/es/standards-sdk.es78.js +1 -6
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +1 -1
- package/dist/es/standards-sdk.es8.js +1 -1
- package/dist/es/standards-sdk.es82.js +1 -1
- package/dist/es/standards-sdk.es84.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es92.js +1 -1
- package/dist/es/standards-sdk.es93.js +1 -1
- package/dist/es/standards-sdk.es98.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AdaptersResponse, CreateSessionRequestPayload, CreateSessionResponse, AgentRegistrationRequest, RegisterAgentResponse, RegisterAgentQuoteResponse, RegisterAgentPendingResponse, RegisterAgentPartialResponse, RegisterAgentSuccessResponse, CreditPurchaseResponse, PopularSearchesResponse, RegistriesResponse, RegistryStatsResponse, ResolvedAgentResponse, SearchFacetsResponse, SearchParams, SearchResult, SendMessageRequestPayload, SendMessageResponse, ProtocolsResponse, DetectProtocolResponse, ProtocolDetectionMessage, RegistrySearchByNamespaceResponse, WebsocketStatsResponse, MetricsSummaryResponse, UaidValidationResponse, UaidConnectionStatus, DashboardStatsResponse, JsonValue, JsonObject, VectorSearchRequest, VectorSearchResponse, LedgerChallengeRequest, LedgerChallengeResponse, LedgerVerifyRequest, LedgerVerifyResponse, LedgerAuthenticationOptions, LedgerCredentialAuthOptions, RegisterAgentOptions, RegistrationProgressRecord, RegistrationProgressWaitOptions, ChatHistoryCompactionResponse, CompactHistoryRequestPayload, AdapterDetailsResponse, AdditionalRegistryCatalogResponse, X402CreditPurchaseResponse, X402MinimumsResponse, SessionEncryptionStatusResponse, EncryptionHandshakeRecord, EncryptionHandshakeSubmissionPayload, RegisterEncryptionKeyPayload, RegisterEncryptionKeyResponse, EphemeralKeyPair, DeriveSharedSecretOptions, EncryptCipherEnvelopeOptions, DecryptCipherEnvelopeOptions, CipherEnvelope, ChatConversationHandle, StartChatOptions, StartConversationOptions, AcceptConversationOptions, EnsureAgentKeyOptions, RegistryBrokerClientOptions, InitializeAgentClientOptions, ChatHistoryFetchOptions, ChatHistorySnapshotWithDecryptedEntries, RecipientIdentity, EncryptedChatSessionHandle, StartEncryptedChatSessionOptions, AcceptEncryptedChatSessionOptions, SearchStatusResponse } from './types';
|
|
2
2
|
import { Buffer } from 'node:buffer';
|
|
3
|
-
import { decodeXPaymentResponse, Signer, MultiNetworkSigner } from 'x402-axios';
|
|
4
3
|
import { ZodError } from 'zod';
|
|
5
4
|
export interface InitializedAgentClient {
|
|
6
5
|
client: RegistryBrokerClient;
|
|
@@ -21,7 +20,7 @@ interface PurchaseCreditsWithX402Params {
|
|
|
21
20
|
usdAmount?: number;
|
|
22
21
|
description?: string;
|
|
23
22
|
metadata?: JsonObject;
|
|
24
|
-
walletClient:
|
|
23
|
+
walletClient: object;
|
|
25
24
|
}
|
|
26
25
|
type X402NetworkId = 'base' | 'base-sepolia';
|
|
27
26
|
interface BuyCreditsWithX402Params {
|
|
@@ -36,7 +35,7 @@ interface BuyCreditsWithX402Params {
|
|
|
36
35
|
}
|
|
37
36
|
type X402PurchaseResult = X402CreditPurchaseResponse & {
|
|
38
37
|
paymentResponseHeader?: string;
|
|
39
|
-
paymentResponse?:
|
|
38
|
+
paymentResponse?: unknown;
|
|
40
39
|
};
|
|
41
40
|
interface ErrorDetails {
|
|
42
41
|
status: number;
|
|
@@ -90,6 +89,8 @@ export declare class RegistryBrokerClient {
|
|
|
90
89
|
private readonly encryptionOptions?;
|
|
91
90
|
private readonly encryptionBootstrapPromise;
|
|
92
91
|
private readonly conversationContexts;
|
|
92
|
+
private loadViemAccount;
|
|
93
|
+
private loadX402Dependencies;
|
|
93
94
|
constructor(options?: RegistryBrokerClientOptions);
|
|
94
95
|
setApiKey(apiKey?: string): void;
|
|
95
96
|
setLedgerApiKey(apiKey?: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/services/registry-broker/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EAEpB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EAGpB,0BAA0B,EAC1B,+BAA+B,EAE/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,iCAAiC,EACjC,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EACzB,oCAAoC,EACpC,4BAA4B,EAC5B,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAE5B,cAAc,EAEd,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAIzB,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,uCAAuC,EACvC,iBAAiB,EACjB,0BAA0B,EAG1B,gCAAgC,EAChC,iCAAiC,EACjC,oBAAoB,EACrB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/services/registry-broker/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.
|
|
1
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es137.js";
|
|
2
2
|
import { generateHCS17Memo } from "./standards-sdk.es96.js";
|
|
3
3
|
function buildHcs17CreateTopicTx(params) {
|
|
4
4
|
const memo = generateHCS17Memo(params.ttl);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from "@hashgraph/sdk";
|
|
2
2
|
import { Logger } from "./standards-sdk.es106.js";
|
|
3
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
3
|
+
import { createNodeOperatorContext } from "./standards-sdk.es136.js";
|
|
4
4
|
import { buildHcs18CreateDiscoveryTopicTx, buildHcs18AnnounceMessage, buildHcs18SubmitDiscoveryMessageTx, buildHcs18ProposeMessage, buildHcs18RespondMessage, buildHcs18CompleteMessage, buildHcs18WithdrawMessage } from "./standards-sdk.es104.js";
|
|
5
5
|
import { HCS18BaseClient } from "./standards-sdk.es105.js";
|
|
6
6
|
class HCS18Client extends HCS18BaseClient {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TopicMessageSubmitTransaction } from "@hashgraph/sdk";
|
|
2
2
|
import { DiscoveryOperation } from "./standards-sdk.es101.js";
|
|
3
|
-
import { buildTopicCreateTx } from "./standards-sdk.
|
|
3
|
+
import { buildTopicCreateTx } from "./standards-sdk.es137.js";
|
|
4
4
|
function buildHcs18DiscoveryMemo(ttlSeconds, memoOverride) {
|
|
5
5
|
if (memoOverride && memoOverride.trim().length > 0) {
|
|
6
6
|
return memoOverride;
|
|
@@ -7,11 +7,7 @@ import "node:crypto";
|
|
|
7
7
|
import "node:module";
|
|
8
8
|
import "@noble/curves/secp256k1.js";
|
|
9
9
|
import "./standards-sdk.es130.js";
|
|
10
|
-
import "
|
|
11
|
-
import "viem/chains";
|
|
12
|
-
import "x402-axios";
|
|
13
|
-
import "x402/types";
|
|
14
|
-
import "./standards-sdk.es137.js";
|
|
10
|
+
import "./standards-sdk.es138.js";
|
|
15
11
|
import "zod";
|
|
16
12
|
class HRLResolver {
|
|
17
13
|
constructor(logLevel = "info") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es110.js","sources":["../../src/utils/hrl-resolver.ts"],"sourcesContent":["import axios from 'axios';\nimport { Logger, LogLevel, ILogger } from './logger';\nimport { NetworkType } from './types';\nimport { HederaMirrorNode } from '../services';\n\n/**\n * Options for HRL resolution\n */\nexport interface HRLResolutionOptions {\n network: NetworkType;\n returnRaw?: boolean;\n cdnEndpoint?: string;\n}\n\n/**\n * Result of an HRL resolution operation\n */\nexport interface HRLResolutionResult {\n content: string | ArrayBuffer;\n contentType: string;\n topicId: string;\n isBinary: boolean;\n}\n\nexport interface ContentWithType {\n content: string | ArrayBuffer;\n contentType: string;\n isBinary: boolean;\n}\n\n/**\n * Utility class for resolving Hedera Resource Locators across the SDK\n */\nexport class HRLResolver {\n private logger: ILogger;\n private defaultEndpoint = 'https://kiloscribe.com/api/inscription-cdn';\n\n constructor(logLevel: LogLevel = 'info') {\n this.logger = Logger.getInstance({\n level: logLevel,\n module: 'HRLResolver',\n });\n }\n\n /**\n * Determines if a MIME type represents binary content\n */\n private isBinaryContentType(mimeType: string): boolean {\n const binaryTypes = [\n 'image/',\n 'audio/',\n 'video/',\n 'application/octet-stream',\n 'application/pdf',\n 'application/zip',\n 'application/gzip',\n 'application/x-binary',\n 'application/vnd.ms-',\n 'application/x-msdownload',\n 'application/x-shockwave-flash',\n 'font/',\n 'application/wasm',\n ];\n\n return binaryTypes.some(prefix => mimeType.startsWith(prefix));\n }\n\n /**\n * Parses an HRL string into its components\n */\n public parseHRL(hrl: string): { standard: string; topicId: string } | null {\n if (!hrl) {\n return null;\n }\n\n const hrlPattern = /^hcs:\\/\\/(\\d+)\\/([0-9]+\\.[0-9]+\\.[0-9]+)$/;\n const match = hrl.match(hrlPattern);\n\n if (!match) {\n return null;\n }\n\n return {\n standard: match[1],\n topicId: match[2],\n };\n }\n\n /**\n * Validates if a string is a valid HRL\n */\n public isValidHRL(hrl: string): boolean {\n if (!hrl || typeof hrl !== 'string') {\n return false;\n }\n\n const parsed = this.parseHRL(hrl);\n if (!parsed) {\n return false;\n }\n\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n if (!topicIdPattern.test(parsed.topicId)) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Validates if a string is a valid topic ID\n */\n public isValidTopicId(topicId: string): boolean {\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n return topicIdPattern.test(topicId);\n }\n\n /**\n * Resolves content from either an HRL or a topic ID\n * If a topic ID is provided, it queries the topic memo to determine the HCS standard\n */\n public async resolve(\n hrlOrTopicId: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n if (this.isValidHRL(hrlOrTopicId)) {\n return this.resolveHRL(hrlOrTopicId, options);\n }\n\n if (!this.isValidTopicId(hrlOrTopicId)) {\n throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);\n }\n\n try {\n const mirrorNode = new HederaMirrorNode(options.network, this.logger);\n const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);\n const memo = topicInfo?.memo || '';\n\n let standard = '1';\n if (memo) {\n const hcsMatch = memo.match(/^hcs-(\\d+)/);\n if (hcsMatch && hcsMatch[1]) {\n standard = hcsMatch[1];\n }\n }\n\n const hrl = `hcs://${standard}/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n } catch (error: any) {\n this.logger.error(\n `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`,\n );\n const hrl = `hcs://1/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n }\n }\n\n public async getContentWithType(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<ContentWithType> {\n if (!this.isValidHRL(hrl)) {\n return {\n content: hrl,\n contentType: 'text/plain',\n isBinary: false,\n };\n }\n\n try {\n const result = await this.resolveHRL(hrl, options);\n return {\n content: result.content,\n contentType: result.contentType,\n isBinary: result.isBinary,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL for content and type: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n\n /**\n * Resolves HRL content with proper content type detection\n */\n public async resolveHRL(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n const parsed = this.parseHRL(hrl);\n\n if (!parsed) {\n throw new Error(`Invalid HRL format: ${hrl}`);\n }\n\n const { standard, topicId } = parsed;\n\n this.logger.debug(\n `Resolving HRL reference: standard=${standard}, topicId=${topicId}`,\n );\n\n try {\n const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;\n const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;\n\n this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);\n const headResponse = await axios.head(cdnUrl);\n const contentType = headResponse.headers['content-type'] || '';\n const isBinary = this.isBinaryContentType(contentType);\n\n if (isBinary || options.returnRaw) {\n const response = await axios.get(cdnUrl, {\n responseType: 'arraybuffer',\n });\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: true,\n };\n }\n\n if (contentType === 'application/json') {\n const response = await axios.get(cdnUrl, {\n responseType: 'json',\n });\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: false,\n };\n }\n\n const response = await axios.get(cdnUrl);\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n let content: string;\n\n if (typeof response.data === 'object') {\n content =\n response.data.content ||\n response.data.text ||\n JSON.stringify(response.data);\n } else {\n content = response.data;\n }\n\n return {\n content,\n contentType,\n topicId,\n isBinary: false,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL reference: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n}\n"],"names":["response"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es110.js","sources":["../../src/utils/hrl-resolver.ts"],"sourcesContent":["import axios from 'axios';\nimport { Logger, LogLevel, ILogger } from './logger';\nimport { NetworkType } from './types';\nimport { HederaMirrorNode } from '../services';\n\n/**\n * Options for HRL resolution\n */\nexport interface HRLResolutionOptions {\n network: NetworkType;\n returnRaw?: boolean;\n cdnEndpoint?: string;\n}\n\n/**\n * Result of an HRL resolution operation\n */\nexport interface HRLResolutionResult {\n content: string | ArrayBuffer;\n contentType: string;\n topicId: string;\n isBinary: boolean;\n}\n\nexport interface ContentWithType {\n content: string | ArrayBuffer;\n contentType: string;\n isBinary: boolean;\n}\n\n/**\n * Utility class for resolving Hedera Resource Locators across the SDK\n */\nexport class HRLResolver {\n private logger: ILogger;\n private defaultEndpoint = 'https://kiloscribe.com/api/inscription-cdn';\n\n constructor(logLevel: LogLevel = 'info') {\n this.logger = Logger.getInstance({\n level: logLevel,\n module: 'HRLResolver',\n });\n }\n\n /**\n * Determines if a MIME type represents binary content\n */\n private isBinaryContentType(mimeType: string): boolean {\n const binaryTypes = [\n 'image/',\n 'audio/',\n 'video/',\n 'application/octet-stream',\n 'application/pdf',\n 'application/zip',\n 'application/gzip',\n 'application/x-binary',\n 'application/vnd.ms-',\n 'application/x-msdownload',\n 'application/x-shockwave-flash',\n 'font/',\n 'application/wasm',\n ];\n\n return binaryTypes.some(prefix => mimeType.startsWith(prefix));\n }\n\n /**\n * Parses an HRL string into its components\n */\n public parseHRL(hrl: string): { standard: string; topicId: string } | null {\n if (!hrl) {\n return null;\n }\n\n const hrlPattern = /^hcs:\\/\\/(\\d+)\\/([0-9]+\\.[0-9]+\\.[0-9]+)$/;\n const match = hrl.match(hrlPattern);\n\n if (!match) {\n return null;\n }\n\n return {\n standard: match[1],\n topicId: match[2],\n };\n }\n\n /**\n * Validates if a string is a valid HRL\n */\n public isValidHRL(hrl: string): boolean {\n if (!hrl || typeof hrl !== 'string') {\n return false;\n }\n\n const parsed = this.parseHRL(hrl);\n if (!parsed) {\n return false;\n }\n\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n if (!topicIdPattern.test(parsed.topicId)) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Validates if a string is a valid topic ID\n */\n public isValidTopicId(topicId: string): boolean {\n const topicIdPattern = /^[0-9]+\\.[0-9]+\\.[0-9]+$/;\n return topicIdPattern.test(topicId);\n }\n\n /**\n * Resolves content from either an HRL or a topic ID\n * If a topic ID is provided, it queries the topic memo to determine the HCS standard\n */\n public async resolve(\n hrlOrTopicId: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n if (this.isValidHRL(hrlOrTopicId)) {\n return this.resolveHRL(hrlOrTopicId, options);\n }\n\n if (!this.isValidTopicId(hrlOrTopicId)) {\n throw new Error(`Invalid HRL or topic ID format: ${hrlOrTopicId}`);\n }\n\n try {\n const mirrorNode = new HederaMirrorNode(options.network, this.logger);\n const topicInfo = await mirrorNode.getTopicInfo(hrlOrTopicId);\n const memo = topicInfo?.memo || '';\n\n let standard = '1';\n if (memo) {\n const hcsMatch = memo.match(/^hcs-(\\d+)/);\n if (hcsMatch && hcsMatch[1]) {\n standard = hcsMatch[1];\n }\n }\n\n const hrl = `hcs://${standard}/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n } catch (error: any) {\n this.logger.error(\n `Failed to get topic info for ${hrlOrTopicId}: ${error.message}`,\n );\n const hrl = `hcs://1/${hrlOrTopicId}`;\n return this.resolveHRL(hrl, options);\n }\n }\n\n public async getContentWithType(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<ContentWithType> {\n if (!this.isValidHRL(hrl)) {\n return {\n content: hrl,\n contentType: 'text/plain',\n isBinary: false,\n };\n }\n\n try {\n const result = await this.resolveHRL(hrl, options);\n return {\n content: result.content,\n contentType: result.contentType,\n isBinary: result.isBinary,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL for content and type: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n\n /**\n * Resolves HRL content with proper content type detection\n */\n public async resolveHRL(\n hrl: string,\n options: HRLResolutionOptions,\n ): Promise<HRLResolutionResult> {\n const parsed = this.parseHRL(hrl);\n\n if (!parsed) {\n throw new Error(`Invalid HRL format: ${hrl}`);\n }\n\n const { standard, topicId } = parsed;\n\n this.logger.debug(\n `Resolving HRL reference: standard=${standard}, topicId=${topicId}`,\n );\n\n try {\n const cdnEndpoint = options.cdnEndpoint || this.defaultEndpoint;\n const cdnUrl = `${cdnEndpoint}/${topicId}?network=${options.network}`;\n\n this.logger.debug(`Fetching content from CDN: ${cdnUrl}`);\n const headResponse = await axios.head(cdnUrl);\n const contentType = headResponse.headers['content-type'] || '';\n const isBinary = this.isBinaryContentType(contentType);\n\n if (isBinary || options.returnRaw) {\n const response = await axios.get(cdnUrl, {\n responseType: 'arraybuffer',\n });\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: true,\n };\n }\n\n if (contentType === 'application/json') {\n const response = await axios.get(cdnUrl, {\n responseType: 'json',\n });\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n return {\n content: response.data,\n contentType,\n topicId,\n isBinary: false,\n };\n }\n\n const response = await axios.get(cdnUrl);\n\n if (!response.data) {\n throw new Error(`Failed to fetch content from topic: ${topicId}`);\n }\n\n let content: string;\n\n if (typeof response.data === 'object') {\n content =\n response.data.content ||\n response.data.text ||\n JSON.stringify(response.data);\n } else {\n content = response.data;\n }\n\n return {\n content,\n contentType,\n topicId,\n isBinary: false,\n };\n } catch (e: any) {\n const error = e as Error;\n const logMessage = `Error resolving HRL reference: ${error.message}`;\n this.logger.error(logMessage);\n throw new Error(logMessage);\n }\n }\n}\n"],"names":["response"],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@ import { ethers } from "ethers";
|
|
|
5
5
|
import { TransactionParsingError } from "./standards-sdk.es112.js";
|
|
6
6
|
import { resolveTransactionSummary } from "./standards-sdk.es113.js";
|
|
7
7
|
import { HTSParser } from "./standards-sdk.es121.js";
|
|
8
|
-
import { HCSParser } from "./standards-sdk.
|
|
9
|
-
import { FileParser } from "./standards-sdk.
|
|
10
|
-
import { CryptoParser } from "./standards-sdk.
|
|
11
|
-
import { SCSParser } from "./standards-sdk.
|
|
12
|
-
import { UtilParser } from "./standards-sdk.
|
|
8
|
+
import { HCSParser } from "./standards-sdk.es143.js";
|
|
9
|
+
import { FileParser } from "./standards-sdk.es144.js";
|
|
10
|
+
import { CryptoParser } from "./standards-sdk.es145.js";
|
|
11
|
+
import { SCSParser } from "./standards-sdk.es146.js";
|
|
12
|
+
import { UtilParser } from "./standards-sdk.es147.js";
|
|
13
13
|
import { ScheduleParser } from "./standards-sdk.es122.js";
|
|
14
14
|
import { transactionParserRegistry } from "./standards-sdk.es123.js";
|
|
15
15
|
import { getTransactionTypeFromBody, getHumanReadableTransactionType } from "./standards-sdk.es124.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PublicKey, PrivateKey } from "@hashgraph/sdk";
|
|
2
2
|
import { HCS7BaseClient } from "./standards-sdk.es10.js";
|
|
3
|
-
import { createNodeOperatorContext } from "./standards-sdk.
|
|
3
|
+
import { createNodeOperatorContext } from "./standards-sdk.es136.js";
|
|
4
4
|
import { buildHcs7CreateRegistryTx, buildHcs7SubmitMessageTx } from "./standards-sdk.es13.js";
|
|
5
5
|
class HCS7Client extends HCS7BaseClient {
|
|
6
6
|
constructor(config) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proto } from "@hashgraph/proto";
|
|
2
2
|
import { AccountId, Long, TokenId } from "@hashgraph/sdk";
|
|
3
|
-
import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.
|
|
3
|
+
import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.es148.js";
|
|
4
4
|
import { Buffer } from "buffer";
|
|
5
5
|
class HTSParser {
|
|
6
6
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { proto } from "@hashgraph/proto";
|
|
2
|
-
import { hasTransactionType, parseKey } from "./standards-sdk.
|
|
2
|
+
import { hasTransactionType, parseKey } from "./standards-sdk.es148.js";
|
|
3
3
|
import { AccountId, Long, ScheduleId } from "@hashgraph/sdk";
|
|
4
4
|
class ScheduleParser {
|
|
5
5
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HTSParser } from "./standards-sdk.es121.js";
|
|
2
|
-
import { HCSParser } from "./standards-sdk.
|
|
3
|
-
import { CryptoParser } from "./standards-sdk.
|
|
4
|
-
import { FileParser } from "./standards-sdk.
|
|
5
|
-
import { SCSParser } from "./standards-sdk.
|
|
2
|
+
import { HCSParser } from "./standards-sdk.es143.js";
|
|
3
|
+
import { CryptoParser } from "./standards-sdk.es145.js";
|
|
4
|
+
import { FileParser } from "./standards-sdk.es144.js";
|
|
5
|
+
import { SCSParser } from "./standards-sdk.es146.js";
|
|
6
6
|
import { ScheduleParser } from "./standards-sdk.es122.js";
|
|
7
|
-
import { UtilParser } from "./standards-sdk.
|
|
7
|
+
import { UtilParser } from "./standards-sdk.es147.js";
|
|
8
8
|
const transactionParserRegistry = {
|
|
9
9
|
TOKENCREATE: {
|
|
10
10
|
bodyField: "tokenCreation",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InscriptionSDK, ValidationError } from "./standards-sdk.
|
|
1
|
+
import { InscriptionSDK, ValidationError } from "./standards-sdk.es139.js";
|
|
2
2
|
import { Logger } from "./standards-sdk.es106.js";
|
|
3
3
|
import { ProgressReporter } from "./standards-sdk.es109.js";
|
|
4
4
|
import { TransactionParser } from "./standards-sdk.es111.js";
|
|
@@ -4,12 +4,7 @@ import { randomBytes, createHash, createCipheriv, createDecipheriv } from "node:
|
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import { secp256k1 } from "@noble/curves/secp256k1.js";
|
|
6
6
|
import { canonicalizeLedgerNetwork } from "./standards-sdk.es130.js";
|
|
7
|
-
import
|
|
8
|
-
import { privateKeyToAccount } from "viem/accounts";
|
|
9
|
-
import "viem/chains";
|
|
10
|
-
import { withPaymentInterceptor, decodeXPaymentResponse } from "x402-axios";
|
|
11
|
-
import { createSigner } from "x402/types";
|
|
12
|
-
import { searchResponseSchema, statsResponseSchema, registriesResponseSchema, additionalRegistryCatalogResponseSchema, popularResponseSchema, resolveResponseSchema, registerAgentResponseSchema, registrationQuoteResponseSchema, registrationProgressResponseSchema, creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema, ledgerChallengeResponseSchema, ledgerVerifyResponseSchema, protocolsResponseSchema, detectProtocolResponseSchema, registrySearchByNamespaceSchema, vectorSearchResponseSchema, searchStatusResponseSchema, adapterDetailsResponseSchema, websocketStatsResponseSchema, metricsSummaryResponseSchema, uaidValidationResponseSchema, uaidConnectionStatusSchema, dashboardStatsResponseSchema, adaptersResponseSchema, searchFacetsResponseSchema, createSessionResponseSchema, chatHistorySnapshotResponseSchema, chatHistoryCompactionResponseSchema, sessionEncryptionStatusResponseSchema, encryptionHandshakeResponseSchema, registerEncryptionKeyResponseSchema, sendMessageResponseSchema } from "./standards-sdk.es137.js";
|
|
7
|
+
import { searchResponseSchema, statsResponseSchema, registriesResponseSchema, additionalRegistryCatalogResponseSchema, popularResponseSchema, resolveResponseSchema, registerAgentResponseSchema, registrationQuoteResponseSchema, registrationProgressResponseSchema, creditPurchaseResponseSchema, x402MinimumsResponseSchema, x402CreditPurchaseResponseSchema, ledgerChallengeResponseSchema, ledgerVerifyResponseSchema, protocolsResponseSchema, detectProtocolResponseSchema, registrySearchByNamespaceSchema, vectorSearchResponseSchema, searchStatusResponseSchema, adapterDetailsResponseSchema, websocketStatsResponseSchema, metricsSummaryResponseSchema, uaidValidationResponseSchema, uaidConnectionStatusSchema, dashboardStatsResponseSchema, adaptersResponseSchema, searchFacetsResponseSchema, createSessionResponseSchema, chatHistorySnapshotResponseSchema, chatHistoryCompactionResponseSchema, sessionEncryptionStatusResponseSchema, encryptionHandshakeResponseSchema, registerEncryptionKeyResponseSchema, sendMessageResponseSchema } from "./standards-sdk.es138.js";
|
|
13
8
|
import { ZodError } from "zod";
|
|
14
9
|
import { createPrivateKeySigner } from "./standards-sdk.es129.js";
|
|
15
10
|
const createNodeRequire = () => {
|
|
@@ -368,6 +363,60 @@ class RegistryBrokerClient {
|
|
|
368
363
|
}
|
|
369
364
|
return { client, encryption };
|
|
370
365
|
}
|
|
366
|
+
async loadViemAccount(privateKey) {
|
|
367
|
+
try {
|
|
368
|
+
const viem = await import("viem/accounts");
|
|
369
|
+
return viem.privateKeyToAccount(privateKey);
|
|
370
|
+
} catch (error) {
|
|
371
|
+
const err = new Error(
|
|
372
|
+
'EVM ledger authentication requires the optional dependency "viem". Install it to use evmPrivateKey flows.'
|
|
373
|
+
);
|
|
374
|
+
err.cause = error;
|
|
375
|
+
throw err;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
async loadX402Dependencies() {
|
|
379
|
+
try {
|
|
380
|
+
const [{ default: axios }, x402Axios, x402Types] = await Promise.all([
|
|
381
|
+
import("axios"),
|
|
382
|
+
import("x402-axios"),
|
|
383
|
+
import("x402/types")
|
|
384
|
+
]);
|
|
385
|
+
const withPaymentInterceptor = x402Axios.withPaymentInterceptor;
|
|
386
|
+
const decodePaymentResponse = x402Axios.decodeXPaymentResponse;
|
|
387
|
+
const createX402Signer = x402Types.createSigner;
|
|
388
|
+
const createPaymentClient = (walletClient) => {
|
|
389
|
+
const axiosClient = axios.create({
|
|
390
|
+
baseURL: this.baseUrl,
|
|
391
|
+
headers: {
|
|
392
|
+
...this.getDefaultHeaders(),
|
|
393
|
+
"content-type": "application/json"
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
const client = withPaymentInterceptor(axiosClient, walletClient);
|
|
397
|
+
return {
|
|
398
|
+
post: async (url, body) => {
|
|
399
|
+
const response = await client.post(url, body);
|
|
400
|
+
return {
|
|
401
|
+
data: response.data,
|
|
402
|
+
headers: response.headers
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
};
|
|
407
|
+
return {
|
|
408
|
+
createPaymentClient,
|
|
409
|
+
decodePaymentResponse,
|
|
410
|
+
createX402Signer
|
|
411
|
+
};
|
|
412
|
+
} catch (error) {
|
|
413
|
+
const err = new Error(
|
|
414
|
+
'X402 credit purchases require optional dependencies "axios", "x402-axios", and "x402/types". Install them to enable this feature.'
|
|
415
|
+
);
|
|
416
|
+
err.cause = error;
|
|
417
|
+
throw err;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
371
420
|
setApiKey(apiKey) {
|
|
372
421
|
this.setDefaultHeader("x-api-key", apiKey);
|
|
373
422
|
}
|
|
@@ -700,6 +749,7 @@ class RegistryBrokerClient {
|
|
|
700
749
|
);
|
|
701
750
|
}
|
|
702
751
|
async purchaseCreditsWithX402(params) {
|
|
752
|
+
const { createPaymentClient, decodePaymentResponse } = await this.loadX402Dependencies();
|
|
703
753
|
if (!Number.isFinite(params.credits) || params.credits <= 0) {
|
|
704
754
|
throw new Error("credits must be a positive number");
|
|
705
755
|
}
|
|
@@ -719,25 +769,16 @@ class RegistryBrokerClient {
|
|
|
719
769
|
if (params.metadata) {
|
|
720
770
|
body.metadata = params.metadata;
|
|
721
771
|
}
|
|
722
|
-
const
|
|
723
|
-
baseURL: this.baseUrl,
|
|
724
|
-
headers: {
|
|
725
|
-
...this.getDefaultHeaders(),
|
|
726
|
-
"content-type": "application/json"
|
|
727
|
-
}
|
|
728
|
-
});
|
|
729
|
-
const paymentClient = withPaymentInterceptor(
|
|
730
|
-
axiosClient,
|
|
731
|
-
params.walletClient
|
|
732
|
-
);
|
|
772
|
+
const paymentClient = createPaymentClient(params.walletClient);
|
|
733
773
|
const response = await paymentClient.post("/credits/purchase/x402", body);
|
|
734
774
|
const parsed = this.parseWithSchema(
|
|
735
775
|
response.data,
|
|
736
776
|
x402CreditPurchaseResponseSchema,
|
|
737
777
|
"x402 credit purchase response"
|
|
738
778
|
);
|
|
739
|
-
const
|
|
740
|
-
const
|
|
779
|
+
const responseHeaders = response.headers ?? {};
|
|
780
|
+
const paymentHeader = typeof responseHeaders["x-payment-response"] === "string" ? responseHeaders["x-payment-response"] : void 0;
|
|
781
|
+
const decodedPayment = paymentHeader !== void 0 ? decodePaymentResponse(paymentHeader) : void 0;
|
|
741
782
|
return {
|
|
742
783
|
...parsed,
|
|
743
784
|
paymentResponseHeader: paymentHeader,
|
|
@@ -746,8 +787,9 @@ class RegistryBrokerClient {
|
|
|
746
787
|
}
|
|
747
788
|
async buyCreditsWithX402(params) {
|
|
748
789
|
const network = params.network ?? "base";
|
|
790
|
+
const { createX402Signer } = await this.loadX402Dependencies();
|
|
749
791
|
const normalizedKey = normalizeHexPrivateKey(params.evmPrivateKey);
|
|
750
|
-
const walletClient = await
|
|
792
|
+
const walletClient = await createX402Signer(network, normalizedKey);
|
|
751
793
|
return this.purchaseCreditsWithX402({
|
|
752
794
|
accountId: params.accountId,
|
|
753
795
|
credits: params.credits,
|
|
@@ -1034,7 +1076,7 @@ class RegistryBrokerClient {
|
|
|
1034
1076
|
);
|
|
1035
1077
|
}
|
|
1036
1078
|
const formattedKey = evmPrivateKey.startsWith("0x") ? evmPrivateKey : `0x${evmPrivateKey}`;
|
|
1037
|
-
const account =
|
|
1079
|
+
const account = await this.loadViemAccount(formattedKey);
|
|
1038
1080
|
authOptions.sign = async (message) => ({
|
|
1039
1081
|
signature: await account.signMessage({ message }),
|
|
1040
1082
|
signatureKind: "evm",
|