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

ilpanich / axiam-typescript-sdk / 31896755939
94%

Build:
DEFAULT BRANCH: main
Ran 15 Aug 2026 04:56PM UTC
Jobs 1
Files 41
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

15 Aug 2026 04:53PM UTC coverage: 94.397% (+0.08%) from 94.319%
31896755939

push

github

web-flow
chore(contract): re-vendor CONTRACT.md 1.19, openapi.json and proto/ from main (R5.8) (#59)

Vendored copies were pinned at the 1.15-era artifacts and had drifted from
ilpanich/axiam. Re-syncs CONTRACT.md (1.17 -> 1.19: SS22 reactors, SDK-Q10),
openapi.json, authorization.proto (SDK-Q10) and adds reactor.proto, all
byte-identically. token/user/userinfo.proto were already in sync.

authorization.proto's SDK-Q10 change is not inert here. CheckAccessResponse
gains `reason` (field 4, explicit presence) and marks `deny_reason`
[deprecated = true]. src/grpc/client.ts mirrors the wire shapes by hand rather
than importing the generated ones, so the mirror gains an optional `reason`
and a @deprecated tag on `deny_reason`, and fromWireResponse now implements
CONTRACT.md SS11.2 rule 9: read `reason`, fall back to `deny_reason` only when
`reason` is absent on a refusal (a pre-SDK-Q10 server), and keep exposing one
reason accessor. Four tests pin the precedence: `reason` wins outright, the
legacy fallback still works, an allow surfaces nothing, and an explicitly
empty `reason` does not leak as ''. No signature moves, nothing changes on the
wire today.

Stubs: src/gen/ is gitignored (Phase 15 D-01), so there are no checked-in
stubs to go stale. `npm run generate` was re-run against the new protos and
succeeds, emitting src/gen/axiam/v1/reactor.ts alongside the rest.

Residual, deliberately left for its own change: CheckAccessRequest.subjectId
stays required. Contract 1.19 relaxes the wire field to optional (empty = the
subject in the verified token); relaxing the public type is a breaking
signature move. The doc comment now records the gap.

Verified: buf lint / buf format --exit-code / buf breaking --against
origin/main, npm run generate, npm run build, npm run typecheck,
npm test -- --run (680 passed, 1 skipped), npm run docs, npm run bundle-grep
and both CJS-require smokes all clean.

Refs: R5.8

Co-authored-by: Claude <noreply@anthropic.com>

1028 of 1124 branches covered (91.46%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

1600 of 1660 relevant lines covered (96.39%)

39.83 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31896755939.1 15 Aug 2026 04:56PM UTC 41
94.4
GitHub Action Run
Source Files on build 31896755939
  • Tree
  • List 41
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31896755939
  • 2462a5a3 on github
  • Prev Build on main (#31874389725)
  • Next Build on main (#31902019387)
  • 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