Repository navigation
v0.3.0
-
Added: a list of connectors takes
owner, as a list of connections
does, and sends it in itsconnector.listquestion, so your
authorizer can let a service list one person's servers, for instance
to remove a closed account's, with a filter naming that person alone.
A list that names no owner asks as before. -
Added: one reason of a deny of
connection.usereaches the caller.
When your authorizer denies a use withkept_apart_from_google, for
a session that already used a connection you keep apart from this one,
Pons answers409 connection_not_connectedwith that reason in
details.reason, at the MCP and the forwarding address, so the
session can tell the person to start a new conversation. Every other
deny of a use is still404 connection_not_found. Send this reason
only for a connection the session holds. -
Added: MCP servers added by their address for others. The owner of an
added connector is the one your authorizer's allow of
connector.createnames, a string Pons gives no meaning: use one for
a person, one for an organization and one for the whole installation.
A list of connectors shows the added connectors of every owner the
allow's filter names, and a connect to another owner's connector asks
connector.readof it first, so an organization's members connect
the servers its administrators added when you let them read those
connectors. Under the owner policy an added connector stays its
owner's alone. -
Added: for your authorizer, the action
connector.update, asked by an
edit with the connector'sidandowner, and by a list once for each
owner on its page with thatownerand noid, to show how many
connections use each of that owner's connectors.connection.create
of a connect to an added connector sendsconnector_owner. The allow
ofconnector.createmay carry the limitvouched: true, which says
someone you trust looked at the server; send it for an administrator's
add alone. Roll your authorizer before this Pons: one built on
latere.ai/x/pkg/authz/serverthat does not knowconnector.update
answers it400, and an edit fails closed with503 authorizer_unavailable. Do not sendvouchedto a Pons before this
one: it does not know the key, and every add fails closed with503. -
Added:
PATCH /connectors/{id}changes an added connector in place,
holding from the next request on every replica with no restart: its
title,description,icon, tool marks,auth.scopes, a
vouched-for connector'sauth.client.secret, anddisabled. Its
name,kind,url,auth.typeand client id are
400 immutable_field. A connector turned off stays listed; a connect
to it is409 connector_disabled, a call through a connection to it
is409 connection_not_connectedwithdetails.reason
connector_disabled, and its connections and their credentials are
kept until it is turned on. A removal is still409 connector_in_use
while a connection uses it. -
Added: an add needs only the address.
authis optional on
POST /connectors: Pons asks the server with no credential, after
the authorizer's question and withinPONS_CREATES_PER_MINUTE, and
storesnone,oauthortokenfrom its answer, with the hint "API
key" for a server that takes a key. Anauththe answer does not
admit is422 auth_mismatch, and a server that does not answer as one
that can be connected is422 server_unreachable, with the status or
the failure and never the address. Every add now makes these
requests, so an address whose server does not answer can no longer be
added. -
Added: a server added by its address signs people in. Pons identifies
itself by a vouched-for connector's own client,auth.clientwith its
idandsecret, sealed and never answered; else by the connector's
client metadata document; else by registering at the server, which the
installation keeps per issuer and reuses for a second connector there.
A server whose authorization server does not say it sendsisssigns
in at/v1/callback/{key}, its issuer's own redirect address, which
refuses an answer meant for another server. An added connector's view
saysauth.client(own,documentorregistered),disabled,
vouched, and, for its own client,auth.redirect_uri, the address to
register that client with. -
Added:
GET /connections/{id}/tools, the tools a connection's server
lists through it, with the effect the connector's marks give each and
whether they hide it, asked each time and recorded as no call. And
connectionson an added connector's view, to a caller your
authorizer lets change it: how many connections of every owner use
it. -
Added:
PONS_MAX_ADDED_CONNECTORS, 50 by default: how many connectors
one owner may add. One more is409 connector_limit, and other
owners' adds go on. -
Changed: the store's schema moves to version 2, which adds columns to
connectors. It runs at start as every migration does; a binary
before this one refuses a schema at version 2.