/** * @name runtime/payment-bridge-process * @description Process lock and diagnostics for the local sap_payments stdio bridge. * * The lock is intentionally scoped by profile + runtime id, not globally. Users * can run Codex and Hermes at the same time, but one runtime should not spawn * multiple payment bridges for the same SAP profile. */ export interface PaymentBridgeLockRecord { pid: number; ppid: number; profileName: string; runtimeId: string; version: string; createdAt: string; lockPath: string; } export interface PaymentBridgeProcessInfo { pid: number; ppid?: number; elapsed?: string; command: string; currentProcess: boolean; } export interface PaymentBridgeProcessStatus { pid: number; ppid: number; version: string; bridgeOnly: boolean; profileName: string; runtimeId: string; lock: { enabled: boolean; path: string; heldByCurrentProcess: boolean; record?: Omit; stale: boolean; }; processes: { supported: boolean; currentProcessVisible: boolean; possibleSapMcpProcesses: PaymentBridgeProcessInfo[]; duplicateCount: number; warning?: string; }; nextAction: string; } export declare class PaymentBridgeLockError extends Error { readonly record: PaymentBridgeLockRecord; constructor(message: string, record: PaymentBridgeLockRecord); } export declare function resolvePaymentBridgeProfileName(): string; export declare function resolvePaymentBridgeRuntimeId(): string; export declare function getPaymentBridgeLockPath(profileName?: string, runtimeId?: string): string; export declare function acquirePaymentBridgeProcessLock(): PaymentBridgeLockRecord | undefined; export declare function releasePaymentBridgeProcessLock(): void; export declare function listPossibleSapMcpProcesses(): { supported: boolean; processes: PaymentBridgeProcessInfo[]; warning?: string; }; export declare function getPaymentBridgeProcessStatus(): PaymentBridgeProcessStatus; //# sourceMappingURL=payment-bridge-process.d.ts.map