@hashgraphonline/standards-sdk 0.1.182 → 0.1.184
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/browser/services/registry-broker/client/base-client.d.ts +2 -1
- package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client/chat.d.ts +3 -1
- package/dist/browser/services/registry-broker/client/chat.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/index.d.ts +1 -0
- package/dist/browser/services/registry-broker/index.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/schemas.d.ts +313 -28
- package/dist/browser/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/types.d.ts +12 -1
- package/dist/browser/services/registry-broker/types.d.ts.map +1 -1
- package/dist/browser/standards-sdk.browser.js +45 -0
- package/dist/browser/standards-sdk.browser.js.map +1 -1
- package/dist/browser-root/services/registry-broker/client/base-client.d.ts +2 -1
- package/dist/browser-root/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/client/chat.d.ts +3 -1
- package/dist/browser-root/services/registry-broker/client/chat.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/index.d.ts +1 -0
- package/dist/browser-root/services/registry-broker/index.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/schemas.d.ts +313 -28
- package/dist/browser-root/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/types.d.ts +12 -1
- package/dist/browser-root/services/registry-broker/types.d.ts.map +1 -1
- package/dist/browser-root/standards-sdk.root-browser.js +77 -0
- package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
- package/dist/cjs/services/registry-broker/client/base-client.d.ts +2 -1
- package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/chat.d.ts +3 -1
- package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/index.d.ts +1 -0
- package/dist/cjs/services/registry-broker/index.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +313 -28
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/types.d.ts +12 -1
- package/dist/cjs/services/registry-broker/types.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/base-client.d.ts +2 -1
- package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/chat.d.ts +3 -1
- package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -1
- package/dist/es/services/registry-broker/index.d.ts +1 -0
- package/dist/es/services/registry-broker/index.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +313 -28
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/services/registry-broker/types.d.ts +12 -1
- package/dist/es/services/registry-broker/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +12 -4
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +1 -1
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es116.js +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es121.js +1 -1
- package/dist/es/standards-sdk.es127.js +1 -1
- package/dist/es/standards-sdk.es128.js +5 -5
- package/dist/es/standards-sdk.es138.js +1 -1
- package/dist/es/standards-sdk.es139.js +1 -1
- package/dist/es/standards-sdk.es140.js +5 -5
- package/dist/es/standards-sdk.es142.js +1 -1
- package/dist/es/standards-sdk.es145.js +7 -4
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +1 -1
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +1 -1
- package/dist/es/standards-sdk.es152.js +2547 -159
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +159 -7
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +7 -86
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +64 -43
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +65 -30
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +30 -34
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +34 -48
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +48 -138
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +1 -1
- package/dist/es/standards-sdk.es160.js +133 -37
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +42 -2494
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +54 -15
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +102 -47
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +64 -94
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +180 -61
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +14 -197
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +658 -158
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +139 -289
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +274 -298
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +262 -369
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +316 -194
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +319 -64
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +68 -664
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +1 -1
- package/dist/es/standards-sdk.es177.js +24 -1
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +2 -2
- package/dist/es/standards-sdk.es18.js +3 -3
- package/dist/es/standards-sdk.es180.js +1 -1
- package/dist/es/standards-sdk.es181.js +1 -1
- package/dist/es/standards-sdk.es182.js +2 -2
- package/dist/es/standards-sdk.es183.js +1 -1
- package/dist/es/standards-sdk.es184.js +1 -1
- package/dist/es/standards-sdk.es185.js +1 -1
- package/dist/es/standards-sdk.es19.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es27.js +3 -3
- package/dist/es/standards-sdk.es35.js +1 -1
- package/dist/es/standards-sdk.es36.js +2 -2
- package/dist/es/standards-sdk.es4.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +1 -1
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +2 -2
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +1 -1
- package/dist/es/standards-sdk.es72.js +2 -2
- package/dist/es/standards-sdk.es75.js +2 -2
- package/dist/es/standards-sdk.es76.js +1 -1
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es83.js +1 -1
- package/dist/es/standards-sdk.es84.js +1 -1
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es90.js +1 -1
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es152.js","sources":["../../src/fees/fee-config-builder.ts"],"sourcesContent":["import {\n FeeConfigBuilderInterface,\n TokenFeeConfig,\n TopicFeeConfig,\n CustomFeeType,\n} from './types';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\n\n/**\n * FeeConfigBuilder provides a fluent interface for creating fee configurations\n * for HCS-10 topics. This makes it easy to configure fees without dealing with\n * the complexity of the underlying fee structure.\n *\n * Example usage:\n *\n * // Super simple one-liner with the factory method\n * const simpleFeeConfig = FeeConfigBuilder.forHbar(5, '0.0.12345', NetworkType.TESTNET, new Logger(), ['0.0.67890']);\n *\n * // With multiple fees:\n * const multipleFeeConfig = new FeeConfigBuilder({\n * network: NetworkType.TESTNET,\n * logger: new Logger(),\n * defaultCollectorAccountId: '0.0.12345',\n * defaultExemptAccountIds: ['0.0.67890']\n * })\n * .withHbarFee(1) // 1 HBAR fee\n * .withTokenFee(10, '0.0.54321') // 10 units of token 0.0.54321\n * .build();\n *\n * With Agent Builder\n * const agent = new AgentBuilder()\n * .setName('Fee Collector Agent')\n * .setDescription('An agent that collects fees')\n * .setInboundTopicType(InboundTopicType.FEE_BASED)\n * .setFeeConfig(FeeConfigBuilder.forHbar(1, '0.0.12345', NetworkType.TESTNET, new Logger(), ['0.0.67890']))\n * .setNetwork('testnet')\n .build();\n\n * Directly with client\n * const client = new HCS10Client(config);\n * const connectionFeeConfig = new FeeConfigBuilder({\n * network: NetworkType.TESTNET,\n * logger: new Logger(),\n * defaultCollectorAccountId: client.getAccountAndSigner().accountId,\n * defaultExemptAccountIds: ['0.0.67890']\n * })\n * .withHbarFee(0.5) // 0.5 HBAR (simple!)\n * .build();\n\n * const result = await client.handleConnectionRequest(\n * inboundTopicId,\n * requestingAccountId,\n * connectionRequestId,\n * connectionFeeConfig\n * );\n*/\nexport interface FeeConfigBuilderOptions {\n network: NetworkType;\n logger: Logger;\n defaultCollectorAccountId?: string;\n}\n\nexport class FeeConfigBuilder implements FeeConfigBuilderInterface {\n private customFees: TokenFeeConfig[] = [];\n private mirrorNode: HederaMirrorNode;\n private logger: Logger;\n private defaultCollectorAccountId: string;\n\n constructor(options: FeeConfigBuilderOptions) {\n this.logger = options.logger;\n this.mirrorNode = new HederaMirrorNode(options.network, options.logger);\n this.defaultCollectorAccountId = options.defaultCollectorAccountId || '';\n }\n\n /**\n * Static factory method to create a FeeConfigBuilder with a single HBAR fee.\n * @param hbarAmount Amount in HBAR.\n * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.\n * @param network Network type ('mainnet' or 'testnet').\n * @param logger Logger instance.\n * @param exemptAccounts Optional array of account IDs exempt from this fee.\n * @returns A configured FeeConfigBuilder instance.\n */\n static forHbar(\n hbarAmount: number,\n collectorAccountId: string | undefined,\n network: NetworkType,\n logger: Logger,\n exemptAccounts: string[] = [],\n ): FeeConfigBuilder {\n const builder = new FeeConfigBuilder({\n network,\n logger,\n defaultCollectorAccountId: collectorAccountId,\n });\n return builder.addHbarFee(hbarAmount, collectorAccountId, exemptAccounts);\n }\n\n /**\n * Static factory method to create a FeeConfigBuilder with a single token fee.\n * Automatically fetches token decimals if not provided.\n * @param tokenAmount Amount of tokens.\n * @param feeTokenId Token ID for the fee.\n * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.\n * @param network Network type ('mainnet' or 'testnet').\n * @param logger Logger instance.\n * @param exemptAccounts Optional array of account IDs exempt from this fee.\n * @param decimals Optional decimals for the token (fetched if omitted).\n * @returns A Promise resolving to a configured FeeConfigBuilder instance.\n */\n static async forToken(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId: string | undefined,\n network: NetworkType,\n logger: Logger,\n exemptAccounts: string[] = [],\n decimals?: number,\n ): Promise<FeeConfigBuilder> {\n const builder = new FeeConfigBuilder({\n network,\n logger,\n defaultCollectorAccountId: collectorAccountId,\n });\n await builder.addTokenFee(\n tokenAmount,\n feeTokenId,\n collectorAccountId,\n decimals,\n exemptAccounts,\n );\n return builder;\n }\n\n /**\n * Adds an HBAR fee configuration to the builder.\n * Allows chaining multiple fee additions.\n * @param hbarAmount The amount in HBAR (e.g., 0.5).\n * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.\n * @param exemptAccountIds Optional. Accounts specifically exempt from *this* HBAR fee.\n * @returns This FeeConfigBuilder instance for chaining.\n */\n addHbarFee(\n hbarAmount: number,\n collectorAccountId?: string,\n exemptAccountIds: string[] = [],\n ): FeeConfigBuilder {\n if (hbarAmount <= 0) {\n throw new Error('HBAR amount must be greater than zero');\n }\n\n this.customFees.push({\n feeAmount: {\n amount: hbarAmount * 100_000_000,\n decimals: 0,\n },\n feeCollectorAccountId:\n collectorAccountId || this.defaultCollectorAccountId,\n feeTokenId: undefined,\n exemptAccounts: [...exemptAccountIds],\n type: CustomFeeType.FIXED_FEE,\n });\n\n return this;\n }\n\n /**\n * Adds a token fee configuration to the builder.\n * Allows chaining multiple fee additions.\n * Fetches token decimals automatically if not provided.\n * @param tokenAmount The amount of the specified token.\n * @param feeTokenId The ID of the token to charge the fee in.\n * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.\n * @param decimals Optional. The number of decimals for the token. If omitted, it will be fetched from the mirror node.\n * @param exemptAccountIds Optional. Accounts specifically exempt from *this* token fee.\n * @returns A Promise resolving to this FeeConfigBuilder instance for chaining.\n */\n async addTokenFee(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId?: string,\n decimals?: number,\n exemptAccountIds: string[] = [],\n ): Promise<FeeConfigBuilder> {\n if (tokenAmount <= 0) {\n throw new Error('Token amount must be greater than zero');\n }\n if (!feeTokenId) {\n throw new Error('Fee token ID is required when adding a token fee');\n }\n\n let finalDecimals = decimals;\n if (finalDecimals === undefined) {\n try {\n const tokenInfo = await this.mirrorNode.getTokenInfo(feeTokenId);\n if (tokenInfo?.decimals) {\n finalDecimals = parseInt(tokenInfo.decimals, 10);\n this.logger.info(\n `Fetched decimals for ${feeTokenId}: ${finalDecimals}`,\n );\n } else {\n this.logger.warn(\n `Could not fetch decimals for ${feeTokenId}, defaulting to 0.`,\n );\n finalDecimals = 0;\n }\n } catch (error) {\n this.logger.error(\n `Error fetching decimals for ${feeTokenId}, defaulting to 0: ${error}`,\n );\n finalDecimals = 0;\n }\n }\n\n this.customFees.push({\n feeAmount: {\n amount: tokenAmount * 10 ** finalDecimals,\n decimals: finalDecimals,\n },\n feeCollectorAccountId:\n collectorAccountId || this.defaultCollectorAccountId,\n feeTokenId: feeTokenId,\n exemptAccounts: [...exemptAccountIds],\n type: CustomFeeType.FIXED_FEE,\n });\n\n return this;\n }\n\n /**\n * Builds the final TopicFeeConfig object.\n * @returns The TopicFeeConfig containing all added custom fees and a consolidated list of unique exempt accounts.\n * @throws Error if no fees have been added.\n * @throws Error if more than 10 fees have been added.\n */\n build(): TopicFeeConfig {\n if (this.customFees.length === 0) {\n throw new Error(\n 'At least one fee must be added using addHbarFee/addTokenFee or created using forHbar/forToken',\n );\n }\n\n if (this.customFees.length > 10) {\n throw new Error('Maximum of 10 custom fees per topic allowed');\n }\n\n const allExemptAccounts = new Set<string>();\n this.customFees.forEach(fee => {\n fee.exemptAccounts.forEach(account => allExemptAccounts.add(account));\n });\n\n const resolvedCustomFees = this.customFees.map(fee => ({\n ...fee,\n feeCollectorAccountId:\n fee.feeCollectorAccountId || this.defaultCollectorAccountId,\n }));\n\n return {\n customFees: resolvedCustomFees,\n exemptAccounts: Array.from(allExemptAccounts),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es152.js","sources":["../../src/services/registry-broker/schemas.ts"],"sourcesContent":["import { z } from 'zod';\nimport { adapterDeclarationSchema } from '../../hcs-21/types';\n\nexport enum AIAgentType {\n MANUAL = 0,\n AUTONOMOUS = 1,\n}\n\nexport enum AIAgentCapability {\n TEXT_GENERATION = 0,\n IMAGE_GENERATION = 1,\n AUDIO_GENERATION = 2,\n VIDEO_GENERATION = 3,\n CODE_GENERATION = 4,\n LANGUAGE_TRANSLATION = 5,\n SUMMARIZATION_EXTRACTION = 6,\n KNOWLEDGE_RETRIEVAL = 7,\n DATA_INTEGRATION = 8,\n MARKET_INTELLIGENCE = 9,\n TRANSACTION_ANALYTICS = 10,\n SMART_CONTRACT_AUDIT = 11,\n GOVERNANCE_FACILITATION = 12,\n SECURITY_MONITORING = 13,\n COMPLIANCE_ANALYSIS = 14,\n FRAUD_DETECTION = 15,\n MULTI_AGENT_COORDINATION = 16,\n API_INTEGRATION = 17,\n WORKFLOW_AUTOMATION = 18,\n}\n\ntype JsonValue =\n | string\n | number\n | boolean\n | null\n | JsonValue[]\n | { [key: string]: JsonValue };\n\nconst capabilitySchema = z.nativeEnum(AIAgentCapability);\nconst capabilityValueSchema = z.union([z.number(), z.string()]);\nconst jsonPrimitiveSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n]);\nconst jsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n jsonPrimitiveSchema,\n z.array(jsonValueSchema),\n z.record(jsonValueSchema),\n ]),\n);\n\nconst agentProfileSchema = z\n .object({\n version: z.string(),\n type: z.number(),\n display_name: z.string(),\n alias: z.string().optional(),\n bio: z.string().optional(),\n socials: z.array(jsonValueSchema).optional(),\n aiAgent: z\n .object({\n type: z.nativeEnum(AIAgentType),\n creator: z.string().optional(),\n model: z.string().optional(),\n capabilities: z\n .array(z.union([capabilitySchema, z.number()]))\n .optional(),\n })\n .optional(),\n uaid: z.string().optional(),\n })\n .catchall(jsonValueSchema);\n\nconst cipherEnvelopeRecipientSchema = z.object({\n uaid: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n userId: z.string().optional(),\n email: z.string().optional(),\n encryptedShare: z.string(),\n});\n\nconst cipherEnvelopeSchema = z.object({\n algorithm: z.string(),\n ciphertext: z.string(),\n nonce: z.string(),\n associatedData: z.string().optional(),\n keyLocator: z\n .object({\n sessionId: z.string().optional(),\n revision: z.number().optional(),\n })\n .optional(),\n recipients: z.array(cipherEnvelopeRecipientSchema),\n});\n\nconst peerSummarySchema = z.object({\n keyType: z.string(),\n publicKey: z.string(),\n uaid: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n userId: z.string().optional(),\n email: z.string().optional(),\n});\n\nconst handshakeParticipantSchema = z.object({\n role: z.enum(['requester', 'responder']),\n uaid: z.string().optional(),\n userId: z.string().optional(),\n ledgerAccountId: z.string().optional(),\n keyType: z.string(),\n longTermPublicKey: z.string().optional(),\n ephemeralPublicKey: z.string(),\n signature: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n submittedAt: z.string(),\n});\n\nconst encryptionHandshakeRecordSchema = z.object({\n sessionId: z.string(),\n algorithm: z.string(),\n createdAt: z.string(),\n expiresAt: z.number(),\n status: z.enum(['pending', 'complete']),\n requester: handshakeParticipantSchema.optional(),\n responder: handshakeParticipantSchema.optional(),\n});\n\nconst sessionEncryptionSummarySchema = z.object({\n enabled: z.boolean(),\n algorithm: z.string(),\n requireCiphertext: z.boolean(),\n requester: peerSummarySchema.nullable().optional(),\n responder: peerSummarySchema.nullable().optional(),\n handshake: encryptionHandshakeRecordSchema.nullable().optional(),\n});\n\nconst chatHistoryEntrySchema = z.object({\n messageId: z.string(),\n role: z.enum([\n 'user',\n 'agent',\n 'system',\n 'tool',\n 'payment',\n 'delivery',\n 'error',\n ]),\n content: z.string(),\n timestamp: z.string(),\n cipherEnvelope: cipherEnvelopeSchema.optional(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nexport const chatDeliveryStateSchema = z.enum([\n 'draft',\n 'queued',\n 'persisted',\n 'delivered',\n 'streaming',\n 'responded',\n 'failed',\n 'timeout',\n 'cancelled',\n]);\n\nconst chatAttachmentStateSchema = z.object({\n supported: z.boolean(),\n status: z.enum([\n 'unsupported',\n 'available',\n 'selected',\n 'uploading',\n 'scanning',\n 'ready',\n 'failed',\n 'rejected',\n ]),\n maxBytes: z.number().nullable().optional(),\n acceptedMimeTypes: z.array(z.string()).optional(),\n reason: z.string().optional(),\n});\n\nexport const chatTimelineEntrySchema = z.object({\n messageId: z.string(),\n kind: z.enum([\n 'user',\n 'assistant',\n 'system',\n 'tool',\n 'payment',\n 'delivery',\n 'error',\n ]),\n content: z.string(),\n timestamp: z.string(),\n deliveryState: chatDeliveryStateSchema.optional(),\n errorCode: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n attachment: chatAttachmentStateSchema.optional(),\n});\n\nexport const chatReadinessStatusSchema = z.enum([\n 'responsive',\n 'delivery_only',\n 'degraded',\n 'blocked',\n 'unknown',\n]);\n\nexport const chatReplyModeSchema = z.enum([\n 'direct',\n 'stream',\n 'poll',\n 'delivery_only',\n 'none',\n]);\n\nexport const chatRouteTypeSchema = z.enum([\n 'a2a',\n 'hcs-10',\n 'mcp',\n 'openrouter',\n 'acp',\n 'xmtp',\n 'moltbook',\n 'agentverse',\n 'nanda',\n 'http',\n 'erc-8004',\n 'x402',\n 'unknown',\n]);\n\nexport const chatSessionStateSchema = z.enum([\n 'connecting',\n 'ready',\n 'blocked',\n 'ended',\n 'expired',\n]);\n\nexport const chatErrorCodeSchema = z.enum([\n 'AUTH_REQUIRED',\n 'CREDITS_REQUIRED',\n 'PAYMENT_REQUIRED',\n 'AGENT_UNRESPONSIVE',\n 'ROUTE_UNAVAILABLE',\n 'PROTOCOL_UNSUPPORTED',\n 'BROKER_NOT_EXECUTABLE',\n 'NETWORK_TIMEOUT',\n 'STREAM_STALLED',\n 'HISTORY_UNAVAILABLE',\n 'ENCRYPTION_REQUIRED',\n 'RATE_LIMITED',\n 'VALIDATION_ERROR',\n 'UNKNOWN_ERROR',\n]);\n\nexport const chatRouteSummarySchema = z.object({\n type: chatRouteTypeSchema,\n replyMode: chatReplyModeSchema,\n transport: z.string(),\n endpoint: z.string().optional(),\n});\n\nexport const chatPaymentStateSchema = z.object({\n required: z.boolean(),\n provider: z.enum(['credits', 'x402', 'acp', 'openrouter']).optional(),\n status: z.enum([\n 'not_required',\n 'preflight',\n 'required',\n 'approved',\n 'paid',\n 'failed',\n ]),\n estimatedCredits: z.number().nullable().optional(),\n estimatedUsd: z.number().nullable().optional(),\n});\n\nexport const chatReadinessResponseSchema = z.object({\n status: chatReadinessStatusSchema,\n routeType: chatRouteTypeSchema,\n replyMode: chatReplyModeSchema,\n transport: z.string(),\n endpoint: z.string().optional(),\n checkedAt: z.string(),\n cachedUntil: z.string(),\n latencyMs: z.number().nullable().optional(),\n lastSuccessfulReplyAt: z.string().nullable().optional(),\n lastDeliveryConfirmationAt: z.string().nullable().optional(),\n lastFailureCode: chatErrorCodeSchema.nullable().optional(),\n supportsStreaming: z.boolean(),\n supportsHistory: z.boolean(),\n supportsEncryption: z.boolean(),\n supportsPayments: z.boolean(),\n supportsAttachments: z.boolean(),\n requiresAuth: z.boolean(),\n operatorActionRequired: z.boolean(),\n issue: z\n .object({\n code: z.string(),\n message: z.string(),\n details: z.string().optional(),\n })\n .optional(),\n});\n\nexport const chatSessionResumeResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n agentUrl: z.string().nullable().optional(),\n route: chatRouteSummarySchema,\n transport: z.string(),\n history: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number().optional(),\n visibility: z.enum(['private', 'public']).optional(),\n state: chatSessionStateSchema,\n});\n\nconst metadataFacetSchema = z\n .record(\n z.union([\n z.array(jsonValueSchema),\n z.record(jsonValueSchema),\n jsonValueSchema,\n ]),\n )\n .optional();\n\nconst searchHitSchema = z\n .object({\n id: z.string(),\n uaid: z.string(),\n registry: z.string(),\n name: z.string(),\n description: z.string().optional(),\n capabilities: z.array(capabilityValueSchema),\n endpoints: z\n .union([z.record(jsonValueSchema), z.array(z.string())])\n .optional(),\n metadata: z.record(jsonValueSchema).optional(),\n metadataFacet: metadataFacetSchema,\n profile: agentProfileSchema.optional(),\n protocols: z.array(z.string()).optional(),\n adapter: z.string().optional(),\n originalId: z.string().optional(),\n communicationSupported: z.boolean().optional(),\n routingSupported: z.boolean().optional(),\n available: z.boolean().optional(),\n availabilityStatus: z.string().optional(),\n availabilityCheckedAt: z.string().optional(),\n availabilitySource: z.string().optional(),\n availabilityLatencyMs: z.number().optional(),\n availabilityScore: z.number().optional(),\n capabilityLabels: z.array(z.string()).optional(),\n capabilityTokens: z.array(z.string()).optional(),\n image: z.string().optional(),\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n lastSeen: z.string().optional(),\n lastIndexed: z.string().optional(),\n })\n .passthrough();\n\nexport const searchResponseSchema = z.object({\n hits: z.array(searchHitSchema),\n total: z.number(),\n page: z.number(),\n limit: z.number(),\n});\n\nexport const statsResponseSchema = z.object({\n totalAgents: z.number(),\n registries: z.record(z.number()),\n capabilities: z.record(z.number()),\n lastUpdate: z.string(),\n status: z.string(),\n});\n\nexport const registriesResponseSchema = z.object({\n registries: z.array(z.string()),\n});\n\nexport const popularResponseSchema = z.object({\n searches: z.array(z.string()),\n});\n\nexport const resolveResponseSchema = z.object({\n agent: searchHitSchema,\n});\n\nconst delegationPlanCandidateSchema = z\n .object({\n uaid: z.string(),\n score: z.number(),\n displayName: z.string().optional(),\n summary: z.string().optional(),\n protocols: z.array(z.string()).optional(),\n surfaces: z.array(z.string()).optional(),\n languages: z.array(z.string()).optional(),\n artifacts: z.array(z.string()).optional(),\n availability: z.boolean().optional(),\n explanation: z.string().optional(),\n })\n .passthrough();\n\nconst delegationOpportunitySchema = z\n .object({\n id: z.string(),\n title: z.string(),\n reason: z.string(),\n role: z.string(),\n type: z.enum(['ai-agents', 'mcp-servers']),\n suggestedMode: z.enum(['best-match', 'fallback', 'parallel']),\n searchQueries: z.array(z.string()),\n protocols: z.array(z.string()).optional(),\n surfaces: z.array(z.string()).optional(),\n languages: z.array(z.string()).optional(),\n artifacts: z.array(z.string()).optional(),\n candidates: z.array(delegationPlanCandidateSchema),\n })\n .passthrough();\n\nconst delegationRecommendationSchema = z\n .object({\n action: z.enum(['delegate-now', 'review-shortlist', 'handle-locally']),\n confidence: z.number(),\n reason: z.string(),\n opportunityId: z.string().optional(),\n candidate: delegationPlanCandidateSchema.optional(),\n })\n .passthrough();\n\nexport const delegationPlanResponseSchema = z\n .object({\n task: z.string(),\n context: z.string().optional(),\n summary: z.string().optional(),\n intents: z.array(z.string()),\n protocols: z.array(z.string()),\n surfaces: z.array(z.string()),\n languages: z.array(z.string()).optional(),\n artifacts: z.array(z.string()).optional(),\n shouldDelegate: z.boolean(),\n localFirstReason: z.string().optional(),\n recommendation: delegationRecommendationSchema.optional(),\n opportunities: z.array(delegationOpportunitySchema),\n })\n .passthrough();\n\nconst agentFeedbackSummarySchema = z.object({\n averageScore: z.number(),\n totalFeedbacks: z.number(),\n registry: z.string().optional(),\n network: z.string().optional(),\n updatedAt: z.string().optional(),\n});\n\nconst agentFeedbackEntrySchema = z.object({\n registry: z.string(),\n network: z.string().optional(),\n agentId: z.number(),\n client: z.string(),\n score: z.number(),\n tag1: z.string().nullable().optional(),\n tag2: z.string().nullable().optional(),\n revoked: z.boolean(),\n feedbackIndex: z.number().nullable().optional(),\n fileUri: z.string().nullable().optional(),\n fileHash: z.string().nullable().optional(),\n createdAt: z.string().nullable().optional(),\n});\n\nexport const agentFeedbackResponseSchema = z.object({\n uaid: z.string(),\n summary: agentFeedbackSummarySchema,\n entries: z.array(agentFeedbackEntrySchema),\n});\n\nexport const agentFeedbackEligibilityResponseSchema = z.object({\n uaid: z.string(),\n sessionId: z.string(),\n eligible: z.boolean(),\n messageCount: z.number(),\n minimumMessages: z.number(),\n reason: z.string().optional(),\n onchain: z\n .object({\n eligible: z.boolean(),\n reason: z.string().optional(),\n estimatedCredits: z.number().optional(),\n usdEstimate: z.number().optional(),\n nativeFeeEstimate: z.number().optional(),\n })\n .optional(),\n});\n\nexport const agentFeedbackSubmissionResponseSchema = z.object({\n uaid: z.string(),\n registry: z.string(),\n network: z.string().optional(),\n agentId: z.number(),\n score: z.number(),\n tag1: z.string().nullable().optional(),\n tag2: z.string().nullable().optional(),\n fileUri: z.string().nullable().optional(),\n fileHash: z.string().nullable().optional(),\n feedbackIndex: z.number().nullable().optional(),\n transactionHash: z.string().nullable().optional(),\n signature: z.string().nullable().optional(),\n submittedAt: z.string(),\n});\n\nexport const agentFeedbackIndexResponseSchema = z.object({\n page: z.number(),\n limit: z.number(),\n total: z.number(),\n items: z.array(\n z.object({\n uaid: z.string(),\n registry: z.string(),\n network: z.string().optional(),\n agentId: z.number().nullable().optional(),\n summary: agentFeedbackSummarySchema.nullable(),\n trustScore: z.number().nullable().optional(),\n }),\n ),\n});\n\nexport const agentFeedbackEntriesIndexResponseSchema = z.object({\n page: z.number(),\n limit: z.number(),\n total: z.number(),\n items: z.array(\n z.object({\n uaid: z.string(),\n entry: agentFeedbackEntrySchema,\n }),\n ),\n});\n\nexport const createSessionResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n agent: z.object({\n name: z.string(),\n description: z.string().optional(),\n capabilities: z.record(jsonValueSchema).nullable().optional(),\n skills: z.array(z.string()).optional(),\n }),\n history: z.array(chatHistoryEntrySchema).optional().default([]),\n historyTtlSeconds: z.number().nullable().optional(),\n encryption: sessionEncryptionSummarySchema.nullable().optional(),\n route: chatRouteSummarySchema.optional(),\n transport: z.string().optional(),\n senderUaid: z.string().nullable().optional(),\n visibility: z.enum(['private', 'public']).optional(),\n payment: chatPaymentStateSchema.optional(),\n readiness: chatReadinessResponseSchema.optional(),\n state: chatSessionStateSchema.optional(),\n traceId: z.string().optional(),\n expiresAt: z.string().nullable().optional(),\n});\n\nexport const sendMessageResponseSchema = z.object({\n sessionId: z.string(),\n uaid: z.string().nullable().optional(),\n message: z.string(),\n timestamp: z.string(),\n rawResponse: jsonValueSchema.optional(),\n content: z.string().optional(),\n ops: z.array(z.record(jsonValueSchema)).optional(),\n history: z.array(chatHistoryEntrySchema).optional(),\n historyTtlSeconds: z.number().nullable().optional(),\n encrypted: z.boolean().optional(),\n messageId: z.string().optional(),\n assistantMessageId: z.string().nullable().optional(),\n deliveryState: chatDeliveryStateSchema.optional(),\n replyMode: chatReplyModeSchema.optional(),\n deliveryConfirmation: z.boolean().optional(),\n idempotent: z.boolean().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n errorCode: chatErrorCodeSchema.optional(),\n});\n\nexport const chatSessionEndResponseSchema = z.object({\n message: z.string(),\n sessionId: z.string(),\n state: chatSessionStateSchema.optional(),\n});\n\nexport const chatHistorySnapshotResponseSchema = z.object({\n sessionId: z.string(),\n history: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number(),\n});\n\nexport const chatHistoryCompactionRequestSchema = z\n .object({\n preserveEntries: z.number().int().min(0).optional(),\n })\n .strict();\n\nexport const chatHistoryCompactionResponseSchema = z.object({\n sessionId: z.string(),\n history: z.array(chatHistoryEntrySchema),\n summaryEntry: chatHistoryEntrySchema,\n preservedEntries: z.array(chatHistoryEntrySchema),\n historyTtlSeconds: z.number(),\n creditsDebited: z.number(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nexport const sessionEncryptionStatusResponseSchema = z.object({\n sessionId: z.string(),\n encryption: sessionEncryptionSummarySchema.nullable(),\n});\n\nexport const encryptionHandshakeResponseSchema = z.object({\n sessionId: z.string(),\n handshake: encryptionHandshakeRecordSchema,\n});\n\nexport const registerEncryptionKeyResponseSchema = z.object({\n id: z.string(),\n keyType: z.string(),\n publicKey: z.string(),\n uaid: z.string().nullable(),\n ledgerAccountId: z.string().nullable(),\n ledgerNetwork: z.string().nullable().optional(),\n userId: z.string().nullable().optional(),\n email: z.string().nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const ledgerChallengeResponseSchema = z.object({\n challengeId: z.string(),\n message: z.string(),\n expiresAt: z.string(),\n});\n\nconst ledgerApiKeySummarySchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n prefix: z.string(),\n lastFour: z.string(),\n createdAt: z.string(),\n lastUsedAt: z.string().nullable().optional(),\n ownerType: z.literal('ledger'),\n ledgerAccountId: z.string().optional(),\n ledgerNetwork: z.string().optional(),\n ledgerNetworkCanonical: z.string().optional(),\n});\n\nexport const ledgerVerifyResponseSchema = z.object({\n key: z.string(),\n apiKey: ledgerApiKeySummarySchema,\n accountId: z.string(),\n network: z.string(),\n networkCanonical: z.string().optional(),\n});\n\nexport const protocolsResponseSchema = z.object({\n protocols: z.array(z.string()),\n});\n\nexport const detectProtocolResponseSchema = z.object({\n protocol: z.string().nullable(),\n});\n\nexport const registrySearchByNamespaceSchema = z.object({\n hits: z.array(searchHitSchema),\n total: z.number(),\n page: z.number().optional(),\n limit: z.number().optional(),\n});\n\nconst capabilityFilterValueSchema = z.union([z.string(), z.number()]);\n\nconst vectorSearchFilterSchema = z\n .object({\n capabilities: z.array(capabilityFilterValueSchema).optional(),\n type: z.enum(['ai-agents', 'mcp-servers']).optional(),\n registry: z.string().optional(),\n protocols: z.array(z.string()).optional(),\n adapter: z.array(z.string()).optional(),\n })\n .strict();\n\nexport const vectorSearchRequestSchema = z\n .object({\n query: z.string(),\n filter: vectorSearchFilterSchema.optional(),\n limit: z.number().int().min(1).max(100).optional(),\n offset: z.number().int().min(0).optional(),\n })\n .strict();\n\nconst vectorSearchHitSchema = z.object({\n agent: searchHitSchema,\n score: z.number().optional(),\n highlights: z.record(z.array(z.string())).optional(),\n});\n\nexport const vectorSearchResponseSchema = z.object({\n hits: z.array(vectorSearchHitSchema),\n total: z.number(),\n took: z.number(),\n totalAvailable: z.number().optional(),\n visible: z.number().optional(),\n limited: z.boolean().optional(),\n credits_used: z.number().optional(),\n});\n\nconst vectorStatusSchema = z.object({\n enabled: z.boolean(),\n healthy: z.boolean(),\n mode: z.enum(['disabled', 'initializing', 'healthy', 'degraded', 'error']),\n lastUpdated: z.string(),\n details: z.record(z.any()).optional(),\n lastError: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n timestamp: z.string().optional(),\n })\n .optional(),\n});\n\nexport const searchStatusResponseSchema = z.object({\n storageMode: z.string(),\n vectorStatus: vectorStatusSchema,\n});\n\nexport const websocketStatsResponseSchema = z.object({\n clients: z.number(),\n stats: z\n .object({\n totalClients: z.number().optional(),\n clientsByRegistry: z.record(z.number()).optional(),\n clientsByEventType: z.record(z.number()).optional(),\n })\n .passthrough(),\n});\n\nconst durationStatsSchema = z.object({\n p50: z.number(),\n p90: z.number(),\n p95: z.number(),\n p99: z.number(),\n});\n\nexport const metricsSummaryResponseSchema = z.object({\n http: z.object({\n requestsTotal: z.number(),\n activeConnections: z.number(),\n requestDuration: durationStatsSchema,\n }),\n search: z.object({\n queriesTotal: z.number(),\n queryDuration: durationStatsSchema,\n }),\n indexing: z.object({ agentsTotal: z.number(), crawlErrors: z.number() }),\n registration: z.object({\n total: z.number(),\n failures: z.number(),\n duration: durationStatsSchema,\n }),\n cache: z.object({\n hits: z.number(),\n misses: z.number(),\n hitRate: z.number(),\n }),\n websocket: z.object({ connections: z.number() }),\n});\n\nexport const uaidValidationResponseSchema = z.object({\n uaid: z.string(),\n valid: z.boolean(),\n formats: z.array(z.string()),\n});\n\nconst adapterConnectionSchema = z.object({\n id: z.string(),\n agentId: z.string(),\n protocol: z.string(),\n endpoint: z.string(),\n status: z.enum(['connected', 'disconnected', 'error']),\n metadata: z.record(jsonPrimitiveSchema).optional(),\n createdAt: z.string(),\n});\n\nexport const uaidConnectionStatusSchema = z.object({\n connected: z.boolean(),\n connection: adapterConnectionSchema.optional(),\n adapter: z.string().optional(),\n agentId: z.string().optional(),\n});\n\nexport const dashboardStatsResponseSchema = z.object({\n operatorId: z.string().optional(),\n adapters: z\n .array(\n z.object({\n name: z.string(),\n version: z.string(),\n status: z.string(),\n agentCount: z.number(),\n lastDiscovery: z.string(),\n registryType: z.string(),\n health: z.string(),\n }),\n )\n .optional(),\n totalAgents: z.number().optional(),\n elasticsearchDocumentCount: z.number().optional(),\n agentsByAdapter: z.record(z.number()).optional(),\n agentsByRegistry: z.record(z.number()).optional(),\n systemInfo: z\n .object({\n uptime: z.number().optional(),\n version: z.string().optional(),\n network: z.string().optional(),\n })\n .optional(),\n});\n\nconst registrationAgentSchema = z.object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n endpoint: z.string().optional(),\n capabilities: z.array(capabilityValueSchema),\n registry: z.string().optional(),\n protocol: z.string().optional(),\n profile: agentProfileSchema.optional(),\n nativeId: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n});\n\nconst registrationProfileInfoSchema = z.object({\n tId: z.string().nullable(),\n sizeBytes: z.number().optional(),\n});\n\nconst profileRegistrySchema = z\n .object({\n topicId: z.string().optional(),\n sequenceNumber: z.number().optional(),\n profileReference: z.string().optional(),\n profileTopicId: z.string().optional(),\n })\n .passthrough()\n .nullable()\n .optional();\n\nconst additionalRegistryResultSchema = z.object({\n registry: z.string(),\n status: z.enum([\n 'created',\n 'duplicate',\n 'skipped',\n 'error',\n 'updated',\n 'pending',\n ]),\n agentId: z.string().nullable().optional(),\n agentUri: z.string().nullable().optional(),\n error: z.string().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n registryKey: z.string().optional(),\n networkId: z.string().optional(),\n networkName: z.string().optional(),\n chainId: z.number().optional(),\n estimatedCredits: z.number().nullable().optional(),\n gasEstimateCredits: z.number().nullable().optional(),\n gasEstimateUsd: z.number().nullable().optional(),\n gasPriceGwei: z.number().nullable().optional(),\n gasLimit: z.number().nullable().optional(),\n creditMode: z.enum(['fixed', 'gas']).nullable().optional(),\n minCredits: z.number().nullable().optional(),\n consumedCredits: z.number().nullable().optional(),\n cost: z\n .object({\n credits: z.number(),\n usd: z.number(),\n eth: z.number(),\n gasUsedWei: z.string(),\n effectiveGasPriceWei: z.string().nullable().optional(),\n transactions: z\n .array(\n z.object({\n hash: z.string(),\n gasUsedWei: z.string(),\n effectiveGasPriceWei: z.string().nullable().optional(),\n costWei: z.string(),\n }),\n )\n .optional(),\n })\n .optional(),\n});\n\nconst registrationCreditsSchema = z.object({\n base: z.number(),\n additional: z.number(),\n total: z.number(),\n});\n\nconst hcs10RegistrySchema = z\n .object({\n status: z.string(),\n uaid: z.string().optional(),\n transactionId: z.string().optional(),\n consensusTimestamp: z.string().optional(),\n registryTopicId: z.string().optional(),\n topicSequenceNumber: z.number().optional(),\n payloadHash: z.string().optional(),\n profileReference: z.string().optional(),\n tId: z.string().optional(),\n profileSizeBytes: z.number().optional(),\n error: z.string().optional(),\n })\n .passthrough();\n\nconst additionalRegistryNetworkSchema = z\n .object({\n key: z.string(),\n registryId: z.string().optional(),\n networkId: z.string().optional(),\n name: z.string().optional(),\n chainId: z.number().optional(),\n label: z.string().optional(),\n estimatedCredits: z.number().nullable().optional(),\n baseCredits: z.number().nullable().optional(),\n gasPortionCredits: z.number().nullable().optional(),\n gasPortionUsd: z.number().nullable().optional(),\n gasEstimateCredits: z.number().nullable().optional(),\n gasEstimateUsd: z.number().nullable().optional(),\n gasPriceGwei: z.number().nullable().optional(),\n gasLimit: z.number().nullable().optional(),\n minCredits: z.number().nullable().optional(),\n creditMode: z.string().nullable().optional(),\n })\n .passthrough();\n\nconst additionalRegistryDescriptorSchema = z.object({\n id: z.string(),\n label: z.string(),\n networks: z.array(additionalRegistryNetworkSchema),\n});\n\nexport const additionalRegistryCatalogResponseSchema = z.object({\n registries: z.array(additionalRegistryDescriptorSchema),\n});\n\nconst registerAgentSuccessResponse = z.object({\n success: z.literal(true),\n status: z.enum(['created', 'duplicate', 'updated']).optional(),\n uaid: z.string(),\n agentId: z.string(),\n message: z.string().optional(),\n registry: z.string().optional(),\n attemptId: z.string().nullable().optional(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema.optional(),\n additionalRegistries: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n additionalRegistrySecrets: z\n .record(z.string(), z.record(jsonValueSchema))\n .optional(),\n});\n\nconst registerAgentPendingResponse = z.object({\n success: z.literal(true),\n status: z.literal('pending'),\n message: z.string(),\n uaid: z.string(),\n agentId: z.string(),\n registry: z.string().optional(),\n attemptId: z.string().nullable(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema,\n additionalRegistries: z.array(additionalRegistryResultSchema),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n additionalRegistrySecrets: z\n .record(z.string(), z.record(jsonValueSchema))\n .optional(),\n});\n\nconst registerAgentPartialResponse = z.object({\n success: z.literal(false),\n status: z.literal('partial'),\n message: z.string(),\n uaid: z.string(),\n agentId: z.string(),\n registry: z.string().optional(),\n attemptId: z.string().nullable().optional(),\n agent: registrationAgentSchema,\n openConvAI: z\n .object({\n compatible: z.boolean(),\n hcs11Profile: agentProfileSchema.optional(),\n bridgeEndpoint: z.string().optional(),\n })\n .optional(),\n profile: registrationProfileInfoSchema.optional(),\n profileRegistry: profileRegistrySchema.nullable().optional(),\n hcs10Registry: hcs10RegistrySchema.nullable().optional(),\n credits: registrationCreditsSchema.optional(),\n additionalRegistries: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCredits: z.array(additionalRegistryResultSchema).optional(),\n additionalRegistryCostPerRegistry: z.number().optional(),\n additionalRegistrySecrets: z\n .record(z.string(), z.record(jsonValueSchema))\n .optional(),\n errors: z\n .array(\n z.object({\n registry: z.string(),\n registryKey: z.string().nullable().optional(),\n error: z.string(),\n }),\n )\n .min(1),\n});\n\nexport const registerAgentSuccessResponseSchema = registerAgentSuccessResponse;\nexport const registerAgentPendingResponseSchema = registerAgentPendingResponse;\nexport const registerAgentPartialResponseSchema = registerAgentPartialResponse;\nexport const registerAgentResponseSchema = z.union([\n registerAgentSuccessResponse,\n registerAgentPendingResponse,\n registerAgentPartialResponse,\n]);\n\nconst registrationProgressAdditionalEntry = z.object({\n registryId: z.string(),\n registryKey: z.string(),\n networkId: z.string().optional(),\n networkName: z.string().optional(),\n chainId: z.number().optional(),\n label: z.string().optional(),\n status: z.enum(['pending', 'in_progress', 'completed', 'failed']),\n error: z.string().optional(),\n credits: z.number().nullable().optional(),\n agentId: z.string().nullable().optional(),\n agentUri: z.string().nullable().optional(),\n metadata: z.record(jsonValueSchema).optional(),\n lastUpdated: z.string(),\n});\n\nconst registrationProgressRecord = z.object({\n attemptId: z.string(),\n mode: z.enum(['register', 'update']),\n status: z.enum(['pending', 'partial', 'completed', 'failed']),\n uaid: z.string().optional(),\n agentId: z.string().optional(),\n registryNamespace: z.string(),\n accountId: z.string().optional(),\n startedAt: z.string(),\n completedAt: z.string().optional(),\n primary: z.object({\n status: z.enum(['pending', 'completed', 'failed']),\n finishedAt: z.string().optional(),\n error: z.string().optional(),\n }),\n additionalRegistries: z.record(\n z.string(),\n registrationProgressAdditionalEntry,\n ),\n errors: z.array(z.string()).optional(),\n});\n\nexport const registrationProgressResponseSchema = z.object({\n progress: registrationProgressRecord,\n});\n\nexport const registrationProgressAdditionalEntrySchema =\n registrationProgressAdditionalEntry;\nexport const registrationProgressRecordSchema = registrationProgressRecord;\n\nexport const registrationQuoteResponseSchema = z.object({\n accountId: z.string().nullable().optional(),\n registry: z.string().optional(),\n protocol: z.string().optional(),\n requiredCredits: z.number(),\n availableCredits: z.number().nullable().optional(),\n shortfallCredits: z.number().nullable().optional(),\n creditsPerHbar: z.number().nullable().optional(),\n estimatedHbar: z.number().nullable().optional(),\n});\n\nexport const creditPurchaseResponseSchema = z.object({\n success: z.boolean().optional(),\n purchaser: z.string(),\n credits: z.number(),\n hbarAmount: z.number(),\n transactionId: z.string(),\n consensusTimestamp: z.string().nullable().optional(),\n});\n\nexport const creditProviderSummarySchema = z.object({\n name: z.string(),\n publishableKey: z.string().optional(),\n currency: z.string().optional(),\n centsPerHbar: z.number().nullable().optional(),\n});\n\nexport const creditProvidersResponseSchema = z.object({\n providers: z.array(creditProviderSummarySchema),\n});\n\nexport const creditBalanceResponseSchema = z.object({\n accountId: z.string(),\n balance: z.number(),\n balanceRecord: jsonValueSchema.optional(),\n timestamp: z.string().optional(),\n});\n\nexport const guardPlanIdSchema = z.enum(['free', 'pro', 'team', 'enterprise']);\n\nexport const guardBucketBalanceSchema = z.object({\n bucketId: z.enum([\n 'registry_credits',\n 'chat_credits',\n 'guard_credits',\n 'org_policy_credits',\n ]),\n label: z.string(),\n availableCredits: z.number(),\n includedMonthlyCredits: z.number().nullable().optional(),\n});\n\nexport const guardPrincipalSchema = z.object({\n signedIn: z.boolean(),\n principalType: z.enum(['user', 'service']).default('user'),\n userId: z.string().optional(),\n email: z.string().optional(),\n accountId: z.string().optional(),\n stripeCustomerId: z.string().optional(),\n serviceId: z.string().optional(),\n workspaceId: z.string().optional(),\n serviceLabel: z.string().optional(),\n roles: z.array(z.string()),\n});\n\nexport const guardEntitlementsSchema = z.object({\n planId: guardPlanIdSchema,\n includedMonthlyCredits: z.number(),\n deviceLimit: z.number(),\n retentionDays: z.number(),\n syncEnabled: z.boolean(),\n premiumFeedsEnabled: z.boolean(),\n teamPolicyEnabled: z.boolean(),\n});\n\nexport const guardSessionResponseSchema = z.object({\n principal: guardPrincipalSchema,\n entitlements: guardEntitlementsSchema,\n balance: z\n .object({\n accountId: z.string(),\n availableCredits: z.number(),\n })\n .nullable(),\n bucketingMode: z.enum(['shared-ledger', 'product-bucketed']),\n buckets: z.array(guardBucketBalanceSchema),\n});\n\nexport const guardBalanceResponseSchema = z.object({\n generatedAt: z.string(),\n bucketingMode: z.enum(['shared-ledger', 'product-bucketed']),\n buckets: z.array(guardBucketBalanceSchema),\n});\n\nexport const guardFeedItemSchema = z.object({\n id: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n slug: z.string(),\n name: z.string(),\n href: z.string(),\n ecosystem: z.string().optional(),\n safetyScore: z.number().nullable().optional(),\n trustScore: z.number().nullable().optional(),\n verified: z.boolean(),\n recommendation: z.enum(['monitor', 'review', 'block']),\n updatedAt: z.string(),\n});\n\nexport const guardFeedSummarySchema = z.object({\n total: z.number(),\n monitorCount: z.number(),\n reviewCount: z.number(),\n blockCount: z.number(),\n});\n\nexport const guardFeedResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardFeedItemSchema),\n summary: guardFeedSummarySchema,\n});\n\nexport const guardIntegrationSchema = z.object({\n id: z.enum(['openclaw', 'hermes']),\n name: z.string(),\n status: z.enum(['available', 'planned']),\n href: z.string().nullable(),\n summary: z.string(),\n});\n\nexport const guardActionItemSchema = z.object({\n title: z.string(),\n description: z.string(),\n href: z.string(),\n});\n\nexport const guardOverviewResponseSchema = z.object({\n generatedAt: z.string(),\n principal: guardPrincipalSchema,\n entitlements: guardEntitlementsSchema,\n balance: z\n .object({\n accountId: z.string(),\n availableCredits: z.number(),\n })\n .nullable(),\n trustFeed: guardFeedResponseSchema,\n integrations: z.array(guardIntegrationSchema),\n actionItems: z.array(guardActionItemSchema),\n});\n\nexport const guardPolicySchema = z.object({\n mode: z.enum(['observe', 'prompt', 'enforce']),\n defaultAction: z.enum(['allow', 'warn', 'block']),\n unknownPublisherAction: z.enum(['review', 'block', 'allow']),\n changedHashAction: z.enum(['allow', 'warn', 'require-reapproval', 'block']),\n newNetworkDomainAction: z.enum(['allow', 'warn', 'block']),\n subprocessAction: z.enum(['allow', 'warn', 'block']),\n telemetryEnabled: z.boolean(),\n syncEnabled: z.boolean(),\n updatedAt: z.string(),\n});\n\nexport const guardTrustMatchSchema = z.object({\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactSlug: z.string(),\n recommendation: z.enum(['monitor', 'review', 'block']),\n verified: z.boolean(),\n safetyScore: z.number().nullable().optional(),\n trustScore: z.number().nullable().optional(),\n href: z.string().optional(),\n ecosystem: z.string().optional(),\n});\n\nexport const guardTrustByHashResponseSchema = z.object({\n generatedAt: z.string(),\n query: z.object({\n sha256: z.string(),\n }),\n match: guardTrustMatchSchema.nullable(),\n evidence: z.array(z.string()),\n});\n\nexport const guardTrustResolveResponseSchema = z.object({\n generatedAt: z.string(),\n query: z.object({\n ecosystem: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n }),\n items: z.array(guardTrustMatchSchema),\n});\n\nexport const guardRevocationSchema = z.object({\n id: z.string(),\n artifactId: z.string(),\n artifactName: z.string(),\n reason: z.string(),\n severity: z.enum(['low', 'medium', 'high']),\n publishedAt: z.string(),\n confidence: z.number().optional(),\n remediation: z.string().nullable().optional(),\n scope: z\n .enum(['artifact', 'publisher', 'domain', 'workspace', 'ecosystem'])\n .optional(),\n source: z.string().optional(),\n firstSeenAt: z.string().optional(),\n lastUpdatedAt: z.string().optional(),\n});\n\nexport const guardRevocationResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardRevocationSchema),\n});\n\nexport const guardReceiptSchema = z.object({\n receiptId: z.string(),\n capturedAt: z.string(),\n harness: z.string(),\n deviceId: z.string(),\n deviceName: z.string(),\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactSlug: z.string(),\n artifactHash: z.string(),\n policyDecision: z.enum([\n 'allow',\n 'warn',\n 'block',\n 'review',\n 'require-reapproval',\n 'sandbox-required',\n ]),\n recommendation: z.enum(['monitor', 'review', 'block']),\n changedSinceLastApproval: z.boolean(),\n publisher: z.string().optional(),\n capabilities: z.array(z.string()),\n summary: z.string(),\n});\n\nexport const guardHistoryArtifactSchema = z.object({\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactSlug: z.string(),\n publisher: z.string().optional(),\n harnesses: z.array(z.string()),\n eventCount: z.number(),\n firstSeenAt: z.string(),\n lastSeenAt: z.string(),\n latestDecision: z.enum([\n 'allow',\n 'warn',\n 'block',\n 'review',\n 'require-reapproval',\n 'sandbox-required',\n ]),\n latestRecommendation: z.enum(['monitor', 'review', 'block']),\n});\n\nexport const guardReceiptHistoryResponseSchema = z.object({\n generatedAt: z.string(),\n artifacts: z.array(guardHistoryArtifactSchema),\n});\n\nexport const guardInventoryArtifactSchema = z.object({\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactSlug: z.string(),\n publisher: z.string().optional(),\n harnesses: z.array(z.string()),\n devices: z.array(z.string()),\n eventCount: z.number(),\n firstSeenAt: z.string(),\n lastSeenAt: z.string(),\n latestDecision: z.enum([\n 'allow',\n 'warn',\n 'block',\n 'review',\n 'require-reapproval',\n 'sandbox-required',\n ]),\n latestRecommendation: z.enum(['monitor', 'review', 'block']),\n latestHash: z.string(),\n latestSummary: z.string(),\n});\n\nexport const guardInventoryDiffEntrySchema = z.object({\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n changeType: z.enum(['new', 'changed', 'removed']),\n previousHash: z.string().nullable(),\n currentHash: z.string().nullable(),\n});\n\nexport const guardInventoryDiffResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardInventoryDiffEntrySchema),\n});\n\nexport const guardReceiptSyncResponseSchema = z.object({\n syncedAt: z.string(),\n receiptsStored: z.number(),\n inventoryStored: z.number().optional(),\n inventoryDiff: guardInventoryDiffResponseSchema.optional(),\n advisories: z.array(guardRevocationSchema).optional(),\n policy: guardPolicySchema.optional(),\n alertPreferences: z.lazy(() => guardAlertPreferencesSchema).optional(),\n exceptions: z.array(z.lazy(() => guardExceptionItemSchema)).optional(),\n teamPolicyPack: z.lazy(() => guardTeamPolicyPackSchema).optional(),\n});\n\nexport const guardInventoryResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardInventoryArtifactSchema),\n});\n\nexport const guardAbomSummarySchema = z.object({\n totalArtifacts: z.number(),\n totalDevices: z.number(),\n totalHarnesses: z.number(),\n blockedArtifacts: z.number(),\n reviewArtifacts: z.number(),\n});\n\nexport const guardAbomResponseSchema = z.object({\n generatedAt: z.string(),\n summary: guardAbomSummarySchema,\n items: z.array(guardInventoryArtifactSchema),\n});\n\nexport const guardTimelineEventSchema = z.object({\n receiptId: z.string(),\n capturedAt: z.string(),\n harness: z.string(),\n deviceId: z.string(),\n deviceName: z.string(),\n artifactHash: z.string(),\n policyDecision: z.enum([\n 'allow',\n 'warn',\n 'block',\n 'review',\n 'require-reapproval',\n 'sandbox-required',\n ]),\n recommendation: z.enum(['monitor', 'review', 'block']),\n changedSinceLastApproval: z.boolean(),\n summary: z.string(),\n capabilities: z.array(z.string()),\n publisher: z.string().optional(),\n});\n\nexport const guardArtifactTimelineResponseSchema = z.object({\n generatedAt: z.string(),\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactSlug: z.string(),\n events: z.array(guardTimelineEventSchema),\n});\n\nexport const guardReceiptExportSummarySchema = z.object({\n totalReceipts: z.number(),\n blockedCount: z.number(),\n reviewCount: z.number(),\n approvedCount: z.number(),\n});\n\nexport const guardExportSignatureSchema = z.object({\n algorithm: z.enum(['hmac-sha256', 'none']),\n digest: z.string(),\n});\n\nexport const guardReceiptExportResponseSchema = z.object({\n generatedAt: z.string(),\n summary: guardReceiptExportSummarySchema,\n provenanceSummary: z.array(z.string()),\n items: z.array(guardReceiptSchema),\n signature: guardExportSignatureSchema,\n});\n\nexport const guardAlertPreferencesSchema = z.object({\n emailEnabled: z.boolean(),\n digestMode: z.enum(['immediate', 'daily', 'weekly']),\n watchlistEnabled: z.boolean(),\n advisoriesEnabled: z.boolean(),\n repeatedWarningsEnabled: z.boolean(),\n teamAlertsEnabled: z.boolean(),\n updatedAt: z.string(),\n});\n\nexport const guardWatchlistItemSchema = z.object({\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactSlug: z.string(),\n reason: z.string(),\n source: z.enum(['manual', 'synced', 'team-policy']),\n createdAt: z.string(),\n});\n\nexport const guardWatchlistResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardWatchlistItemSchema),\n});\n\nexport const guardWatchlistLookupMatchSchema = z.object({\n artifactId: z.string().nullable(),\n publisher: z.string().nullable(),\n domain: z.string().nullable(),\n source: z.enum(['watchlist', 'team-policy']),\n reason: z.string(),\n});\n\nexport const guardWatchlistLookupResponseSchema = z.object({\n generatedAt: z.string(),\n matched: z.boolean(),\n scope: z.enum(['artifact', 'publisher', 'domain', 'none']),\n item: guardWatchlistLookupMatchSchema.nullable(),\n});\n\nexport const guardPainSignalSchema = z.object({\n signalId: z.string(),\n signalName: z.string(),\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n harness: z.string(),\n latestSummary: z.string(),\n firstSeenAt: z.string(),\n lastSeenAt: z.string(),\n count: z.number(),\n source: z.literal('scanner'),\n publisher: z.string().optional(),\n});\n\nexport const guardPainSignalListResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardPainSignalSchema),\n});\n\nexport const guardPainSignalAggregateSchema = z.object({\n artifactId: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n signalName: z.string(),\n latestSummary: z.string(),\n firstSeenAt: z.string(),\n lastSeenAt: z.string(),\n totalCount: z.number(),\n consumerCount: z.number(),\n harnesses: z.array(z.string()),\n publishers: z.array(z.string()),\n});\n\nexport const guardPainSignalAggregateResponseSchema = z.object({\n generatedAt: z.string(),\n summary: z.object({\n totalSignals: z.number(),\n uniqueArtifacts: z.number(),\n uniqueConsumers: z.number(),\n }),\n items: z.array(guardPainSignalAggregateSchema),\n});\n\nexport const guardExceptionItemSchema = z.object({\n exceptionId: z.string(),\n scope: z.enum(['artifact', 'publisher', 'harness', 'global']),\n harness: z.string().nullable(),\n artifactId: z.string().nullable(),\n publisher: z.string().nullable(),\n reason: z.string(),\n owner: z.string(),\n source: z.enum(['manual', 'team-policy']),\n expiresAt: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const guardExceptionListResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardExceptionItemSchema),\n});\n\nexport const guardPreflightEvidenceSchema = z.object({\n category: z.enum([\n 'policy',\n 'trust',\n 'watchlist',\n 'team-policy',\n 'exception',\n ]),\n source: z.string(),\n detail: z.string(),\n});\n\nexport const guardPreflightRequestSchema = z.object({\n harness: z.string(),\n artifactName: z.string(),\n artifactType: z.enum(['skill', 'plugin']),\n artifactId: z.string().optional(),\n artifactSlug: z.string().optional(),\n artifactHash: z.string().optional(),\n publisher: z.string().optional(),\n domain: z.string().optional(),\n launchSummary: z.string().optional(),\n capabilities: z.array(z.string()).optional(),\n workspacePath: z.string().optional(),\n});\n\nexport const guardPreflightVerdictResponseSchema = z.object({\n generatedAt: z.string(),\n principal: guardPrincipalSchema,\n decision: z.enum(['allow', 'review', 'block']),\n recommendation: z.enum(['monitor', 'review', 'block']),\n rationale: z.string(),\n category: z\n .enum(['exception', 'team-policy', 'watchlist', 'trust', 'policy'])\n .optional(),\n confidence: z.number().optional(),\n freshnessTimestamp: z.string().optional(),\n evidenceSources: z.array(z.string()).optional(),\n scope: z.enum(['artifact', 'publisher', 'domain', 'policy']),\n matchedEvidence: z.array(guardPreflightEvidenceSchema),\n matchedException: guardExceptionItemSchema.nullable(),\n trustMatch: guardTrustMatchSchema.nullable(),\n});\n\nexport const guardTeamPolicyAuditItemSchema = z.object({\n changedAt: z.string(),\n actor: z.string(),\n change: z.enum(['created', 'updated']),\n summary: z.string(),\n});\n\nexport const guardTeamPolicyPackSchema = z.object({\n name: z.string(),\n sharedHarnessDefaults: z.record(\n z.string(),\n z.enum(['observe', 'prompt', 'enforce']),\n ),\n allowedPublishers: z.array(z.string()),\n blockedPublishers: z.array(z.string()).optional(),\n blockedDomains: z.array(z.string()).optional(),\n blockedArtifacts: z.array(z.string()),\n alertChannel: z.enum(['email', 'slack', 'teams', 'webhook']),\n updatedAt: z.string(),\n auditTrail: z.array(guardTeamPolicyAuditItemSchema),\n});\n\nexport const guardDeviceSchema = z.object({\n deviceId: z.string(),\n deviceName: z.string(),\n harnesses: z.array(z.string()),\n receiptCount: z.number(),\n lastSeenAt: z.string(),\n});\n\nexport const guardDeviceListResponseSchema = z.object({\n generatedAt: z.string(),\n items: z.array(guardDeviceSchema),\n});\n\nexport const hbarPurchaseIntentResponseSchema = z.object({\n transaction: z.string(),\n transactionId: z.string(),\n network: z.enum(['mainnet', 'testnet']),\n accountId: z.string(),\n treasuryAccountId: z.string(),\n hbarAmount: z.number(),\n credits: z.number(),\n tinybarAmount: z.number(),\n memo: z.string(),\n centsPerHbar: z.number(),\n validStart: z.string(),\n validDurationSeconds: z.number(),\n requiresManualSubmit: z.literal(true),\n purchaseId: z.string(),\n});\n\nconst x402SettlementSchema = z\n .object({\n success: z.boolean().optional(),\n transaction: z.string().optional(),\n network: z.string().optional(),\n payer: z.string().optional(),\n errorReason: z.string().optional(),\n })\n .strict();\n\nexport const x402CreditPurchaseResponseSchema = z.object({\n success: z.boolean(),\n accountId: z.string(),\n creditedCredits: z.number(),\n usdAmount: z.number(),\n balance: z.number(),\n payment: z\n .object({\n payer: z.string().optional(),\n requirement: z.record(jsonValueSchema).optional(),\n settlement: x402SettlementSchema.optional(),\n })\n .optional(),\n});\n\nexport const x402MinimumsResponseSchema = z.object({\n minimums: z\n .record(\n z.object({\n network: z.string().optional(),\n gasLimit: z.number().optional(),\n gasPriceWei: z.string().optional(),\n gasUsd: z.number().optional(),\n minUsd: z.number().optional(),\n ethUsd: z.number().optional(),\n fetchedAt: z.string().optional(),\n source: z.string().optional(),\n }),\n )\n .optional(),\n creditUnitUsd: z.number().optional(),\n});\n\nexport const adaptersResponseSchema = z.object({\n adapters: z.array(z.string()),\n});\n\nexport const adapterRegistryCategorySchema = z.object({\n id: z.number().int(),\n network: z.string(),\n type: z.string(),\n slug: z.string(),\n name: z.string(),\n description: z.string().nullable().optional(),\n topicId: z.string(),\n versionTopicId: z.string(),\n registryTransactionId: z.string().nullable().optional(),\n versionTransactionId: z.string().nullable().optional(),\n metadataPointer: z.string().nullable().optional(),\n metadataSequence: z.number().int().nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n metadata: jsonValueSchema.optional().nullable(),\n});\n\nexport const adapterRegistryCategoriesResponseSchema = z.object({\n categories: z.array(adapterRegistryCategorySchema),\n});\n\nexport const adapterRegistryAdapterSchema = z\n .object({\n id: z.union([z.string(), z.number()]).optional(),\n network: z.string().optional(),\n categoryId: z.union([z.string(), z.number()]).nullable().optional(),\n operation: z.string().optional(),\n adapterId: z.string(),\n adapterName: z.string(),\n entity: z.string(),\n manifestPointer: z.string().nullable().optional(),\n manifestSequence: z.number().int().nullable().optional(),\n packageRegistry: z.string().nullable().optional(),\n packageName: z.string().nullable().optional(),\n packageVersion: z.string().nullable().optional(),\n packageIntegrity: z.string().nullable().optional(),\n stateModel: z.string().nullable().optional(),\n config: jsonValueSchema.nullable().optional(),\n signature: z.string().nullable().optional(),\n manifest: jsonValueSchema.nullable().optional(),\n keywords: z.array(z.string()).optional(),\n searchText: z.string().nullable().optional(),\n creditAccountId: z.string().nullable().optional(),\n registeredByUserId: z.string().nullable().optional(),\n registeredByEmail: z.string().nullable().optional(),\n totalCostHbar: z.number().nullable().optional(),\n totalCostCredits: z.number().nullable().optional(),\n consensusTimestamp: z.string().nullable().optional(),\n sequenceNumber: z.number().int().nullable().optional(),\n payerAccountId: z.string().nullable().optional(),\n mirrorNodePayload: jsonValueSchema.nullable().optional(),\n versionTopicId: z.string().nullable().optional(),\n declarationTopicId: z.string().nullable().optional(),\n categoryEntrySequence: z.number().int().nullable().optional(),\n categoryEntryTransactionId: z.string().nullable().optional(),\n versionPointerSequence: z.number().int().nullable().optional(),\n versionPointerTransactionId: z.string().nullable().optional(),\n transactionId: z.string().nullable().optional(),\n createdAt: z.string().optional(),\n category: adapterRegistryCategorySchema.optional(),\n })\n .passthrough();\n\nexport const adapterRegistryAdaptersResponseSchema = z.object({\n network: z.string(),\n adapters: z.array(adapterRegistryAdapterSchema),\n});\n\nexport const adapterRegistryCreateCategoryResponseSchema = z.object({\n category: adapterRegistryCategorySchema,\n});\n\nexport const adapterRegistrySubmitAdapterResponseSchema = z.object({\n adapter: z.record(jsonValueSchema),\n declaration: adapterDeclarationSchema,\n transactionId: z.string().optional().nullable(),\n category: adapterRegistryCategorySchema,\n});\n\nexport const adapterRegistrySubmitAdapterAcceptedResponseSchema = z\n .object({\n submissionId: z.string(),\n status: z.string().optional(),\n network: z.string().optional(),\n message: z.string().optional(),\n })\n .passthrough();\n\nexport const adapterRegistrySubmissionStatusResponseSchema = z.object({\n submission: z\n .object({\n id: z.string(),\n network: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n adapterId: z.string(),\n categorySlug: z.string().nullable().optional(),\n creditAccountId: z.string().nullable().optional(),\n registeredByUserId: z.string().nullable().optional(),\n registeredByEmail: z.string().nullable().optional(),\n requestPayload: jsonValueSchema.optional(),\n resultPayload: jsonValueSchema.nullable().optional(),\n error: z.string().nullable().optional(),\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n startedAt: z.string().nullable().optional(),\n completedAt: z.string().nullable().optional(),\n })\n .passthrough(),\n});\n\nexport const adapterChatProfileSchema = z.object({\n supportsChat: z.boolean(),\n delivery: z.string().optional(),\n transport: z.string().optional(),\n streaming: z.boolean().optional(),\n requiresAuth: z.array(z.string()).optional(),\n notes: z.string().optional(),\n});\n\nconst adapterCapabilitiesSchema = z.object({\n discovery: z.boolean(),\n routing: z.boolean(),\n communication: z.boolean(),\n translation: z.boolean(),\n protocols: z.array(z.string()),\n});\n\nexport const adapterDescriptorSchema = z.object({\n id: z.string(),\n name: z.string(),\n version: z.string(),\n author: z.string(),\n description: z.string(),\n supportedProtocols: z.array(z.string()),\n registryType: z.enum(['web2', 'web3', 'hybrid']),\n chatProfile: adapterChatProfileSchema.optional(),\n capabilities: adapterCapabilitiesSchema,\n enabled: z.boolean(),\n priority: z.number(),\n status: z.enum(['running', 'stopped']),\n});\n\nexport const adapterDetailsResponseSchema = z.object({\n adapters: z.array(adapterDescriptorSchema),\n});\n\nconst metadataFacetOptionSchema = z.object({\n value: z.union([z.string(), z.number(), z.boolean()]),\n label: z.string(),\n});\n\nconst searchFacetSchema = z.object({\n key: z.string(),\n label: z.string(),\n description: z.string().optional(),\n type: z.enum(['string', 'boolean', 'number']),\n adapters: z.array(z.string()).optional(),\n options: z.array(metadataFacetOptionSchema).optional(),\n});\n\nexport const searchFacetsResponseSchema = z.object({\n facets: z.array(searchFacetSchema),\n});\n\n// ----------------------------------------------------------------------------\n// Verification + owner registration (Moltbook/OpenClaw)\n// ----------------------------------------------------------------------------\n\nconst verificationExistingOwnershipSchema = z\n .object({\n ownerType: z.string(),\n ownerId: z.string(),\n ownerHandle: z.string().optional(),\n verifiedAt: z.string().optional(),\n method: z.string().optional(),\n })\n .passthrough();\n\nexport const verificationChallengeResponseSchema = z\n .object({\n challengeId: z.string(),\n code: z.string(),\n expiresAt: z.string(),\n expectedHandle: z.string(),\n instructions: z.string(),\n existingOwnership: verificationExistingOwnershipSchema.optional(),\n })\n .passthrough();\n\nexport const verificationChallengeDetailsResponseSchema = z\n .object({\n challengeId: z.string(),\n uaid: z.string(),\n code: z.string(),\n expiresAt: z.string(),\n status: z.string(),\n message: z.string().optional(),\n })\n .passthrough();\n\nexport const verificationVerifyResponseSchema = z\n .object({\n verified: z.boolean(),\n uaid: z.string(),\n ownerType: z.string(),\n ownerId: z.string(),\n ownerHandle: z.string().optional(),\n method: z.string().optional(),\n verificationPostUrl: z.string().optional(),\n })\n .passthrough();\n\nexport const verificationOwnershipResponseSchema = z\n .object({\n uaid: z.string(),\n ownerType: z.string(),\n ownerId: z.string(),\n ownerHandle: z.string().optional(),\n chain: z.string(),\n verifiedAt: z.string(),\n method: z.string(),\n })\n .passthrough();\n\nexport const verificationStatusResponseSchema = z\n .object({\n uaid: z.string(),\n verified: z.boolean(),\n chain: z.string().nullable(),\n })\n .passthrough();\n\nexport const verificationVerifySenderResponseSchema = z\n .object({\n verified: z.boolean(),\n uaid: z.string(),\n ownerType: z.string(),\n ownerId: z.string(),\n })\n .passthrough();\n\nconst verificationDnsErrorSchema = z\n .object({\n code: z.string(),\n message: z.string(),\n details: z.record(jsonValueSchema).optional(),\n })\n .passthrough();\n\nexport const verificationDnsStatusResponseSchema = z\n .object({\n uaid: z.string(),\n verified: z.boolean(),\n profileId: z.string(),\n checkedAt: z.string(),\n nativeId: z.string().optional(),\n dnsName: z.string().optional(),\n verificationLevel: z.string().optional(),\n resolutionMode: z.string().optional(),\n reconstructedUaid: z.string().optional(),\n selectedFollowupProfile: z.string().optional(),\n error: verificationDnsErrorSchema.optional(),\n source: z.string().optional(),\n persisted: z.boolean().optional(),\n })\n .passthrough();\n\nexport const registerStatusResponseSchema = z\n .object({\n registered: z.boolean(),\n agent: jsonValueSchema.optional(),\n })\n .passthrough();\n\nexport const moltbookOwnerRegistrationUpdateResponseSchema = z\n .object({\n ok: z.boolean(),\n uaid: z.string(),\n registered: z.boolean(),\n registeredAt: z.string().optional(),\n agent: jsonValueSchema.optional(),\n warning: z.string().optional(),\n })\n .passthrough();\n\nconst skillRegistryFileRoleSchema = z.union([\n z.literal('skill-md'),\n z.literal('skill-json'),\n z.literal('skill-icon'),\n z.literal('file'),\n]);\n\nconst trustScoreBreakdownSchema = z\n .record(z.number())\n .refine(\n record => typeof record.total === 'number' && Number.isFinite(record.total),\n { message: 'trustScores.total is required' },\n );\n\nconst skillSafetyLabelSchema = z.enum(['safe', 'review', 'caution', 'unsafe']);\n\nconst skillSafetySummarySchema = z\n .object({\n score: z.number(),\n label: skillSafetyLabelSchema,\n findingsTotal: z.number().int(),\n highFindings: z.number().int(),\n scriptsTotal: z.number().int(),\n permissionsMissing: z.array(z.string()),\n })\n .passthrough();\n\nconst skillSafetyFindingSeveritySchema = z.enum(['low', 'medium', 'high']);\n\nconst skillSafetyFindingSchema = z\n .object({\n ruleId: z.string(),\n severity: skillSafetyFindingSeveritySchema,\n file: z.string(),\n message: z.string(),\n })\n .passthrough();\n\nexport const skillRegistryFileDescriptorSchema = z\n .object({\n name: z.string(),\n mimeType: z.string(),\n role: skillRegistryFileRoleSchema,\n topicId: z.string().optional(),\n hrl: z.string().optional(),\n packageSequenceNumber: z.number().int().optional(),\n })\n .passthrough();\n\nexport const skillRegistryPublishSummarySchema = z\n .object({\n jobId: z.string(),\n network: z.union([z.literal('mainnet'), z.literal('testnet')]),\n name: z.string(),\n version: z.string(),\n description: z.string().optional(),\n createdAt: z.string(),\n directoryTopicId: z.string(),\n skillUid: z.number().int().optional(),\n directorySequenceNumber: z.number().int().optional(),\n versionRegistryTopicId: z.string().optional(),\n packageTopicId: z.string(),\n manifestHrl: z.string().optional(),\n skillJsonHrl: z.string(),\n iconHcs1: z.string().optional(),\n tags: z.array(z.string()).optional(),\n category: z.string().optional(),\n featured: z.boolean().optional(),\n verified: z.boolean().optional(),\n upvotes: z.number().int().optional(),\n trustScore: z.number().optional(),\n trustScores: trustScoreBreakdownSchema.optional(),\n safety: skillSafetySummarySchema.optional(),\n safetyFindings: z.array(skillSafetyFindingSchema).optional(),\n files: z.array(skillRegistryFileDescriptorSchema).optional(),\n })\n .passthrough();\n\nexport const skillRegistryListResponseSchema = z\n .object({\n items: z.array(skillRegistryPublishSummarySchema),\n nextCursor: z.string().nullable(),\n })\n .passthrough();\n\nexport const skillCatalogChannelSchema = z.enum([\n 'stable',\n 'prerelease',\n 'all',\n]);\n\nexport const skillCatalogSortBySchema = z.enum([\n 'trending',\n 'upvotes',\n 'updated',\n 'name',\n]);\n\nexport const skillCatalogVersionSummarySchema = z\n .object({\n version: z.string(),\n publishedAt: z.string(),\n verified: z.boolean().optional(),\n })\n .passthrough();\n\nexport const skillCatalogItemSchema = z\n .object({\n name: z.string(),\n description: z.string().optional(),\n iconHcs1: z.string().optional(),\n category: z.string().optional(),\n tags: z.array(z.string()).optional(),\n latest: skillCatalogVersionSummarySchema,\n latestStable: skillCatalogVersionSummarySchema.optional(),\n recommended: skillCatalogVersionSummarySchema,\n upvotes: z.number().int(),\n verified: z.boolean(),\n repoStamped: z.boolean(),\n trustScore: z.number().optional(),\n safetyScore: z.number().optional(),\n })\n .passthrough();\n\nexport const skillCatalogResponseSchema = z\n .object({\n items: z.array(skillCatalogItemSchema),\n nextCursor: z.string().nullable(),\n })\n .passthrough();\n\nexport const skillRecommendedVersionResponseSchema = z\n .object({\n name: z.string(),\n version: z.string(),\n updatedAt: z.string(),\n setBy: z.string(),\n })\n .passthrough();\n\nexport const skillDeprecationRecordSchema = z\n .object({\n name: z.string(),\n version: z.string().optional(),\n reason: z.string(),\n replacementRef: z.string().optional(),\n deprecatedAt: z.string(),\n deprecatedBy: z.string(),\n })\n .passthrough();\n\nexport const skillDeprecationsResponseSchema = z\n .object({\n name: z.string(),\n items: z.array(skillDeprecationRecordSchema),\n })\n .passthrough();\n\nexport const skillSecurityBreakdownResponseSchema = z\n .object({\n jobId: z.string(),\n score: z.number().nullable().optional(),\n findings: z.array(jsonValueSchema).optional(),\n summary: jsonValueSchema.optional(),\n generatedAt: z.string().nullable().optional(),\n scannerVersion: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const skillBadgeMetricSchema = z.enum([\n 'version',\n 'version_verification',\n 'status',\n 'verification',\n 'repo_commit',\n 'manifest',\n 'domain',\n 'trust',\n 'tier',\n 'safety',\n 'upvotes',\n 'updated',\n]);\n\nexport const skillBadgeStyleSchema = z.enum([\n 'flat',\n 'flat-square',\n 'for-the-badge',\n 'plastic',\n 'social',\n]);\n\nexport const skillBadgeResponseSchema = z\n .object({\n schemaVersion: z.number().int(),\n label: z.string(),\n message: z.string(),\n color: z.string(),\n style: skillBadgeStyleSchema.optional(),\n isError: z.boolean().optional(),\n cacheSeconds: z.number().int().optional(),\n })\n .passthrough();\n\nexport const skillRegistryTagsResponseSchema = z\n .object({\n tags: z.array(z.string()),\n })\n .passthrough();\n\nexport const skillRegistryCategoriesResponseSchema = z\n .object({\n categories: z.array(z.string()),\n })\n .passthrough();\n\nexport const skillResolverManifestResponseSchema = z.record(jsonValueSchema);\n\nexport const skillRegistryQuoteFileBreakdownSchema = z\n .object({\n name: z.string(),\n mimeType: z.string(),\n estimatedCostHbar: z.number(),\n })\n .passthrough();\n\nexport const skillRegistryQuoteResponseSchema = z\n .object({\n quoteId: z.string(),\n name: z.string(),\n version: z.string(),\n directoryTopicId: z.string(),\n estimatedCostHbar: z.number(),\n credits: z.number(),\n usdCents: z.number(),\n expiresAt: z.string(),\n files: z.array(skillRegistryQuoteFileBreakdownSchema),\n })\n .passthrough();\n\nconst skillRegistryJobStatusSchema = z.union([\n z.literal('pending'),\n z.literal('in_progress'),\n z.literal('completed'),\n z.literal('failed'),\n]);\n\nexport const skillRegistryPublishResponseSchema = z\n .object({\n jobId: z.string(),\n status: skillRegistryJobStatusSchema,\n credits: z.number().nullable().optional(),\n usdCents: z.number().nullable().optional(),\n quoteId: z.string().nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n network: z.union([z.literal('mainnet'), z.literal('testnet')]),\n })\n .passthrough();\n\nexport const skillRegistryJobStatusResponseSchema = z\n .object({\n jobId: z.string(),\n status: skillRegistryJobStatusSchema,\n network: z.union([z.literal('mainnet'), z.literal('testnet')]),\n name: z.string(),\n version: z.string(),\n directoryTopicId: z.string(),\n skillUid: z.number().int().nullable().optional(),\n directorySequenceNumber: z.number().int().nullable().optional(),\n versionRegistryTopicId: z.string().nullable().optional(),\n packageTopicId: z.string().nullable().optional(),\n manifestHrl: z.string().nullable().optional(),\n skillJsonHrl: z.string().nullable().optional(),\n iconHcs1: z.string().nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n category: z.string().nullable().optional(),\n files: z.array(skillRegistryFileDescriptorSchema).nullable().optional(),\n quoteCredits: z.number().nullable().optional(),\n quoteUsdCents: z.number().nullable().optional(),\n safety: skillSafetySummarySchema.nullable().optional(),\n reservationId: z.string().nullable().optional(),\n totalCostHbar: z.number().nullable().optional(),\n totalCostCredits: z.number().nullable().optional(),\n failureReason: z.string().nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n })\n .passthrough();\n\nexport const skillRegistryVersionItemSchema = z\n .object({\n jobId: z.string(),\n version: z.string(),\n createdAt: z.string(),\n verified: z.boolean().optional(),\n })\n .passthrough();\n\nexport const skillRegistryVersionsResponseSchema = z\n .object({\n name: z.string(),\n items: z.array(skillRegistryVersionItemSchema),\n })\n .passthrough();\n\nexport const skillRegistryMineItemSchema = z\n .object({\n name: z.string(),\n latestVersion: z.string(),\n latestCreatedAt: z.string(),\n verified: z.boolean().optional(),\n iconHcs1: z.string().optional(),\n versions: z.array(z.string()),\n })\n .passthrough();\n\nexport const skillRegistryMineResponseSchema = z\n .object({\n items: z.array(skillRegistryMineItemSchema),\n })\n .passthrough();\n\nexport const skillRegistryMyListResponseSchema = z\n .object({\n owned: skillRegistryMineResponseSchema,\n upvoted: skillRegistryListResponseSchema,\n })\n .passthrough();\n\nexport const skillRegistryConfigResponseSchema = z\n .object({\n enabled: z.boolean(),\n directoryTopicId: z.string().nullable().optional(),\n maxFiles: z.number().int().nullable().optional(),\n maxTotalSizeBytes: z.number().int().nullable().optional(),\n allowedMimeTypes: z.array(z.string()).nullable().optional(),\n network: z\n .union([z.literal('mainnet'), z.literal('testnet')])\n .nullable()\n .optional(),\n publisher: z\n .object({\n cliPackageUrl: z.string(),\n cliCommand: z.string(),\n actionMarketplaceUrl: z.string(),\n repositoryUrl: z.string(),\n guideUrl: z.string().nullable().optional(),\n docsUrl: z.string().nullable().optional(),\n submitUrl: z.string().nullable().optional(),\n skillsIndexUrl: z.string().nullable().optional(),\n quickstartCommands: z\n .array(\n z\n .object({\n id: z.string(),\n label: z.string(),\n description: z.string(),\n command: z.string(),\n href: z.string().nullable().optional(),\n })\n .passthrough(),\n )\n .optional()\n .default([]),\n templatePresets: z\n .array(\n z\n .object({\n presetId: z.string(),\n label: z.string(),\n description: z.string(),\n recommendedFor: z.string(),\n command: z.string(),\n })\n .passthrough(),\n )\n .optional()\n .default([]),\n })\n .nullable()\n .optional(),\n })\n .passthrough();\n\nexport const skillRegistryOwnershipResponseSchema = z\n .object({\n name: z.string(),\n exists: z.boolean(),\n isOwner: z.boolean(),\n })\n .passthrough();\n\nexport const skillRegistryVoteStatusResponseSchema = z\n .object({\n name: z.string(),\n upvotes: z.number().int(),\n hasUpvoted: z.boolean(),\n })\n .passthrough();\n\nexport const skillTrustTierSchema = z.enum([\n 'unclaimed',\n 'validated',\n 'published',\n 'verified',\n 'hardened',\n]);\n\nexport const skillStatusNextStepSchema = z\n .object({\n kind: z.enum([\n 'setup_validate',\n 'publish_first_release',\n 'verify_domain',\n 'harden_workflow',\n 'share_status',\n ]),\n priority: z.number().int(),\n id: z.string(),\n label: z.string(),\n description: z.string(),\n url: z.string().nullable().optional(),\n href: z.string().nullable().optional(),\n command: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const skillPreviewSuggestedNextStepSchema = z\n .object({\n id: z.string(),\n label: z.string(),\n description: z.string(),\n command: z.string().optional(),\n href: z.string().optional(),\n })\n .passthrough();\n\nexport const skillPreviewReportSchema = z\n .object({\n schema_version: z.literal('skill-preview.v1'),\n tool_version: z.string(),\n preview_id: z.string(),\n repo_url: z.string(),\n repo_owner: z.string(),\n repo_name: z.string(),\n default_branch: z.string(),\n commit_sha: z.string(),\n ref: z.string(),\n event_name: z.string(),\n workflow_run_url: z.string(),\n skill_dir: z.string(),\n name: z.string(),\n version: z.string(),\n validation_status: z.literal('passed'),\n findings: z.array(z.unknown()),\n package_summary: z.record(z.string(), z.unknown()),\n suggested_next_steps: z.array(skillPreviewSuggestedNextStepSchema),\n generated_at: z.string(),\n })\n .passthrough();\n\nexport const skillPreviewRecordSchema = z\n .object({\n id: z.string(),\n previewId: z.string(),\n source: z.literal('github-oidc'),\n report: skillPreviewReportSchema,\n generatedAt: z.string(),\n expiresAt: z.string(),\n statusUrl: z.string(),\n authoritative: z.boolean(),\n })\n .passthrough();\n\nexport const skillPreviewLookupResponseSchema = z\n .object({\n found: z.boolean(),\n authoritative: z.boolean(),\n preview: skillPreviewRecordSchema.nullable(),\n statusUrl: z.string().nullable(),\n expiresAt: z.string().nullable(),\n })\n .passthrough();\n\nexport const skillStatusPreviewMetadataSchema = z\n .object({\n previewId: z.string(),\n repoUrl: z.string(),\n repoOwner: z.string(),\n repoName: z.string(),\n commitSha: z.string(),\n ref: z.string(),\n eventName: z.string(),\n skillDir: z.string(),\n generatedAt: z.string(),\n expiresAt: z.string(),\n statusUrl: z.string(),\n })\n .passthrough();\n\nexport const skillStatusChecksSchema = z\n .object({\n repoCommitIntegrity: z.boolean(),\n manifestIntegrity: z.boolean(),\n domainProof: z.boolean(),\n })\n .passthrough();\n\nexport const skillStatusVerificationSignalsSchema = z\n .object({\n publisherBound: z.boolean(),\n domainProof: z.boolean(),\n verifiedDomain: z.boolean(),\n previewValidated: z.boolean(),\n })\n .passthrough();\n\nexport const skillStatusProvenanceSignalsSchema = z\n .object({\n repoCommitIntegrity: z.boolean(),\n manifestIntegrity: z.boolean(),\n canonicalRelease: z.boolean(),\n previewAvailable: z.boolean(),\n previewAuthoritative: z.boolean(),\n })\n .passthrough();\n\nexport const skillStatusResponseSchema = z\n .object({\n name: z.string(),\n version: z.string().nullable(),\n published: z.boolean(),\n verifiedDomain: z.boolean(),\n trustTier: skillTrustTierSchema,\n badgeMetric: skillBadgeMetricSchema,\n checks: skillStatusChecksSchema,\n nextSteps: z.array(skillStatusNextStepSchema),\n verificationSignals: skillStatusVerificationSignalsSchema,\n provenanceSignals: skillStatusProvenanceSignalsSchema,\n publisher: skillRegistryConfigResponseSchema.shape.publisher,\n preview: skillStatusPreviewMetadataSchema.nullable().optional(),\n statusUrl: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const skillQuotePreviewRangeSchema = z\n .object({\n min: z.number(),\n max: z.number(),\n })\n .passthrough();\n\nexport const skillQuotePreviewResponseSchema = z\n .object({\n estimatedCredits: skillQuotePreviewRangeSchema,\n estimatedHbar: skillQuotePreviewRangeSchema,\n pricingVersion: z.string(),\n assumptions: z.array(z.string()),\n purchaseUrl: z.string().nullable(),\n publishUrl: z.string().nullable(),\n verificationUrl: z.string().nullable(),\n })\n .passthrough();\n\nexport const skillConversionSignalsResponseSchema = z\n .object({\n repoUrl: z.string(),\n skillDir: z.string(),\n trustTier: skillTrustTierSchema,\n actionInstalled: z.boolean(),\n previewUploaded: z.boolean(),\n previewId: z.string().nullable(),\n lastValidateSuccessAt: z.string().nullable(),\n stalePreviewAgeDays: z.number().nullable(),\n published: z.boolean(),\n verified: z.boolean(),\n publishReady: z.boolean(),\n publishBlockedByMissingAuth: z.boolean(),\n statusUrl: z.string().nullable(),\n purchaseUrl: z.string().nullable(),\n publishUrl: z.string().nullable(),\n verificationUrl: z.string().nullable(),\n nextSteps: z.array(skillStatusNextStepSchema),\n })\n .passthrough();\n\nexport const skillInstallArtifactDescriptorSchema = z\n .object({\n url: z.string(),\n pointer: z.string().nullable(),\n sha256: z.string().nullable(),\n })\n .passthrough();\n\nexport const skillInstallResolverDescriptorSchema = z\n .object({\n skillRef: z.string(),\n skillMdUrl: z.string(),\n manifestUrl: z.string(),\n })\n .passthrough();\n\nexport const skillInstallBadgeDescriptorSchema = z\n .object({\n apiUrl: z.string(),\n imageUrl: z.string(),\n markdown: z.string(),\n html: z.string(),\n })\n .passthrough();\n\nexport const skillInstallShareDescriptorSchema = z\n .object({\n canonicalUrl: z.string().nullable(),\n latestUrl: z.string().nullable(),\n markdownLink: z.string().nullable(),\n htmlLink: z.string().nullable(),\n badge: skillInstallBadgeDescriptorSchema.nullable(),\n })\n .passthrough();\n\nexport const skillInstallSnippetSetSchema = z\n .object({\n cli: z.string(),\n claude: z.string(),\n cursor: z.string(),\n codex: z.string(),\n openclaw: z.string(),\n })\n .passthrough();\n\nexport const skillInstallResponseSchema = z\n .object({\n name: z.string(),\n version: z.string(),\n skillRef: z.string(),\n network: z.union([z.literal('mainnet'), z.literal('testnet')]),\n detailUrl: z.string().nullable(),\n artifacts: z\n .object({\n skillMd: skillInstallArtifactDescriptorSchema,\n manifest: skillInstallArtifactDescriptorSchema,\n })\n .passthrough(),\n resolvers: z\n .object({\n pinned: skillInstallResolverDescriptorSchema,\n latest: skillInstallResolverDescriptorSchema,\n })\n .passthrough(),\n share: skillInstallShareDescriptorSchema,\n snippets: skillInstallSnippetSetSchema,\n })\n .passthrough();\n\nexport const skillInstallCopyTelemetryResponseSchema = z\n .object({\n accepted: z.boolean(),\n })\n .passthrough();\n\nconst skillVerificationTierSchema = z.enum(['basic', 'express']);\nconst skillVerificationStatusSchema = z.enum([\n 'pending',\n 'approved',\n 'rejected',\n]);\nconst skillVerificationStatusLabelSchema = z.enum([\n 'not_requested',\n 'pending',\n 'approved',\n 'rejected',\n]);\nconst skillVerificationSignalFailureReasonSchema = z.enum([\n 'missing_owner',\n 'missing_repo_or_commit',\n 'unsupported_repo',\n 'repo_fetch_failed',\n 'manifest_pointer_missing',\n 'manifest_fetch_failed',\n 'manifest_parse_failed',\n 'missing_file_hashes',\n 'missing_domain',\n 'challenge_invalid',\n 'challenge_expired',\n 'dns_lookup_failed',\n 'dns_record_missing',\n 'mismatch',\n]);\nconst skillVerificationPublisherBoundSignalSchema = z\n .object({\n ok: z.boolean(),\n ownerAccountId: z.string().nullable(),\n ownerUserId: z.string().nullable(),\n checkedAt: z.string(),\n reason: skillVerificationSignalFailureReasonSchema.optional(),\n })\n .passthrough();\nconst skillVerificationRepoCommitIntegrityMismatchSchema = z\n .object({\n path: z.string(),\n expectedSha256: z.string(),\n actualSha256: z.string().optional(),\n error: z.string().optional(),\n })\n .passthrough();\nconst skillVerificationRepoCommitIntegritySignalSchema = z\n .object({\n ok: z.boolean(),\n repo: z.string().nullable(),\n commit: z.string().nullable(),\n checkedAt: z.string(),\n filesChecked: z.number().int().min(0),\n mismatches: z.array(skillVerificationRepoCommitIntegrityMismatchSchema),\n partial: z.boolean().optional(),\n reason: skillVerificationSignalFailureReasonSchema.optional(),\n })\n .passthrough();\nconst skillVerificationManifestIntegrityShaMismatchSchema = z\n .object({\n path: z.string(),\n expectedSha256: z.string(),\n actualSha256: z.string().optional(),\n })\n .passthrough();\nconst skillVerificationManifestIntegritySignalSchema = z\n .object({\n ok: z.boolean(),\n manifestHrl: z.string().nullable(),\n manifestSha256: z.string().nullable(),\n checkedAt: z.string(),\n missingFiles: z.array(z.string()),\n shaMismatches: z.array(skillVerificationManifestIntegrityShaMismatchSchema),\n extraFiles: z.array(z.string()).optional(),\n reason: skillVerificationSignalFailureReasonSchema.optional(),\n })\n .passthrough();\nconst skillVerificationDomainProofSignalSchema = z\n .object({\n ok: z.boolean(),\n domain: z.string().optional(),\n method: z.literal('dns_txt').optional(),\n checkedAt: z.string().optional(),\n details: z.string().optional(),\n txtRecordName: z.string().optional(),\n reason: skillVerificationSignalFailureReasonSchema.optional(),\n })\n .passthrough();\nconst skillVerificationSignalsSchema = z\n .object({\n publisherBound: skillVerificationPublisherBoundSignalSchema,\n repoCommitIntegrity: skillVerificationRepoCommitIntegritySignalSchema,\n manifestIntegrity: skillVerificationManifestIntegritySignalSchema,\n domainProof: skillVerificationDomainProofSignalSchema.optional(),\n })\n .passthrough();\n\nconst skillVerificationRequestSchema = z\n .object({\n id: z.string(),\n network: z.union([z.literal('mainnet'), z.literal('testnet')]),\n name: z.string(),\n version: z.string().optional(),\n tier: skillVerificationTierSchema,\n status: skillVerificationStatusSchema,\n usdCents: z.number(),\n creditsCharged: z.number(),\n creditAccountId: z.string().optional(),\n signals: skillVerificationSignalsSchema.optional(),\n reviewNotes: z.string().optional(),\n requestedBy: z\n .object({\n userId: z.string().optional(),\n accountId: z.string().optional(),\n email: z.string().optional(),\n })\n .optional(),\n approvedBy: z\n .object({\n userId: z.string().optional(),\n email: z.string().optional(),\n })\n .optional(),\n approvedAt: z.string().optional(),\n rejectedBy: z\n .object({\n userId: z.string().optional(),\n email: z.string().optional(),\n })\n .optional(),\n rejectedAt: z.string().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n })\n .passthrough();\n\nexport const skillVerificationRequestCreateResponseSchema = z\n .object({\n request: skillVerificationRequestSchema,\n })\n .passthrough();\n\nexport const skillVerificationStatusResponseSchema = z\n .object({\n name: z.string(),\n version: z.string(),\n status: skillVerificationStatusLabelSchema,\n verified: z.boolean(),\n previouslyVerified: z.boolean(),\n signals: skillVerificationSignalsSchema.nullable().optional(),\n reviewNotes: z.string().nullable().optional(),\n pendingRequest: skillVerificationRequestSchema.nullable().optional(),\n })\n .passthrough();\n\nexport const skillVerificationDomainProofChallengeRequestSchema = z\n .object({\n name: z.string().min(1),\n version: z.string().min(1).optional(),\n domain: z.string().min(1).optional(),\n })\n .passthrough();\n\nexport const skillVerificationDomainProofChallengeResponseSchema = z\n .object({\n challengeId: z.string().min(1),\n name: z.string().min(1),\n version: z.string().min(1),\n domain: z.string().min(1),\n method: z.literal('dns_txt'),\n txtRecordName: z.string().min(1),\n txtRecordValue: z.string().min(1),\n expiresAt: z.string().min(1),\n })\n .passthrough();\n\nexport const skillVerificationDomainProofVerifyRequestSchema = z\n .object({\n name: z.string().min(1),\n version: z.string().min(1).optional(),\n domain: z.string().min(1).optional(),\n challengeToken: z.string().min(1),\n })\n .passthrough();\n\nexport const skillVerificationDomainProofVerifyResponseSchema = z\n .object({\n name: z.string().min(1),\n version: z.string().min(1),\n signal: skillVerificationDomainProofSignalSchema,\n })\n .passthrough();\n"],"names":["AIAgentType","AIAgentCapability"],"mappings":"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"}
|
|
@@ -1,10 +1,162 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { CustomFeeType } from "./standards-sdk.es154.js";
|
|
2
|
+
import { HederaMirrorNode } from "./standards-sdk.es144.js";
|
|
3
|
+
class FeeConfigBuilder {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this.customFees = [];
|
|
6
|
+
this.logger = options.logger;
|
|
7
|
+
this.mirrorNode = new HederaMirrorNode(options.network, options.logger);
|
|
8
|
+
this.defaultCollectorAccountId = options.defaultCollectorAccountId || "";
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Static factory method to create a FeeConfigBuilder with a single HBAR fee.
|
|
12
|
+
* @param hbarAmount Amount in HBAR.
|
|
13
|
+
* @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.
|
|
14
|
+
* @param network Network type ('mainnet' or 'testnet').
|
|
15
|
+
* @param logger Logger instance.
|
|
16
|
+
* @param exemptAccounts Optional array of account IDs exempt from this fee.
|
|
17
|
+
* @returns A configured FeeConfigBuilder instance.
|
|
18
|
+
*/
|
|
19
|
+
static forHbar(hbarAmount, collectorAccountId, network, logger, exemptAccounts = []) {
|
|
20
|
+
const builder = new FeeConfigBuilder({
|
|
21
|
+
network,
|
|
22
|
+
logger,
|
|
23
|
+
defaultCollectorAccountId: collectorAccountId
|
|
24
|
+
});
|
|
25
|
+
return builder.addHbarFee(hbarAmount, collectorAccountId, exemptAccounts);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Static factory method to create a FeeConfigBuilder with a single token fee.
|
|
29
|
+
* Automatically fetches token decimals if not provided.
|
|
30
|
+
* @param tokenAmount Amount of tokens.
|
|
31
|
+
* @param feeTokenId Token ID for the fee.
|
|
32
|
+
* @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.
|
|
33
|
+
* @param network Network type ('mainnet' or 'testnet').
|
|
34
|
+
* @param logger Logger instance.
|
|
35
|
+
* @param exemptAccounts Optional array of account IDs exempt from this fee.
|
|
36
|
+
* @param decimals Optional decimals for the token (fetched if omitted).
|
|
37
|
+
* @returns A Promise resolving to a configured FeeConfigBuilder instance.
|
|
38
|
+
*/
|
|
39
|
+
static async forToken(tokenAmount, feeTokenId, collectorAccountId, network, logger, exemptAccounts = [], decimals) {
|
|
40
|
+
const builder = new FeeConfigBuilder({
|
|
41
|
+
network,
|
|
42
|
+
logger,
|
|
43
|
+
defaultCollectorAccountId: collectorAccountId
|
|
44
|
+
});
|
|
45
|
+
await builder.addTokenFee(
|
|
46
|
+
tokenAmount,
|
|
47
|
+
feeTokenId,
|
|
48
|
+
collectorAccountId,
|
|
49
|
+
decimals,
|
|
50
|
+
exemptAccounts
|
|
51
|
+
);
|
|
52
|
+
return builder;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Adds an HBAR fee configuration to the builder.
|
|
56
|
+
* Allows chaining multiple fee additions.
|
|
57
|
+
* @param hbarAmount The amount in HBAR (e.g., 0.5).
|
|
58
|
+
* @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.
|
|
59
|
+
* @param exemptAccountIds Optional. Accounts specifically exempt from *this* HBAR fee.
|
|
60
|
+
* @returns This FeeConfigBuilder instance for chaining.
|
|
61
|
+
*/
|
|
62
|
+
addHbarFee(hbarAmount, collectorAccountId, exemptAccountIds = []) {
|
|
63
|
+
if (hbarAmount <= 0) {
|
|
64
|
+
throw new Error("HBAR amount must be greater than zero");
|
|
65
|
+
}
|
|
66
|
+
this.customFees.push({
|
|
67
|
+
feeAmount: {
|
|
68
|
+
amount: hbarAmount * 1e8,
|
|
69
|
+
decimals: 0
|
|
70
|
+
},
|
|
71
|
+
feeCollectorAccountId: collectorAccountId || this.defaultCollectorAccountId,
|
|
72
|
+
feeTokenId: void 0,
|
|
73
|
+
exemptAccounts: [...exemptAccountIds],
|
|
74
|
+
type: CustomFeeType.FIXED_FEE
|
|
75
|
+
});
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Adds a token fee configuration to the builder.
|
|
80
|
+
* Allows chaining multiple fee additions.
|
|
81
|
+
* Fetches token decimals automatically if not provided.
|
|
82
|
+
* @param tokenAmount The amount of the specified token.
|
|
83
|
+
* @param feeTokenId The ID of the token to charge the fee in.
|
|
84
|
+
* @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.
|
|
85
|
+
* @param decimals Optional. The number of decimals for the token. If omitted, it will be fetched from the mirror node.
|
|
86
|
+
* @param exemptAccountIds Optional. Accounts specifically exempt from *this* token fee.
|
|
87
|
+
* @returns A Promise resolving to this FeeConfigBuilder instance for chaining.
|
|
88
|
+
*/
|
|
89
|
+
async addTokenFee(tokenAmount, feeTokenId, collectorAccountId, decimals, exemptAccountIds = []) {
|
|
90
|
+
if (tokenAmount <= 0) {
|
|
91
|
+
throw new Error("Token amount must be greater than zero");
|
|
92
|
+
}
|
|
93
|
+
if (!feeTokenId) {
|
|
94
|
+
throw new Error("Fee token ID is required when adding a token fee");
|
|
95
|
+
}
|
|
96
|
+
let finalDecimals = decimals;
|
|
97
|
+
if (finalDecimals === void 0) {
|
|
98
|
+
try {
|
|
99
|
+
const tokenInfo = await this.mirrorNode.getTokenInfo(feeTokenId);
|
|
100
|
+
if (tokenInfo?.decimals) {
|
|
101
|
+
finalDecimals = parseInt(tokenInfo.decimals, 10);
|
|
102
|
+
this.logger.info(
|
|
103
|
+
`Fetched decimals for ${feeTokenId}: ${finalDecimals}`
|
|
104
|
+
);
|
|
105
|
+
} else {
|
|
106
|
+
this.logger.warn(
|
|
107
|
+
`Could not fetch decimals for ${feeTokenId}, defaulting to 0.`
|
|
108
|
+
);
|
|
109
|
+
finalDecimals = 0;
|
|
110
|
+
}
|
|
111
|
+
} catch (error) {
|
|
112
|
+
this.logger.error(
|
|
113
|
+
`Error fetching decimals for ${feeTokenId}, defaulting to 0: ${error}`
|
|
114
|
+
);
|
|
115
|
+
finalDecimals = 0;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
this.customFees.push({
|
|
119
|
+
feeAmount: {
|
|
120
|
+
amount: tokenAmount * 10 ** finalDecimals,
|
|
121
|
+
decimals: finalDecimals
|
|
122
|
+
},
|
|
123
|
+
feeCollectorAccountId: collectorAccountId || this.defaultCollectorAccountId,
|
|
124
|
+
feeTokenId,
|
|
125
|
+
exemptAccounts: [...exemptAccountIds],
|
|
126
|
+
type: CustomFeeType.FIXED_FEE
|
|
127
|
+
});
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Builds the final TopicFeeConfig object.
|
|
132
|
+
* @returns The TopicFeeConfig containing all added custom fees and a consolidated list of unique exempt accounts.
|
|
133
|
+
* @throws Error if no fees have been added.
|
|
134
|
+
* @throws Error if more than 10 fees have been added.
|
|
135
|
+
*/
|
|
136
|
+
build() {
|
|
137
|
+
if (this.customFees.length === 0) {
|
|
138
|
+
throw new Error(
|
|
139
|
+
"At least one fee must be added using addHbarFee/addTokenFee or created using forHbar/forToken"
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
if (this.customFees.length > 10) {
|
|
143
|
+
throw new Error("Maximum of 10 custom fees per topic allowed");
|
|
144
|
+
}
|
|
145
|
+
const allExemptAccounts = /* @__PURE__ */ new Set();
|
|
146
|
+
this.customFees.forEach((fee) => {
|
|
147
|
+
fee.exemptAccounts.forEach((account) => allExemptAccounts.add(account));
|
|
148
|
+
});
|
|
149
|
+
const resolvedCustomFees = this.customFees.map((fee) => ({
|
|
150
|
+
...fee,
|
|
151
|
+
feeCollectorAccountId: fee.feeCollectorAccountId || this.defaultCollectorAccountId
|
|
152
|
+
}));
|
|
153
|
+
return {
|
|
154
|
+
customFees: resolvedCustomFees,
|
|
155
|
+
exemptAccounts: Array.from(allExemptAccounts)
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
7
159
|
export {
|
|
8
|
-
|
|
160
|
+
FeeConfigBuilder
|
|
9
161
|
};
|
|
10
162
|
//# sourceMappingURL=standards-sdk.es153.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es153.js","sources":["../../src/fees/types.ts"],"sourcesContent":["export interface FeeConfigBuilderInterface {\n addHbarFee(\n hbarAmount: number,\n collectorAccountId?: string,\n exemptAccountIds?: string[],\n ): FeeConfigBuilderInterface;\n addTokenFee(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId?: string,\n decimals?: number,\n exemptAccountIds?: string[],\n ): Promise<FeeConfigBuilderInterface>;\n build(): TopicFeeConfig;\n}\n\nexport enum CustomFeeType {\n FIXED_FEE = 'FIXED_FEE',\n FRACTIONAL_FEE = 'FRACTIONAL_FEE',\n ROYALTY_FEE = 'ROYALTY_FEE',\n}\n\nexport type FeeAmount = {\n amount: number;\n decimals?: number;\n};\n\nexport interface TokenFeeConfig {\n feeAmount: FeeAmount;\n feeCollectorAccountId: string;\n feeTokenId?: string;\n exemptAccounts: string[];\n type: CustomFeeType;\n}\n\nexport interface TopicFeeConfig {\n customFees: TokenFeeConfig[];\n exemptAccounts: string[];\n}\n"],"names":["CustomFeeType"],"mappings":"AAgBO,IAAK,kCAAAA,mBAAL;AACLA,iBAAA,WAAA,IAAY;AACZA,iBAAA,gBAAA,IAAiB;AACjBA,iBAAA,aAAA,IAAc;AAHJ,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es153.js","sources":["../../src/fees/fee-config-builder.ts"],"sourcesContent":["import {\n FeeConfigBuilderInterface,\n TokenFeeConfig,\n TopicFeeConfig,\n CustomFeeType,\n} from './types';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { Logger } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\n\n/**\n * FeeConfigBuilder provides a fluent interface for creating fee configurations\n * for HCS-10 topics. This makes it easy to configure fees without dealing with\n * the complexity of the underlying fee structure.\n *\n * Example usage:\n *\n * // Super simple one-liner with the factory method\n * const simpleFeeConfig = FeeConfigBuilder.forHbar(5, '0.0.12345', NetworkType.TESTNET, new Logger(), ['0.0.67890']);\n *\n * // With multiple fees:\n * const multipleFeeConfig = new FeeConfigBuilder({\n * network: NetworkType.TESTNET,\n * logger: new Logger(),\n * defaultCollectorAccountId: '0.0.12345',\n * defaultExemptAccountIds: ['0.0.67890']\n * })\n * .withHbarFee(1) // 1 HBAR fee\n * .withTokenFee(10, '0.0.54321') // 10 units of token 0.0.54321\n * .build();\n *\n * With Agent Builder\n * const agent = new AgentBuilder()\n * .setName('Fee Collector Agent')\n * .setDescription('An agent that collects fees')\n * .setInboundTopicType(InboundTopicType.FEE_BASED)\n * .setFeeConfig(FeeConfigBuilder.forHbar(1, '0.0.12345', NetworkType.TESTNET, new Logger(), ['0.0.67890']))\n * .setNetwork('testnet')\n .build();\n\n * Directly with client\n * const client = new HCS10Client(config);\n * const connectionFeeConfig = new FeeConfigBuilder({\n * network: NetworkType.TESTNET,\n * logger: new Logger(),\n * defaultCollectorAccountId: client.getAccountAndSigner().accountId,\n * defaultExemptAccountIds: ['0.0.67890']\n * })\n * .withHbarFee(0.5) // 0.5 HBAR (simple!)\n * .build();\n\n * const result = await client.handleConnectionRequest(\n * inboundTopicId,\n * requestingAccountId,\n * connectionRequestId,\n * connectionFeeConfig\n * );\n*/\nexport interface FeeConfigBuilderOptions {\n network: NetworkType;\n logger: Logger;\n defaultCollectorAccountId?: string;\n}\n\nexport class FeeConfigBuilder implements FeeConfigBuilderInterface {\n private customFees: TokenFeeConfig[] = [];\n private mirrorNode: HederaMirrorNode;\n private logger: Logger;\n private defaultCollectorAccountId: string;\n\n constructor(options: FeeConfigBuilderOptions) {\n this.logger = options.logger;\n this.mirrorNode = new HederaMirrorNode(options.network, options.logger);\n this.defaultCollectorAccountId = options.defaultCollectorAccountId || '';\n }\n\n /**\n * Static factory method to create a FeeConfigBuilder with a single HBAR fee.\n * @param hbarAmount Amount in HBAR.\n * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.\n * @param network Network type ('mainnet' or 'testnet').\n * @param logger Logger instance.\n * @param exemptAccounts Optional array of account IDs exempt from this fee.\n * @returns A configured FeeConfigBuilder instance.\n */\n static forHbar(\n hbarAmount: number,\n collectorAccountId: string | undefined,\n network: NetworkType,\n logger: Logger,\n exemptAccounts: string[] = [],\n ): FeeConfigBuilder {\n const builder = new FeeConfigBuilder({\n network,\n logger,\n defaultCollectorAccountId: collectorAccountId,\n });\n return builder.addHbarFee(hbarAmount, collectorAccountId, exemptAccounts);\n }\n\n /**\n * Static factory method to create a FeeConfigBuilder with a single token fee.\n * Automatically fetches token decimals if not provided.\n * @param tokenAmount Amount of tokens.\n * @param feeTokenId Token ID for the fee.\n * @param collectorAccountId Optional account ID to collect the fee. If omitted or undefined, defaults to the agent's own account ID during topic creation.\n * @param network Network type ('mainnet' or 'testnet').\n * @param logger Logger instance.\n * @param exemptAccounts Optional array of account IDs exempt from this fee.\n * @param decimals Optional decimals for the token (fetched if omitted).\n * @returns A Promise resolving to a configured FeeConfigBuilder instance.\n */\n static async forToken(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId: string | undefined,\n network: NetworkType,\n logger: Logger,\n exemptAccounts: string[] = [],\n decimals?: number,\n ): Promise<FeeConfigBuilder> {\n const builder = new FeeConfigBuilder({\n network,\n logger,\n defaultCollectorAccountId: collectorAccountId,\n });\n await builder.addTokenFee(\n tokenAmount,\n feeTokenId,\n collectorAccountId,\n decimals,\n exemptAccounts,\n );\n return builder;\n }\n\n /**\n * Adds an HBAR fee configuration to the builder.\n * Allows chaining multiple fee additions.\n * @param hbarAmount The amount in HBAR (e.g., 0.5).\n * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.\n * @param exemptAccountIds Optional. Accounts specifically exempt from *this* HBAR fee.\n * @returns This FeeConfigBuilder instance for chaining.\n */\n addHbarFee(\n hbarAmount: number,\n collectorAccountId?: string,\n exemptAccountIds: string[] = [],\n ): FeeConfigBuilder {\n if (hbarAmount <= 0) {\n throw new Error('HBAR amount must be greater than zero');\n }\n\n this.customFees.push({\n feeAmount: {\n amount: hbarAmount * 100_000_000,\n decimals: 0,\n },\n feeCollectorAccountId:\n collectorAccountId || this.defaultCollectorAccountId,\n feeTokenId: undefined,\n exemptAccounts: [...exemptAccountIds],\n type: CustomFeeType.FIXED_FEE,\n });\n\n return this;\n }\n\n /**\n * Adds a token fee configuration to the builder.\n * Allows chaining multiple fee additions.\n * Fetches token decimals automatically if not provided.\n * @param tokenAmount The amount of the specified token.\n * @param feeTokenId The ID of the token to charge the fee in.\n * @param collectorAccountId Optional. The account ID to collect this fee. If omitted, defaults to the agent's own account ID during topic creation.\n * @param decimals Optional. The number of decimals for the token. If omitted, it will be fetched from the mirror node.\n * @param exemptAccountIds Optional. Accounts specifically exempt from *this* token fee.\n * @returns A Promise resolving to this FeeConfigBuilder instance for chaining.\n */\n async addTokenFee(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId?: string,\n decimals?: number,\n exemptAccountIds: string[] = [],\n ): Promise<FeeConfigBuilder> {\n if (tokenAmount <= 0) {\n throw new Error('Token amount must be greater than zero');\n }\n if (!feeTokenId) {\n throw new Error('Fee token ID is required when adding a token fee');\n }\n\n let finalDecimals = decimals;\n if (finalDecimals === undefined) {\n try {\n const tokenInfo = await this.mirrorNode.getTokenInfo(feeTokenId);\n if (tokenInfo?.decimals) {\n finalDecimals = parseInt(tokenInfo.decimals, 10);\n this.logger.info(\n `Fetched decimals for ${feeTokenId}: ${finalDecimals}`,\n );\n } else {\n this.logger.warn(\n `Could not fetch decimals for ${feeTokenId}, defaulting to 0.`,\n );\n finalDecimals = 0;\n }\n } catch (error) {\n this.logger.error(\n `Error fetching decimals for ${feeTokenId}, defaulting to 0: ${error}`,\n );\n finalDecimals = 0;\n }\n }\n\n this.customFees.push({\n feeAmount: {\n amount: tokenAmount * 10 ** finalDecimals,\n decimals: finalDecimals,\n },\n feeCollectorAccountId:\n collectorAccountId || this.defaultCollectorAccountId,\n feeTokenId: feeTokenId,\n exemptAccounts: [...exemptAccountIds],\n type: CustomFeeType.FIXED_FEE,\n });\n\n return this;\n }\n\n /**\n * Builds the final TopicFeeConfig object.\n * @returns The TopicFeeConfig containing all added custom fees and a consolidated list of unique exempt accounts.\n * @throws Error if no fees have been added.\n * @throws Error if more than 10 fees have been added.\n */\n build(): TopicFeeConfig {\n if (this.customFees.length === 0) {\n throw new Error(\n 'At least one fee must be added using addHbarFee/addTokenFee or created using forHbar/forToken',\n );\n }\n\n if (this.customFees.length > 10) {\n throw new Error('Maximum of 10 custom fees per topic allowed');\n }\n\n const allExemptAccounts = new Set<string>();\n this.customFees.forEach(fee => {\n fee.exemptAccounts.forEach(account => allExemptAccounts.add(account));\n });\n\n const resolvedCustomFees = this.customFees.map(fee => ({\n ...fee,\n feeCollectorAccountId:\n fee.feeCollectorAccountId || this.defaultCollectorAccountId,\n }));\n\n return {\n customFees: resolvedCustomFees,\n exemptAccounts: Array.from(allExemptAccounts),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|