openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
41 lines (40 loc) • 2.36 kB
JavaScript
import { r as isIncognitoSessionKey } from "./session-key-DDIJxXfQ.mjs";
import "./session-key-BC4m_Ly5.mjs";
import { n as authorizeOperatorScopesForMethod } from "./method-scopes-C-MKLkWf.mjs";
import { f as runWithCronCreatorAuthorityCapability, u as createCronCreatorAuthorityCapability } from "./cron-creator-authority-context-C3oD224u.mjs";
import { n as resolveGatewayChatCronCreatorAuthorityAdmission, t as isDirectGatewayChatUserTurn } from "./cron-creator-authority-admission-2dzr1dGI.mjs";
import { t as handleChatSend } from "./chat-send-handler-45eYuMbo.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({
runId: params.runId,
resolvedSessionKey: params.sessionKey,
spawnedBy: params.spawnedBy,
client: params.client,
isCurrent: params.isCurrent,
inputProvenance: params.inputProvenance,
hasExplicitOrigin: params.hasExplicitOrigin,
hasRestoredCronContinuation: params.hasRestoredCronContinuation,
isIncognito: params.isIncognitoEntry || isIncognitoSessionKey(params.sessionKey),
isReconnectResume: params.isReconnectResume,
isSystemGenerated: params.isSystemGenerated,
turnKind: params.turnKind,
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 };