MCPcopy Create free account
hub / github.com/Noumena-Network/code / executeElicitationResultHooks

Function executeElicitationResultHooks

src/utils/hooks.ts:4529–4579  ·  view source on GitHub ↗
({
  serverName,
  action,
  content,
  permissionMode,
  signal,
  timeoutMs = TOOL_HOOK_EXECUTION_TIMEOUT_MS,
  mode,
  elicitationId,
}: {
  serverName: string
  action: 'accept' | 'decline' | 'cancel'
  content?: Record<string, unknown>
  permissionMode?: string
  signal?: AbortSignal
  timeoutMs?: number
  mode?: 'form' | 'url'
  elicitationId?: string
})

Source from the content-addressed store, hash-verified

4527}
4528
4529export async function executeElicitationResultHooks({
4530 serverName,
4531 action,
4532 content,
4533 permissionMode,
4534 signal,
4535 timeoutMs = TOOL_HOOK_EXECUTION_TIMEOUT_MS,
4536 mode,
4537 elicitationId,
4538}: {
4539 serverName: string
4540 action: 'accept' | 'decline' | 'cancel'
4541 content?: Record<string, unknown>
4542 permissionMode?: string
4543 signal?: AbortSignal
4544 timeoutMs?: number
4545 mode?: 'form' | 'url'
4546 elicitationId?: string
4547}): Promise<ElicitationResultHookResult> {
4548 const hookInput: ElicitationResultHookInput = {
4549 ...createBaseHookInput(permissionMode),
4550 hook_event_name: 'ElicitationResult',
4551 mcp_server_name: serverName,
4552 elicitation_id: elicitationId,
4553 mode,
4554 action,
4555 content,
4556 }
4557
4558 const results = await executeHooksOutsideREPL({
4559 hookInput,
4560 matchQuery: serverName,
4561 signal,
4562 timeoutMs,
4563 })
4564
4565 let elicitationResultResponse: ElicitationResponse | undefined
4566 let blockingError: HookBlockingError | undefined
4567
4568 for (const result of results) {
4569 const parsed = parseElicitationHookOutput(result, 'ElicitationResult')
4570 if (parsed.blockingError) {
4571 blockingError = parsed.blockingError
4572 }
4573 if (parsed.response) {
4574 elicitationResultResponse = parsed.response
4575 }
4576 }
4577
4578 return { elicitationResultResponse, blockingError }
4579}
4580
4581/**
4582 * Execute status line command if configured

Callers 1

Calls 3

createBaseHookInputFunction · 0.85
executeHooksOutsideREPLFunction · 0.85

Tested by

no test coverage detected