Files
OpenClaw-bot-review/lib/self-improvement-data.d.mts
Faisal C f59116866f feat: productionize self-improvement and R&D council workflows
- add canonical self-improvement/R&D Council data helpers, APIs, and tests

- persist council decisions, evidence telemetry, and work-order handoff

- harden operator UI states and require operator token by default

- ignore local R&D runtime artifacts
2026-04-30 21:43:45 -05:00

56 lines
3.1 KiB
TypeScript

export const REPO_ROOT: string;
export const COUNCIL_ITEMS_PATH: string;
export const IDEA_LEDGER_PATH: string;
export const COUNCIL_WORK_ORDERS_PATH: string;
export const ACTIVE_PROJECTS_ENV_VAR: string;
export const ACTIVE_PROJECTS_PATH: string;
export const COMMAND_AUDIT_LOG_PATH: string;
export const RD_COUNCIL_AUDIT_LOG_PATH: string;
export const RD_COUNCIL_DECISION_LEDGER_BUCKETS: Record<string, string>;
export const SELF_IMPROVEMENT_COMMANDS: Record<string, any>;
export function getCommandConfig(commandId: string): any | null;
export function validateCommandRequest(commandId: string, body?: Record<string, any>): any;
export function appendCommandAudit(entry: Record<string, any>, filePath?: string): Record<string, any>;
export function appendCouncilDecisionAudit(entry: Record<string, any>, filePath?: string): Record<string, any>;
export function commandOk(args: { command?: any; message: string; output?: string[] | string; details?: Record<string, any>; version?: string }): any;
export function commandError(args: { commandId?: string; message: string; code?: string; details?: Record<string, any>; status?: number }): any;
export function validateLocalOperatorRequest(request: any, opts?: { allowRemote?: boolean; allowUnauthenticatedLocal?: boolean }): any;
export function localOperatorDeniedPayload(reason?: string): any;
export function buildEvidenceTelemetry(input?: any): any;
export function buildCouncilDeliberation(input?: any): any;
export function summarizeCouncilItemOperatorState(raw: any, opts?: any): any;
export function getCouncilItemActionAvailability(raw: any, opts?: any): any;
export function formatCouncilDecisionApiError(decision: string, input?: any): string;
export function buildCouncilItemsFromUsage(sessionsData?: any, opts?: any): any[];
export function normalizeCouncilItem(raw: any, opts?: any): any;
export function mergeCouncilItems(existing?: any[], incoming?: any[], opts?: any): any[];
export function transformActiveProjects(activeProjects?: Record<string, any>): any[];
export function getActiveProjectsSourceCandidates(opts?: any): any[];
export function discoverActiveProjectsSource(opts?: any): any;
export function readActiveProjectsInventory(opts?: any): any;
export function findSessionFile(paths?: string[]): string | null;
export function readJsonFile(filePath: string, fallback: any): any;
export function writeJsonFile(filePath: string, value: any): void;
export function readCouncilItems(filePath?: string): any[];
export function buildCouncilWorkOrder(item: any, opts?: any): any;
export function upsertCouncilWorkOrder(item: any, filePath?: string, opts?: any): any;
export function appendCouncilItems(incoming: any[], filePath?: string): any[];
export function upsertLedgerProposed(items: any[], ledgerPath?: string): any;
export function applyCouncilDecision(args?: {
itemId: string;
decision: string;
note?: string | null;
actor?: string | null;
snoozeUntil?: string | null;
now?: string;
councilPath?: string;
ledgerPath?: string;
auditPath?: string;
workOrdersPath?: string;
}): {
item: any;
ledger: any;
auditEntry: any;
workOrder: any;
};