[codex] Extract PPQ provider panels#455
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR extracts all PPQ provider panel logic (~315 lines) from
Confidence Score: 5/5Clean refactor with no behavioral changes; all window exports, timers, and callbacks are correctly wired. The extraction is a near line-for-line move of existing code. Dependency injection is used correctly, the window assignment block in provider-panels.js includes all PPQ symbols, service-worker cache and tests are updated, and the version bump is present. No logic was changed; no new code paths were opened. No files require special attention. Important Files Changed
Sequence DiagramsequenceDiagram
participant PP as provider-panels.js
participant PPQ as provider-ppq-panels.js
participant API as api.js
participant QR as provider-qr.js
participant PMC as provider-model-controls.js
Note over PP,PPQ: Module init
PP->>PPQ: "import { cancelPpqTopup, clearPpqTopupTimers, configurePpqPanels, ... }"
PP->>PPQ: "configurePpqPanels({ returnToChatIfOnboarding })"
Note over PP,PPQ: switchAIProvider()
PP->>PPQ: clearPpqTopupTimers()
Note over PP,PPQ: initSettingsModelFetch()
PP->>PPQ: initSettingsPpqPanel()
PPQ->>API: getPpqKey() / fetchPpqModels() / getPpqBalance()
PPQ->>PMC: renderPpqModelDropdown(models)
Note over PP,PPQ: User: handleCreatePpqAccount()
PP->>+PPQ: "handleCreatePpqAccount() via window.*"
PPQ->>API: createPpqAccount()
PPQ->>API: savePpqKey() / savePpqCreditId()
PPQ->>API: fetchPpqModels()
PPQ-->>-PP: panel re-renders key reveal UI
Note over PP,PPQ: User: doPpqTopup(amount)
PP->>+PPQ: "doPpqTopup(amount) via window.*"
PPQ->>API: createPpqTopup(amount, method)
PPQ->>QR: ensureQRCode()
PPQ->>PPQ: setInterval poll checkPpqTopupStatus()
PPQ-->>-PP: balance refreshed on payment
Reviews (1): Last reviewed commit: "Extract PPQ provider panels" | Re-trigger Greptile |
Summary
js/provider-ppq-panels.jsprovider-panels.jsas the shared provider coordinator and delegate PPQ init/timer cleanup to the new moduleversion.jsfor cache invalidationValidation
node tests/test-ppq-provider.jsnode tests/test-openrouter.jsnode tests/test-custom-api.jsnode tests/test-audit.jsnode --check js/provider-panels.jsnode --check js/provider-ppq-panels.js./run-tests.sh