claude-multiacc 1.0.8 → 1.0.9

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/tests/run-tests.sh +19 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-multiacc",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "Multi-account addon for Claude Code and OpenAI Codex CLI: every claude / claude -p and every codex / codex exec runs under a randomly-picked subscription account with the most usage headroom. Mirrors to a deploy server. No API keys.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1888,18 +1888,25 @@ rm -f "$CX"/acct-*/limits.json
1888
1888
 
1889
1889
  # refresh is not attempted at all when the rotated credential could not be persisted
1890
1890
  # (the grant rotates the refresh token — consuming it and then failing to write
1891
- # auth.json would strand the account; codex-review finding)
1892
- mk_cx_auth "$CX/acct-01/auth.json" a@cx 1000
1893
- rm -f "$CX/acct-01/limits.json" "$CX/acct-01/.oauth-refresh.json"
1894
- chmod 500 "$CX/acct-01"
1895
- out="$(CODEX_MULTIACC_TOKEN_URL="file://$WORK/cx-token-ok.json" CODEX_MULTIACC_USAGE_URL="file://$WORK/cx-usage-low.json" codex-accounts limits --force 2>&1)"
1896
- chmod 700 "$CX/acct-01"
1897
- check "codex: unpersistable credential skips the refresh grant" "refresh not attempted" "$out"
1898
- grep -q "rt-rotated-new" "$CX/acct-01/auth.json" \
1899
- && t_fail "codex refresh preflight" "the grant was consumed despite an unwritable dir" \
1900
- || t_ok "codex: refresh grant not consumed when persistence would fail"
1901
- mk_cx_auth "$CX/acct-01/auth.json" a@cx "$FUTURE_EXP"
1902
- rm -f "$CX/acct-01/.oauth-refresh.json"
1891
+ # auth.json would strand the account; codex-review finding).
1892
+ # Root ignores directory permission bits, so the unwritable-dir setup only works
1893
+ # as a non-root user (the server suite runs as root — skip there).
1894
+ if [ "$(id -u)" = "0" ]; then
1895
+ t_ok "codex: refresh persistence preflight test skipped (root ignores directory permissions)"
1896
+ t_ok "codex: refresh persistence preflight test skipped (root ignores directory permissions) [2]"
1897
+ else
1898
+ mk_cx_auth "$CX/acct-01/auth.json" a@cx 1000
1899
+ rm -f "$CX/acct-01/limits.json" "$CX/acct-01/.oauth-refresh.json"
1900
+ chmod 500 "$CX/acct-01"
1901
+ out="$(CODEX_MULTIACC_TOKEN_URL="file://$WORK/cx-token-ok.json" CODEX_MULTIACC_USAGE_URL="file://$WORK/cx-usage-low.json" codex-accounts limits --force 2>&1)"
1902
+ chmod 700 "$CX/acct-01"
1903
+ check "codex: unpersistable credential skips the refresh grant" "refresh not attempted" "$out"
1904
+ grep -q "rt-rotated-new" "$CX/acct-01/auth.json" \
1905
+ && t_fail "codex refresh preflight" "the grant was consumed despite an unwritable dir" \
1906
+ || t_ok "codex: refresh grant not consumed when persistence would fail"
1907
+ mk_cx_auth "$CX/acct-01/auth.json" a@cx "$FUTURE_EXP"
1908
+ rm -f "$CX/acct-01/.oauth-refresh.json"
1909
+ fi
1903
1910
 
1904
1911
  # two parallel imports get distinct ids and both land in the manifest (lock coverage;
1905
1912
  # codex-review finding)