nomos_types 0.4.0 copy "nomos_types: ^0.4.0" to clipboard
nomos_types: ^0.4.0 copied to clipboard

Pure kernel wire/data types for Nomos Dart frontends — no transport, no bridge, no runtime. The hand-written serde-JSON-compatible types plus the offer codec, reactive read engine, schema validation, [...]

0.4.0 #

  • Typed authorization diagnosis errors: AuthzRefusedError ({workspace, actor, keyHash, object, relation, directiveId, cause}) and ParentSignerEnrollmentMissing (the one remedy named: ensureParentSignerEnrollment) — "valid user, but this device cannot prove it" and "user lacks the role" are now distinct typed diagnoses. NomosRecommendedAction.ensureParentSignerEnrollment.

0.3.0 #

  • SurfacedValue<T> — the typed read surface for Surfaced(inner) merge-driver fields: sealed SurfacedResolved<T> / SurfacedPending<T> with fromJson envelope detection, isPending, valueOrNull, and SurfacedObservation<T> {value, occurredAt, author?} (nullable author — the writer principal captured at the apply lane). surfacedEnvelopeKey/surfacedAuthorKey constants.
  • PendingConflictRow — the workspace-wide "decisions needed" row served by the maintained pendingConflicts read: {aggregateType, aggregateId, field, observations}.

0.2.0 #

  • NomosPrincipal / NomosDeviceSecret — branded identity types for the generated cross-workspace birth methods (.births() directives). actor/authorSecret were previously bare, adjacent, same-shaped strings — a transposition footgun with no compiler check. NomosPrincipal.user(uid)/.parse('user:<uid>') and the opaque NomosDeviceSecret (redacts in toString()) make swapping them a type error. Purely additive.

0.1.4 #

  • Custody-lifecycle types: NomosCustodyBreak, NomosCustodyStatus, NomosCustodyEvent, CustodyBreakPolicy (adopt/reject/ask) — a workspace rebirth surfaces as a typed, app-decidable event. Purely additive.

0.1.3 #

  • NomosRef — THE one typed reference {workspace, type, id}: value semantics, the canonical nomos://<workspace>/<type>/<id> uri (uri/parse, encode round-trip), fromJson (object or uri), resolve() over the multi-workspace reader. ActivityRef gains workspace + a .ref view; ForeignRef gains .ref. Every reference shape now converges on the one triple. Purely additive.

0.1.2 #

  • Activity-feed runtime types: ActivityEvent (the shared activity row — kind/actor/occurredAt, rendered title+message, stable titleKey/messageKey + params for localization, typed refs, category/icon/ severity, domain/directiveId provenance), ActivityRef, ActivitySeverity, renderActivityTemplate. Consumed by the generated renderActivity/describe/describeHistory. Purely additive.

0.1.1 #

  • Add t.foreignRef runtime types: ForeignRef<T> (a typed cross-workspace locator), NomosForeignReader / NomosForeignWorkspaceReader, the sealed ForeignResolveResult<T> (ForeignFound/ForeignNotFound/ ForeignDenied/ForeignUnreachable), and ForeignAttestation. Generated read models type a foreignRef field as ForeignRef<Target>; .resolve/.resolveResult/.watch/.exists are the informational lookup, .attest is gated on the attested-read lane. Purely additive.

0.1.0 #

  • Initial release. The pure-data core split out of nomos_client: kernel wire types, the offer codec, NomosReads, the tri-state NomosSlot, aggregate metadata, schema validation, and the data-only error/trace types (NomosBridgeError, NomosErrorInfo, NomosTraceContext) plus the typed diagnostics. No transport, no bridge, no runtime — generated per-domain TYPES files depend on only this.
0
likes
0
points
1.02k
downloads

Publisher

unverified uploader

Weekly Downloads

Pure kernel wire/data types for Nomos Dart frontends — no transport, no bridge, no runtime. The hand-written serde-JSON-compatible types plus the offer codec, reactive read engine, schema validation, and data-only error/trace types.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

json_schema

More

Packages that depend on nomos_types