grow food, not lawn.

Skip to content
  • Russell Ballestrini's avatar
    Fix --account N credential priority across all SDKs · ed6c52b0
    Russell Ballestrini authored
    --account N was silently ignored when UNSANDBOX_PUBLIC_KEY/SECRET_KEY
    env vars were set. The credential resolution checked env vars at tier 2
    before ever reaching the CSV lookup, so the explicit flag had no effect.
    
    Correct priority order (all 8 SDKs):
      1. CLI -p/-k flags (explicit key args)
      2. --account N → direct CSV row lookup (bypasses env vars)
      3. UNSANDBOX_PUBLIC_KEY / UNSANDBOX_SECRET_KEY env vars
      4. ~/.unsandbox/accounts.csv default (row 0 or UNSANDBOX_ACCOUNT)
    
    SDKs updated: C, Python, Go, JavaScript, Ruby, PHP, Java, Rust
    
    Also adds:
    - --account N flag to CLI parsers in all 8 SDKs (Go, PHP, Java, Rust
      previously had no flag at all; Python/JS/Ruby had the parameter but
      never wired it to the CLI)
    - test_account_flag.sh integration test for each SDK verifying the
      priority behavior with real and garbage credentials
    - test-integration Makefile target for the C SDK
    ed6c52b0