Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,16 +139,17 @@ tests/
| `src/lib/pasted-text-helper.ts` | Pasted text検知とEnter再送の共通ヘルパー(Issue #212: detectAndResendIfPastedText関数、リトライロジック、構造化ログ) |
| `src/lib/clipboard-utils.ts` | クリップボードコピーユーティリティ(stripAnsi利用、空文字バリデーション、Issue #211) |
| `src/lib/status-detector.ts` | セッションステータス検出の共通関数(Issue #180: route.tsインラインロジック統合、hasActivePrompt、15行プロンプト検出ウィンドウイング。Issue #188: STATUS_THINKING_LINE_COUNT=5追加、thinking/prompt優先順位統一、SF-001/SF-002/SF-004設計根拠ドキュメント化) |
| `src/lib/claude-session.ts` | Claude CLI tmuxセッション管理(Issue #152で改善: プロンプト検出強化、タイムアウトエラー、waitForPrompt()、Issue #187: sendMessageToClaude安定化待機・セパレータパターン除外・エラー伝播・CLAUDE_SEND_PROMPT_WAIT_TIMEOUT定数。Issue #212: 複数行メッセージのPasted text検知+Enter再送。**Issue #265: キャッシュ無効化・ヘルスチェック・CLAUDECODE除去** - clearCachedClaudePath()でCLI更新時の自動回復、isSessionHealthy()/ensureHealthySession()で壊れたセッション検出・再作成、sanitizeSessionEnvironment()でCLAUDECODE環境変数除去、getCleanPaneOutput()共通ヘルパー、isValidClaudePath()でCLAUDE_PATHバリデーション) |
| `src/lib/claude-session.ts` | Claude CLI tmuxセッション管理(Issue #152で改善: プロンプト検出強化、タイムアウトエラー、waitForPrompt()、Issue #187: sendMessageToClaude安定化待機・セパレータパターン除外・エラー伝播・CLAUDE_SEND_PROMPT_WAIT_TIMEOUT定数。Issue #212: 複数行メッセージのPasted text検知+Enter再送。**Issue #265: キャッシュ無効化・ヘルスチェック・CLAUDECODE除去** - clearCachedClaudePath()でCLI更新時の自動回復、isSessionHealthy()/ensureHealthySession()で壊れたセッション検出・再作成、sanitizeSessionEnvironment()でCLAUDECODE環境変数除去、getCleanPaneOutput()共通ヘルパー、isValidClaudePath()でCLAUDE_PATHバリデーション。**Issue #306: セッション安定性改善** - HealthCheckResult interface(@internal export)でisSessionHealthy()戻り値をreason付き構造化、SHELL_PROMPT_ENDINGS多段防御(行長チェック先行+N%個別除外)でコンテキスト残量表示の誤検出防止、ensureHealthySession()にreason付きconsole.warnログ追加、MAX_SHELL_PROMPT_LENGTH=40定数) |
| `src/lib/response-poller.ts` | レスポンスポーリングとthinking検出(Issue #188: L353/L547-554ウィンドウ化、RESPONSE_THINKING_TAIL_LINE_COUNT=5定数、detectPromptWithOptions()ヘルパー、Gemini LOADING_INDICATORS配列抽出。Issue #212: cleanClaudeResponse skipPatternsにPASTED_TEXT_PATTERN追加。**Issue #235: rawContent優先DB保存** - DB保存時にrawContent || cleanContentを使用し、完全なプロンプト出力を保持) |
| `src/lib/prompt-detector.ts` | プロンプト検出ロジック(Issue #161: 2パス❯検出方式で誤検出防止、連番検証。Issue #193: DetectPromptOptions interface追加、requireDefaultIndicatorフラグによる❯なし形式対応、Layer 5 SEC-001ガード。Issue #208: SEC-001b質問行妥当性検証追加、isQuestionLikeLine()による番号付きリスト誤検出防止。**Issue #235: rawContentフィールド追加** - PromptDetectionResultにrawContent?:stringを追加し、truncateRawContent()で最大200行/5000文字に制限。lastLinesを末尾20行に拡張。**Issue #256: isQuestionLikeLine()の複数行質問対応**(行内?チェック、キーワード単独マッチ)、SEC-001b上方走査(findQuestionLineInRange()関数、SF-S4-001 scanRangeバリデーション)、Pass 2ループ内isQuestionLikeLine()先行チェック(MF-001: isContinuationLine SRP維持)、QUESTION_SCAN_RANGE=3) |
| `src/lib/version-checker.ts` | GitHub API呼び出し、semver比較、globalThisキャッシュ(Issue #257: バージョンアップ通知機能。Issue #278: cache: 'no-store'追加でNext.js Data Cache無効化。SEC-001 SSRF防止、SEC-SF-001レスポンスバリデーション、JSDocでglobalThisキャッシュ動作を明記) |
| `src/hooks/useUpdateCheck.ts` | アップデートチェック用カスタムフック(Issue #257: /api/app/update-check呼び出し、loading/error/data状態管理) |
| `src/components/worktree/VersionSection.tsx` | バージョン表示+通知統合コンポーネント(Issue #257: SF-001 DRY準拠、InfoModal/MobileInfoContent共通化) |
| `src/components/worktree/UpdateNotificationBanner.tsx` | アップデート通知バナーUI(Issue #257: MF-001 SRP準拠、i18n対応、GitHub Releasesリンク) |
| `src/lib/auto-yes-manager.ts` | Auto-Yes状態管理とサーバー側ポーリング(Issue #138)、thinking状態のprompt検出スキップ(Issue #161) |
| `src/lib/auto-yes-manager.ts` | Auto-Yes状態管理とサーバー側ポーリング(Issue #138)、thinking状態のprompt検出スキップ(Issue #161)。**Issue #306: 重複応答防止** - AutoYesPollerStateにlastAnsweredPromptKey追加、isDuplicatePrompt()ヘルパー、プロンプト非検出時nullリセット、COOLDOWN_INTERVAL_MS=5000クールダウン、scheduleNextPoll()にoverride_interval下限値ガード付き) |
| `src/lib/prompt-key.ts` | promptKeyデduplication共通ユーティリティ(Issue #306: generatePromptKey()でtype:questionキー生成、クライアント/サーバー間DRY原則対応、PromptKeyInput interface) |
| `src/lib/auto-yes-resolver.ts` | Auto-Yes自動応答判定ロジック |
| `src/hooks/useAutoYes.ts` | Auto-Yesクライアント側フック(重複応答防止対応。**Issue #287: promptType/defaultOptionNumber送信** - prompt-response APIリクエストにpromptType/defaultOptionNumberを含め、promptCheck再検証失敗時のフォールバック対応) |
| `src/hooks/useAutoYes.ts` | Auto-Yesクライアント側フック(重複応答防止対応。**Issue #287: promptType/defaultOptionNumber送信** - prompt-response APIリクエストにpromptType/defaultOptionNumberを含め、promptCheck再検証失敗時のフォールバック対応。**Issue #306: generatePromptKey()使用** - promptKey生成をprompt-key.tsの共通ユーティリティに統一) |
| `src/lib/prompt-response-body-builder.ts` | プロンプト応答リクエストボディ構築ユーティリティ(Issue #287: buildPromptResponseBody()関数でpromptType/defaultOptionNumberを含むリクエストボディを生成、DRY原則対応、useAutoYes/WorktreeDetailRefactoredから共通化) |
| `src/lib/cli-tools/` | CLIツール抽象化(Strategy パターン) |
| `src/lib/cli-tools/codex.ts` | Codex CLI tmuxセッション管理(Issue #212: 複数行メッセージのPasted text検知+Enter再送、getErrorMessage()ヘルパー抽出) |
Expand Down
Loading