Skip to content

S5 — Container-facing message endpoints (send/broadcast/participants/pull) #8

Description

@tada5hi

Part of the node-message-broker build-out (Track B, Hub Plan 013 Phase 4). See .agents/plans/001-message-broker.md (local working doc).

Goal: the SDK-compatible send/participants surface (extend the existing messages controller). Keep the exact surface so flamesdk needs no change.

Steps

  • POST /analyses/:id/messages { recipients: [nodeId], message } and …/broadcast: assertMayUse (S3) → resolve participants (S2) → encrypt per recipient (S1; one Hub send per recipient since each is sealed under a distinct key) → HubClient.send with metadata.analysisId. Return 202.
  • GET /analyses/:id/participants and …/participants/self{ nodeId, nodeType } (SDK addresses by nodeId; broker maps to client_id), proxied + cached.
  • GET /analyses/:id/messages (pull) — additive, future polling SDK; unused today.

Depends on: S1, S2, S3.

Acceptance: policy-denied → 403; send fans out one sealed Hub send per resolved recipient; participants shape matches the SDK.

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