Skip to content

feat(cli): dimos login — device-code cloud auth - #3522

Merged
spomichter merged 6 commits into
mainfrom
feat/cloud-login
Aug 18, 2026
Merged

feat(cli): dimos login — device-code cloud auth#3522
spomichter merged 6 commits into
mainfrom
feat/cloud-login

Conversation

@spomichter

Copy link
Copy Markdown
Contributor

Adds dimos login — device-code auth (RFC 8628 shaped) against login.dimensional.org, built for robots: no browser or clipboard needed on the machine logging in.

$ dimos login

  Open        https://login.dimensional.org/activate
  Enter code  FQZM-VWKT

Logged in as you@dimensionalos.com (key dimos_sk_ab12cd34…)

Approve the 8-char code from any signed-in browser (laptop/phone); the CLI polls and stores the minted API key in the XDG config dir (0600). DIMOS_API_KEY env var overrides the stored key everywhere. Also adds dimos logout (forgets the local key; full revocation at login.dimensional.org/keys) and dimos whoami.

Server side is already live (dimos-cloud): keys are hashed at rest, revocable, single-use claim, rate-limited. The key authenticates the /v1 machine API (uploads, units, findings, assignments, payouts).

Stdlib-only HTTP (urllib) — no new dependencies.

Comment thread dimos/cli/cloud.py Fixed
@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.22222% with 14 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
dimos/cli/cloud.py 85.10% 12 Missing and 2 partials ⚠️
@@            Coverage Diff             @@
##             main    #3522      +/-   ##
==========================================
+ Coverage   74.05%   76.05%   +2.00%     
==========================================
  Files        1283     1226      -57     
  Lines      124704   118922    -5782     
  Branches    11141    10666     -475     
==========================================
- Hits        92349    90452    -1897     
+ Misses      29493    25388    -4105     
- Partials     2862     3082     +220     
Flag Coverage Δ
OS-ubuntu-24.04-arm 70.47% <92.22%> (+0.03%) ⬆️
OS-ubuntu-latest 72.24% <92.22%> (+0.02%) ⬆️
Py-3.10 72.24% <92.22%> (+0.02%) ⬆️
Py-3.11 72.24% <92.22%> (+0.03%) ⬆️
Py-3.12 72.23% <92.22%> (+0.02%) ⬆️
Py-3.13 72.24% <92.22%> (+0.02%) ⬆️
Py-3.14 72.25% <92.22%> (+0.03%) ⬆️
Py-3.14t 72.24% <92.22%> (+0.02%) ⬆️
SelfHosted-Large 29.76% <31.66%> (+0.05%) ⬆️
SelfHosted-Linux 35.83% <31.66%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
dimos/cli/dimos.py 65.08% <100.00%> (+0.30%) ⬆️
dimos/cli/test_cloud.py 100.00% <100.00%> (ø)
dimos/constants.py 76.00% <100.00%> (+1.00%) ⬆️
dimos/core/global_config.py 85.10% <100.00%> (+0.32%) ⬆️
dimos/cli/cloud.py 85.10% <85.10%> (ø)

... and 83 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@spomichter
spomichter marked this pull request as ready for review August 18, 2026 10:46
leshy
leshy previously approved these changes Aug 18, 2026
@spomichter
spomichter enabled auto-merge August 18, 2026 11:21
@spomichter
spomichter disabled auto-merge August 18, 2026 11:28
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Aug 18, 2026
@spomichter
spomichter merged commit 888280e into main Aug 18, 2026
36 checks passed
@spomichter
spomichter deleted the feat/cloud-login branch August 18, 2026 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Required CI checks have passed on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants