/** * Hosted-safe unsigned builders for SAP agent identity and registry writes. * * Hosted SAP MCP is accountless: it cannot sign user-owned writes, and * `hosted_local_signer_required` blocks direct `sap_register_agent`, * `sap_update_agent`, `sap_deactivate_agent`, `sap_reactivate_agent`, * `sap_close_agent`, `sap_migrate_pricing_menu`, `sap_report_calls`, * `sap_update_reputation_metrics`, and `sap_sns_register_agent_domain` * before monetization. Browser runtimes (Steve) have no local keypair * file, so the only non-custodial path for them is the one already used * by escrow: a hosted unsigned builder, browser-side preview + policy + * owner approval, local signature, then `sap_payments_finalize_transaction` * or the Steve signed-transaction submit relay. * * Every builder here returns base64 TX with the owner wallet as the sole * required signer (fee payer). Keypair bytes never leave the user device. * * @module tools/identity-builders */ import type { SapClient } from '@oobe-protocol-labs/synapse-sap-sdk'; /** JSON object shape used across MCP tool input/output surfaces. */ type JsonRecord = Record; interface IdentityBuilderResult { action: string; transactionBase64: string; encoding: 'base64'; requiredSigner: string; requiredSignerRole: 'agentWallet'; submitWith: 'sap_payments_finalize_transaction'; nextStep: string; accounts: JsonRecord; warnings?: string[]; } export declare function buildAgentRegisterTransaction(input: JsonRecord, client: SapClient): Promise; export declare function buildAgentUpdateTransaction(input: JsonRecord, client: SapClient): Promise; export declare function buildAgentLifecycleTransaction(action: 'deactivate_agent' | 'reactivate_agent' | 'close_agent' | 'migrate_pricing_menu', input: JsonRecord, client: SapClient): Promise; export declare function buildAgentReportCallsTransaction(input: JsonRecord, client: SapClient): Promise; export {}; //# sourceMappingURL=identity-builders.d.ts.map