replit-tools 1.1.15 → 1.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -107,10 +107,10 @@ function main() {
107
107
  }
108
108
 
109
109
  console.log('');
110
- console.log('╭─────────────────────────────────────────────────────────╮');
111
- console.log(`│ DATA Tools v${VERSION.padEnd(44)}│`);
112
- console.log('│ Claude & Codex Persistence for Replit │');
113
- console.log('╰─────────────────────────────────────────────────────────╯');
110
+ console.log('╭───────────────────────────────╮');
111
+ console.log(`│ DATA Tools v${VERSION.padEnd(16)}│`);
112
+ console.log('│ Claude & Codex Persistence │');
113
+ console.log('╰───────────────────────────────╯');
114
114
 
115
115
  // Check for updates
116
116
  const latestVersion = checkForUpdates();
@@ -720,29 +720,17 @@ alias cm='claude_menu'
720
720
  } catch {}
721
721
 
722
722
  console.log('');
723
- console.log('╔═════════════════════════════════════════════════════════════╗');
724
- console.log('║');
725
- console.log(`║ ✅ DATA Tools v${VERSION} Installation Complete!`.padEnd(62) + '');
726
- console.log('║ ║');
727
- console.log('╠═════════════════════════════════════════════════════════════╣');
728
- console.log('║ ║');
729
- console.log('║ Your setup now persists across container restarts: ║');
730
- console.log('║ ║');
731
- console.log('║ • Claude Code conversations & credentials ║');
732
- console.log('║ Codex CLI data & authentication ║');
733
- console.log('║ • Command history (bash) ║');
734
- console.log('║ • Per-terminal session tracking ║');
735
- console.log('║ ║');
736
- console.log('╠═════════════════════════════════════════════════════════════╣');
737
- console.log('║ ║');
738
- console.log('║ All data stored in: .replit-tools/ ║');
739
- console.log('║ ║');
740
- const claudeDisplay = claudePersistentDir.replace(WORKSPACE + '/', '').padEnd(40);
741
- const codexDisplay = codexPersistentDir.replace(WORKSPACE + '/', '').padEnd(40);
742
- console.log(`║ Claude: ${claudeDisplay} ║`);
743
- console.log(`║ Codex: ${codexDisplay} ║`);
744
- console.log('║ ║');
745
- console.log('╚═════════════════════════════════════════════════════════════╝');
723
+ console.log('╔═══════════════════════════════╗');
724
+ console.log(`║ ✅ v${VERSION} Installed!`.padEnd(32) + '║');
725
+ console.log('╠═══════════════════════════════╣');
726
+ console.log('║ Now persists: ║');
727
+ console.log('║ • Claude conversations ║');
728
+ console.log('║ • Codex CLI data ║');
729
+ console.log('║ Bash history ║');
730
+ console.log('║ • Session tracking ║');
731
+ console.log('╠═══════════════════════════════╣');
732
+ console.log('║ Stored in: .replit-tools/ ║');
733
+ console.log('╚═══════════════════════════════╝');
746
734
  console.log('');
747
735
 
748
736
  // Check if Claude needs login
package/install.sh CHANGED
@@ -18,9 +18,9 @@ RED='\033[0;31m'
18
18
  NC='\033[0m' # No Color
19
19
 
20
20
  echo ""
21
- echo "╭─────────────────────────────────────────────────────────╮"
22
- echo "│ Replit Claude Persistence Installer │"
23
- echo "╰─────────────────────────────────────────────────────────╯"
21
+ echo "╭───────────────────────────────╮"
22
+ echo "│ Claude Persistence Installer │"
23
+ echo "╰───────────────────────────────╯"
24
24
  echo ""
25
25
 
26
26
  # Check we're on Replit
@@ -249,7 +249,7 @@ show_sessions() {
249
249
  [ -z "$data" ] && echo " No sessions found." && return
250
250
  echo "$data" | while IFS='|' read -r key value; do
251
251
  case "$key" in
252
- SESSION) echo ""; echo " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"; echo " [$value]" ;;
252
+ SESSION) echo ""; echo " ━━━━━━━━━━━━━━━━━━━━━━━━━━━"; echo " [$value]" ;;
253
253
  ID) echo " ID: $value" ;;
254
254
  MESSAGES) printf " Messages: %s" "$value" ;;
255
255
  SIZE) printf " | Size: %s\n" "$value" ;;
@@ -285,20 +285,32 @@ claude_prompt() {
285
285
  local last_session=$(get_terminal_last_session)
286
286
 
287
287
  echo ""
288
- echo "╭─────────────────────────────────────────────────────────╮"
289
- echo "│ Claude Session Manager │"
290
- echo "╰─────────────────────────────────────────────────────────╯"
291
- [ "$running" -gt 0 ] && echo " ($running Claude instance(s) running in other terminals)"
288
+ echo "╭───────────────────────────╮"
289
+ echo "│ Claude Session Manager │"
290
+ echo "╰───────────────────────────╯"
291
+ [ "$running" -gt 0 ] && echo " ($running running)"
292
292
  echo ""
293
- echo " [c] Continue last session for this terminal"
293
+ echo " [c] Continue last session"
294
294
  [ -n "$last_session" ] && echo " └─ ${last_session:0:8}..."
295
- echo " [r] Resume a specific session (pick from list)"
295
+ echo " [r] Resume (pick from list)"
296
296
  echo " [n] Start new session"
297
- echo " [s] Skip - just give me a shell"
297
+ echo " [l] Login to Claude"
298
+ echo " [s] Skip - just shell"
299
+ echo ""
300
+
301
+ # Colored command key
302
+ echo " ┌─────────────────────────┐"
303
+ echo -e " │ \033[36mcm\033[0m = show menu │"
304
+ echo -e " │ \033[36ml\033[0m = login │"
305
+ echo " ├─────────────────────────┤"
306
+ echo -e " │ \033[33mCtrl+C\033[0m to exit, then: │"
307
+ echo -e " │ \033[32mclaude --dangerously-\033[0m │"
308
+ echo -e " │ \033[32mskip-permissions\033[0m │"
309
+ echo " └─────────────────────────┘"
298
310
  echo ""
299
311
 
300
312
  local choice
301
- read -t 30 -n 1 -p " Choice [c/r/n/s]: " choice
313
+ read -t 30 -n 1 -p " Choice [c/r/n/l/s]: " choice
302
314
  echo ""
303
315
 
304
316
  case "$choice" in
@@ -327,7 +339,11 @@ claude_prompt() {
327
339
  echo ""; echo " Starting new Claude session..."
328
340
  claude --dangerously-skip-permissions
329
341
  save_session_state "$(tail -1 "${HOME}/.claude/history.jsonl" 2>/dev/null | grep -oP '"sessionId":"[^"]+"' | cut -d'"' -f4)" ;;
330
- s|S) echo ""; echo " Okay, just a shell. Type 'claude' or 'cr' when ready." ;;
342
+ l|L)
343
+ echo ""; echo " Starting Claude login..."
344
+ claude /login --dangerously-skip-permissions
345
+ echo ""; echo " Login complete." ;;
346
+ s|S) echo ""; echo " Okay, just a shell. Type 'cm' or 'l' when ready." ;;
331
347
  *) echo ""; echo " Unknown option. Type 'claude' to start manually." ;;
332
348
  esac
333
349
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replit-tools",
3
- "version": "1.1.15",
3
+ "version": "1.1.17",
4
4
  "description": "DATA Tools - One command to set up Claude Code and Codex CLI on Replit with full persistence",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -162,7 +162,7 @@ show_sessions() {
162
162
  SESSION)
163
163
  current_num="$value"
164
164
  echo ""
165
- echo " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
165
+ echo " ━━━━━━━━━━━━━━━━━━━━━━━━━━━"
166
166
  echo " [$value]"
167
167
  ;;
168
168
  ID)
@@ -288,24 +288,35 @@ claude_prompt() {
288
288
  local last_session=$(get_terminal_last_session)
289
289
 
290
290
  echo ""
291
- echo "╭─────────────────────────────────────────────────────────╮"
292
- echo "│ Claude Session Manager │"
293
- echo "╰─────────────────────────────────────────────────────────╯"
291
+ echo "╭───────────────────────────╮"
292
+ echo "│ Claude Session Manager │"
293
+ echo "╰───────────────────────────╯"
294
294
 
295
295
  if [ "$running" -gt 0 ]; then
296
- echo " ($running Claude instance(s) running in other terminals)"
296
+ echo " ($running running)"
297
297
  fi
298
298
  echo ""
299
299
 
300
300
  # Show options
301
- echo " [c] Continue last session for this terminal"
301
+ echo " [c] Continue last session"
302
302
  if [ -n "$last_session" ]; then
303
303
  echo " └─ ${last_session:0:8}..."
304
304
  fi
305
- echo " [r] Resume a specific session (pick from list)"
305
+ echo " [r] Resume (pick from list)"
306
306
  echo " [n] Start new session"
307
- echo " [l] Login to Claude (authenticate)"
308
- echo " [s] Skip - just give me a shell"
307
+ echo " [l] Login to Claude"
308
+ echo " [s] Skip - just shell"
309
+ echo ""
310
+
311
+ # Colored command key
312
+ echo " ┌─────────────────────────┐"
313
+ echo -e " │ \033[36mcm\033[0m = show menu │"
314
+ echo -e " │ \033[36ml\033[0m = login │"
315
+ echo " ├─────────────────────────┤"
316
+ echo -e " │ \033[33mCtrl+C\033[0m to exit, then: │"
317
+ echo -e " │ \033[32mclaude --dangerously-\033[0m │"
318
+ echo -e " │ \033[32mskip-permissions\033[0m │"
319
+ echo " └─────────────────────────┘"
309
320
  echo ""
310
321
 
311
322
  # Read choice with timeout