MCPcopy
hub / github.com/codeaashu/claude-code / executeUserPromptSubmitHooks

Function executeUserPromptSubmitHooks

src/utils/hooks.ts:3826–3855  ·  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

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

Callers 1

processUserInputFunction · 0.85

Calls 4

getSessionIdFunction · 0.85
hasHookForEventFunction · 0.85
createBaseHookInputFunction · 0.85
executeHooksFunction · 0.85

Tested by

no test coverage detected