@openguardrails/moltguard
Version:
AI agent security plugin for OpenClaw: prompt injection detection, PII sanitization, and monitoring dashboard
97 lines • 3.35 kB
TypeScript
/**
* OpenGuardrails plugin configuration and credential management
*/
import type { OpenClawGuardConfig } from "./types.js";
export declare const DEFAULT_CORE_URL: string;
export type CoreCredentials = {
apiKey: string;
agentId: string;
claimUrl: string;
verificationCode: string;
email?: string;
/** The Core URL these credentials were issued by */
coreUrl?: string;
};
/**
* Load credentials from disk.
* If the credentials were issued by a different Core URL, returns null
* (credentials from production won't work in dev and vice versa).
*
* @param configuredCoreUrl - The Core URL from plugin config (openclaw.json).
* When provided, credentials are validated against this URL instead of DEFAULT_CORE_URL.
*/
export declare function loadCoreCredentials(configuredCoreUrl?: string): CoreCredentials | null;
export declare function saveCoreCredentials(creds: CoreCredentials, coreUrl?: string): void;
export declare function deleteCoreCredentials(): boolean;
/** @deprecated Use loadCoreCredentials().apiKey instead */
export declare function loadApiKey(): string | null;
export type RegisterResult = {
credentials: CoreCredentials;
activateUrl: string;
loginUrl: string;
};
export declare function registerWithCore(name: string, description: string, coreUrl?: string): Promise<RegisterResult>;
/**
* Polls Core `/api/v1/account` to learn the agent's verified email.
* Returns `{ email, status }` if the agent is active, null otherwise.
*/
export declare function pollAccountEmail(apiKey: string, coreUrl?: string): Promise<{
email: string;
status: string;
} | null>;
export type ResolvedGuardConfig = Required<Omit<OpenClawGuardConfig, "plan">> & Pick<OpenClawGuardConfig, "plan">;
export declare const DEFAULT_CONFIG: ResolvedGuardConfig;
export type AgentProfile = {
emoji: string;
creature: string;
vibe: string;
model: string;
provider: string;
ownerName: string;
skills: {
name: string;
description?: string;
}[];
plugins: {
name: string;
enabled: boolean;
}[];
hooks: {
name: string;
enabled: boolean;
}[];
connectedSystems: string[];
channels: string[];
sessionCount: number;
lastActive: string | null;
workspaceFiles: {
soul: string;
identity: string;
user: string;
agents: string;
tools: string;
heartbeat: string;
};
bootstrapExists: boolean;
cronJobs: Array<{
id?: string;
schedule?: string;
task?: string;
enabled?: boolean;
}>;
};
/** @deprecated use readAgentProfile() */
export type AgentInfo = AgentProfile;
/**
* Reads the full OpenClaw workspace profile from ~/.openclaw/ to report to the dashboard.
* All fields degrade gracefully — missing files produce empty strings/arrays.
*/
export declare function readAgentProfile(): AgentProfile;
/** @deprecated use readAgentProfile() */
export declare function readAgentInfo(): AgentProfile;
/**
* Returns file paths that should be watched for changes to trigger a profile re-upload.
*/
export declare function getProfileWatchPaths(openclawDir?: string): string[];
export declare function resolveConfig(config?: Partial<OpenClawGuardConfig>): ResolvedGuardConfig;
//# sourceMappingURL=config.d.ts.map