✨ feat(vscode): 头脑风暴 profile 独立 + codex 命令统一组装收尾
- 头脑风暴/实施/测试会话 profile 彻底独立,互不回退,各自空值回落默认 - 新建工单弹窗的 profile 选择改为头脑风暴专用 brainstormProfilePath - 详情面板新增「头脑风暴配置文件」下拉 - 删除从未接线的死代码 reviewFlow.ts(runReview 全仓库无调用方) - codexCommand 精简为仅 resume/interactive 两种终端命令形态 - 版本号 0.2.55 → 0.2.60
This commit is contained in:
@@ -99,13 +99,13 @@ export class KanbanWebviewPanel {
|
||||
* terminal is shown; the session watcher fills in `sessionId` once cc
|
||||
* starts writing its jsonl. The webhook coordinator drains entries via
|
||||
* `takePendingIssueCreation` when the corresponding `issues opened`
|
||||
* payload arrives, then merges the column / sessionId / profilePath /
|
||||
* payload arrives, then merges the column / sessionId / brainstormProfilePath /
|
||||
* color into the state-JSON comment and cleans up the inbox tmpdir.
|
||||
*/
|
||||
// internal: handler 模块访问
|
||||
readonly pendingIssueCreations = new Map<string, {
|
||||
sessionId?: string
|
||||
profilePath?: string
|
||||
brainstormProfilePath?: string
|
||||
/** Palette id (e.g. `terminal.ansiBlue`) — same shape stored in state JSON. */
|
||||
color: string
|
||||
workspaceRoot: string
|
||||
@@ -372,7 +372,7 @@ export class KanbanWebviewPanel {
|
||||
return
|
||||
}
|
||||
if (msg.type === 'issue/create') {
|
||||
void issues.handleIssueCreate(this, msg.userRequest, msg.images, msg.profilePath)
|
||||
void issues.handleIssueCreate(this, msg.userRequest, msg.images, msg.brainstormProfilePath)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'profiles/list') {
|
||||
@@ -470,6 +470,10 @@ export class KanbanWebviewPanel {
|
||||
void issues.handleUpdateProfilePath(this, msg.issueNumber, msg.profilePath)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'issue/update-brainstorm-profile-path') {
|
||||
void issues.handleUpdateBrainstormProfilePath(this, msg.issueNumber, msg.brainstormProfilePath)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'issue/update-test-profile-path') {
|
||||
void issues.handleUpdateTestProfilePath(this, msg.issueNumber, msg.testProfilePath)
|
||||
return
|
||||
@@ -931,20 +935,6 @@ export class KanbanWebviewPanel {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Pick the profile.json that implement-class cc sessions
|
||||
* (handleImplement / handleResumeSession when sessionKind === 'implement')
|
||||
* should launch with. Priority:
|
||||
* 1. The per-issue `profilePath` recorded in state JSON (preserves the
|
||||
* brainstorm-time choice, overridable from the issue detail panel).
|
||||
* 2. The hard-coded `DEFAULT_PROFILE_PATH` fallback.
|
||||
*
|
||||
* Conflict-resolution sessions use the global
|
||||
* `settings.conflictResolutionProfilePath` instead of this helper.
|
||||
* Brainstorm sessions deliberately don't go through this helper — they
|
||||
* keep the legacy `profilePath || DEFAULT_PROFILE_PATH` so creators can
|
||||
* still pick a profile per issue at brainstorm time.
|
||||
*/
|
||||
/**
|
||||
* Resolve an issue number to its source identity, for routing state
|
||||
* persistence. Unknown numbers default to gitea (back-compat / pre-load).
|
||||
@@ -1058,7 +1048,7 @@ export class KanbanWebviewPanel {
|
||||
// internal: handler 模块访问
|
||||
takePendingIssueCreation(nonce: string): {
|
||||
sessionId?: string
|
||||
profilePath?: string
|
||||
brainstormProfilePath?: string
|
||||
color: string
|
||||
workspaceRoot: string
|
||||
inboxDir: string
|
||||
|
||||
Reference in New Issue
Block a user