Repository navigation
TypeScript SDK 0.61.0
·
41 commits
to main
since this release
Bring your own identity (Agent Messaging 0.8, §4.12 to §4.16 and EXT-6 0.5.0).
- Enroll with an outside proof (§4.14).
exchangeOutsideProof(url, publicKey, { kind: "oauth" | "jwt-svid", token, dpopKey? })enrolls with an
OAuth access token or a SPIFFE JWT-SVID from an identity system the tenant
trusts, in place of an enrollment key.generateDpopKey()and
createDpopProof(...)make a DPoP key and the proof for one request (RFC
9449). A refusal throwsProofRefusedErrorwith the specification's reason.
A credential enrolled this way renews only with a fresh proof:
credentialRenewal.proofonAgentMesh.connect, orproofon a
RenewalAgent. - Where an identity came from (§9.7).
discover({ identity_source: { kind, issuer, trust_domain } })filters on it (kindmay be a list), and
describereturns the mesh's record inidentity_sourcewith its signed
attestation inidentity_source_attestation, never the agent's own claim.
TheIdentitySourcetype is exported. - Admission by source (EXT-6 0.5.0).
admission.start({ bridged })sets
what a sender that reaches the mesh through an identity bridge gets (hold
by default).contacts.admit({ source })andcontacts.block({ source })
takeoauth:<issuer>orspiffe://<trust domain>. A sender entry beats a
source entry, which beats the tier; a roster with a source nobody can read
fails closed. The rule is exported asrosterStance,sourceStanceand
tierStance. - Acting for a person (§4.16).
request(..., { on_behalf_of })carries the
evidence inmeta.on_behalf_of, under the envelope signature;
verifyOnBehalfOf(envelope, { audience, trustedIssuers })answers
"verified","refused"or"unverifiable", fetching nothing.
Install
npm install https://github.com/jeffrschneider/agent-messaging-server/releases/download/sdk-v0.61.0/agent-messaging-0.61.0.tgzSHA-256 a1c5c5bbfae18befea5fcc38e9ecb94367604162708d886c9a7e13b158557ed7.