A human-friendly DSL for ATProto Lexicons
26
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add mlf status and mlf diff read-only commands #13

open opened by stavola.xyz targeting main from feat/publishing

Introduce mlf-cli/src/remote_state.rs, a shared pipeline that walks the workspace, generates Lexicon JSON for every module, wraps each as a com.atproto.lexicon.schema record, computes its DAG-CBOR CID, and fetches whatever's currently published on the PDS. classify() sorts every NSID into Unchanged/New/Changed/Removed; remote records outside [package].name are left alone so shared-account-per-package setups don't get stepped on. mlf status renders the summary plus per-authority DNS readiness; mlf diff prints unified JSON diffs via the similar crate for any NSID the status would touch.

Also fixes a spec-compliance gap in mlf-atproto::identity: per the ATProto lexicon spec, an NSID's publishing authority is the NSID minus the final name segment (so com.example.forum.post and com.example.forum.thread share _lexicon.forum.example.com). authority_of_nsid + authority_dns_name + RealDnsResolver::resolve_authority_did implement the correct drop-final rule used by the new status/diff path; the fetcher's existing helpers are kept unchanged for backwards compatibility.

Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:tahmjtpwnkuhopngqe5q7jp2/sh.tangled.repo.pull/3mjqnd22yyq22
Diff #0

No differences found between the selected revisions.

History

1 round 0 comments
sign up or login to add to the discussion
stavola.xyz submitted #0
patch application failed: error: No valid patches in input (allow with "--allow-empty")
expand 0 comments