superun-ai-cli 0.1.29 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.en.md +22 -2
  2. package/README.md +46 -4
  3. package/dist/api/security-review-api.d.ts +20 -0
  4. package/dist/api/security-review-api.js +75 -0
  5. package/dist/api/security-review-api.js.map +1 -0
  6. package/dist/commands/chat/index.js +2 -0
  7. package/dist/commands/chat/index.js.map +1 -1
  8. package/dist/commands/chat/security.d.ts +4 -0
  9. package/dist/commands/chat/security.js +57 -0
  10. package/dist/commands/chat/security.js.map +1 -0
  11. package/dist/commands/chat/state.js +6 -2
  12. package/dist/commands/chat/state.js.map +1 -1
  13. package/dist/commands/chat/stop.js +17 -0
  14. package/dist/commands/chat/stop.js.map +1 -1
  15. package/dist/commands/chat/wait.js +5 -1
  16. package/dist/commands/chat/wait.js.map +1 -1
  17. package/dist/commands/session/index.js +36 -1
  18. package/dist/commands/session/index.js.map +1 -1
  19. package/dist/commands/shared.d.ts +6 -0
  20. package/dist/commands/shared.js +81 -2
  21. package/dist/commands/shared.js.map +1 -1
  22. package/dist/contracts/cli-output.d.ts +4 -1
  23. package/dist/contracts/security-review.d.ts +102 -0
  24. package/dist/contracts/security-review.js +47 -0
  25. package/dist/contracts/security-review.js.map +1 -0
  26. package/dist/conversation/next-actions.d.ts +1 -1
  27. package/dist/conversation/next-actions.js +22 -10
  28. package/dist/conversation/next-actions.js.map +1 -1
  29. package/dist/conversation/security-review.d.ts +129 -0
  30. package/dist/conversation/security-review.js +246 -0
  31. package/dist/conversation/security-review.js.map +1 -0
  32. package/dist/conversation/session-waiter.d.ts +3 -1
  33. package/dist/conversation/session-waiter.js +5 -2
  34. package/dist/conversation/session-waiter.js.map +1 -1
  35. package/dist/interactions/managed-agent-model.d.ts +15 -15
  36. package/dist/output/writer.d.ts +1 -1
  37. package/dist/output/writer.js +8 -3
  38. package/dist/output/writer.js.map +1 -1
  39. package/dist/program.js +2 -0
  40. package/dist/program.js.map +1 -1
  41. package/dist/runtime.d.ts +4 -2
  42. package/dist/runtime.js +12 -5
  43. package/dist/runtime.js.map +1 -1
  44. package/dist/session/binding.d.ts +74 -0
  45. package/dist/session/binding.js +97 -0
  46. package/dist/session/binding.js.map +1 -0
  47. package/dist/session/host-context.d.ts +5 -0
  48. package/dist/session/host-context.js +83 -0
  49. package/dist/session/host-context.js.map +1 -0
  50. package/package.json +1 -1
@@ -0,0 +1,246 @@
1
+ /** 将本次安全扫描投影为会话进度与报告,不另行触发修复。@author xiuyu.yi */
2
+ import { createHash } from 'node:crypto';
3
+ import { text } from '../contracts/value.js';
4
+ import { currentRound, roundMessage } from './round-selector.js';
5
+ import { collectInteractions } from '../interactions/registry.js';
6
+ import { projectText } from './text-projector.js';
7
+ import { SecurityStage, SecurityStatus } from '../contracts/security-review.js';
8
+ import { securityActive } from '../api/security-review-api.js';
9
+ import { CliError } from '../output/exit-codes.js';
10
+ const STATUS_LABELS = ['已跳过', '等待中', '进行中', '已完成', '失败', '已取消'];
11
+ const statusLabel = (status) => STATUS_LABELS[status] ?? '状态待同步';
12
+ const STAGE_LABELS = [
13
+ '正在准备安全检查',
14
+ '安全检查进行中',
15
+ '安全评估进行中',
16
+ '安全修复进行中',
17
+ '审计报告生成中',
18
+ '安全扫描已完成',
19
+ '安全扫描未完成',
20
+ '安全扫描已取消',
21
+ '本次扫描已失效',
22
+ ];
23
+ /** 只从当前轮认领扫描;不把历史扫描或继承到普通研发轮的标记当成当前任务。 */
24
+ export function roundSecurityReviewId(view, round = currentRound(view)) {
25
+ if (!round)
26
+ return undefined;
27
+ const card = round.agentItems.find((item) => item.variant === 'security_scan');
28
+ if (card)
29
+ return text(card.payload.reviewId);
30
+ // BFF 会把后台回执并入修复轮,末条 Agent 消息可能已变成 sub_agent_report。
31
+ const anchor = view.pipeline.messages.find((message) => message.messageId === round.anchorUserMessageId);
32
+ const extra = anchor?.roundExtra ?? roundMessage(view, round)?.roundExtra ?? {};
33
+ if (extra.business_type === 'security_remediation')
34
+ return text(extra.securityRemediationReviewId);
35
+ const message = roundMessage(view, round);
36
+ if (message?.roundExtra?.business_type === 'sub_agent_report' &&
37
+ message.roundExtra.securityRemediationAgentMessageId === message.messageId)
38
+ return text(message.roundExtra.securityRemediationReviewId);
39
+ return undefined;
40
+ }
41
+ function ownedRound(view, round, reviewId) {
42
+ return roundSecurityReviewId(view, round) === reviewId;
43
+ }
44
+ export function reportMarkdown(value) {
45
+ if (!value?.trim())
46
+ return undefined;
47
+ try {
48
+ const parsed = JSON.parse(value);
49
+ if (typeof parsed === 'string')
50
+ return parsed.trim() || undefined;
51
+ }
52
+ catch {
53
+ /* 报告已是 Markdown 时直接保留。 */
54
+ }
55
+ return value;
56
+ }
57
+ const cell = (value) => value.replace(/\|/g, '\\|').replace(/[\r\n]+/g, ' ');
58
+ export async function inspectSecurityReview(api, view, requestedId) {
59
+ const reviewId = requestedId ?? roundSecurityReviewId(view);
60
+ if (!reviewId)
61
+ return undefined;
62
+ let review = await api.query(view.session.sessionId, reviewId);
63
+ if (!review.found)
64
+ throw new CliError('INVALID_ARGUMENT', '未找到指定安全扫描,请核对扫描 ID', {
65
+ sessionId: view.session.sessionId,
66
+ reviewId,
67
+ });
68
+ if (!securityActive(review))
69
+ review = await api.query(view.session.sessionId, reviewId, true);
70
+ if (!review.found)
71
+ throw new CliError('PROTOCOL_ERROR', '本次安全扫描详情暂未同步,请继续查询', {
72
+ sessionId: view.session.sessionId,
73
+ reviewId,
74
+ });
75
+ return projectSecurityReview(view, review);
76
+ }
77
+ export function projectSecurityReview(view, review) {
78
+ const reviewId = review.reviewId;
79
+ const stage = review.stage;
80
+ const body = reportMarkdown(review.reportResult);
81
+ const ready = stage === SecurityStage.COMPLETED &&
82
+ review.reportStatus === SecurityStatus.SUCCEEDED &&
83
+ !!body &&
84
+ Array.isArray(review.checks);
85
+ let state = ready
86
+ ? 'COMPLETED'
87
+ : stage === SecurityStage.CANCELLED
88
+ ? 'CANCELLED'
89
+ : stage === SecurityStage.FAILED || stage === SecurityStage.INVALIDATED
90
+ ? 'FAILED'
91
+ : 'RUNNING';
92
+ const owned = (view.pipeline.render?.rounds ?? []).filter((round) => ownedRound(view, round, reviewId));
93
+ // 普通功能推荐不是扫描需要用户回答的问题。真实修复交互仍沿用原协议。
94
+ const bindings = securityActive(review)
95
+ ? collectInteractions(view).filter((binding) => owned.some((round) => round.roundId === binding.round.roundId) &&
96
+ binding.interaction.kind !== 'SELECT_FEATURES')
97
+ : [];
98
+ if (bindings.length)
99
+ state = 'NEEDS_INPUT';
100
+ const current = owned.at(-1);
101
+ let notice = STAGE_LABELS[stage ?? 0] ?? '扫描状态待同步';
102
+ if (stage === SecurityStage.COMPLETED && !ready)
103
+ notice = '审计报告正在同步,请继续等待';
104
+ if (stage === SecurityStage.INVALIDATED)
105
+ notice = '安全修复未完成,本次扫描结果已失效,请重新扫描';
106
+ if (stage === SecurityStage.FAILED && review.reportStatus === SecurityStatus.FAILED)
107
+ notice = '审计报告生成失败,可重试生成报告,无需重新扫描或修复';
108
+ if (review.reportStatus === SecurityStatus.SKIPPED && !securityActive(review))
109
+ notice += ';本次未生成审计报告';
110
+ const rows = (review.checks ?? []).map((check) => [
111
+ check.label || check.category,
112
+ check.statusDesc || statusLabel(check.status),
113
+ ]);
114
+ rows.push(['安全评估', review.assessmentStatus == null ? '等待中' : statusLabel(review.assessmentStatus)], [
115
+ '安全修复',
116
+ review.remediationStatus === SecurityStatus.SKIPPED
117
+ ? '无需修复'
118
+ : review.remediationStatus == null
119
+ ? '等待中'
120
+ : statusLabel(review.remediationStatus),
121
+ ], [
122
+ '审计报告',
123
+ review.reportStatus == null ? '等待中' : review.reportStatusDesc || statusLabel(review.reportStatus),
124
+ ]);
125
+ const markdown = [
126
+ `**本次安全扫描${review.reviewSeqNo === undefined ? '' : `(第 ${review.reviewSeqNo} 次)`}**`,
127
+ '',
128
+ notice,
129
+ '',
130
+ '| 检查项 | 状态 |',
131
+ '| --- | --- |',
132
+ ...rows.map(([name, label]) => `| ${cell(name)} | ${cell(label)} |`),
133
+ ].join('\n');
134
+ const id = `security:${reviewId}`;
135
+ const taskStatus = state === 'COMPLETED'
136
+ ? 'completed'
137
+ : state === 'FAILED'
138
+ ? 'failed'
139
+ : state === 'CANCELLED'
140
+ ? 'interrupted'
141
+ : state === 'NEEDS_INPUT'
142
+ ? 'needs_input'
143
+ : 'running';
144
+ const messages = ready
145
+ ? [
146
+ {
147
+ id: `${id}:report`,
148
+ role: 'assistant',
149
+ text: '本次安全扫描已完成。',
150
+ },
151
+ ]
152
+ : bindings.length
153
+ ? projectText(owned).messages.filter((message) => message.role === 'assistant')
154
+ : state === 'FAILED' || state === 'CANCELLED'
155
+ ? [{ id: `${id}:result`, role: 'assistant', text: notice }]
156
+ : [];
157
+ const { found: _found, ...details } = review;
158
+ return {
159
+ state,
160
+ sessionId: view.session.sessionId,
161
+ topic: view.session.topic,
162
+ messageId: roundMessage(view, current)?.messageId,
163
+ replyMessageId: current?.anchorUserMessageId,
164
+ messages,
165
+ progress: [],
166
+ interactions: bindings.map((binding) => binding.interaction),
167
+ securityReview: { ...details, reviewId, reportResult: ready ? body : undefined },
168
+ taskProgress: {
169
+ id,
170
+ revision: createHash('sha256').update(markdown).digest('hex').slice(0, 16),
171
+ activeCount: state === 'RUNNING' || state === 'NEEDS_INPUT' ? 1 : 0,
172
+ tasks: [{ id, kind: 'security', title: '安全扫描', status: taskStatus, detail: notice }],
173
+ markdown,
174
+ complete: Array.isArray(review.checks),
175
+ warnings: [],
176
+ },
177
+ };
178
+ }
179
+ export const SECURITY_REVIEW_INSTRUCTION = '运行中只展示本次安全扫描的 taskProgress.markdown,按同一 id 更新列表;不展示历史扫描、不估算百分比、不把检查完成解释为无风险。评估和必要修复由服务端自动执行,只展示阶段状态,不重复发送修复指令、不增加确认、不展开内部派发消息。完成后依据 securityReview.reportResult 展示简洁结果摘要:实际发现的问题及风险、已处理内容、未处理事项和必要的未覆盖范围,数量与结论必须有报告依据。不展开完整报告正文、不提供完整报告或 PDF 下载链接、不另行生成报告文件。宿主支持直接内嵌展示 PDF 时可展示原 PDF,否则只展示结果摘要。正常完成后必须在摘要后接上“接下来,你可以:”,展示 nextActions 中符合条件的继续创作、自动测试、上线运营三项引导,不能省略;若存在当前必须处理的阻碍,先说明具体事项并引导处理。真实业务提问、执行错误和余额不足仍须如实展示。';
180
+ export function securityNextActions(result, command) {
181
+ const review = result.securityReview;
182
+ if (!review || result.interactions?.length)
183
+ return undefined;
184
+ const target = ['--review-id', review.reviewId, '--', result.sessionId];
185
+ if (['ACCEPTED', 'RUNNING', 'QUEUED'].includes(result.state))
186
+ return [
187
+ {
188
+ action: 'WAIT_SECURITY_SCAN',
189
+ requiresUserInput: false,
190
+ instruction: '持续跟进本次扫描直到报告生成,不把扫描消息结束或修复任务启动当作完成,不展示后置菜单。',
191
+ command: [
192
+ ...command,
193
+ 'wait',
194
+ ...(result.taskProgress?.revision ? ['--progress-revision', result.taskProgress.revision] : []),
195
+ ...target,
196
+ ],
197
+ },
198
+ {
199
+ action: 'CANCEL_SECURITY_SCAN',
200
+ when: '仅在用户主动要求停止本次扫描或自动修复时执行;不作为等待期间的操作菜单展示。',
201
+ requiresUserInput: true,
202
+ instruction: '用户明确要求停止后,取消本次扫描及自动修复,不调用普通会话停止命令。',
203
+ command: [...command, 'stop', ...target],
204
+ },
205
+ ];
206
+ if (result.state !== 'COMPLETED')
207
+ return [
208
+ {
209
+ action: review.stage === SecurityStage.FAILED && review.reportStatus === SecurityStatus.FAILED
210
+ ? 'RETRY_SECURITY_REPORT'
211
+ : 'RESTART_SECURITY_SCAN',
212
+ requiresUserInput: true,
213
+ instruction: review.stage === SecurityStage.FAILED && review.reportStatus === SecurityStatus.FAILED
214
+ ? '说明报告生成失败。用户要求重试时只重试报告,不重新扫描或修复。'
215
+ : '如实说明扫描失败、取消或失效的状态与原因。用户要求重新扫描后再执行,不自动重启。',
216
+ command: review.stage === SecurityStage.FAILED && review.reportStatus === SecurityStatus.FAILED
217
+ ? [...command, 'security', '--retry-report', review.reviewId, '--', result.sessionId]
218
+ : [...command, 'security', '--', result.sessionId],
219
+ },
220
+ ];
221
+ const when = '扫描及报告已完成,且没有当前必须优先处理的遗留问题或阻碍时展示。仅有未来接入真实数据等条件下才需要处理的注意事项时,先说明该事项,再照常展示完成后的三项引导,不省略菜单,也不宣称无风险。';
222
+ return [
223
+ {
224
+ action: 'CONTINUE_CHAT',
225
+ when,
226
+ requiresUserInput: true,
227
+ instruction: '展示“- **继续创作**:告诉我想新增或调整的内容。”,收到需求后原样提交 content。',
228
+ command: [...command, 'send', '--input', '-', '--', result.sessionId],
229
+ },
230
+ {
231
+ action: 'AUTO_TEST',
232
+ when,
233
+ requiresUserInput: true,
234
+ instruction: '展示“- **自动测试**:验证相关功能或修复效果。”,用户选择后按实际范围执行。',
235
+ command: [...command, 'test', '--', result.sessionId],
236
+ },
237
+ {
238
+ action: 'REVIEW_PUBLISH',
239
+ when,
240
+ requiresUserInput: true,
241
+ instruction: '展示“- **上线运营**:将成果发布为正式版本。”,只有用户明确要求上线才按现有发布流程执行。',
242
+ command: [...command, 'publish', 'status', '--for-launch', '--', result.sessionId],
243
+ },
244
+ ];
245
+ }
246
+ //# sourceMappingURL=security-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-review.js","sourceRoot":"","sources":["../../src/conversation/security-review.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import type { ConversationApi } from '../api/conversation-api.js';
4
4
  import type { AgentCommandApi } from '../api/agent-command-api.js';
5
5
  import type { StyleWaitTarget } from '../interactions/parsers/style-selection.js';
6
6
  export type WaitOptions = {
7
+ /** 跨越扫描和自动修复消息轮次,始终跟进同一次扫描。 */
8
+ reviewId?: string;
7
9
  timeout?: number;
8
10
  interval?: number;
9
11
  messageId?: string;
@@ -22,7 +24,7 @@ export declare class SessionWaiter {
22
24
  conversation: ConversationApi;
23
25
  command: AgentCommandApi;
24
26
  load: (sessionId: string) => Promise<SessionView>;
25
- inspect: (view: SessionView, styleTarget?: StyleWaitTarget) => Promise<CreationResult>;
27
+ inspect: (view: SessionView, styleTarget?: StyleWaitTarget, reviewId?: string) => Promise<CreationResult>;
26
28
  /** 只展示过程,不结束等待,也不参与整体状态判断。 */
27
29
  onProgress?: (result: CreationResult) => void;
28
30
  signal?: AbortSignal;
@@ -80,6 +80,7 @@ export class SessionWaiter {
80
80
  const replied = new Set(), messages = new Map();
81
81
  const progress = new Map();
82
82
  let progressRevision = options.progressRevision;
83
+ let reviewId = options.reviewId;
83
84
  let responseObserved = !options.requiredMessageId && !options.previousMessageId;
84
85
  const inspect = async () => {
85
86
  if (!responseObserved) {
@@ -107,7 +108,9 @@ export class SessionWaiter {
107
108
  interactions: [],
108
109
  taskProgress: submittedTaskProgress(sessionId, options.requiredMessageId ?? options.previousMessageId ?? sessionId),
109
110
  };
110
- return this.dependencies.inspect(view, options.styleTarget);
111
+ const result = await this.dependencies.inspect(view, options.styleTarget, reviewId);
112
+ reviewId ??= result.securityReview?.reviewId;
113
+ return result;
111
114
  };
112
115
  while (true) {
113
116
  if (this.dependencies.signal?.aborted)
@@ -165,7 +168,7 @@ export class SessionWaiter {
165
168
  progressRevision = result.taskProgress.revision;
166
169
  }
167
170
  const hint = view.pipeline.pollingHint;
168
- const interval = Math.max((options.interval ?? 0) * 1000, hint?.nextPollAfterMs ?? (unchanged ? 5000 : 2000));
171
+ const interval = Math.max(reviewId ? 5000 : 0, (options.interval ?? 0) * 1000, hint?.nextPollAfterMs ?? (unchanged ? 5000 : 2000));
169
172
  try {
170
173
  await delay(Math.min(Math.max(interval, 100), deadline - Date.now()), undefined, {
171
174
  signal: this.dependencies.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"session-waiter.js","sourceRoot":"","sources":["../../src/conversation/session-waiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-waiter.js","sourceRoot":"","sources":["../../src/conversation/session-waiter.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,11 @@ export declare const wizardDraftSchema: z.ZodObject<{
18
18
  id: z.ZodString;
19
19
  label: z.ZodString;
20
20
  }, "strip", z.ZodTypeAny, {
21
- id: string;
22
21
  label: string;
23
- }, {
24
22
  id: string;
23
+ }, {
25
24
  label: string;
25
+ id: string;
26
26
  }>>;
27
27
  skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
28
28
  id: z.ZodString;
@@ -31,13 +31,13 @@ export declare const wizardDraftSchema: z.ZodObject<{
31
31
  description: z.ZodOptional<z.ZodString>;
32
32
  }, "strip", z.ZodTypeAny, {
33
33
  type: "custom" | "builtin";
34
- id: string;
35
34
  label: string;
35
+ id: string;
36
36
  description?: string | undefined;
37
37
  }, {
38
38
  type: "custom" | "builtin";
39
- id: string;
40
39
  label: string;
40
+ id: string;
41
41
  description?: string | undefined;
42
42
  }>, "many">>;
43
43
  agentId: z.ZodOptional<z.ZodString>;
@@ -46,15 +46,15 @@ export declare const wizardDraftSchema: z.ZodObject<{
46
46
  confirmed: z.ZodDefault<z.ZodBoolean>;
47
47
  quick: z.ZodDefault<z.ZodBoolean>;
48
48
  }, "strip", z.ZodTypeAny, {
49
+ stage: "description" | "skills" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate";
50
+ revision: number;
51
+ description: string;
49
52
  skills: {
50
53
  type: "custom" | "builtin";
51
- id: string;
52
54
  label: string;
55
+ id: string;
53
56
  description?: string | undefined;
54
57
  }[];
55
- description: string;
56
- revision: number;
57
- stage: "skills" | "description" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate";
58
58
  builtinFileSelected: boolean;
59
59
  builtinWebSelected: boolean;
60
60
  memoryMode: "none" | "new" | "existing";
@@ -62,33 +62,33 @@ export declare const wizardDraftSchema: z.ZodObject<{
62
62
  checkpoint: "editing" | "agent_pending" | "memory_pending" | "reply_pending" | "complete" | "stop_pending" | "stopped";
63
63
  confirmed: boolean;
64
64
  quick: boolean;
65
- previousStage?: "skills" | "description" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate" | undefined;
65
+ previousStage?: "description" | "skills" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate" | undefined;
66
66
  undoDescription?: string | undefined;
67
67
  existingMemory?: {
68
- id: string;
69
68
  label: string;
69
+ id: string;
70
70
  } | undefined;
71
71
  agentId?: string | undefined;
72
72
  memoryStoreId?: string | undefined;
73
73
  }, {
74
- description: string;
74
+ stage: "description" | "skills" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate";
75
75
  revision: number;
76
- stage: "skills" | "description" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate";
76
+ description: string;
77
77
  skills?: {
78
78
  type: "custom" | "builtin";
79
- id: string;
80
79
  label: string;
80
+ id: string;
81
81
  description?: string | undefined;
82
82
  }[] | undefined;
83
- previousStage?: "skills" | "description" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate" | undefined;
83
+ previousStage?: "description" | "skills" | "rewrite" | "memory" | "memory_name" | "memory_existing" | "confirm" | "terminate" | undefined;
84
84
  undoDescription?: string | undefined;
85
85
  builtinFileSelected?: boolean | undefined;
86
86
  builtinWebSelected?: boolean | undefined;
87
87
  memoryMode?: "none" | "new" | "existing" | undefined;
88
88
  memoryName?: string | undefined;
89
89
  existingMemory?: {
90
- id: string;
91
90
  label: string;
91
+ id: string;
92
92
  } | undefined;
93
93
  agentId?: string | undefined;
94
94
  memoryStoreId?: string | undefined;
@@ -14,7 +14,7 @@ export declare class OutputWriter {
14
14
  dispose(): void;
15
15
  startTaskReminder(): void;
16
16
  /** stderr 输出过程事件,stdout 仍只输出一次最终结果。 */
17
- progress(data: Pick<CreationResult, 'sessionId' | 'messageId' | 'taskProgress'> & Partial<Pick<CreationResult, 'autoTest' | 'codeReview' | 'messages'>>): void;
17
+ progress(data: Pick<CreationResult, 'sessionId' | 'messageId' | 'taskProgress'> & Partial<Pick<CreationResult, 'autoTest' | 'codeReview' | 'securityReview' | 'messages'>>): void;
18
18
  write(data: unknown): void;
19
19
  fail(error: unknown): number;
20
20
  private emit;
@@ -67,6 +67,8 @@ export class OutputWriter {
67
67
  }
68
68
  if (!data.taskProgress)
69
69
  return;
70
+ if (data.securityReview && data.taskProgress.changed === false)
71
+ return;
70
72
  this.stderr(`${this.serialize({
71
73
  schemaVersion: SCHEMA_VERSION,
72
74
  event: 'task_progress',
@@ -74,10 +76,13 @@ export class OutputWriter {
74
76
  sessionId: data.sessionId,
75
77
  messageId: data.messageId,
76
78
  taskProgress: data.taskProgress,
79
+ ...(data.securityReview ? { securityReview: data.securityReview } : {}),
77
80
  },
78
- instruction: checkName
79
- ? `展示 data.taskProgress.markdown 中实际任务进度,不把功能步骤数当作${checkName}的问题数或通过数。及时展示 conversation_message 中发现的问题和修复说明。继续等待当前命令的最终结果,不重复提交任务、不展示操作菜单。`
80
- : '每次查询都展示 data.taskProgress.markdown 中当前开发中的功能及步骤,即使 changed 为 false 也展示;不要从历史消息补回已完成的功能或旧步骤。支持原位更新时按卡片 id 更新,否则每次展示当前快照。不追加执行详情或工具次数。这是过程更新,继续等待当前命令的最终结果,不代表整个任务结束,不重复提交任务。',
81
+ instruction: data.securityReview
82
+ ? '展示本次安全扫描的 taskProgress.markdown,按同一 id 更新检查列表和阶段状态,不展示历史扫描或内部修复指令。评估和修复自动推进,无需用户确认。继续等待本次报告,不把检查完成或单条消息结束当作整个流程结束,不重复启动任务。'
83
+ : checkName
84
+ ? `展示 data.taskProgress.markdown 中实际任务进度,不把功能步骤数当作${checkName}的问题数或通过数。及时展示 conversation_message 中发现的问题和修复说明。继续等待当前命令的最终结果,不重复提交任务、不展示操作菜单。`
85
+ : '每次查询都展示 data.taskProgress.markdown 中当前开发中的功能及步骤,即使 changed 为 false 也展示;不要从历史消息补回已完成的功能或旧步骤。支持原位更新时按卡片 id 更新,否则每次展示当前快照。不追加执行详情或工具次数。这是过程更新,继续等待当前命令的最终结果,不代表整个任务结束,不重复提交任务。',
81
86
  })}\n`);
82
87
  }
83
88
  write(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/output/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/output/writer.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,aAAa,GACjB,qJAAqJ,CAAC;AAExJ,MAAM,OAAO,YAAY;IAkBJ;IACA;IAlBX,OAAO,GAAG,KAAK,CAAC;IACP,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,QAAQ,GAAG,KAAK,CAAC;IACR,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,IAAI,CAAC,MAAM,CACT,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE,eAAe;YACtB,IAAI;YACJ,WAAW,EACT,qHAAqH;SACxH,CAAC,IAAI,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,YACmB,SAAiC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EACrE,SAAiC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QADrE,WAAM,GAAN,MAAM,CAA+D;QACrE,WAAM,GAAN,MAAM,CAA+D;IACrF,CAAC;IAEJ,cAAc,CAAC,MAAc;QAC3B,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAC5D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,IAAY;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,uCAAuC;IACvC,QAAQ,CACN,IAC0F;QAE1F,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO,KAAK,CAAC;gBACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,QAAQ,CAAC,MAAM;gBACjB,IAAI,CAAC,MAAM,CACT,GAAG,IAAI,CAAC,SAAS,CAAC;oBAChB,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,sBAAsB;oBAC7B,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE;oBACxE,WAAW,EAAE,SAAS,SAAS,mEAAmE,SAAS,0BAA0B;iBACtI,CAAC,IAAI,CACP,CAAC;QACN,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO;QACvE,IAAI,CAAC,MAAM,CACT,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE;YACD,WAAW,EAAE,IAAI,CAAC,cAAc;gBAC9B,CAAC,CAAC,4HAA4H;gBAC9H,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,kDAAkD,SAAS,+EAA+E;oBAC5I,CAAC,CAAC,6KAA6K;SACpL,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,KAAc;QACjB,MAAM,OAAO,GACX,KAAK,YAAY,QAAQ;YACvB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC;YACR,aAAa,EAAE,cAAc;YAC7B,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,OAAO;gBAClB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;SACF,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,IAAI,CAAC,KAAc;QACzB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,SAAS,CAAC,KAAc;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,IAAa,EAAE,EAAE,CAC9D,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1F,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;CACF"}
package/dist/program.js CHANGED
@@ -18,6 +18,8 @@ export function createProgram(context, hooks) {
18
18
  .configureOutput({ writeErr: () => undefined });
19
19
  program.hook('preAction', async (_root, action) => {
20
20
  context.connection = undefined;
21
+ context.sessionBinding = undefined;
22
+ context.selectedSessionId = undefined;
21
23
  const rootCommand = action.parent === program;
22
24
  const authCommand = action.parent?.name() === 'auth' && action.parent.parent === program;
23
25
  const offline = (rootCommand && (action.name() === 'version' || action.name() === 'update')) ||
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,UAAU,aAAa,CAC3B,OAAuB,EACvB,KAGC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CACV,iDAAiD,CAClD;SACA,OAAO,CAAC,eAAe,CAAC;SACxB,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACpC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC;SAC9C,YAAY,EAAE;SACd,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;QACzF,MAAM,OAAO,GACX,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;YAC5E,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO;QAC1C,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;YAC7C,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,UAAU,aAAa,CAC3B,OAAuB,EACvB,KAGC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CACV,iDAAiD,CAClD;SACA,OAAO,CAAC,eAAe,CAAC;SACxB,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACpC,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC;SAC9C,YAAY,EAAE;SACd,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAChD,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;QACnC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;QACzF,MAAM,OAAO,GACX,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;YAC5E,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO;QAC1C,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;YAAE,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -7,6 +7,7 @@ import { IntegrationApi } from './api/integration-api.js';
7
7
  import { PluginApi } from './api/plugin-api.js';
8
8
  import { PublishApi } from './api/publish-api.js';
9
9
  import { PreviewVersionApi } from './api/preview-version-api.js';
10
+ import { SecurityReviewApi } from './api/security-review-api.js';
10
11
  import type { ApiClient } from './transport/api-client.js';
11
12
  import type { OutputWriter } from './output/writer.js';
12
13
  import type { SessionView } from './contracts/node-wire.js';
@@ -31,6 +32,7 @@ export declare class CreationRuntime {
31
32
  readonly plugin: PluginApi;
32
33
  readonly publish: PublishApi;
33
34
  readonly previewVersions: PreviewVersionApi;
35
+ readonly security: SecurityReviewApi;
34
36
  readonly waiter: SessionWaiter;
35
37
  readonly taskProgress: TaskProgressReader;
36
38
  readonly autoTestTasks: AutoTestTasks;
@@ -38,12 +40,12 @@ export declare class CreationRuntime {
38
40
  constructor(client: ApiClient, output: OutputWriter);
39
41
  load(sessionId: string): Promise<SessionView>;
40
42
  choices(sessionId: string, anchor?: string, view?: SessionView): Promise<Array<Choice>>;
41
- inspect(view: SessionView, styleTarget?: StyleWaitTarget): Promise<CreationResult>;
43
+ inspect(view: SessionView, styleTarget?: StyleWaitTarget, reviewId?: string): Promise<CreationResult>;
42
44
  private pluginInteraction;
43
45
  /** 普通研发与 QA 修复共用入口交付,运行中或真实业务提问时不额外读取路由。 */
44
46
  private attachDevelopmentPreview;
45
47
  resolveChecks(view: SessionView): Promise<Pick<CreationResult, 'autoTest' | 'codeReview'>>;
46
- state(sessionId: string): Promise<CreationResult>;
48
+ state(sessionId: string, reviewId?: string): Promise<CreationResult>;
47
49
  withGuidance<T extends GuidanceResult>(result: T): T & {
48
50
  nextActions: import("./contracts/cli-output.js").NextAction[];
49
51
  toolUsage?: {
package/dist/runtime.js CHANGED
@@ -7,6 +7,8 @@ import { IntegrationApi } from './api/integration-api.js';
7
7
  import { PluginApi } from './api/plugin-api.js';
8
8
  import { PublishApi } from './api/publish-api.js';
9
9
  import { PreviewVersionApi } from './api/preview-version-api.js';
10
+ import { SecurityReviewApi } from './api/security-review-api.js';
11
+ import { inspectSecurityReview } from './conversation/security-review.js';
10
12
  import { enabled, object, text } from './contracts/value.js';
11
13
  import { getSuperunHostingDomain } from './config/runtime-config.js';
12
14
  import { InteractionDraftStore } from './interactions/draft-store.js';
@@ -52,6 +54,7 @@ export class CreationRuntime {
52
54
  plugin;
53
55
  publish;
54
56
  previewVersions;
57
+ security;
55
58
  waiter;
56
59
  taskProgress;
57
60
  autoTestTasks;
@@ -69,13 +72,14 @@ export class CreationRuntime {
69
72
  this.plugin = new PluginApi(client);
70
73
  this.publish = new PublishApi(client);
71
74
  this.previewVersions = new PreviewVersionApi(client);
75
+ this.security = new SecurityReviewApi(client);
72
76
  this.taskProgress = new TaskProgressReader(client);
73
77
  this.autoTestTasks = new AutoTestTasks(client);
74
78
  this.waiter = new SessionWaiter({
75
79
  conversation: this.conversation,
76
80
  command: this.command,
77
81
  load: (id) => this.load(id),
78
- inspect: (view, styleTarget) => this.inspect(view, styleTarget),
82
+ inspect: (view, styleTarget, reviewId) => this.inspect(view, styleTarget, reviewId),
79
83
  onProgress: (result) => {
80
84
  // 静默整理清单时不输出内部进度;真实业务提问仍照常返回。
81
85
  if (!result.stylePlanning || (result.interactions.length && !pendingStylePlanApproval(result)))
@@ -107,7 +111,10 @@ export class CreationRuntime {
107
111
  return [];
108
112
  return projectChoices(await this.query.parallel(sessionId, preReplyMessageId), preReplyMessageId, this.client.config.endpoint);
109
113
  }
110
- async inspect(view, styleTarget) {
114
+ async inspect(view, styleTarget, reviewId) {
115
+ const security = !styleTarget ? await inspectSecurityReview(this.security, view, reviewId) : undefined;
116
+ if (security)
117
+ return security;
111
118
  const { autoTest, codeReview } = await this.resolveChecks(view);
112
119
  const check = codeReview ?? autoTest;
113
120
  const anchor = styleTarget?.preReplyMessageId ?? styleBranchAnchor(view);
@@ -457,8 +464,8 @@ export class CreationRuntime {
457
464
  }
458
465
  throw new CliError('PROTOCOL_ERROR', '后台回执的来源链存在循环或层数过多,无法确认当前结果');
459
466
  }
460
- async state(sessionId) {
461
- return this.withGuidance(await this.inspect(await this.load(sessionId)));
467
+ async state(sessionId, reviewId) {
468
+ return this.withGuidance(await this.inspect(await this.load(sessionId), undefined, reviewId));
462
469
  }
463
470
  withGuidance(result) {
464
471
  throwCreditResult(result, this.client.config);
@@ -481,7 +488,7 @@ export class CreationRuntime {
481
488
  : visible;
482
489
  const completed = {
483
490
  ...output,
484
- ...(hasCompletedCreationResult(visible)
491
+ ...(hasCompletedCreationResult(visible) && !visible.securityReview
485
492
  ? { toolUsage: this.taskProgress.completionSummary(visible.sessionId, visible.messageId) }
486
493
  : {}),
487
494
  };