feat: v2.2.3 - Stability, Self-Reflector & Intent Alignment
- 버전 2.2.3 상향 및 PATCHNOTES.md 업데이트 - [신규] src/features/selfReflector/ - 성찰 실행/검증/프롬프트 모듈 추가 - [신규] intentAlignment.ts, intentClassifier.ts - 의도 정렬 시스템 추가 - [신규] pixelOfficeState.ts - 픽셀 오피스 상태 관리 추가 - sidebarProvider, dispatcher, chatHandlers 핵심 로직 최적화 - astra-2.2.3.vsix 패키지 생성 완료 (298 tests PASS)
This commit is contained in:
+75
-7
@@ -227,11 +227,19 @@
|
||||
<div id="addAgentError" class="map-status" style="color:var(--error); margin-top:6px;"></div>
|
||||
</div>
|
||||
|
||||
<!-- Work Pipeline editor. The active pipeline (if any) drives the
|
||||
dispatcher instead of the CEO planner. Empty list / "기본 (CEO
|
||||
자유 분배)" → legacy planner behaviour. -->
|
||||
<div class="map-section">
|
||||
<div class="map-section-head">
|
||||
<!--
|
||||
Work Pipeline editor. 기본은 *접혀 있음* — CEO가 사용자 의도를 보고
|
||||
자동으로 적합한 작업 흐름을 선택하므로 일반 사용자는 만질 일이 없다.
|
||||
"고급: 작업 흐름 직접 편집" 토글을 열어야만 보이는 영역으로 옮김.
|
||||
기능과 데이터는 그대로 유지 (롤백 안전 · 고급 사용자용).
|
||||
-->
|
||||
<details class="map-section pipeline-advanced">
|
||||
<summary class="pipeline-advanced-summary">
|
||||
<span class="pa-icon">🔧</span>
|
||||
<span class="pa-title">고급: 작업 흐름 직접 편집</span>
|
||||
<span class="pa-hint">평소엔 대표가 자동 분배 — 직접 정의하고 싶을 때만 펼치세요.</span>
|
||||
</summary>
|
||||
<div class="map-section-head" style="margin-top:8px;">
|
||||
<div>
|
||||
<div class="map-section-title">작업 흐름</div>
|
||||
<div class="map-section-hint">대표에게 맡기거나, 사용자가 정한 순서대로 팀원이 이어서 작업하게 만듭니다.</div>
|
||||
@@ -247,11 +255,11 @@
|
||||
<div class="control-row" style="margin-top:8px; gap:8px; align-items:center;">
|
||||
<label style="font-size:10px; color:var(--text-dim);">현재 흐름:</label>
|
||||
<select id="activePipelineSel" style="flex:1; padding:4px 8px; background:var(--bg); color:var(--text-primary); border:1px solid var(--border); border-radius:6px; font-size:11px;">
|
||||
<option value="">대표가 알아서 분배</option>
|
||||
<option value="">대표가 알아서 분배 (권장)</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul id="companyPipelineList" class="map-list" style="margin-top:8px;"></ul>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- Pipeline editor — 카드형 단계 에디터.
|
||||
각 단계는 역할 그룹 → 담당 cascading + 지시 텍스트 + 재시도 옵션을
|
||||
@@ -387,6 +395,66 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
Pixel Office — Agent Work Pipeline 상태 시각화 패널.
|
||||
백엔드의 SidebarChatProvider.pixelOfficeOn*() 콜이 push하는 `pixelOfficeUpdate`
|
||||
메시지를 받아 그대로 그린다. dispatcher / agent 로직은 절대 건드리지 않는
|
||||
read-only 시각화 레이어. data-enabled 속성으로 보이기/숨기기 토글.
|
||||
-->
|
||||
<div id="pixelOffice" class="pixel-office" data-enabled="false" data-collapsed="false">
|
||||
<div class="po-head">
|
||||
<div class="po-head-left">
|
||||
<span class="po-title">🏢 Pixel Office</span>
|
||||
<span class="po-status-label" id="poStatusLabel">idle</span>
|
||||
</div>
|
||||
<div class="po-head-actions">
|
||||
<button class="po-expand" id="poExpandBtn" title="전체 사무실 뷰 열기">⛶</button>
|
||||
<button class="po-collapse" id="poCollapseBtn" title="접기/펼치기">▾</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="po-body" id="poBody">
|
||||
<div class="po-scene">
|
||||
<!-- 캐릭터 영역: 단일 캐릭터 + 머리 위 말풍선 슬롯. -->
|
||||
<div class="po-char-wrap">
|
||||
<div class="po-bubbles" id="poBubbles"></div>
|
||||
<div class="po-char" id="poChar">
|
||||
<div class="po-char-emoji" id="poCharEmoji">🧑💼</div>
|
||||
<div class="po-char-prop" id="poCharProp"></div>
|
||||
</div>
|
||||
<div class="po-desk"></div>
|
||||
</div>
|
||||
<!-- 진행률 막대. -->
|
||||
<div class="po-progress" id="poProgress">
|
||||
<div class="po-progress-bar" id="poProgressBar" style="width:0%"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="po-panel" id="poPanel">
|
||||
<div class="po-row"><span class="po-key">Agent</span><span class="po-val" id="poAgentName">—</span></div>
|
||||
<div class="po-row"><span class="po-key">Status</span><span class="po-val po-val-status" id="poStatusVal">idle</span></div>
|
||||
<div class="po-row"><span class="po-key">Task</span><span class="po-val" id="poTask">—</span></div>
|
||||
<div class="po-row"><span class="po-key">Step</span><span class="po-val" id="poStep">—</span></div>
|
||||
<div class="po-row" id="poNextStepRow" style="display:none;"><span class="po-key">Next</span><span class="po-val" id="poNextStep">—</span></div>
|
||||
<div class="po-row" id="poMessageRow" style="display:none;"><span class="po-key">Note</span><span class="po-val" id="poMessage">—</span></div>
|
||||
<div class="po-section" id="poNeedInputSection" style="display:none;">
|
||||
<div class="po-section-head">Need User Input</div>
|
||||
<ol class="po-need-input" id="poNeedInputList"></ol>
|
||||
</div>
|
||||
<div class="po-section" id="poApprovalSection" style="display:none;">
|
||||
<div class="po-section-head">Awaiting Approval</div>
|
||||
<div class="po-approval" id="poApprovalText">—</div>
|
||||
</div>
|
||||
<div class="po-section" id="poContractSection" style="display:none;">
|
||||
<div class="po-section-head">Requirement Contract</div>
|
||||
<div class="po-contract" id="poContract"></div>
|
||||
</div>
|
||||
<div class="po-section" id="poLogsSection" style="display:none;">
|
||||
<div class="po-section-head">Recent Logs</div>
|
||||
<div class="po-logs" id="poLogs"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chat" id="chat">
|
||||
<!-- Dynamic welcome panel — JS의 _renderWelcome()이 두뇌/모델 상태에 맞춰
|
||||
시작 체크리스트 또는 예시 질문을 채워 넣음. 첫 메시지가 가면 사라짐. -->
|
||||
|
||||
Reference in New Issue
Block a user