Skip to content

feat: Auto-import sessions on first use#707

Merged
AlexMikhalev merged 4 commits intomainfrom
feature/auto-import-sessions
Mar 24, 2026
Merged

feat: Auto-import sessions on first use#707
AlexMikhalev merged 4 commits intomainfrom
feature/auto-import-sessions

Conversation

@AlexMikhalev
Copy link
Contributor

Summary

Implements automatic session import on first use, eliminating the need for explicit import commands.

Changes

SessionService (terraphim_sessions)

  • Added auto_import flag (enabled by default)
  • Added auto_import_attempted tracking to prevent redundant imports
  • New methods: enable_auto_import(), disable_auto_import(), is_auto_import_enabled()
  • Auto-import triggered on: list_sessions(), search(), statistics(), sessions_by_source()
  • Imports up to 100 sessions automatically when cache is empty

CLI (terraphim_agent)

  • Removed SessionsSub::Import variant
  • Removed SessionsSub::ImportFrom variant
  • Updated help text to remove "import" from command lists
  • Updated error messages to remove "Import first with 'sessions import'" prompts

REPL

  • Removed SessionsSubcommand::Import variant
  • Added deprecation message for /sessions import command
  • Updated help text

User Experience

Before:

terraphim-agent sessions import
terraphim-agent sessions list

After:

terraphim-agent sessions list  # Auto-imports if needed

Testing

  • All existing tests pass
  • Updated test_statistics_empty to disable auto-import for isolated testing
  • Verified build passes with --features repl-sessions

Breaking Changes

  • terraphim-agent sessions import - REMOVED
  • terraphim-agent sessions import-from <source> - REMOVED
  • /sessions import - Shows deprecation message

Benefits

  1. Simpler UX - No manual import step needed
  2. Transparent - Sessions just work automatically
  3. Reduced cognitive load - One less command to learn
  4. Maintains performance - Subsequent queries use cached data

Alex added 4 commits March 23, 2026 12:00
This change implements Option 1 for removing the explicit import command:
- SessionService now auto-imports when cache is empty on first query
- Removed 'sessions import' and 'sessions import-from' CLI commands
- Removed '/sessions import' REPL command
- Updated help text to reflect new behavior
- Added enable_auto_import/disable_auto_import methods for testing
- Sessions are automatically imported on list, search, stats, and sessions_by_source

Breaking changes:
- 'terraphim-agent sessions import' command removed
- 'terraphim-agent sessions import-from' command removed
- '/sessions import' REPL command removed (shows deprecation message)

Benefits:
- Simpler UX - no manual import step needed
- Transparent to users - sessions just work
- Reduced cognitive load - one less command to learn
- Remove unnecessary return statement in commands.rs
- Apply consistent import ordering and formatting
@AlexMikhalev AlexMikhalev merged commit 45cc8c3 into main Mar 24, 2026
10 of 12 checks passed
@AlexMikhalev AlexMikhalev deleted the feature/auto-import-sessions branch March 24, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant