fix(extension): v0.3.9 — SDK JS 파일 VSIX 포함 수정 + start_bot.bat conda Python 우선
This commit is contained in:
@@ -357,9 +357,20 @@
|
||||
- **해결**: AG 완전 종료 → 재실행 (Full restart). Reload Window로는 해결 불가
|
||||
- **주의**: Extension 코드 변경 후 배포 시 Reload Window 대신 Full restart 권장. 이건 AG LS 내부 동작이라 사용자 측에서 수정 불가
|
||||
|
||||
### [2026-03-10] start_bot.bat — Windows Store Python 스텁 우선 실행
|
||||
- **증상**: `start_bot.bat` 실행 시 `'...' is not recognized` 에러 후 `Python`만 출력되고 즉시 종료
|
||||
- **원인**: `where python`이 Windows Store의 Python 스텁(AppAlias)을 먼저 찾음. 이 스텁은 실제 Python이 아니라 Store 페이지로 리다이렉트하는 더미
|
||||
- **해결**: conda 경로(`C:\ProgramData\miniforge3\envs\gravity_control\python.exe`)를 `where python`보다 먼저 확인하도록 순서 변경
|
||||
- **주의**: Windows 10/11에서 App Aliases의 `python.exe`가 PATH에 기본 포함됨. 항상 구체적 경로 우선 확인 필요
|
||||
|
||||
### [2026-03-10] VSIX 빌드 — SDK JS 파일 미포함 (require 실패)
|
||||
- **증상**: Extension 활성화 후 `SDK not initialized`, `gravityBridge.connect` 클릭 시 에러. `extension.log`에 SDK init 성공 로그 없음
|
||||
- **원인**: `src/sdk/index.js`는 순수 JavaScript 파일. TypeScript 컴파일러(`tsc`)는 `.ts`만 변환하고 **`.js` 파일을 `out/`에 복사하지 않음**. `require('./sdk/index')`가 `out/sdk/index.js`를 찾지 못해 SDK 로드 실패
|
||||
- **해결**: `package.json`의 `compile` 스크립트에 `tsc` 후 `node -e "..."` 복사 단계 추가 (`src/sdk/` → `out/sdk/`)
|
||||
- **주의**: VSIX 패키징은 `.vscodeignore`의 `!out/**` 규칙으로 `out/sdk/`를 포함함. **문제는 빌드 단계에서 복사 누락**이므로 `npm run compile` 후 `out/sdk/` 존재 여부 반드시 확인
|
||||
|
||||
### [2026-03-10] SDK _findLSProcess — 대소문자 구분 workspace hint 매칭 실패
|
||||
- **증상**: variet-agent AG에서 활성 대화 진행 중인데 Discord에 신호 미도달. extension.log에 `[SESSION-FILTER] NO session matched! total=11`
|
||||
- **원인**: SDK `_findLSProcess()`가 workspace hint(`desktop_variet_agent`, 소문자)를 LS 프로세스 command line의 `Desktop_variet_agent`(대문자 D)과 `String.includes()`(대소문자 구분)로 비교 → 매치 실패 → 첫 번째 LS(gravity_control)로 fallback → variet-agent 세션 없음. 각 AG 창은 **별도의 LS 프로세스**를 가지며(workspace_id로 구분), SDK가 잘못된 LS에 연결하면 해당 창의 세션을 볼 수 없음
|
||||
- **해결**: `extension.ts`에 `fixLSConnection()` 함수 추가. SDK init 후 PowerShell로 모든 LS 프로세스를 조회, `--workspace_id`를 **대소문자 무시 비교**하여 올바른 LS 발견 → `sdk.ls.setConnection(port, csrfToken)`으로 재연결
|
||||
- **주의**: 각 AG 창마다 별도 LS 프로세스 존재 확인됨 (workspace_id로 구분). SDK `_getWorkspaceHint()`는 `.toLowerCase()` 적용하지만 검색 대상(LS command line)은 원본 대소문자를 유지하여 불일치 발생. 이 fix는 모든 multi-window AG 환경에서 필수
|
||||
|
||||
|
||||
Reference in New Issue
Block a user