/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
packages/framework/src/resources/agent/agent.runtime.ts
30 строк
1000 B
Adam Chmara
feat(framework,api-service): self-hosted Slack-native tool approval cards fixes NV-8204 (#11805)
06 июл 2026, 15:13
Не верифицирован
06 июл 2026, 15:13
a69a43e
Код
Авторство
О чём код?
import type { AgentHandlerContext, AgentMessageContext, ReplyHandle, ToolApprovalCard, ToolResult, } from './agent.types'; import type { ToolApprovalRequestPayload } from './tool-approval/action-id'; export const RUNTIME_CONTEXT_BRAND = Symbol.for('novu.agent.runtimeContext'); export interface AgentRuntimeContext extends AgentHandlerContext { readonly [RUNTIME_CONTEXT_BRAND]: true; emitToolResult(result: ToolResult): void; emitToolApprovalRequest(request: ToolApprovalRequestPayload): void; replyApprovalCard(card: ToolApprovalCard): Promise<ReplyHandle>; asMessageContext(): AgentMessageContext; } export function isRuntimeContext(ctx: AgentHandlerContext): ctx is AgentRuntimeContext { return (ctx as AgentRuntimeContext)[RUNTIME_CONTEXT_BRAND] === true; } export function requireRuntimeContext(ctx: AgentHandlerContext): AgentRuntimeContext { if (!isRuntimeContext(ctx)) { throw new Error('Agent context must be created by Novu dispatch'); } return ctx; }