Files
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

31 lines
689 B
TypeScript

import type { KbxStatusSemantic } from './status'
export interface KbxWorkflowStateDefinition {
value: string
label: string
semantic: KbxStatusSemantic
terminal?: boolean
}
export interface KbxWorkflowTransitionDefinition {
id: string
from: string[]
to: string
label: string
permission?: string
confirm?: boolean
reasonRequired?: boolean
}
export interface KbxWorkflowDefinition {
id: string
version: string
states: KbxWorkflowStateDefinition[]
transitions: KbxWorkflowTransitionDefinition[]
}
export function allowedKbxTransitions(workflow: KbxWorkflowDefinition, current: string) {
return workflow.transitions.filter(x => x.from.includes(current))
}