Skip to content

[feat] add unbounded session connect and send default #186

Description

@BegoniaHe

Preflight

  • I searched existing Issues and PRs.
  • This matches the current-branch, no-legacy, Python 3.14+ policy.
  • I filled exactly one of Human note or Agent note, matching who wrote this Issue.

Problem

/session watch is a time-capped, multi-target subscription (60s–10 days, 16 per actor). Operators who want a durable 1:1 pairing still have to renew watches and type the target UMO on every /send. There is no connect/disconnect that keeps forwarding until explicitly stopped and makes /send use that target by default.

Proposal

Add an in-memory session link owned by the trusted actor, current session as listener:

  • /session connect <UMO> creates or replaces a 1:1 unbounded forward from the target into the current session. Requires session.watch on both sessions in the same config.
  • /session connect with no argument shows the current link or usage.
  • /session disconnect drops that link. Requires session.read, same as /session unwatch.
  • After connect, /send [content] (including attachment-only) delivers to the linked target. /send <UMO> [content] still sends to an explicit UMO.
  • Authorization is rechecked on every forward and send. Links disappear on process restart. One link per actor+listener; at most 16 links per actor.

Non-goals

  • Do not persist links across restarts.
  • Do not add Dashboard or OpenAPI management.
  • Do not remove or change watch TTL limits.
  • Do not add listener targeting for connect (current session only).

Author

Agent

Agent note

Requested in chat after PR #185 review: operators need an unbounded connect that both forwards the target UMO and lets /send omit the UMO. Follow-up PR will be feat/session-connect. Merge still needs a human maintainer review and a separate AI-assisted review.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions