✨ feat(vscode): 新增第五种工单会话「原型会话」
照测试会话那条链路补一份 prototype:
- 消息与路由:session/start-prototype、session/resume-prototype、
issue/update-prototype-profile-path,都进只读门禁
- 会话:handleStartPrototypeSession / handleResumePrototypeSession,
终端名 issue-N-原型;cwd 有 worktree 用 worktree、没有退主仓库根
(原 resolveTestSessionCwd 改名 resolveWorktreeOrRootCwd 两种会话共用)
- 不要求有 PR,任何阶段都能起;前置工单锁仍然拦
- 提示词:新增 prompts/prototype.md,设置里可改,占位符 {issueNumber}
- profile:工单级 prototypeProfilePath > 设置里的原型默认 profile >
内置默认,与其它会话互不回退
- 状态字段 prototypeSessionId / prototypeProfilePath / prototypeTabOpen
贯通 gitea、youtrack、本机 state 与移交包
- 详情面板加「原型会话id」「原型配置文件」两行,设置面板加对应两项
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
This commit is contained in:
1 parent
3fff796a61
commit
b62e58d739
27 files changed
+760
-50
No files matched your search
@@ -45,6 +45,8 @@ export function App() {
|
||||
resumeReviewSession,
|
||||
startTestSession,
|
||||
resumeTestSession,
|
||||
startPrototypeSession,
|
||||
resumePrototypeSession,
|
||||
focusSession,
|
||||
openFile,
|
||||
implement,
|
||||
@@ -66,6 +68,7 @@ export function App() {
|
||||
updateIssueProfilePath,
|
||||
updateIssueBrainstormProfilePath,
|
||||
updateIssueTestProfilePath,
|
||||
updateIssuePrototypeProfilePath,
|
||||
logs,
|
||||
clearLogs,
|
||||
pendingSelectId,
|
||||
@@ -380,6 +383,8 @@ export function App() {
|
||||
onResumeReviewSession={resumeReviewSession}
|
||||
onStartTestSession={startTestSession}
|
||||
onResumeTestSession={resumeTestSession}
|
||||
onStartPrototypeSession={startPrototypeSession}
|
||||
onResumePrototypeSession={resumePrototypeSession}
|
||||
onOpenFile={openFile}
|
||||
onImplement={implement}
|
||||
onOpenPr={openPr}
|
||||
@@ -398,6 +403,7 @@ export function App() {
|
||||
onUpdateProfilePath={updateIssueProfilePath}
|
||||
onUpdateBrainstormProfilePath={updateIssueBrainstormProfilePath}
|
||||
onUpdateTestProfilePath={updateIssueTestProfilePath}
|
||||
onUpdatePrototypeProfilePath={updateIssuePrototypeProfilePath}
|
||||
onOpenLogs={() => setShowLogs(true)}
|
||||
me={me}
|
||||
avatars={avatars}
|
||||
@@ -539,6 +545,7 @@ export function App() {
|
||||
initialAutoReview={settings?.autoReview ?? true}
|
||||
initialReviewPrompt={settings?.reviewPrompt ?? ''}
|
||||
initialTestPrompt={settings?.testPrompt ?? ''}
|
||||
initialPrototypePrompt={settings?.prototypePrompt ?? ''}
|
||||
initialDevBranch={settings?.devBranch ?? 'main'}
|
||||
initialReleaseBranchPrefix={settings?.releaseBranchPrefix ?? 'release/'}
|
||||
initialJenkinsJob={settings?.jenkinsJob ?? ''}
|
||||
@@ -554,6 +561,7 @@ export function App() {
|
||||
initialDefaultBrainstormProfilePath={settings?.defaultBrainstormProfilePath ?? ''}
|
||||
initialDefaultImplementProfilePath={settings?.defaultImplementProfilePath ?? ''}
|
||||
initialDefaultTestProfilePath={settings?.defaultTestProfilePath ?? ''}
|
||||
initialDefaultPrototypeProfilePath={settings?.defaultPrototypeProfilePath ?? ''}
|
||||
initialConflictResolutionProfilePath={settings?.conflictResolutionProfilePath ?? ''}
|
||||
initialCommitProfilePath={settings?.commitProfilePath ?? ''}
|
||||
initialPrDiffSummaryProfilePath={settings?.prDiffSummaryProfilePath ?? ''}
|
||||
|
||||
Reference in new issue
Block a user