Implements the full GoCardless Bank Account Data API surface that
actual-server expects:
POST /api/v2/token/new/ fake GC tokens backed by stored secret_id/key
POST /api/v2/token/refresh/
GET /api/v2/institutions/ proxies EB /aspsps, 1 h cache
POST /api/v2/agreements/enduser/ stored locally
GET /api/v2/agreements/enduser/:id/
POST /api/v2/requisitions/ calls EB /auth, returns OAuth link
GET /api/v2/requisitions/:id/ status CR→LN after callback
DELETE /api/v2/requisitions/:id/
GET /api/v2/accounts/:id/ metadata from store
GET /api/v2/accounts/:id/details/ proxies EB /accounts/:uid/details
GET /api/v2/accounts/:id/balances/ proxies EB /accounts/:uid/balances
GET /api/v2/accounts/:id/transactions/ proxies EB transactions, splits booked/pending
GET /callback OAuth callback: exchanges code, links requisition,
redirects back to actual-server
Balance type mapping: EB ISO 20022 (CLBD/ITBD/ITAV/FWAV…) → GC camelCase.
Transaction mapping: EB flat array with status field → GC {booked, pending}.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>