replit-tools 1.1.7 → 1.1.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replit-tools",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
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": {
@@ -243,12 +243,18 @@ fi
243
243
  # Step 6: Auto-refresh OAuth token if needed (with loop prevention)
244
244
  # =============================================================================
245
245
  CREDENTIALS_FILE="${CLAUDE_PERSISTENT}/.credentials.json"
246
+ AUTH_FAILED_MARKER="${REPLIT_TOOLS}/.auth-refresh-failed"
246
247
 
247
- # Prevent infinite refresh loops - only try once per shell session
248
- if [ -z "${_REPLIT_TOOLS_AUTH_CHECKED}" ]; then
249
- export _REPLIT_TOOLS_AUTH_CHECKED=1
248
+ # Clear failed marker if it's more than 1 hour old (allow retry after cooldown)
249
+ if [ -f "${AUTH_FAILED_MARKER}" ]; then
250
+ marker_age=$(( $(date +%s) - $(stat -c %Y "${AUTH_FAILED_MARKER}" 2>/dev/null || echo "0") ))
251
+ if [ "${marker_age}" -gt 3600 ]; then
252
+ rm -f "${AUTH_FAILED_MARKER}" 2>/dev/null
253
+ fi
254
+ fi
250
255
 
251
- if [ -f "${CREDENTIALS_FILE}" ] && [ -f "${AUTH_REFRESH_SCRIPT}" ]; then
256
+ # Skip auth refresh if we already failed recently (file-based lock prevents loops)
257
+ if [ ! -f "${AUTH_FAILED_MARKER}" ] && [ -f "${CREDENTIALS_FILE}" ] && [ -f "${AUTH_REFRESH_SCRIPT}" ]; then
252
258
  # Source the auth refresh script to get the function
253
259
  source "${AUTH_REFRESH_SCRIPT}"
254
260
 
@@ -291,12 +297,12 @@ if [ -z "${_REPLIT_TOOLS_AUTH_CHECKED}" ]; then
291
297
  " 2>/dev/null)
292
298
  log "✅ Claude authentication: refreshed (${NEW_REMAINING}h remaining)"
293
299
  else
294
- log "❌ Token refresh failed - will use --dangerously-skip-permissions"
295
- export CLAUDE_SKIP_AUTH=1
300
+ log "❌ Token refresh failed - run 'claude login' when ready"
301
+ touch "${AUTH_FAILED_MARKER}"
296
302
  fi
297
303
  else
298
- log "❌ Token expired (no refresh token) - will use --dangerously-skip-permissions"
299
- export CLAUDE_SKIP_AUTH=1
304
+ log "❌ Token expired (no refresh token) - run 'claude login' when ready"
305
+ touch "${AUTH_FAILED_MARKER}"
300
306
  fi
301
307
  elif [ "${remaining}" -lt 2 ]; then
302
308
  # Less than 2 hours - refresh proactively
@@ -321,14 +327,13 @@ if [ -z "${_REPLIT_TOOLS_AUTH_CHECKED}" ]; then
321
327
  log "✅ Claude authentication: valid (${remaining}h remaining)"
322
328
  fi
323
329
  elif [ "${auth_type}" = "none" ] || [ "${auth_type}" = "error" ]; then
324
- log "⚠️ No valid auth found - will use --dangerously-skip-permissions"
325
- export CLAUDE_SKIP_AUTH=1
330
+ log "⚠️ No valid auth - run 'claude login' when ready"
326
331
  fi
327
332
  fi
328
- elif [ ! -f "${CREDENTIALS_FILE}" ]; then
329
- log "⚠️ No credentials - will use --dangerously-skip-permissions"
330
- export CLAUDE_SKIP_AUTH=1
331
- fi
333
+ elif [ -f "${AUTH_FAILED_MARKER}" ]; then
334
+ log "⏭️ Skipping auth check (refresh failed recently, retry in 1h or run 'claude login')"
335
+ elif [ ! -f "${CREDENTIALS_FILE}" ]; then
336
+ log "⚠️ No credentials - run 'claude login' when ready"
332
337
  fi
333
338
 
334
339
  # =============================================================================