diff --git a/docs-site/content/kagent/1.x/about/substrate-runtime/identity.md b/docs-site/content/kagent/1.x/about/substrate-runtime/identity.md index 32ce0283..d4c28775 100644 --- a/docs-site/content/kagent/1.x/about/substrate-runtime/identity.md +++ b/docs-site/content/kagent/1.x/about/substrate-runtime/identity.md @@ -71,6 +71,10 @@ A share carries one of two permissions. - **`READ_ONLY`**: The holder can read the conversation. kagent refuses any call that is not a read before the request reaches the service. - **`READ_WRITE`**: The holder can also send messages to the Session. +A client that creates a share can set `CreateSessionShareRequest.ttl` to a positive lifetime that starts when the share is created. When the lifetime ends, the token no longer grants access, and token lookup returns not found. The owner still sees the expired share in `ListSessionShares`, so the owner can revoke it. + +The returned `SessionShare.expiresAt` field records when the token stops granting access. When `expiresAt` is unset, the share remains valid until it is revoked or the Session is deleted. An operator can cap share lifetimes with `controller.sessionShareMaxTTL`. For more information, see [Expire idle conversations]({{< link path="operations/operational-considerations#expire-idle-conversations" >}}). + A share widens what the holder can reach to what the owner can see, and the underlying record is read as the owner rather than as the visitor. Revoking the share withdraws that access. ## The Agent Substrate plane diff --git a/docs-site/content/kagent/1.x/operations/operational-considerations.md b/docs-site/content/kagent/1.x/operations/operational-considerations.md index b64da518..31cf50a2 100644 --- a/docs-site/content/kagent/1.x/operations/operational-considerations.md +++ b/docs-site/content/kagent/1.x/operations/operational-considerations.md @@ -119,6 +119,7 @@ A leader-only worker sweeps once a minute and deletes every Session whose idle c | Value | Default | Description | | ----- | ------- | ----------- | | `controller.sessionIdleTTL` | `168h` | How long a Session can be idle before the worker deletes it, as a Go duration. `0` turns the worker off, retries included. A negative value is rejected. | +| `controller.sessionShareMaxTTL` | `0` | Longest lifetime that a Session share can request, as a Go duration. A positive value caps `CreateSessionShareRequest.ttl`. A request that exceeds the cap fails. If the request omits `ttl`, the share uses the cap. `0` leaves shares unbounded unless the client request sets `ttl`. A negative value is rejected at startup. | The `168h` default is seven days. There is no per-agent override and no maximum, so this one value governs every conversation in the installation.