Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CUA proof for the Aixy provider (local Windows debug build, cua-driver CLI). Build: commit Isolation: the exe ran with an empty Commands:
Observation (cosmetic, not blocking): in the tray card the balance text and the spent/reserved secondary value are laid out on one line with no gap ( Notes: the first launch of the settings surface listed the machine's ambient Codex account, which contains a personal email. That screenshot was discarded and none of the kept screenshots contain it. Locale, CLI and non-UI paths are covered by the PR's test run, not by this proof. Local screenshots (not committed):
|
Summary
Ports the upstream CodexBar 0.67.0 Aixy provider. Aixy reads the API key's own usage and applicable budget balances from
GET {base}/v1/usage(Bearer key, no cookies, redirects off).aixy-<id>) that keeps its known/unknown state. Overlapping budgets are never summed.https://api.aixy-gateway.com);AIXY_BASE_URLand the new Base URL field in Settings cover self-hosted gateways./v1and path prefixes are accepted; HTTPS is required except for localhost, private-network and.localhosts; embedded credentials, query and fragment are rejected. The URL is validated before the credential is resolved.AIXY_API_KEY. Menu-bar metric is Automatic only.build_fetch_contextonly passed the saved gateway URL to Wayfinder, so a saved Bifrost or Aixy Base URL never reached tray refresh. It now passes the saved URL for every provider that has one.is_private_network_hosthelper extracted from Bifrost (Bifrost now delegates to it).Upstream reference
CodexBar v0.67.0, Aixy provider and
AixyPluginTests.swift(the key-usage fixture is vendored verbatim atrust/src/providers/aixy/fixtures/key-usage.json). Read-only, pinned to the release tag.Ported
ProviderId::Aixy, factory arm, aliases, token account config, API key config, dashboard link, icon, brand color, usage source policy, catalog entries, docs.Deferred
AixySettingsTests.swiftwas not available locally, so settings-field behaviour beyond URL validation is not mirrored.usagecommand builds itsFetchContextwithgateway_url: None, so the CLI honoursAIXY_BASE_URLonly (pre-existing, shared with the other gateway providers).Validation
cargo +1.98.0 fmt --allcleancargo +1.98.0 clippy --workspace --all-targets -- -D warningscleancargo test -p codexbar -- --test-threads=4: 2274 passed, 0 failed, 1 ignoredcargo test -p codexbar-desktop-tauri -- --test-threads=4: 490 passed, 0 failedpnpm test(apps/desktop-tauri): 69 files, 413 tests passedpnpm run lint: only pre-existing warnings; locale drift check OK (887 keys)pnpm run build: tsc and vite build OKAffected areas
rust/src/providers/aixy/(new),rust/src/core/{provider,provider_factory,token_accounts}.rs,rust/src/providers/{mod,bifrost},rust/src/settings/api_keys.rs, locale files, Tauricommands/{provider_settings,providers}.rs, gateway settings section, menu-bar metric section, provider icon/catalog, docs.UI proof
Pending: coordinator will capture CUA proof on a fresh build (Aixy in Settings > Providers with Base URL field, tray card with budget windows).
Stacked on #619.