v0.19.0
Minor Changes
-
Claim observability — a
ClaimLogyou can print or assert on. A newobservabilityprovider hook lets you tap every claim event and stale-write collision the client sees. Handnew ClaimLog()toAblo({ observability })and it collects an ordered, readable log —formatClaim/formatConflictrender one line per event, andcollisions()returns the conflicts for eval assertions. New exports:ClaimLog,formatClaim,formatConflict,noopObservability, and the typesClaimLogEntry,ClaimEvent,ConflictEvent,SyncObservabilityProvider. SpreadnoopObservabilityto override only the hooks you care about.AWS-shaped CLI credential store +
ablo config. Local CLI state is now split into two files, matching~/.aws/configvs~/.aws/credentials:config.jsonholds non-secret settings (active environment + active project) and is safe to print or let an agent read;credentials.jsonholds the keys (0600, never printed), keyed by project profile then environment. Per-project profiles follow Stripe’s model —ablo projects use <slug>selects the active profile, and a key’s project is fixed at mint so selecting a project never re-scopes an existing key.ablo statusnow reports the resolved profile and environment.Schema JSON-column reconciliation.
generateJsonColumnReconciliation(new export) emits the DDL to reconcile JSON-backed columns when adopting or evolving an existing schema.Breaking (0.x):
- The claim handle type
ClaimHandleis renamed toClaim, and its identifier field isid(wasclaimId). Update type imports and any code reading.claimId. - The ai-sdk
claimBroadcastMiddleware(and./ai-sdk/claim-broadcast) is removed — coordination broadcast is handled bycoordinationContextMiddleware. ImportClaimTargetfrom the package root or@abloatai/abloai-sdk’scoordination-contextinstead ofclaim-broadcast. The inline-claim option isreason(not the pre-0.12action); the ai-sdk docs are corrected to match.
- The claim handle type