Skip to content

[Admin][UI] Agents & Instances page #38

Closed

Description

@serge-ivo

[Admin][UI] Agents & Instances page

Scope

  • Agents list: all agents (incl. drafts), searchable/filterable by status/visibility/owner — slug, name, owner, category, visibility, model, #instances. Row → agent detail (config/capabilities, subscribers, recent activity) with unpublish/delete actions (Moderation API, confirm).
  • Instances list: all instances, filter by agent/owner/status — agent, owner, display name, status, runtime live?, created. Row → instance detail (state summary, runtime nodes, recent tasks/board, recent errors) with a cancel action.

Acceptance criteria

  • Both lists paginate/filter against the Agents/Instances API.
  • Instance runtime status shows live (green/grey) from the live relay check.
  • Unpublish/delete/cancel work with confirmation + audit.

Relevant code

  • store/admin/ Agents + Instances pages; consumes Agents & Instances API + Moderation API.

References

  • FAS AppList/AppDetail, FGS Games/Sessions.

Part of the PAGS Admin Portal epic. Depends on UI scaffold + Agents & Instances API.

Activity

  1. serge-ivo commented on Aug 6, 2026

    @serge-ivo
    ContributorAuthor

    Status update after code audit: partially shipped, keep open. Implemented: Agents, Agent detail, Instances, and Instance detail pages exist and consume admin APIs. Remaining gaps vs acceptance: unpublish/delete/cancel actions are not present because the moderation API in #34 is still open, and live runtime status still depends on the #31 live-check gap.

  2. serge-ivo commented on Aug 6, 2026

    @serge-ivo
    ContributorAuthor

    Shipped in 66fcc23 (CI + Deploy Host green; live at https://proagentstore.online/admin/).

    What already existed (so this was smaller than the ticket implies): Agents.tsx, Instances.tsx, AgentDetail.tsx and InstanceDetail.tsx were all already present from the #35 scaffold. Agents had a search box; Instances had nothing at all; the details rendered connectors/consents/board/usage.

    What was missing, and is now built:

    • Agents list — the filters the API gained in 5b7fe86 are wired: visibility, status, owner (login or id) alongside search, plus server-side pagination against total (any filter change resets the offset, so a narrowed set cannot page into nothing). Added the category + status columns.
    • Instances list — filters for agent (slug or id), owner, status, pagination, display name, last-seen, and a live runtime column. The filter state is mirrored into the URL, so Agents → subscribers and User → instances deep-link here pre-filtered instead of making an operator retype a slug.
    • Live vs claimed runtime. The list renders the relay value and renders the capped fan-out's null as unknown, never as offline — plus a third state, "no runner", for instances that never registered one. Instance detail shows connected per node beside the DB column, labelled Live vs Reported, with a line saying which to trust: instance_runtime_nodes.status is never cleared on an unclean disconnect and reads "online" for machines off for days.
    • Agent detail — subscriber rollup (active/ever), the cross-instance recent-activity feed ("is this working for anyone"), owner/instance deep links, and the moderation panel.
    • Moderation — unpublish + delete on agent detail, cancel on instance detail. Guards in [Admin][UI] Moderation controls + admin audit-log viewer #41.

    All three ACs met. Runtime status is green/grey/yellow-unknown rather than green/grey, deliberately — see the #41 comment.

  3. added a commit that references this issue on Aug 6, 2026
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

    admin-portalPAGS admin/operator portalenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions