feat(agentctl): guild emoji headless helpers (Phase 541)

Expose upsertGuildEmoji and removeGuildEmoji for emoji testing and
document phase541 bundle.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-24 12:54:46 -04:00
co-authored by Cursor
parent c23a3f6aaa
commit 499a762a7b
2 changed files with 16 additions and 0 deletions
+2
View File
@@ -17,6 +17,8 @@ Both modes use **`pearcord-ui-flow` `dispatchUiMessage`** — the same handler a
`AgentClient` resolves RPC replies before treating `{ event: "state" | "sidecar" }` push lines as events (fixes `wait-event` responses that include an `event` field).
**v0.8.504 (Phase 541):** Headless `upsertGuildEmoji`/`removeGuildEmoji` for emoji testing. Bundle: `npm run test:agentctl-phase541-emoji` (chains `test:agentctl-phase431-emoji`).
**v0.8.503 (Phase 540):** Headless `upsertGuildAutomationHook`/`deleteGuildAutomationHook`/`dryRunGuildAutomationHook`/`exportGuildAutomationManifest` for automation testing. Bundle: `npm run test:agentctl-phase540-automation` (chains `test:agentctl-phase491-automation`).
**v0.8.502 (Phase 539):** Headless `createGuildBotInstallToken`/`installGuildBotFromToken`/`sendGuildBotMessage`/`verifyGuildBotToken` for bot automation. Bundle: `npm run test:agentctl-phase539-bots` (chains `test:agentctl-phase490-bots`).
+14
View File
@@ -730,6 +730,20 @@ class HeadlessSession {
return this.platform.exportAutomationManifest()
}
async upsertGuildEmoji (opts) {
if (!this.platform) throw new Error('headless not started')
const row = await this.platform.upsertGuildEmoji(opts)
await this.refreshView()
return row
}
async removeGuildEmoji (name) {
if (!this.platform) throw new Error('headless not started')
const row = await this.platform.removeGuildEmoji(name)
await this.refreshView()
return row
}
async banGuildMember (userId, reason) {
if (!this.platform) throw new Error('headless not started')
const ban = await this.platform.banMember({ userId, reason })