108 lines
7.7 KiB
TypeScript
108 lines
7.7 KiB
TypeScript
import type { RunAssistantLivingChatAttemptRuntimeInput } from "./assistantLivingChatAttemptRuntimeAdapter";
|
|
|
|
interface AssistantLivingChatAttemptSessionScope {
|
|
knownOrganizations: string[];
|
|
selectedOrganization: string | null;
|
|
activeOrganization: string | null;
|
|
}
|
|
|
|
export interface BuildAssistantLivingChatAttemptRuntimeInputInput<ResponseType = unknown> {
|
|
sessionId: string;
|
|
userMessage: string;
|
|
sessionItems: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["sessionItems"];
|
|
modeDecision: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["modeDecision"];
|
|
sessionScope: AssistantLivingChatAttemptSessionScope;
|
|
addressRuntimeMeta?: Record<string, unknown> | null;
|
|
toNonEmptyString: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["toNonEmptyString"];
|
|
mergeKnownOrganizations: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["mergeKnownOrganizations"];
|
|
hasAssistantDataScopeMetaQuestionSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasAssistantDataScopeMetaQuestionSignal"];
|
|
shouldHandleAsAssistantCapabilityMetaQuery: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["shouldHandleAsAssistantCapabilityMetaQuery"];
|
|
hasDestructiveDataActionSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasDestructiveDataActionSignal"];
|
|
hasDangerOrCoercionSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasDangerOrCoercionSignal"];
|
|
hasOperationalAdminActionRequestSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasOperationalAdminActionRequestSignal"];
|
|
hasOrganizationFactLookupSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasOrganizationFactLookupSignal"];
|
|
hasOrganizationFactFollowupSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasOrganizationFactFollowupSignal"];
|
|
hasLivingChatSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasLivingChatSignal"];
|
|
shouldEmitOrganizationSelectionReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["shouldEmitOrganizationSelectionReply"];
|
|
hasAssistantCapabilityQuestionSignal: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["hasAssistantCapabilityQuestionSignal"];
|
|
resolveDataScopeProbe: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["resolveDataScopeProbe"];
|
|
applyScriptGuard: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["applyScriptGuard"];
|
|
applyGroundingGuard: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["applyGroundingGuard"];
|
|
buildAssistantSafetyRefusalReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantSafetyRefusalReply"];
|
|
buildAssistantDataScopeContractReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantDataScopeContractReply"];
|
|
buildAssistantProactiveOrganizationOfferReply:
|
|
RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantProactiveOrganizationOfferReply"];
|
|
buildAssistantOrganizationFactBoundaryReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantOrganizationFactBoundaryReply"];
|
|
buildAssistantDataScopeSelectionReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantDataScopeSelectionReply"];
|
|
buildAssistantOperationalBoundaryReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantOperationalBoundaryReply"];
|
|
buildAssistantCapabilityContractReply: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["buildAssistantCapabilityContractReply"];
|
|
appendItem: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["appendItem"];
|
|
getSession: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["getSession"];
|
|
persistSession: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["persistSession"];
|
|
cloneConversation: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["cloneConversation"];
|
|
logEvent: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["logEvent"];
|
|
messageIdFactory: NonNullable<RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["messageIdFactory"]>;
|
|
nowIso: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["nowIso"];
|
|
payload: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["payload"];
|
|
chatClient: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["chatClient"];
|
|
loadAssistantCanonExcerpt: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["loadAssistantCanonExcerpt"];
|
|
sanitizeOutgoingAssistantText: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["sanitizeOutgoingAssistantText"];
|
|
defaultModel: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["defaultModel"];
|
|
defaultBaseUrl: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["defaultBaseUrl"];
|
|
defaultApiKey?: RunAssistantLivingChatAttemptRuntimeInput<ResponseType>["defaultApiKey"];
|
|
}
|
|
|
|
export function buildAssistantLivingChatAttemptRuntimeInput<ResponseType = unknown>(
|
|
input: BuildAssistantLivingChatAttemptRuntimeInputInput<ResponseType>
|
|
): RunAssistantLivingChatAttemptRuntimeInput<ResponseType> {
|
|
return {
|
|
sessionId: input.sessionId,
|
|
userMessage: input.userMessage,
|
|
sessionItems: input.sessionItems,
|
|
modeDecision: input.modeDecision,
|
|
sessionScope: {
|
|
knownOrganizations: input.sessionScope.knownOrganizations,
|
|
selectedOrganization: input.sessionScope.selectedOrganization,
|
|
activeOrganization: input.sessionScope.activeOrganization
|
|
},
|
|
addressRuntimeMeta: input.addressRuntimeMeta ?? null,
|
|
traceIdFactory: () => `chat-${input.messageIdFactory().replace(/^msg-/, "")}`,
|
|
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,
|
|
hasLivingChatSignal: input.hasLivingChatSignal,
|
|
shouldEmitOrganizationSelectionReply: input.shouldEmitOrganizationSelectionReply,
|
|
hasAssistantCapabilityQuestionSignal: input.hasAssistantCapabilityQuestionSignal,
|
|
resolveDataScopeProbe: input.resolveDataScopeProbe,
|
|
applyScriptGuard: input.applyScriptGuard,
|
|
applyGroundingGuard: input.applyGroundingGuard,
|
|
buildAssistantSafetyRefusalReply: input.buildAssistantSafetyRefusalReply,
|
|
buildAssistantDataScopeContractReply: input.buildAssistantDataScopeContractReply,
|
|
buildAssistantProactiveOrganizationOfferReply: input.buildAssistantProactiveOrganizationOfferReply,
|
|
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,
|
|
payload: input.payload,
|
|
chatClient: input.chatClient,
|
|
loadAssistantCanonExcerpt: input.loadAssistantCanonExcerpt,
|
|
sanitizeOutgoingAssistantText: input.sanitizeOutgoingAssistantText,
|
|
defaultModel: input.defaultModel,
|
|
defaultBaseUrl: input.defaultBaseUrl,
|
|
defaultApiKey: input.defaultApiKey
|
|
};
|
|
}
|