1.8 KiB
1.8 KiB
值与步骤输出
1. 当前行为 [已实现]
- INPUT 的
value是步骤内字符串。 - EXTRACT_TEXT 把文本追加到
outputField。 - 最终结果中的
extracted类型是Map<String, List<String>>。 - 当前没有任务输入区、跨步骤引用或类型化输出。
2. 任务输入 [提案]
变化频繁的值可以集中放在任务 inputs:
{
"inputs": {
"keyword": "测试内容",
"quantity": 2
}
}
首版只支持 TEXT、INTEGER、DECIMAL 和 BOOLEAN。手机号、邮编和外部编号等需要保留格式的值使用 TEXT。
3. 值引用 [提案]
字面量:
{
"value": {
"source": "LITERAL",
"value": "固定内容"
}
}
任务输入:
{
"value": {
"source": "TASK_INPUT",
"key": "keyword"
}
}
步骤输出:
{
"value": {
"source": "STEP_OUTPUT",
"stepId": "read-code",
"field": "code"
}
}
首版不提供模板语言或表达式执行。引用不存在时返回 VALUE_NOT_FOUND。
4. 步骤输出 [提案]
{
"output": {
"code": {
"type": "TEXT",
"value": "A-100"
}
}
}
一个步骤可以输出多个命名值,但只有整个步骤成功时输出才生效。后续步骤只能引用已经完成的前置步骤。
复杂对象、列表合并和跨分支数据流等到实际需要时再设计。
5. 建议模型
enum class ValueType {
TEXT,
INTEGER,
DECIMAL,
BOOLEAN,
}
data class StepValue(
val type: ValueType,
val value: Any,
)
data class StepOutput(
val values: Map<String, StepValue>,
)
输入约束先支持必要的长度、数值范围和枚举即可,不提前加入复杂格式系统。