feat(agentctl): add refreshPublicDiscovery and setDiscoveryFilter

Phase 529 headless helpers for explore mesh refresh and filter automation.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-24 11:47:14 -04:00
co-authored by Cursor
parent c6b137d57d
commit 38f9dc0a91
2 changed files with 12 additions and 0 deletions
+2
View File
@@ -124,6 +124,8 @@ See [docs/AGENTCTL.md](../../docs/AGENTCTL.md) for full reference, security note
- Optional `PEARCORD_AGENTCTL_TOKEN` shared secret; still localhost-only. - Optional `PEARCORD_AGENTCTL_TOKEN` shared secret; still localhost-only.
- Can execute any UI IPC type (moderation, guild admin, etc.) — same power as the logged-in user session. - Can execute any UI IPC type (moderation, guild admin, etc.) — same power as the logged-in user session.
**v0.8.492 (Phase 529):** Headless helpers `refreshPublicDiscovery()` and `setDiscoveryFilter(filter)` for explore mesh refresh and filter automation (plus existing `listPublicDiscovery`, `publishDiscoveryListing`, `joinPublicDiscovery`). Bundle: `npm run test:phase529-discovery` (app repo).
**v0.8.491 (Phase 528):** Headless helpers `setGuildActivity(activity)` and `clearGuildActivity()` for rich-presence automation (plus existing `setPresenceStatus`, `setCustomStatus`). Bundle: `npm run test:phase528-presence` (app repo). **v0.8.491 (Phase 528):** Headless helpers `setGuildActivity(activity)` and `clearGuildActivity()` for rich-presence automation (plus existing `setPresenceStatus`, `setCustomStatus`). Bundle: `npm run test:phase528-presence` (app repo).
**v0.8.490 (Phase 527):** Headless helpers `playGuildSoundboardSound`, `upsertGuildSound`, `removeGuildSound` for soundboard roundtrip automation. Bundle: `npm run test:phase527-soundboard` (app repo). **v0.8.490 (Phase 527):** Headless helpers `playGuildSoundboardSound`, `upsertGuildSound`, `removeGuildSound` for soundboard roundtrip automation. Bundle: `npm run test:phase527-soundboard` (app repo).
+10
View File
@@ -563,6 +563,16 @@ class HeadlessSession {
return guild return guild
} }
async refreshPublicDiscovery () {
if (!this.platform) throw new Error('headless not started')
return this.platform.refreshDiscoveryListingsFromMesh()
}
async setDiscoveryFilter (filter = {}) {
if (!this.platform) throw new Error('headless not started')
return this.platform.setDiscoveryFilter(filter)
}
async setPresenceStatus (status) { async setPresenceStatus (status) {
if (!this.platform) throw new Error('headless not started') if (!this.platform) throw new Error('headless not started')
return this.platform.setPresence(status) return this.platform.setPresence(status)