| name | claudexor_quotas |
| description | Read-only widget showing quota windows and limits for every authorized Claudexor account, with per-facet read-state honesty. |
| version | 0.3.0 |
| type | extension |
| runtime | python3 |
| entry | plugin.py |
| permissions | ["net","route","widget"] |
| env_from_settings | [] |
| when_to_use | The owner wants to see, at a glance, the quota windows, limits and reset times of every authorized Claudexor account, including which facets could not be read. |
| timeout_sec | 60 |
| ui_tab | {"tab_id":"quotas","title":"Claudexor Quotas","icon":"gauge","span":2,"render":{"kind":"module","entry":"widget.js"}} |
Claudexor Quotas (v0.3.0)
A read-only projection of the host's own account surface. It adds no gateway
route to the core repo, reads no daemon token, and mutates nothing.
What it reads
One existing endpoint, through the host's own authenticated fetch:
GET /api/claudexor/status
Fields consumed (exact wire names, verified against a live response of engine
3.3.15):
reads — ClaudexorStatusReads: catalog / accounts / quota, each
ok | not_read | failed. This is the provenance authority.
daemon — state, engine_version, self_started, runtime.last_error.
harnesses[] — id, display_name, status, enabled, provider_family.
One agent family per card.
profiles.harnessAccounts[] — the per-harness native login:
harness_id, native_credentials_enabled, native_login_detected,
identity.{email,plan}, next_up.{kind,route,profile_id}.
profiles.profiles[] — named credential profiles as wrapper objects:
profile.{profile_id,harness_id,display_name,credential_kind,enabled},
status.{availability,verification,verification_source,last_verified_at,detail},
identity.{email,plan}.
quota[] — snapshots: subject.{harness,subject_id,plan_label,credential_route},
constraints[].{id,label,used_ratio,window_seconds,resets_at,cooldown_until,applies_to_models},
availability.{state,blocking_constraints,model_scoped_exhaustions},
observed_at, freshness.
subject_id is null for the native login and the profile id for a named
account; matching is EXACT on (harness, subject_id) so a named profile's
exhausted window is never reported as the default login's.
Honesty rules (the point of this widget)