YeonGyu-Kim
3fe9c1f6e4
fix: address Cubic round-5 P1/P2 issues
...
- P1: add path traversal guard to getMessageDir (reject .., /, \)
- P2: treat unknown part types as non-content in messageHasContentFromSDK
2026-02-16 16:13:40 +09:00
YeonGyu-Kim
1a744424ab
fix: address all Cubic P2 review issues
...
- session-utils: log SDK errors instead of silent swallow
- opencode-message-dir: fix indentation, improve error log format
- storage: use session.list for sessionExists (handles empty sessions)
- storage.test: use resetStorageClient for proper SDK client cleanup
- todo-sync: add content-based fallback for id-less todo removal
2026-02-16 16:13:40 +09:00
YeonGyu-Kim
4cf3bc431b
refactor(shared): unify MESSAGE_STORAGE/PART_STORAGE constants into single source
...
- Create src/shared/opencode-storage-paths.ts with all 4 constants
- Update 4 previous declaration sites to import from shared file
- Update additional OPENCODE_STORAGE usages for consistency
- Re-export from src/shared/index.ts
- No duplicate constant declarations remain
2026-02-16 16:13:40 +09:00
YeonGyu-Kim
07da116671
fix: address Cubic review comments (P2/P3 issues)
...
- Fix empty catch block in opencode-message-dir.ts (P2)
- Add log deduplication for truncateToolResult to prevent spam (P3)
2026-02-16 16:13:40 +09:00
YeonGyu-Kim
b0944b7fd1
feat(session-manager): add version-gated SDK read path for OpenCode beta
...
- Add SDK client injection via setStorageClient()
- Version-gate getMainSessions(), getAllSessions(), readSessionMessages(), readSessionTodos()
- Add comprehensive tests for SDK path (beta mode)
- Maintain backward compatibility with JSON fallback
2026-02-16 16:13:40 +09:00
YeonGyu-Kim
c9c02e0525
refactor(shared): consolidate 13+ getMessageDir copies into single shared function
2026-02-16 16:13:39 +09:00
YeonGyu-Kim
e90734d6d9
fix(todo): make Todo id field optional for OpenCode beta compatibility
...
- Make id field optional in all Todo interfaces (TodoInfo, Todo, TodoItem)
- Fix null-unsafe comparisons in todo-sync.ts to handle missing ids
- Add test case for todos without id field preservation
- All tests pass and typecheck clean
2026-02-16 16:13:39 +09:00