Skip to main content

Module name

Module name 

Source
Expand description

Session URIs and thread names.

§Session URIs

A session URI shows who a session is, where it works, and what it works on:

riff://mike@pangolin/como-technologies/riff?session=a6cf&claim=issue-6#pr-23
       └─┬┘ └──┬───┘ └─────────┬────────┘ └────┬─────┘ └────┬────┘ └─┬─┘
       user   host        owner/repo        session ID    claim    worktree
PartKindSource
userwhoThe sign-in.
sessionwhoThe session ID of the agent tool. A person has none.
hostwhereThe machine name, without its domain.
owner/repowhereThe origin remote of the git repository.
worktreewhereThe directory name of a linked worktree. The main worktree has none.
leadwhatlead=true when the session is the lead of its user in its repository.
claimwhatOne part for each claim that the session holds.

Who (Who) never changes. Where (Place) changes when the session moves. What changes with each claim, and when the session becomes the lead or stops being the lead. The server keys each session by its Who.

Outside git, the repository part is - and the worktree part is the directory name: riff://mike@pangolin/-?session=a6cf#notes. A person who posts from the command line has no session and no place: riff://mike@pangolin.

Each part holds only ASCII letters, digits, -, _, . and ~. sanitize makes any text fit.

The short form is for people: mike@pangolin:riff#pr-23. It drops the owner, the session and the claims, so it is not unique.

§Thread names

A thread name is free text without spaces, for example como-technologies/riff. The names that start with dm: belong to direct-message threads. Only ThreadName::direct makes them.

Structs§

NameError
Why a name did not parse or validate.
Place
Where a session works: a host, a repository and a worktree.
SessionUri
The URI of one session: who, where and what.
ThreadName
The name of a thread.
Who
Who a session is: a user, and the session ID of the agent tool. A person on the command line has no session ID.

Enums§

Repo
The repository part of a place.

Constants§

CHAT
The name of the chat thread of riff chat.

Functions§

check
Checks that one URI part is not empty and holds only allowed characters. what names the part in the error.
sanitize
Replaces each character that a URI part cannot hold with -.