后端:
1. 主动调度 graph + session bridge 收口——把 dry-run / select / preview / confirm / rerun 串成受限 graph,新增 active_schedule_sessions 缓存与聊天拦截,ready_preview 后释放回自由聊天
2. 会话与通知链路对齐——notification 统一绑定 conversation_id,action_url 指向 /assistant/{conversation_id},会话不存在改回 404 语义,避免 wrong param type 误导排障
3. estimated_sections 写入与主动调度消费链路补齐——任务创建、quick task 与随口记入口都透传估计节数,主动调度只消费落库值
前端:
4. AssistantPanel 最小适配主动调度预览与失败态——复用主动调度卡片/微调弹窗,补历史加载失败可见提示与跨账号会话拦截
文档:
5. 更新主动调度缺口分阶段实施计划和实现方案,标记阶段 0-2 收口并同步接力状态
32 lines
961 B
Go
32 lines
961 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
activegraph "github.com/LoveLosita/smartflow/backend/active_scheduler/graph"
|
|
"github.com/LoveLosita/smartflow/backend/active_scheduler/trigger"
|
|
)
|
|
|
|
// AsGraphDryRunFunc 把现有 dry-run service 适配成 graph runner 可用的入口。
|
|
//
|
|
// 职责边界:
|
|
// 1. 只做 service.Result -> graph.DryRunData 的轻量转换;
|
|
// 2. 不改写 dry-run 行为,不引入额外候选逻辑;
|
|
// 3. 让 graph runner 可以复用现有 BuildContext -> Observe -> GenerateCandidates 链路。
|
|
func (s *DryRunService) AsGraphDryRunFunc() activegraph.DryRunFunc {
|
|
if s == nil {
|
|
return nil
|
|
}
|
|
return func(ctx context.Context, trig trigger.ActiveScheduleTrigger) (*activegraph.DryRunData, error) {
|
|
result, err := s.DryRun(ctx, trig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &activegraph.DryRunData{
|
|
Context: result.Context,
|
|
Observation: result.Observation,
|
|
Candidates: result.Candidates,
|
|
}, nil
|
|
}
|
|
}
|