Files
dify/web/features/human-input

Human Input

Human Input approval forms are one feature with shared presentation and separate public and authenticated Console session owners. Form versions remain protocol concerns inside the appropriate owner rather than top-level feature folders.

Owner Responsibility Entry points
form Shared definitions, field rendering, status and branding form/loaded-form-content.tsx, form/form-status-card.tsx
public Public v2 Email OTP session and generated API transport public/form.tsx
console Signed-in approval session and Console link resolution console/form.tsx, console/links.ts

The legacy /form/[token] route consumes shared presentation while retaining its existing transport. /form-v2/[token] and /human-input/[formToken] compose the public and Console owners respectively. Workflow previews also consume shared form presentation; they do not own public verification or Console authentication.

Public form owners bind their token and transport to the shared uploader's FileUploadContext.uploadStrategy. Initial uploads, clipboard uploads and retries use the same local strategy; URL uploads use its remote strategy. The generic uploader does not inspect Human Input routes or import approval session internals.

Import the concrete owner that provides the capability. This feature does not provide a root barrel that merges the route sessions or their auth lifetimes.