Skip to content

[Feature Request]: Add tools.ozone.queue and tools.ozone.report namespaces #324

Description

@KC-2001MS

Summary

Two full Ozone namespaces are missing: tools.ozone.queue.* (queue lifecycle + moderator assignment + report routing) and tools.ozone.report.* (moderation activity, stats, report querying, queue reassignment). Both are stable production lexicons used by Bluesky's moderation tooling, and ATProtoKit currently exposes the rest of tools.ozone.* but not these two.

Pain points

The entire tools.ozone.queue.* and tools.ozone.report.* surface is only reachable through hand-written raw XRPC calls; no typed wrappers exist.

Considered Alternatives

Raw XRPC for the entire Ozone admin surface — viable but loses parity with the rest of the typed tools.ozone namespace ATProtoKit already exposes.

Is this a breaking change?

No

Library Examples

N/A

Additional Context

Missing lexicons — tools.ozone.queue

Lexicon Suggested wrapper
tools.ozone.queue.assignModerator assignModeratorToQueue(_:queueID:)
tools.ozone.queue.createQueue createModerationQueue(name:description:)
tools.ozone.queue.defs types only
tools.ozone.queue.deleteQueue deleteModerationQueue(by:)
tools.ozone.queue.getAssignments getQueueAssignments(for:)
tools.ozone.queue.listQueues listModerationQueues(limit:cursor:)
tools.ozone.queue.routeReports routeReportsToQueue(_:reportIDs:)
tools.ozone.queue.unassignModerator unassignModeratorFromQueue(_:queueID:)
tools.ozone.queue.updateQueue updateModerationQueue(by:name:description:)

Missing lexicons — tools.ozone.report

Lexicon Suggested wrapper
tools.ozone.report.assignModerator assignModeratorToReport(_:reportID:)
tools.ozone.report.createActivity createReportActivity(_:)
tools.ozone.report.defs types only
tools.ozone.report.getAssignments getReportAssignments(for:)
tools.ozone.report.getHistoricalStats getHistoricalReportStats(...)
tools.ozone.report.getLatestReport getLatestReport(for:)
tools.ozone.report.getLiveStats getLiveReportStats()
tools.ozone.report.getReport getReport(by:)
tools.ozone.report.listActivities listReportActivities(limit:cursor:)
tools.ozone.report.queryActivities queryReportActivities(...)
tools.ozone.report.queryReports queryReports(...)
tools.ozone.report.reassignQueue reassignReportQueue(reportID:queueID:)
tools.ozone.report.refreshStats refreshReportStats()
tools.ozone.report.unassignModerator unassignModeratorFromReport(_:reportID:)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    new featureNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions