feat(agentctl): forum cache and thread parent perms scenarios (v0.8.265)
Add selectSecondForumChannel step plus agentctl-forum-channel-cache and agentctl-thread-parent-perms scenarios for cache invalidation and perms. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -152,10 +152,12 @@ Bundled scenarios under `apps/pearcord/scenarios/`:
|
||||
| `agentctl-guild-load-supersede.json` | Second `create-guild` + beta search not served from cache (v0.8.263) |
|
||||
| `agentctl-channel-search.json` | Channel-scoped `update-search` hit (v0.8.264) |
|
||||
| `agentctl-mark-read-mention-alerts.json` | Seed mention alert + `markActiveChannelRead` clears `mentionAlerts` (v0.8.264) |
|
||||
| `agentctl-forum-channel-cache.json` | Forum search then switch forum → empty hits (v0.8.265) |
|
||||
| `agentctl-thread-parent-perms.json` | Thread exposes `parentChannelPermissions` in view (v0.8.265) |
|
||||
|
||||
`mesh.connectGuildMeshThread(scenarioPath)` — host steps + invite + `create-thread` + reply; guest must receive `threadReply` token.
|
||||
|
||||
Scenario step extras (headless + attached `run`): `joinFirstVoice`, `openDmPeer`, `selectFirstForumChannel`, `markActiveChannelRead`, `seedMentionAlertForActiveChannel`, `createThreadFromLastMessage`, `markThreadAndParentRead`, `messagesMin`, `messageContentIncludes`, `searchResultsMin`, `searchResultsMax`, `mentionAlertCountMax` on `wait`.
|
||||
Scenario step extras (headless + attached `run`): `joinFirstVoice`, `openDmPeer`, `selectFirstForumChannel`, `selectSecondForumChannel`, `markActiveChannelRead`, `seedMentionAlertForActiveChannel`, `createThreadFromLastMessage`, `markThreadAndParentRead`, `messagesMin`, `messageContentIncludes`, `searchResultsMin`, `searchResultsMax`, `mentionAlertCountMax`, `parentChannelPermissions` on `wait`.
|
||||
|
||||
## Dependencies
|
||||
|
||||
|
||||
@@ -126,6 +126,13 @@ class HeadlessSession {
|
||||
const view = await this.ipc({ type: 'select-channel', channelId: ch.id })
|
||||
results.push({ selectFirstForumChannel: true, channelId: ch.id, view })
|
||||
}
|
||||
if (step.selectSecondForumChannel) {
|
||||
const forums = (this._lastView?.channels || []).filter((c) => c.type === 'forum')
|
||||
if (forums.length < 2) throw new Error('need at least two forum channels')
|
||||
const ch = forums[1]
|
||||
const view = await this.ipc({ type: 'select-channel', channelId: ch.id })
|
||||
results.push({ selectSecondForumChannel: true, channelId: ch.id, view })
|
||||
}
|
||||
if (step.markActiveChannelRead) {
|
||||
const chId = this._lastView?.activeChannelId
|
||||
if (!chId) throw new Error('no active channel for mark-channel-read')
|
||||
|
||||
Reference in New Issue
Block a user