openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
32 lines (31 loc) • 1.96 kB
JavaScript
import { r as isIncognitoSessionKey } from "./session-key-CmZ4o9-l.mjs";
import "./session-key-DY3MOX4N.mjs";
import { n as authorizeOperatorScopesForMethod } from "./method-scopes-CRSVCw9J.mjs";
import { f as runWithCronCreatorAuthorityCapability, u as createCronCreatorAuthorityCapability } from "./cron-creator-authority-context-DJ_0mFxL.mjs";
import { f as resolveGatewayChatCronCreatorAuthorityAdmission, u as isDirectGatewayChatUserTurn } from "./skill-library-authoring-BtQ8XZ4o.mjs";
import { t as handleChatSend } from "./chat-send-handler-B0jivtwJ.mjs";
//#region src/gateway/server-methods/chat-send-external-entry.ts
const externalAuthorityAdmission = {
allowsDashboardReads: (params) => params.client?.internal?.authenticatedControlUi === true && authorizeOperatorScopesForMethod("chat.send", params.client.connect.scopes ?? []).allowed && isDirectGatewayChatUserTurn({
...params,
resolvedSessionKey: params.sessionKey,
isIncognito: params.isIncognitoEntry || isIncognitoSessionKey(params.sessionKey),
isDirectExternalUser: true
}),
resolve: (params) => {
const authority = resolveGatewayChatCronCreatorAuthorityAdmission({
...params,
resolvedSessionKey: params.sessionKey,
isIncognito: params.isIncognitoEntry || isIncognitoSessionKey(params.sessionKey),
isDirectExternalUser: true
});
return authority ? createCronCreatorAuthorityCapability(authority.runId, authority.callerOrigin, authority.managementEntitlement, authority.isCurrent, void 0, authority.requesterOwner, authority.callerScopedCreation) : void 0;
},
run: (capability, run, signal) => runWithCronCreatorAuthorityCapability(capability, run, signal)
};
/** Authenticated external chat entry; internal re-entry must call handleChatSend directly. */
function handleDirectExternalChatSend(options, onAdmissionOwned) {
return handleChatSend(options, onAdmissionOwned, externalAuthorityAdmission);
}
//#endregion
export { handleDirectExternalChatSend as t };