UNPKG

@hashgraphonline/standards-agent-kit

Version:

A modular SDK for building on-chain autonomous agents using Hashgraph Online Standards, including HCS-10 for agent discovery and communication. https://hol.org

82 lines (81 loc) 3.3 kB
import { BaseServiceBuilder, HederaAgentKit, AgentOperationalMode } from 'hedera-agent-kit'; import { InscriptionInput, InscriptionOptions, InscriptionResponse, RetrievedInscriptionResult } from '@hashgraphonline/standards-sdk'; import { InscriptionSDK, InscriptionResult } from '@kiloscribe/inscription-sdk'; /** * Type definition for DAppSigner interface compatible with inscription SDK */ interface DAppSigner { getAccountId(): { toString(): string; }; [key: string]: unknown; } export interface PendingInscriptionResponse { transactionBytes: string; tx_id?: string; topic_id?: string; status?: string; completed?: boolean; } export interface CompletedInscriptionResponse { confirmed?: boolean; result?: InscriptionResult; inscription?: RetrievedInscriptionResult; jsonTopicId?: string; network?: string; } /** * Builder for Inscription operations */ type InscriptionSDKInstance = InscriptionSDK; export declare const toDashedTransactionId: (transactionId: string) => string; export declare class InscriberBuilder extends BaseServiceBuilder { protected inscriptionSDK?: InscriptionSDKInstance; private static signerProvider?; private static walletInfoResolver?; private static startInscriptionDelegate?; private static walletExecutor?; /** When true, do not allow server fallback; require a wallet path in Provide Bytes */ private static preferWalletOnly; constructor(hederaKit: HederaAgentKit); getOperationalMode(): AgentOperationalMode; static setSignerProvider(provider: () => Promise<DAppSigner | null> | DAppSigner | null): void; static setWalletInfoResolver(resolver: () => Promise<{ accountId: string; network: 'mainnet' | 'testnet'; } | null> | { accountId: string; network: 'mainnet' | 'testnet'; } | null): void; static setStartInscriptionDelegate(delegate: (request: Record<string, unknown>, network: 'mainnet' | 'testnet') => Promise<PendingInscriptionResponse | CompletedInscriptionResponse>): void; static setWalletExecutor(executor: (base64: string, network: 'mainnet' | 'testnet') => Promise<{ transactionId: string; }>): void; /** * Control fallback behavior. When true, wallet must be available for execution paths. */ static setPreferWalletOnly(flag: boolean): void; getSigner(): Promise<DAppSigner | null>; /** * Get or create Inscription SDK */ protected getInscriptionSDK(options: InscriptionOptions): Promise<InscriptionSDKInstance | null>; /** * Inscribe content using server-side authentication */ inscribe(input: InscriptionInput, options: InscriptionOptions): Promise<InscriptionResponse>; /** * Inscribe content using a DApp signer */ inscribeWithSigner(input: InscriptionInput, signer: DAppSigner, options: InscriptionOptions): Promise<InscriptionResponse>; inscribeAuto(input: InscriptionInput, options: InscriptionOptions): Promise<InscriptionResponse>; /** * Retrieve an existing inscription */ retrieveInscription(transactionId: string, options: InscriptionOptions): Promise<RetrievedInscriptionResult>; /** * Close the inscription SDK */ close(): Promise<void>; } export {};