Module: Space::Architect::SessionSync
- Defined in:
- lib/space_architect/session_sync.rb,
lib/space_architect/session_sync/plist.rb,
lib/space_architect/session_sync/cursor.rb,
lib/space_architect/session_sync/runner.rb,
lib/space_architect/session_sync/bin_path.rb,
lib/space_architect/session_sync/session_id.rb
Overview
Session-sync rail's laptop half: scans ~/.pi/agent/sessions//*.jsonl and
~/.claude/projects//*.jsonl for conversation files, uploads new/grown
ones to a space-server via ConversationsClient, and installs a per-user
launchd agent that runs the sync on an interval. Opencode (sqlite) is out
of scope for this rail.
Defined Under Namespace
Modules: BinPath, SessionId
Classes: Cursor, Plist, Runner
Constant Summary
collapse
- LABEL =
"io.github.jetpks.space-architect.session-sync"
- APP_NAME =
"space-architect"
Class Method Summary
collapse
Class Method Details
.default_claude_root(env: ENV) ⇒ Object
33
34
35
|
# File 'lib/space_architect/session_sync.rb', line 33
def default_claude_root(env: ENV)
File.join(Space::Core::XDG.home(env: env), ".claude", "projects")
end
|
.default_pi_root(env: ENV) ⇒ Object
29
30
31
|
# File 'lib/space_architect/session_sync.rb', line 29
def default_pi_root(env: ENV)
File.join(Space::Core::XDG.home(env: env), ".pi", "agent", "sessions")
end
|
.default_state_file(env: ENV) ⇒ Object
25
26
27
|
# File 'lib/space_architect/session_sync.rb', line 25
def default_state_file(env: ENV)
File.join(state_dir(env: env), "session-sync.yaml")
end
|
.launch_agents_dir(env: ENV) ⇒ Object
41
42
43
|
# File 'lib/space_architect/session_sync.rb', line 41
def launch_agents_dir(env: ENV)
File.join(Space::Core::XDG.home(env: env), "Library", "LaunchAgents")
end
|
.log_dir(env: ENV) ⇒ Object
37
38
39
|
# File 'lib/space_architect/session_sync.rb', line 37
def log_dir(env: ENV)
File.join(state_dir(env: env), "logs")
end
|
.state_dir(env: ENV) ⇒ Object
21
22
23
|
# File 'lib/space_architect/session_sync.rb', line 21
def state_dir(env: ENV)
File.join(Space::Core::XDG.state_home(env: env).to_s, APP_NAME)
end
|