@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
TypeScript
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 {};