openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
26 lines (25 loc) • 1.35 kB
JavaScript
import { t as configureRuntimeActionDecisionSink } from "./runtime-action-decision-C4JNkXkP.js";
import { i as hasExecutionIdentityAdmissionSink, t as configureExecutionIdentityAdmissionSink } from "./execution-identity-admission-Ch95Lxwv.js";
import { t as configureExecutionDecisionWorkSink } from "./execution-decision-work-BR8wVcpq.js";
import { t as createAuditEventRecorder } from "./audit-recorder-BCaTSxYZ.js";
//#region src/commands/agent-local-audit.ts
/** Direct-local agent audit writer lifecycle shared by CLI entrypoints. */
/** Own one direct-process writer unless a surrounding runtime already owns it. */
function startAgentLocalAuditWriter(options = {}) {
if (hasExecutionIdentityAdmissionSink()) return;
const recorder = createAuditEventRecorder({
messageMode: "off",
...options.stateDir ? { stateDir: options.stateDir } : {}
});
const clearAdmissionSink = configureExecutionIdentityAdmissionSink(recorder.recordExecutionIdentity);
const clearDecisionWorkSink = configureExecutionDecisionWorkSink(recorder.recordExecutionDecisionWork);
const clearRuntimeActionSink = configureRuntimeActionDecisionSink(recorder.recordExecutionDecision);
return async () => {
clearRuntimeActionSink();
clearDecisionWorkSink();
clearAdmissionSink();
await recorder.stop();
};
}
//#endregion
export { startAgentLocalAuditWriter };