feat(import): write a listable session.State per imported session · Entire

feat(import): write a listable session.State per imported session

f65c471→main·

computermode·1w ago·2 files·+237 added/-0 removed

Kind-gated (KindImported), never sets BaseCommit (no HEAD pin), uses real
transcript timestamps — keeps a future commit-SHA link additive.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Sessions

01KX49MZY55PJYNTEPSMG6VF9GView transcript

[?
Fix Imported Sessions Handling in CLIClaude Code·Opus 4.8·34 steps](/content/gh/entireio/cli/session/91fa7c44-6634-48ab-ae5f-d394502f50d5#timeline-01KX49MZY55PJYNTEPSMG6VF9G/index.html)

Changes

2

21 unmodified lines

...  
...  
... 

Code Example

writeSessionState

func writeSessionState(ctx context.Context, imp Importer, sf SessionFile, turns []Turn) error {
    if len(turns) == 0 {
        return nil
    }
    store, err := session.NewStateStore(ctx)
    if err != nil {
        return fmt.Errorf("open session state store: %w", err)
    }
    ... 
}

addTokenUsage

func addTokenUsage(dst, src *types.TokenUsage) *types.TokenUsage {
    if src == nil {
        return dst
    }
    ... 
}

Tests

TestWriteSessionState_CreatesListableImportedState

func TestWriteSessionState_CreatesListableImportedState(t *testing.T) {
    // Not parallel: t.Chdir + git-cwd resolution.
    dir := t.TempDir()
    ... 
}

TestImportedSessionSurvivesListing

func TestImportedSessionSurvivesListing(t *testing.T) {
    // Not parallel: t.Chdir.
    dir := t.TempDir()
    ... 
}