openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
26 lines (25 loc) • 1.12 kB
JavaScript
import { t as ADMIN_SCOPE } from "./operator-scopes-Dw7Gu2cA.js";
import { t as ErrorCodes } from "./gateway-error-details-w0nAGBBp.js";
import "./node-commands-BC8PhxqU.js";
import { d as errorShape } from "./error-codes-Bo8q2D1o.js";
//#region src/gateway/server-methods/nodes-policy.ts
const nodeInvokePolicy = {
wakeThrottleMs: 15e3,
wakeNudgeThrottleMs: 6e5,
pendingActionTtlMs: 6e5,
pendingActionMaxPerNode: 64,
canReadPendingNodePairing(client) {
const scopes = Array.isArray(client?.connect?.scopes) ? client.connect.scopes : [];
return scopes.includes("operator.admin") || scopes.includes("operator.pairing");
},
clientHasOperatorAdminScope(client) {
return (Array.isArray(client?.connect?.scopes) ? client.connect.scopes : []).includes(ADMIN_SCOPE);
},
rejectClaudeAgentRun(command, respond) {
if (command !== "agent.cli.claude.run.v1") return false;
respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "node.invoke does not allow Claude agent runs; use sessions.catalog.continue", { details: { command } }));
return true;
}
};
//#endregion
export { nodeInvokePolicy as t };