82 lines
4.2 KiB
TypeScript
82 lines
4.2 KiB
TypeScript
import type {
|
|
TryHandleAssistantLivingChatRuntimeInput
|
|
} from "./assistantLivingChatHandlerRuntimeAdapter";
|
|
import type { RunAssistantLivingChatLlmRuntimeInput } from "./assistantLivingChatLlmRuntimeAdapter";
|
|
|
|
export interface BuildAssistantLivingChatLlmRuntimeInputInput {
|
|
userMessage: RunAssistantLivingChatLlmRuntimeInput["userMessage"];
|
|
sessionItems: RunAssistantLivingChatLlmRuntimeInput["sessionItems"];
|
|
payload: RunAssistantLivingChatLlmRuntimeInput["payload"];
|
|
chatClient: RunAssistantLivingChatLlmRuntimeInput["chatClient"];
|
|
loadAssistantCanonExcerpt: RunAssistantLivingChatLlmRuntimeInput["loadAssistantCanonExcerpt"];
|
|
sanitizeOutgoingAssistantText: RunAssistantLivingChatLlmRuntimeInput["sanitizeOutgoingAssistantText"];
|
|
defaultModel: RunAssistantLivingChatLlmRuntimeInput["defaultModel"];
|
|
defaultBaseUrl: RunAssistantLivingChatLlmRuntimeInput["defaultBaseUrl"];
|
|
defaultApiKey?: RunAssistantLivingChatLlmRuntimeInput["defaultApiKey"];
|
|
}
|
|
|
|
export function buildAssistantLivingChatLlmRuntimeInput(
|
|
input: BuildAssistantLivingChatLlmRuntimeInputInput
|
|
): RunAssistantLivingChatLlmRuntimeInput {
|
|
return {
|
|
userMessage: input.userMessage,
|
|
sessionItems: input.sessionItems,
|
|
payload: input.payload,
|
|
chatClient: input.chatClient,
|
|
loadAssistantCanonExcerpt: input.loadAssistantCanonExcerpt,
|
|
sanitizeOutgoingAssistantText: input.sanitizeOutgoingAssistantText,
|
|
defaultModel: input.defaultModel,
|
|
defaultBaseUrl: input.defaultBaseUrl,
|
|
defaultApiKey: input.defaultApiKey
|
|
};
|
|
}
|
|
|
|
export interface BuildAssistantLivingChatHandlerRuntimeInputInput<ResponseType = unknown>
|
|
extends Omit<TryHandleAssistantLivingChatRuntimeInput<ResponseType>, "executeLlmChat"> {
|
|
executeLlmChat: TryHandleAssistantLivingChatRuntimeInput<ResponseType>["executeLlmChat"];
|
|
}
|
|
|
|
export function buildAssistantLivingChatHandlerRuntimeInput<ResponseType = unknown>(
|
|
input: BuildAssistantLivingChatHandlerRuntimeInputInput<ResponseType>
|
|
): TryHandleAssistantLivingChatRuntimeInput<ResponseType> {
|
|
return {
|
|
sessionId: input.sessionId,
|
|
userMessage: input.userMessage,
|
|
sessionItems: input.sessionItems,
|
|
modeDecision: input.modeDecision,
|
|
sessionScope: input.sessionScope,
|
|
addressRuntimeMeta: input.addressRuntimeMeta,
|
|
traceIdFactory: input.traceIdFactory,
|
|
toNonEmptyString: input.toNonEmptyString,
|
|
mergeKnownOrganizations: input.mergeKnownOrganizations,
|
|
hasAssistantDataScopeMetaQuestionSignal: input.hasAssistantDataScopeMetaQuestionSignal,
|
|
shouldHandleAsAssistantCapabilityMetaQuery: input.shouldHandleAsAssistantCapabilityMetaQuery,
|
|
hasDestructiveDataActionSignal: input.hasDestructiveDataActionSignal,
|
|
hasDangerOrCoercionSignal: input.hasDangerOrCoercionSignal,
|
|
hasOperationalAdminActionRequestSignal: input.hasOperationalAdminActionRequestSignal,
|
|
hasOrganizationFactLookupSignal: input.hasOrganizationFactLookupSignal,
|
|
hasOrganizationFactFollowupSignal: input.hasOrganizationFactFollowupSignal,
|
|
shouldEmitOrganizationSelectionReply: input.shouldEmitOrganizationSelectionReply,
|
|
hasAssistantCapabilityQuestionSignal: input.hasAssistantCapabilityQuestionSignal,
|
|
resolveDataScopeProbe: input.resolveDataScopeProbe,
|
|
executeLlmChat: input.executeLlmChat,
|
|
applyScriptGuard: input.applyScriptGuard,
|
|
applyGroundingGuard: input.applyGroundingGuard,
|
|
buildAssistantSafetyRefusalReply: input.buildAssistantSafetyRefusalReply,
|
|
buildAssistantDataScopeContractReply: input.buildAssistantDataScopeContractReply,
|
|
buildAssistantOrganizationFactBoundaryReply: input.buildAssistantOrganizationFactBoundaryReply,
|
|
buildAssistantDataScopeSelectionReply: input.buildAssistantDataScopeSelectionReply,
|
|
buildAssistantOperationalBoundaryReply: input.buildAssistantOperationalBoundaryReply,
|
|
buildAssistantCapabilityContractReply: input.buildAssistantCapabilityContractReply,
|
|
appendItem: input.appendItem,
|
|
getSession: input.getSession,
|
|
persistSession: input.persistSession,
|
|
cloneConversation: input.cloneConversation,
|
|
logEvent: input.logEvent,
|
|
messageIdFactory: input.messageIdFactory,
|
|
nowIso: input.nowIso,
|
|
runLivingChatRuntime: input.runLivingChatRuntime,
|
|
finalizeLivingChatTurn: input.finalizeLivingChatTurn
|
|
};
|
|
}
|