MCPcopy Index your code
hub / github.com/Noumena-Network/code / executeUserPromptSubmitHooks

Function executeUserPromptSubmitHooks

src/utils/hooks.ts:3830–3859  ·  view source on GitHub ↗
(
  prompt: string,
  permissionMode: string,
  toolUseContext: ToolUseContext,
  requestPrompt?: (
    sourceName: string,
    toolInputSummary?: string | null,
  ) => (request: PromptRequest) => Promise<PromptResponse>,
)

Source from the content-addressed store, hash-verified

3828 * @returns Async generator that yields progress messages and hook results
3829 */
3830export async function* executeUserPromptSubmitHooks(
3831 prompt: string,
3832 permissionMode: string,
3833 toolUseContext: ToolUseContext,
3834 requestPrompt?: (
3835 sourceName: string,
3836 toolInputSummary?: string | null,
3837 ) => (request: PromptRequest) => Promise<PromptResponse>,
3838): AsyncGenerator<AggregatedHookResult> {
3839 const appState = toolUseContext.getAppState()
3840 const sessionId = toolUseContext.agentId ?? getSessionId()
3841 if (!hasHookForEvent('UserPromptSubmit', appState, sessionId)) {
3842 return
3843 }
3844
3845 const hookInput: UserPromptSubmitHookInput = {
3846 ...createBaseHookInput(permissionMode),
3847 hook_event_name: 'UserPromptSubmit',
3848 prompt,
3849 }
3850
3851 yield* executeHooks({
3852 hookInput,
3853 toolUseID: randomUUID(),
3854 signal: toolUseContext.abortController.signal,
3855 timeoutMs: TOOL_HOOK_EXECUTION_TIMEOUT_MS,
3856 toolUseContext,
3857 requestPrompt,
3858 })
3859}
3860
3861/**
3862 * Execute session start hooks if configured

Callers 1

processUserInputFunction · 0.85

Calls 5

randomUUIDFunction · 0.90
getSessionIdFunction · 0.85
hasHookForEventFunction · 0.85
createBaseHookInputFunction · 0.85
executeHooksFunction · 0.85

Tested by

no test coverage detected