@hashgraphonline/standards-sdk
Version:
The Hashgraph Online Standards SDK provides a complete implementation of the Hashgraph Consensus Standards (HCS), giving developers all the tools needed to build applications on Hedera.
230 lines • 6.24 kB
TypeScript
import { Signer } from '@hashgraph/sdk';
import { DAppSigner } from '@hashgraph/hedera-wallet-connect';
import { RegistrationProgressCallback } from '../hcs-10/types';
import { LogLevel } from '../utils/logger';
import { FeeConfigBuilderInterface } from '../fees';
import { NetworkType } from '../utils/types';
export declare enum ProfileType {
PERSONAL = 0,
AI_AGENT = 1,
MCP_SERVER = 2
}
export declare enum AIAgentType {
MANUAL = 0,
AUTONOMOUS = 1
}
export declare enum EndpointType {
REST = 0,
WEBSOCKET = 1,
GRPC = 2
}
export declare enum AIAgentCapability {
TEXT_GENERATION = 0,
IMAGE_GENERATION = 1,
AUDIO_GENERATION = 2,
VIDEO_GENERATION = 3,
CODE_GENERATION = 4,
LANGUAGE_TRANSLATION = 5,
SUMMARIZATION_EXTRACTION = 6,
KNOWLEDGE_RETRIEVAL = 7,
DATA_INTEGRATION = 8,
MARKET_INTELLIGENCE = 9,
TRANSACTION_ANALYTICS = 10,
SMART_CONTRACT_AUDIT = 11,
GOVERNANCE_FACILITATION = 12,
SECURITY_MONITORING = 13,
COMPLIANCE_ANALYSIS = 14,
FRAUD_DETECTION = 15,
MULTI_AGENT_COORDINATION = 16,
API_INTEGRATION = 17,
WORKFLOW_AUTOMATION = 18
}
export declare enum MCPServerCapability {
RESOURCE_PROVIDER = 0,
TOOL_PROVIDER = 1,
PROMPT_TEMPLATE_PROVIDER = 2,
LOCAL_FILE_ACCESS = 3,
DATABASE_INTEGRATION = 4,
API_INTEGRATION = 5,
WEB_ACCESS = 6,
KNOWLEDGE_BASE = 7,
MEMORY_PERSISTENCE = 8,
CODE_ANALYSIS = 9,
CONTENT_GENERATION = 10,
COMMUNICATION = 11,
DOCUMENT_PROCESSING = 12,
CALENDAR_SCHEDULE = 13,
SEARCH = 14,
ASSISTANT_ORCHESTRATION = 15
}
export declare enum VerificationType {
DNS = "dns",
SIGNATURE = "signature",
CHALLENGE = "challenge"
}
export type SocialPlatform = 'twitter' | 'github' | 'discord' | 'telegram' | 'linkedin' | 'youtube' | 'website' | 'x';
export interface SocialLink {
platform: SocialPlatform;
handle: string;
}
export interface AIAgentDetails {
type: AIAgentType;
capabilities: AIAgentCapability[];
model: string;
creator?: string;
}
export interface MCPServerVerification {
type: VerificationType;
value: string;
dns_field?: string;
challenge_path?: string;
}
export interface MCPServerConnectionInfo {
url: string;
transport: 'stdio' | 'sse';
}
export interface MCPServerHost {
minVersion?: string;
}
export interface MCPServerResource {
name: string;
description: string;
}
export interface MCPServerTool {
name: string;
description: string;
}
export interface MCPServerDetails {
version: string;
connectionInfo: MCPServerConnectionInfo;
services: MCPServerCapability[];
description: string;
verification?: MCPServerVerification;
host?: MCPServerHost;
capabilities?: string[];
resources?: MCPServerResource[];
tools?: MCPServerTool[];
maintainer?: string;
repository?: string;
docs?: string;
}
export interface BaseProfile {
version: string;
type: ProfileType;
display_name: string;
alias?: string;
bio?: string;
socials?: SocialLink[];
profileImage?: string;
properties?: Record<string, any>;
inboundTopicId?: string;
outboundTopicId?: string;
}
export interface PersonalProfile extends BaseProfile {
type: ProfileType.PERSONAL;
}
export interface AIAgentProfile extends BaseProfile {
type: ProfileType.AI_AGENT;
aiAgent: AIAgentDetails;
}
export interface MCPServerProfile extends BaseProfile {
type: ProfileType.MCP_SERVER;
mcpServer: MCPServerDetails;
}
export type HCS11Profile = PersonalProfile | AIAgentProfile | MCPServerProfile;
export declare enum InboundTopicType {
PUBLIC = "PUBLIC",
CONTROLLED = "CONTROLLED",
FEE_BASED = "FEE_BASED"
}
export interface HCS11Auth {
operatorId: string;
privateKey?: string;
signer?: DAppSigner | Signer;
}
export interface HCS11ClientConfig {
network: NetworkType;
auth: HCS11Auth;
logLevel?: LogLevel;
silent?: boolean;
keyType?: 'ed25519' | 'ecdsa';
}
export interface TransactionResult<T = unknown> {
success: boolean;
error?: string;
result?: T;
}
export interface InscribeProfileResponse {
profileTopicId: string;
transactionId: string;
success: boolean;
error?: string;
inboundTopicId?: string;
outboundTopicId?: string;
}
export interface InscribeImageResponse {
imageTopicId: string;
transactionId: string;
success: boolean;
error?: string;
}
export interface AgentMetadata {
type: 'autonomous' | 'manual';
model?: string;
socials?: {
[key in SocialPlatform]?: string;
};
creator?: string;
properties?: Record<string, any>;
}
export interface ProgressOptions {
progressCallback?: RegistrationProgressCallback;
}
export interface InscribeImageOptions extends ProgressOptions {
waitForConfirmation?: boolean;
}
export interface InscribeProfileOptions extends ProgressOptions {
waitForConfirmation?: boolean;
}
export interface AgentConfiguration {
name: string;
alias: string;
bio: string;
capabilities: number[];
metadata: AgentMetadata;
pfpBuffer?: Buffer;
pfpFileName?: string;
network: NetworkType;
inboundTopicType: InboundTopicType;
feeConfig?: FeeConfigBuilderInterface;
connectionFeeConfig?: FeeConfigBuilderInterface;
existingAccount?: {
accountId: string;
privateKey: string;
};
existingPfpTopicId?: string;
}
export interface PersonConfig extends BaseProfile {
type: ProfileType.PERSONAL;
pfpBuffer?: Buffer;
pfpFileName?: string;
}
export interface MCPServerConfig {
name: string;
alias?: string;
bio?: string;
socials?: SocialLink[];
network: NetworkType;
mcpServer: MCPServerDetails;
pfpBuffer?: Buffer;
pfpFileName?: string;
existingPfpTopicId?: string;
existingAccount?: {
accountId: string;
privateKey: string;
};
}
export declare const SUPPORTED_SOCIAL_PLATFORMS: SocialPlatform[];
export declare const capabilityNameToCapabilityMap: Record<string, AIAgentCapability>;
export declare const mcpServiceNameToCapabilityMap: Record<string, MCPServerCapability>;
//# sourceMappingURL=types.d.ts.map