@youdie006/swapdex 0.158.0 → 0.160.0

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/README.md CHANGED
@@ -332,6 +332,25 @@ program that needs its own Codex or Claude access should sign in for itself;
332
332
  `swapdex` is for accounts a person switches between, not a credential source
333
333
  for other software.
334
334
 
335
+ Codex renewal is checked before access expires: a running Codex proxy checks
336
+ every 30 minutes and attempts renewal for idle slots within 48 hours of expiry.
337
+ `swapdex refresh [name]` exits with status 4 if any requested renewal fails or
338
+ is deferred by the running-session guard, even if another account renews.
339
+ Already-current accounts and successful or empty runs return 0. Missing or
340
+ unreadable logins produce a sign-in remedy without an OAuth request.
341
+
342
+ `swapdex refresh --keep-alive` runs the same check without a proxy. If a local
343
+ session holds a due account, renewal is deferred to avoid retiring the token
344
+ that session holds. The account list and picker then show that renewal is
345
+ deferred and its refresh validity is unverified; this does not mean the access
346
+ token has expired or the account needs a new login. A confirmed refresh
347
+ rejection is reported separately as requiring re-login.
348
+
349
+ An external copy can renew without changing any local file. Neither the local
350
+ access token's issue time nor `last_refresh` reveals that remote event. These
351
+ checks therefore cannot certify refresh validity after unseen remote activity;
352
+ external consumers need their own login instead of a copy of a managed slot.
353
+
335
354
  ### What it will not do
336
355
 
337
356
  These are structural properties, not promises -- the code is built so they
package/bin/exit.js CHANGED
File without changes
package/bin/swapdex.js CHANGED
File without changes
package/man/swapdex.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH swapdex 1 "swapdex 0.158.0"
3
+ .TH swapdex 1 "swapdex 0.160.0"
4
4
  .SH NAME
5
5
  swapdex \- Switch Claude Code / Codex / Gemini / Antigravity login accounts, locally and safely.
6
6
  .SH SYNOPSIS
@@ -136,4 +136,4 @@ Print the man page (roff) to stdout
136
136
  swapdex\-help(1)
137
137
  Print this message or the help of the given subcommand(s)
138
138
  .SH VERSION
139
- v0.158.0
139
+ v0.160.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@youdie006/swapdex",
3
- "version": "0.158.0",
3
+ "version": "0.160.0",
4
4
  "description": "Switch between multiple Claude Code, Codex, Gemini, and Antigravity login accounts, locally and safely.",
5
5
  "bin": {
6
6
  "swapdex": "bin/swapdex.js"
@@ -12,10 +12,10 @@
12
12
  "man/swapdex.1"
13
13
  ],
14
14
  "optionalDependencies": {
15
- "@youdie006/swapdex-darwin-arm64": "0.158.0",
16
- "@youdie006/swapdex-darwin-x64": "0.158.0",
17
- "@youdie006/swapdex-linux-x64": "0.158.0",
18
- "@youdie006/swapdex-linux-arm64": "0.158.0"
15
+ "@youdie006/swapdex-darwin-arm64": "0.160.0",
16
+ "@youdie006/swapdex-darwin-x64": "0.160.0",
17
+ "@youdie006/swapdex-linux-x64": "0.160.0",
18
+ "@youdie006/swapdex-linux-arm64": "0.160.0"
19
19
  },
20
20
  "keywords": [
21
21
  "cli",