@skopiklabs/protocol
v0.1.12
Published
Versioned event, message, reducer, and cursor contract for Skopik sessions.
Maintainers
Readme
@skopiklabs/protocol
The versioned wire contract for Skopik session events and durable Messages. It includes TypeScript types, the canonical idempotent reducer, cursor helpers, JSON Schemas, and language-neutral conformance vectors.
import { createMessageReducer, parseSessionCursor } from '@skopiklabs/protocol'
const reducer = createMessageReducer()
for (const envelope of events) reducer.push(envelope)
const messages = reducer.snapshot()Clients must ignore unknown event and part types. Within a protocol major,
changes are additive; the envelope v field selects the major contract.
Skopik reserves ext.skopik.* for portable conventions. The v1 package
types ext.skopik.progress and ext.skopik.plan so orchestrators can publish
progress bars and queued child-session plans without product-specific data
parts.
See the Messages Protocol specification for ordering, attempts, replay, milestone fidelity, and compatibility semantics.
