@savant-realms/chronologs-realm-sdk-ts-js
v0.0.1
Published
SDK for Chronologs Realm logging plus federated auth helpers.
Maintainers
Readme
Chronologs Realm SDK (TS/JS)
A lightweight SDK for Chronologs Realm logging, with federated auth helpers bundled for convenience.
Install
npm i @savant-realms/chronologs-realm-sdk-ts-jsQuick start (one-line logging)
import { createChronologsRealmClient } from '@savant-realms/chronologs-realm-sdk-ts-js';
const chronologs = createChronologsRealmClient({
baseUrl: 'https://api.chronologsrealm.com',
appKey: 'aurora-commerce',
token: 'YOUR_INGEST_TOKEN',
platform: 'api',
service: 'checkout-service',
});
chronologs.info(
'Checkout completed',
{
traceId: 'trc_12345',
spanId: 'spn_67890',
correlationId: 'corr_101',
},
{
orderId: 'ord_8891',
amount: 125.5,
}
);Platform-based logging
Use the platform field to separate API, web, mobile, and worker logs for a single app.
const webLogs = createChronologsRealmClient({
baseUrl: 'https://api.chronologsrealm.com',
appKey: 'aurora-commerce',
token: 'YOUR_INGEST_TOKEN',
platform: 'ui_web',
service: 'storefront-web',
});
webLogs.warn(
'Slow layout render',
{ traceId: 'trc_web_12' },
{ route: '/checkout' }
);Advanced usage
chronologs.log('ERROR', 'Database timeout', {
traceId: 'trc_5566',
context: { userId: 'usr_45' },
meta: { sql: 'SELECT * FROM orders' },
});Federated auth helpers
The package still exports createFederatedAuthRealmClient for auth flows.
import { createFederatedAuthRealmClient } from '@savant-realms/chronologs-realm-sdk-ts-js';
const auth = createFederatedAuthRealmClient({
baseUrl: 'https://api.federatedauthrealm.com',
appKey: 'chronologs-realm',
});
const session = await auth.login({
email: '[email protected]',
password: 'secret',
});OpenSpec (design & API contract)
- OpenAPI:
openspec/openapi.yaml— Log ingest endpoint and request schema (snake_case). - Proposal:
openspec/PROPOSAL.md— SDK design, API surface, and alignment with chronologs-realm-api.
Notes
- Provide your ingest token via
tokento authenticate log ingestion. - The SDK relies on
fetch. For Node.js, ensure globalfetchis available or pass a custom implementation.
