Phase 884: gossip RPC pull opts, payload builders, search responders extract (v0.8.851)

Non-breaking refactor: buildGuildGossipRpcPullOpts() for config+override assembly;
extend payload builders for host sync, member page, and message search pulls;
registry lookup helpers; extract message search RPC responders; unify all pull
mixins on shared opts builder. Default gossip v1 unchanged; fleet v2 cutover
still deferred.
This commit is contained in:
Raven Scott
2026-06-04 18:32:32 -04:00
parent 553d4e3ca5
commit f3a4e2a700
9 changed files with 190 additions and 95 deletions
@@ -6,7 +6,7 @@ const {
matchesGuildRpcTargetMember,
markRpcResponse,
fetchGuildGossipRpcPullHit,
gossipRpcPullConfig,
buildGuildGossipRpcPullOpts,
buildTargetedGuildGossipRpcFetchPayload
} = require('../../../gossip-rpc-pull')
@@ -37,19 +37,21 @@ const platformAuditArchiveRpcMixin = {
},
async _tryFetchAuditExportArchiveFromMeshRpc (archiveId, opts = {}) {
return fetchGuildGossipRpcPullHit(this, {
...gossipRpcPullConfig('auditExportArchive'),
targetMemberId: opts.targetMemberId || null,
rpcMethod: sharedScope.RPC.AUDIT_EXPORT_ARCHIVE_REQUEST,
buildPayload: async ({ guildId }) =>
buildTargetedGuildGossipRpcFetchPayload({
guildId,
resourceIdField: { archiveId },
requestId: id(),
requestedBy: this.identity.user?.id || null,
opts
})
})
return fetchGuildGossipRpcPullHit(
this,
buildGuildGossipRpcPullOpts('auditExportArchive', {
targetMemberId: opts.targetMemberId || null,
rpcMethod: sharedScope.RPC.AUDIT_EXPORT_ARCHIVE_REQUEST,
buildPayload: async ({ guildId }) =>
buildTargetedGuildGossipRpcFetchPayload({
guildId,
resourceIdField: { archiveId },
requestId: id(),
requestedBy: this.identity.user?.id || null,
opts
})
})
)
}
}
@@ -6,7 +6,7 @@ const {
matchesGuildRpcTargetMember,
markRpcResponse,
fetchGuildGossipRpcPullHit,
gossipRpcPullConfig,
buildGuildGossipRpcPullOpts,
buildTargetedGuildGossipRpcFetchPayload
} = require('../../../gossip-rpc-pull')
@@ -39,19 +39,21 @@ const platformAutomationDigestSnapshotRpcMixin = {
},
async _tryFetchAutomationDigestSnapshotFromMeshRpc (snapshotId, opts = {}) {
return fetchGuildGossipRpcPullHit(this, {
...gossipRpcPullConfig('automationDigestSnapshot'),
targetMemberId: opts.targetMemberId || null,
rpcMethod: sharedScope.RPC.AUTOMATION_DIGEST_EXPORT_SNAPSHOT_REQUEST,
buildPayload: async ({ guildId }) =>
buildTargetedGuildGossipRpcFetchPayload({
guildId,
resourceIdField: { snapshotId },
requestId: id(),
requestedBy: this.identity.user?.id || null,
opts
})
})
return fetchGuildGossipRpcPullHit(
this,
buildGuildGossipRpcPullOpts('automationDigestSnapshot', {
targetMemberId: opts.targetMemberId || null,
rpcMethod: sharedScope.RPC.AUTOMATION_DIGEST_EXPORT_SNAPSHOT_REQUEST,
buildPayload: async ({ guildId }) =>
buildTargetedGuildGossipRpcFetchPayload({
guildId,
resourceIdField: { snapshotId },
requestId: id(),
requestedBy: this.identity.user?.id || null,
opts
})
})
)
}
}