feat(intercept): 模型审查补充任务上下文与裁决说明 (#124)
审查模型改为接收版本化 JSON:任务描述/目标/操作约束、工作目录、Worker 意图、当前轮输入,以及按 tool_use_id 配对的近期工具执行记录;末尾是完整的 tool_name 与 arguments。 - 任务约束每次审查从数据库重新读取;读取失败或约束超预算转人工。 - 历史只保留唯一配对的执行事实,排除 Agent 自述、未完成请求与平台拒绝反馈。 - 裁决改为 JSON decision(allow/ask/deny) + comment,三种结果均须说明实际操作、成功后果与命中规则。 - 所有模型裁决(含自动放行)保存实际模型输入与 SHA-256 指纹,详情页可展开。 - 对话审批卡片支持展开完整请求、模型输入、裁决与执行结果。 - 修复父目录 lockfile 导致的 Turbopack 根目录误判。 官方默认拦截规则、工具范围与优先级不变。
This commit is contained in:
1 parent
234bd8bf8e
commit
c0d1aa6f37
26 files changed
+1159
-199
No files matched your search
@@ -1280,8 +1280,38 @@ export interface LLMTask {
|
||||
count: number;
|
||||
}
|
||||
|
||||
// The exact JSON sent to the review model, retained for all model verdicts.
|
||||
export interface InterceptReviewInput {
|
||||
version: number;
|
||||
task?: {
|
||||
task_id: number;
|
||||
description: string;
|
||||
goal: string;
|
||||
constraints: { id: number; kind: string; text: string; origin: string; created_at: number }[];
|
||||
truncated?: boolean;
|
||||
};
|
||||
working_directory?: string;
|
||||
worker_intent?: string;
|
||||
turn_input?: string;
|
||||
background_truncated?: boolean;
|
||||
history: {
|
||||
tool_use_id: string;
|
||||
tool: string;
|
||||
arguments_preview: string;
|
||||
result: string;
|
||||
status: "succeeded" | "failed";
|
||||
truncated?: boolean;
|
||||
}[];
|
||||
history_truncated?: boolean;
|
||||
correlation: "exact" | "ambiguous" | "unavailable";
|
||||
tool_name: string;
|
||||
arguments: Record<string, unknown>;
|
||||
}
|
||||
|
||||
// Immutable review snapshot plus separately recorded execution outcome.
|
||||
export interface InterceptAudit {
|
||||
model_input?: InterceptReviewInput;
|
||||
model_input_digest?: string;
|
||||
run_id?: string;
|
||||
tool_use_id?: string;
|
||||
correlation: "exact" | "ambiguous" | "unavailable";
|
||||
|
||||
Reference in new issue
Block a user