feat: flexible intake — deferred variables + prepared sessions (#103)
* feat: flexible intake — deferred variables + prepared sessions
Remove blocking intake form modal. Variables are now filled inline during
flow execution or pre-filled via prepared sessions. Adds PATCH /sessions/{id}/variables
endpoint, POST /sessions/prepare for session pre-staging, inline variable prompts
in StepDetail, editable Session Variables panel, and "Prepared for You" dashboard section.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: pass treeData directly to startSession to avoid stale state
setTree(treeData) hasn't committed when startSession runs immediately
after, so tree is still null and getStepsFromTree returns []. This
caused the step detail area to render empty on new session start.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: wire PrepareSessionModal entry point in Flow Library
Add "Prepare session" button (clipboard icon) to grid, list, and table
views for procedural/maintenance flows. Clicking fetches tree intake
fields and account members, then opens PrepareSessionModal.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit was merged in pull request #103.
This commit is contained in:
@@ -177,10 +177,10 @@ export function TreeNavigationPage() {
|
||||
|
||||
const deriveCurrentStepEnteredAt = (sessionData: Session): string => {
|
||||
if (!sessionData.decisions || sessionData.decisions.length === 0) {
|
||||
return sessionData.started_at
|
||||
return sessionData.started_at || new Date().toISOString()
|
||||
}
|
||||
const lastDecision = sessionData.decisions[sessionData.decisions.length - 1]
|
||||
return lastDecision.exited_at || lastDecision.timestamp || sessionData.started_at
|
||||
return lastDecision.exited_at || lastDecision.timestamp || sessionData.started_at || new Date().toISOString()
|
||||
}
|
||||
|
||||
const openCompletionModal = (completionDecision: DecisionRecord, source: CompletionSource) => {
|
||||
@@ -320,7 +320,7 @@ export function TreeNavigationPage() {
|
||||
client_name: clientName || undefined,
|
||||
})
|
||||
setSession(newSession)
|
||||
setCurrentStepEnteredAt(newSession.started_at)
|
||||
setCurrentStepEnteredAt(newSession.started_at || new Date().toISOString())
|
||||
setShowMetadataForm(false)
|
||||
// Save for "Repeat Last Session"
|
||||
safeSetItem('last-session', JSON.stringify({
|
||||
|
||||
Reference in New Issue
Block a user