import type { OpenClawConfig } from "../../config/types.openclaw.js" ;
import {
createAgentToAgentPolicy,
createSessionVisibilityChecker,
createSessionVisibilityGuard,
listSpawnedSessionKeys,
resolveEffectiveSessionToolsVisibility,
resolveSandboxSessionToolsVisibility,
resolveSessionToolsVisibility,
} from "../../plugin-sdk/session-visibility.js" ;
import { isSubagentSessionKey } from "../../routing/session-key.js" ;
import { normalizeOptionalString } from "../../shared/string-coerce.js" ;
import { resolveInternalSessionKey, resolveMainSessionAlias } from "./sessions-resolution.js" ;
export type {
AgentToAgentPolicy,
SessionAccessAction,
SessionAccessResult,
SessionToolsVisibility,
} from "../../plugin-sdk/session-visibility.js" ;
export {
createAgentToAgentPolicy,
createSessionVisibilityChecker,
createSessionVisibilityGuard,
listSpawnedSessionKeys,
resolveEffectiveSessionToolsVisibility,
resolveSandboxSessionToolsVisibility,
resolveSessionToolsVisibility,
} from "../../plugin-sdk/session-visibility.js" ;
export function resolveSandboxedSessionToolContext(params: {
cfg: OpenClawConfig;
agentSessionKey?: string;
sandboxed?: boolean ;
}): {
mainKey: string;
alias: string;
visibility: "spawned" | "all" ;
requesterInternalKey: string | undefined;
effectiveRequesterKey: string;
restrictToSpawned: boolean ;
} {
const { mainKey, alias } = resolveMainSessionAlias(params.cfg);
const visibility = resolveSandboxSessionToolsVisibility(params.cfg);
const requesterSessionKey = normalizeOptionalString(params.agentSessionKey);
const requesterInternalKey = requesterSessionKey
? resolveInternalSessionKey({
key: requesterSessionKey,
alias,
mainKey,
})
: undefined;
const effectiveRequesterKey = requesterInternalKey ?? alias;
const restrictToSpawned =
params.sandboxed === true &&
visibility === "spawned" &&
!!requesterInternalKey &&
!isSubagentSessionKey(requesterInternalKey);
return {
mainKey,
alias,
visibility,
requesterInternalKey,
effectiveRequesterKey,
restrictToSpawned,
};
}
Messung V0.5 in Prozent C=99 H=98 G=98
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland