Headless HTTP client for the DBIS Core Banking API (d-bis/dbis_core).
Follows the same provider-switch pattern as services/bank.ts and
services/notaryChain.ts — env var gate, deterministic mock fallback.
Wires the subset of dbis_core endpoints the orchestrator actually
calls from its settlement / compliance / ISO20022 paths (mount-point
references per dbis_core/src/integration/api-gateway/app.ts):
- GET /api/accounts/:accountId/balance → getAccountBalance
- POST /api/isn/route → findSettlementRoute
- POST /api/isn/atomic → atomicSettle
- GET /api/isn/settlements/:settlementId → getSettlementStatus
- POST /api/ari/decision → requestAriDecision
- POST /api/v1/gpn/message/pacs008 → dispatchPacs008
Provider-switched via DBIS_CORE_URL: unset → mock mode with
deterministic fakes; set → live HTTP with X-API-Key auth
(DBIS_CORE_API_KEY) and a 10s AbortController-backed timeout
(DBIS_CORE_TIMEOUT_MS to override).
Tests (12/12) cover both legs: mock-shape assertions + live-mode
fetch stubs for auth headers, path encoding, JSON body, and error
handling. No network. tsc --noEmit clean; full unit suite
12/156 passing unchanged.