Packages
The API is the same in every package:
initialize, withSession / session, task, flush, and reportOutcome. Change the import and reinstall.
API keys and environment variables
- New keys start with
bv_live_. Keys starting withfr_live_remain valid; you do not need to rotate them. - Environment variables are
BELVEDIR_*(BELVEDIR_API_KEY,BELVEDIR_BASE_URL). TheFRACTAL_*names are read as aliases inside benchmark sandboxes only; set theBELVEDIR_*names everywhere else.
The retired ingest host
platform.fractalresearch.ai is retired. Spans sent there are dropped without an error. The current host is https://platform.belvedir.ai, which every belvedir release uses by default.
Node @fractalresearch/loop before 0.1.5 defaults to the retired host. Upgrade to belvedir, or pass baseUrl: "https://platform.belvedir.ai" to initialize() until you do.
Old SDK versions
Upgrade to the latestbelvedir and these go away:
initialize() failedmentioningparseKeyPairsIntoRecord(Node 0.3.1): a dependency conflict. Fixed in 0.3.2.withSession("id", fn)had no effect (Node before 0.3.1): the string form was ignored, so spans arrived without a session and no tasks formed. Pass{ sessionId }on old versions.- A streamed final assistant reply is missing (Node before 0.4.0, Python before 0.6.0): raw HTTP calls with
stream: truewere not recorded. Newer releases record streamed completions. - Startup crash with an unhandled rejection mentioning
api.traceloop.com(Node 0.4.1 and earlier): setTRACELOOP_SYNC_ENABLED=falsebefore initializing. Later releases disable it for you.
Importers
The Python importers moved with the package. The oldbelvedir_loop.importers.* import paths still resolve, but new code should import from belvedir.importers.