• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

archetech / archon / 32397330869
95%

Build:
DEFAULT BRANCH: main
Ran 20 Aug 2026 05:27PM UTC
Jobs 1
Files 89
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Aug 2026 05:23PM UTC coverage: 94.066% (-0.06%) from 94.121%
32397330869

push

github

web-flow
feat(wallet): DIDComm messaging in the wallets (#901)

* feat(keymaster): Expose the node capability manifest to clients

Wallet UIs need the same signal the capability gates use, so they can hide
an optional-service surface instead of offering it and failing. Make
`getNodeCapabilities` public on Keymaster and carry it through the client
contract, the REST API, and both Python ports.

Null (a node that serves no manifest) keeps meaning "unknown", which callers
treat as allowed — an older node or a bare gatekeeper must not have every
optional surface hidden.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(wallet): Add a DIDComm endpoint tab to the wallets

Phase 1: publish and unpublish a DIDComm messaging endpoint, and show what
the current identity's DID document actually advertises.

Blank endpoint asks the node for its own relay, which is the path most
identities want; an explicit endpoint overrides it, and routing keys switch
publishDidComm to the object service form for delivery via a mediator.

Both wallet code paths are covered: react-wallet gets a DidCommTab gated on
hasDidComm, and the shared KeymasterUI gets the same screen so the demo
wallets exercise it through KeymasterClient over REST.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(wallet): Add a DIDComm inbox to the wallets

Phase 2: read the mailbox, dismiss messages, and answer a trust ping.

Reads with ack: false, so the node keeps every message until it is explicitly
dismissed. That also means each poll returns the whole mailbox, so the list is
replaced rather than accumulated -- what is on screen is exactly what is still
on the node. Messages that fail to unpack stay there and never appear.

Polling runs only while the screen is open, at the interval already configured
in Settings, and a poll that fails stays quiet; only an explicit refresh
raises a snackbar. Overlap is guarded with a ref, since an interval callback
closes ov... (continued)

3772 of 4247 branches covered (88.82%)

Branch coverage included in aggregate %.

43 of 50 new or added lines in 3 files covered. (86.0%)

8433 of 8728 relevant lines covered (96.62%)

686.98 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
91.56
-0.15% packages/keymaster/src/keymaster.ts
Jobs
ID Job ID Ran Files Coverage
1 32397330869.1 20 Aug 2026 05:27PM UTC 178
95.09
GitHub Action Run
Source Files on build 32397330869
  • Tree
  • List 89
  • Changed 76
  • Source Changed 3
  • Coverage Changed 76
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32397330869
  • befd33c7 on github
  • Prev Build on main (#32029705479)
  • Next Build on main (#32401575820)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc