diff --git a/docs/protocol/agent-protocols.html b/docs/protocol/agent-protocols.html index 0d841fb7ce..bff9f9b02a 100644 --- a/docs/protocol/agent-protocols.html +++ b/docs/protocol/agent-protocols.html @@ -937,7 +937,7 @@ window.addEventListener('click',(e)=>{
This document defines how software agents find SimpleX addresses and call the tools of other agents and bots over SimpleX:
llms.txt section with communication addresses, beside the link relation types and the well-known document of Publishing SimpleX addresses on websites;llms.txt section with communication addresses, beside the link relation type and the well-known document of Publishing SimpleX addresses on websites;/_call in a conversation;For SimpleX entries, the type updates requires a channel link, the type group a group link, and the types contact and business contact a contact address link [WEB]. The link text is the title of the address.
## Communications
-- [Ridgeline updates](https://smp12.simplex.im/c#…): SimpleX updates for people and agents, weekly. Trail conditions and closures.
-- [Ridgeline hikers](https://smp12.simplex.im/g#…): SimpleX group for people. Routes and meetups.
-- [Ask Ridgeline](https://smp12.simplex.im/a#…): SimpleX business contact for agents, MCP. Bookings and availability.
-- [Ridgeline support](mailto:help@ridgeline.example): Email contact for people.
+- [Acme news](https://smp12.simplex.im/c#…): SimpleX updates for people and agents, weekly. Product news and offers.
+- [Acme customers](https://smp12.simplex.im/g#…): SimpleX group for people. Questions and tips from customers.
+- [Ask Acme](https://smp12.simplex.im/a#…): SimpleX business contact for agents, MCP. Orders and availability.
+- [Acme support](mailto:support@acme.example): Email contact for people.
A profile or a group declares the protocols it serves in its preferences. A channel or a public group declares its audience in its public group record, and a channel also its update frequency. A contact address declares the peers it serves in its link data.
@@ -1115,7 +1115,7 @@ window.addEventListener('click',(e)=>{/_service_request <userId> <target> [timeout=<seconds>] [sign_key=<key>] <json>
<target>: a contact address link, full or short, or the SimpleX name of a contact address [NAMES].<target>: a contact address link, or the SimpleX name of a contact address [NAMES].timeout: how long the requester waits for the response. The default is 30 seconds.sign_key: the requester's Ed25519 private key, for a signed request.<json>: the request, a JSON object.This document defines how a website publishes SimpleX channels, groups and contact addresses:
simplex-channel, simplex-group and simplex-contact, for the HTML elements link, a and area, and for the HTTP Link header field. Their targets are the addresses of the website's owner, or the addresses a page describes, such as the entries of a directory;simplex, for the HTML elements link, a and area, and for the HTTP Link header field. Its targets are the addresses of the website's owner, or the addresses a page describes, such as the entries of a directory;simplex.json: a JSON document with the owner's channels, groups and contact addresses, their audience, the update frequency of each channel, and the kind and the protocols of each contact address.People and software agents subscribe to a channel to receive updates, join a group to take part in its conversations, and connect to a contact address to send requests. Agent protocols over SimpleX defines the requests an agent sends to a contact address, and an llms.txt section with the same addresses.
JSON schemas use JSON Type Definition [RFC8927].
https or the simplex scheme [AGENT].c, for example https://smp12.simplex.im/c#<key>.g, for example https://smp12.simplex.im/g#<key>, or a full SimpleX link of a group.a, for example https://smp12.simplex.im/a#<key>, or a full SimpleX link of type contact.https or the simplex scheme [AGENT]. The type in the link is the kind of the address.c, for example https://smp12.simplex.im/c#<key>.g, for example https://smp12.simplex.im/g#<key>.a, for example https://smp12.simplex.im/a#<key>.#example.simplex is the name of a channel, @example.simplex the name of a contact address.The target of a simplex-channel link is a SimpleX channel of the owner of the link context, or a SimpleX channel described by the link context. The target MUST be a channel link.
The target of a simplex-group link is a SimpleX group of the owner of the link context, or a SimpleX group described by the link context. The target MUST be a group link.
The target of a simplex-contact link is a SimpleX contact address of the owner of the link context, or a SimpleX contact address described by the link context. The target MUST be a contact address link.
The target of a simplex link is a SimpleX channel, group or contact address of the owner of the link context, or described by the link context. The target MUST be a channel link, a group link or a contact address link. The type in the link tells which.
A page that describes the addresses of others, such as a directory or a catalogue, uses the relation types on its entries. The owner's own addresses are listed in the well-known document.
+A page that describes the addresses of others, such as a directory or a catalogue, uses the relation type on its entries. The owner's own addresses are listed in the well-known document.
title: the name of the channel, the group or the address, for display. In HTTP, a title with non-ASCII characters is sent as title* [RFC8187].hreflang: the language of the channel's posts, or of the conversations [BCP47].A link context MAY have several links of one relation type. Their order is the owner's order of preference: document order in HTML, and the order of link values in HTTP.
+A link context MAY have several simplex links of one kind. Their order is the owner's order of preference: document order in HTML, and the order of link values in HTTP.
In the document head:
-<link rel="simplex-channel" href="https://smp12.simplex.im/c#…" hreflang="en" title="Ridgeline updates">
-<link rel="simplex-contact" href="https://smp12.simplex.im/a#…" hreflang="en" title="Ask Ridgeline">
+<link rel="simplex" href="https://smp12.simplex.im/c#…" hreflang="en" title="Acme news">
+<link rel="simplex" href="https://smp12.simplex.im/a#…" hreflang="en" title="Ask Acme">
-In the document body, the relation types are used on visible links, for example on the entries of a directory:
-<a rel="simplex-contact" href="https://smp12.simplex.im/a#…">Chat with us</a>
-<a rel="simplex-group" href="https://smp12.simplex.im/g#…">Ridgeline hikers</a>
+In the document body, the relation type is used on visible links, for example on the entries of a directory:
+<a rel="simplex" href="https://smp12.simplex.im/a#…">Chat with us</a>
+<a rel="simplex" href="https://smp12.simplex.im/g#…">Acme customers</a>
HTTP
-Link: <https://smp12.simplex.im/c#…>; rel="simplex-channel"; hreflang="en"; title="Ridgeline updates"
-Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; hreflang="en"; title="Ask Ridgeline"
+Link: <https://smp12.simplex.im/c#…>; rel="simplex"; hreflang="en"; title="Acme news"
+Link: <https://smp12.simplex.im/a#…>; rel="simplex"; hreflang="en"; title="Ask Acme"
Well-known URI
Retrieval
@@ -1026,8 +1020,8 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
"channels": [
{
"link": "https://smp12.simplex.im/c#…",
- "name": "#ridgeline.simplex",
- "title": "Ridgeline updates",
+ "name": "#acme.simplex",
+ "title": "Acme news",
"lang": "en",
"audience": ["people", "agents"],
"changeFrequency": "weekly"
@@ -1036,15 +1030,15 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
"groups": [
{
"link": "https://smp12.simplex.im/g#…",
- "title": "Ridgeline hikers",
+ "title": "Acme customers",
"lang": "en"
}
],
"contacts": [
{
"link": "https://smp12.simplex.im/a#…",
- "name": "@ridgeline.simplex",
- "title": "Ask Ridgeline",
+ "name": "@acme.simplex",
+ "title": "Ask Acme",
"lang": "en",
"audience": ["agents"],
"business": true,
@@ -1056,7 +1050,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Processing
- A consumer MUST ignore unknown fields and unknown
audience values.
-- A consumer MUST ignore a link of a type other than the one its relation type or its list requires.
+- A consumer MUST ignore a
simplex link that is not a channel, group or contact address link, and an entry of simplex.json whose link is of a type other than its list requires.
- The values on the website are hints. The data retrieved with the link is authoritative: an audience, an update frequency, the business flag or protocols declared there [AGENTS] take precedence over the website's values.
- A consumer MAY connect by
link or by name. Resolving a name reveals interest in it to one names router, and verifies that the name's record and the profile's claim match [NAMES].
@@ -1069,49 +1063,17 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Three registrations in the "Link Relation Types" registry [RFC8288]:
+One registration in the "Link Relation Types" registry [RFC8288]:
Relation Name: simplex-channel
Description: Refers to a SimpleX channel of the owner of the link context, or described by the link context.
-Notes: The target is a SimpleX channel link [AGENT], with the https scheme or the provisionally registered simplex scheme.
Relation Name: simplex-group
Description: Refers to a SimpleX group of the owner of the link context, or described by the link context.
-Notes: The target is a SimpleX group link [AGENT], with the https scheme or the provisionally registered simplex scheme.
Relation Name: simplex-contact
Description: Refers to a SimpleX contact address of the owner of the link context, or described by the link context.
-Notes: The target is a SimpleX contact address link [AGENT], with the https scheme or the provisionally registered simplex scheme.
simplexhttps scheme or the provisionally registered simplex scheme.One registration in the "Well-Known URIs" registry [RFC8615]:
@@ -1123,75 +1085,19 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; hThe HTML standard requires extension link types to be registered on the microformats page "existing-rel-values" [HTML] [MF-REL]. The entries:
+The HTML standard requires extension link types to be registered on the microformats page "existing-rel-values" [HTML] [MF-REL]. The entry:
Keyword: simplex-channel
Effect on link: Hyperlink
Effect on a, area: Hyperlink
Effect on form: not allowed
Brief description: Refers to a SimpleX channel of the page's owner, or described by the page.
-Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-channel
-Status: proposed
-Keyword: simplex-group
Effect on link: Hyperlink
Effect on a, area: Hyperlink
Effect on form: not allowed
Brief description: Refers to a SimpleX group of the page's owner, or described by the page.
-Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-group
-Status: proposed
-Keyword: simplex-contact
Effect on link: Hyperlink
Effect on a, area: Hyperlink
Effect on form: not allowed
Brief description: Refers to a SimpleX contact address of the page's owner, or described by the page.
-Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-contact
-Status: proposed
-simplexlink: Hyperlinka, area: Hyperlinkform: not allowed