Skip to content

✨ feat(devin): recognize Devin credentials and model namespace - #764

Open
seakee wants to merge 9 commits into
devfrom
feat/devin-provider-support
Open

seakee wants to merge 9 commits into
devfrom
feat/devin-provider-support

Conversation

@seakee

@seakee seakee commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Summary

Introduce foundational Devin provider support to CPA Manager Plus. This initial phase establishes Devin identity, official light/dark credential iconography and theme colors, and namespace-first recognition for devin/* models while preserving canonical model identifiers.

Scope

  • Frontend panel
  • Manager Server
  • CPA panel mode
  • Full Docker mode
  • Native packages / release
  • Docs / Wiki
  • CI / build / tooling

Changes

  • Add 'devin' to AuthFileType in apps/web/src/types/authFile.ts.
  • Add official Devin light and dark SVG icons (devin.svg, devin-dark.svg).
  • Register Devin brand theme colors and icon mapping in apps/web/src/features/authFiles/constants.ts.
  • Implement namespace-first categorization for devin/* models in apps/web/src/utils/models.ts so underlying models (e.g. devin/gpt-5, devin/claude-sonnet) are correctly categorized as Devin while preserving full IDs.
  • Register Devin icon mapping in System Models view (SystemPage.tsx).
  • Add localized filter labels (filter_devin: "Devin") across en, ru, zh-CN, and zh-TW.
  • Add unit tests for model classification, credential metadata, and account provider tabs.

User Impact

Devin credentials and devin/* models are now recognized with the official Devin brand identity and icons rather than Unknown or misclassified into underlying model families (GPT, Claude, Gemini, Grok, DeepSeek).

Compatibility / Runtime Notes

  • CPA panel mode: Fully compatible; static icon and theme assets are bundled into standalone dist/index.html.
  • Manager Server mode: Fully compatible; uses existing frontend credential normalization.
  • Full Docker / native packages: N/A (frontend presentation change only).

Data / Security Notes

N/A. No changes to credential storage, keys, or sensitive data handling.

Risk / Rollback

Risk level: Low

Rollback notes: Can be cleanly reverted via git revert without schema or data migration impacts.

Verification

  • Type check
  • Lint
  • Tests
  • Build
  • Manual UI check
  • Docs/link check
  • Not applicable, docs-only

Commands / evidence:

npm --workspace apps/web run test -- src/utils/models.test.ts src/features/authFiles/constants.test.ts src/features/accounts/components/AccountProviderTabs.test.tsx
  Test Files: 3 passed (3)
  Tests:      7 passed (7)

npm run test:web
  Test Files: 227 passed (227)
  Tests:      3434 passed (3434)

npm run type-check
  tsc --noEmit (0 errors)

npm run lint
  eslint (0 errors, 5 pre-existing warnings)

npm run build
  built standalone dist/index.html in 3.26s

Screenshots / Recordings

N/A

Docs

  • README / README_CN updated for user-visible capabilities
  • Matching docs manual and navigation updated
  • Demo fixtures, screenshots, and deep links reviewed
  • Release notes needed
  • Not needed — explanation included below

Docs decision: Initial phase establishes internal frontend identity and model classification; comprehensive docs will be updated when the full Devin provider feature set (OAuth, quota) is completed.

Related

N/A

Recognize Devin as a distinct authentication provider and ensure models under the devin/ namespace are accurately categorized.

- Register 'devin' in the AuthFileType union
- Add official Devin light and dark SVG icons
- Configure brand theme colors and icon mapping for Devin credentials
- Implement namespace-first categorization for devin/* models without stripping original IDs
- Add Devin filter label to en, ru, zh-CN, and zh-TW locale files
- Register Devin category icon in System Models view
- Add unit tests covering model classification, auth metadata, and account provider tabs
Include 'devin' in GENERIC_PROVIDER_LABELS so that bare devin provider/channel names are treated as secondary metadata rather than primary account identities in Monitoring source displays.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant