feat(v0.8.689): rename all export CSV identifiers to JSON-only naming
Complete sweep of filenames, symbols, IPC channels, storage keys, CSS classes, smoke scripts, and docs. Payloads remain signed JSON envelopes (Phase 713).
This commit is contained in:
@@ -2,21 +2,21 @@
|
||||
|
||||
Agent control plane for Pearcord — send the same IPC messages the UI sends, read `view` snapshots, and run scripted journeys against a **live worker** or an in-process **headless** session.
|
||||
|
||||
**Phase 711 (v0.8.686):** `runActivityInviteCsvJourney`, `runProfileBannerExportJourney`; bundle `test:agentctl-phase711-activity`.
|
||||
**Phase 711 (v0.8.686):** `runActivityInviteJsonJourney`, `runProfileBannerExportJourney`; bundle `test:agentctl-phase711-activity`.
|
||||
|
||||
**Phase 710 (v0.8.685):** `runCustomStatusCsvJourney`, `runGuildWidgetExportJourney`; bundle `test:agentctl-phase710-status`.
|
||||
**Phase 710 (v0.8.685):** `runCustomStatusJsonJourney`, `runGuildWidgetExportJourney`; bundle `test:agentctl-phase710-status`.
|
||||
|
||||
**Phase 709 (v0.8.684):** `runNotificationOverrideCsvJourney`, `runChannelFollowExportJourney`; bundle `test:agentctl-phase709-notification`.
|
||||
**Phase 709 (v0.8.684):** `runNotificationOverrideJsonJourney`, `runChannelFollowExportJourney`; bundle `test:agentctl-phase709-notification`.
|
||||
|
||||
**Phase 708 (v0.8.683):** `runPresenceActivityCsvJourney`, `runReadStateExportJourney`; bundle `test:agentctl-phase708-presence`.
|
||||
**Phase 708 (v0.8.683):** `runPresenceActivityJsonJourney`, `runReadStateExportJourney`; bundle `test:agentctl-phase708-presence`.
|
||||
|
||||
**Phase 707 (v0.8.682):** `runScreenShareCsvJourney`, `runSoundboardRegistryExportJourney`; bundle `test:agentctl-phase707-screen`.
|
||||
**Phase 707 (v0.8.682):** `runScreenShareJsonJourney`, `runSoundboardRegistryExportJourney`; bundle `test:agentctl-phase707-screen`.
|
||||
|
||||
**Phase 692 (v0.8.667):** `runDigestRelayHandoffCsvJourney`, `runArchivePeerExportMeshJourney`; bundle `test:agentctl-phase692-relay`.
|
||||
**Phase 692 (v0.8.667):** `runDigestRelayHandoffJsonJourney`, `runArchivePeerExportMeshJourney`; bundle `test:agentctl-phase692-relay`.
|
||||
|
||||
**Phase 691 (v0.8.666):** `runHookFailureDigestCsvJourney`, `runComplianceSnapshotExportJourney`; bundle `test:agentctl-phase691-digest`.
|
||||
**Phase 691 (v0.8.666):** `runHookFailureDigestJsonJourney`, `runComplianceSnapshotExportJourney`; bundle `test:agentctl-phase691-digest`.
|
||||
|
||||
**Phase 690 (v0.8.665):** `runAuditCsvMeshPushJourney`, `runModDigestNotifyJourney`; bundle `test:agentctl-phase690-audit`.
|
||||
**Phase 690 (v0.8.665):** `runAuditJsonMeshPushJourney`, `runModDigestNotifyJourney`; bundle `test:agentctl-phase690-audit`.
|
||||
|
||||
**Phase 689 (v0.8.664):** `runAutomationHealthDashboardJourney`, `runDigestRelayHandoffJourney`; bundle `test:agentctl-phase689-health`.
|
||||
|
||||
|
||||
+272
-235
@@ -3442,19 +3442,19 @@ class HeadlessSession {
|
||||
}
|
||||
}
|
||||
|
||||
async runAuditCsvMeshPushJourney () {
|
||||
async runAuditJsonMeshPushJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'ac690', displayName: 'Audit CSV 690' })
|
||||
await this.createGuild({ name: 'Audit CSV 690', publicListing: false })
|
||||
await this.registerUser({ username: 'ac690', displayName: 'Audit JSON 690' })
|
||||
await this.createGuild({ name: 'Audit JSON 690', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushAuditExportCsvToMesh({ filter: 'all', limit: 50 })
|
||||
const pushed = await this.platform.pushAuditExportJsonToMesh({ filter: 'all', limit: 50 })
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.auditExportCsvMeta?.signature) {
|
||||
throw new Error('expected signed audit CSV after mesh push')
|
||||
if (!pushed?.signature && !v.auditExportJsonMeta?.signature) {
|
||||
throw new Error('expected signed audit JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildCsvExportCount: (v.auditExportCsvRows || []).length,
|
||||
hasMeta: v.auditExportCsvMeta != null
|
||||
guildJsonExportCount: (v.auditExportJsonRows || []).length,
|
||||
hasMeta: v.auditExportJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3468,23 +3468,23 @@ class HeadlessSession {
|
||||
return {
|
||||
hasPrefsField: v.hookFailureDigestNotifyPrefs != null,
|
||||
modDigestEnabled: !!prefs.modDigestGroupDmEnabled,
|
||||
guildCsvExportCount: (v.auditExportCsvRows || []).length
|
||||
guildJsonExportCount: (v.auditExportJsonRows || []).length
|
||||
}
|
||||
}
|
||||
|
||||
async runHookFailureDigestCsvJourney () {
|
||||
async runHookFailureDigestJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'dc691', displayName: 'Digest CSV 691' })
|
||||
await this.createGuild({ name: 'Digest CSV 691', publicListing: false })
|
||||
await this.registerUser({ username: 'dc691', displayName: 'Digest JSON 691' })
|
||||
await this.createGuild({ name: 'Digest JSON 691', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushHookFailureDigestCsvToMesh()
|
||||
const pushed = await this.platform.pushHookFailureDigestJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.hookFailureDigestCsvMeta?.signature) {
|
||||
throw new Error('expected signed digest CSV after mesh push')
|
||||
if (!pushed?.signature && !v.hookFailureDigestJsonMeta?.signature) {
|
||||
throw new Error('expected signed digest JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildDigestCsvCount: (v.hookFailureDigestCsvRows || []).length,
|
||||
hasMeta: v.hookFailureDigestCsvMeta != null
|
||||
guildDigestJsonCount: (v.hookFailureDigestJsonRows || []).length,
|
||||
hasMeta: v.hookFailureDigestJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3499,24 +3499,24 @@ class HeadlessSession {
|
||||
return {
|
||||
hasSnapshot: snap != null || v.lastComplianceSnapshot != null,
|
||||
entryCount: snap?.count ?? v.lastComplianceSnapshot?.count ?? 0,
|
||||
guildDigestCsvCount: (v.hookFailureDigestCsvRows || []).length
|
||||
guildDigestJsonCount: (v.hookFailureDigestJsonRows || []).length
|
||||
}
|
||||
}
|
||||
|
||||
async runDigestRelayHandoffCsvJourney () {
|
||||
async runDigestRelayHandoffJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'rh692', displayName: 'Relay CSV 692' })
|
||||
await this.createGuild({ name: 'Relay CSV 692', publicListing: false })
|
||||
await this.registerUser({ username: 'rh692', displayName: 'Relay JSON 692' })
|
||||
await this.createGuild({ name: 'Relay JSON 692', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.platform.dryRunDigestWebhookRelay().catch(() => null)
|
||||
const pushed = await this.platform.pushDigestRelayHandoffCsvToMesh()
|
||||
const pushed = await this.platform.pushDigestRelayHandoffJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.digestRelayHandoffCsvMeta?.signature) {
|
||||
throw new Error('expected signed relay handoff CSV after mesh push')
|
||||
if (!pushed?.signature && !v.digestRelayHandoffJsonMeta?.signature) {
|
||||
throw new Error('expected signed relay handoff JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildRelayHandoffCount: (v.digestRelayHandoffCsvRows || []).length,
|
||||
hasMeta: v.digestRelayHandoffCsvMeta != null
|
||||
guildRelayHandoffCount: (v.digestRelayHandoffJsonRows || []).length,
|
||||
hasMeta: v.digestRelayHandoffJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3528,27 +3528,27 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushArchivePeerExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed archive peer CSV export')
|
||||
throw new Error('expected signed archive peer JSON export')
|
||||
}
|
||||
return {
|
||||
guildRelayHandoffCount: (v.archivePeerExportCsvRows || []).length,
|
||||
hasArchiveExport: v.lastArchivePeerExport != null || (v.archivePeerExportCsvRows || []).length > 0
|
||||
guildRelayHandoffCount: (v.archivePeerExportJsonRows || []).length,
|
||||
hasArchiveExport: v.lastArchivePeerExport != null || (v.archivePeerExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runWorkerReleaseCsvJourney () {
|
||||
async runWorkerReleaseJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'wr693', displayName: 'Worker CSV 693' })
|
||||
await this.createGuild({ name: 'Worker CSV 693', publicListing: false })
|
||||
await this.registerUser({ username: 'wr693', displayName: 'Worker JSON 693' })
|
||||
await this.createGuild({ name: 'Worker JSON 693', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushWorkerReleaseCsvToMesh()
|
||||
const pushed = await this.platform.pushWorkerReleaseJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.workerReleaseCsvMeta?.signature) {
|
||||
throw new Error('expected signed worker release CSV after mesh push')
|
||||
if (!pushed?.signature && !v.workerReleaseJsonMeta?.signature) {
|
||||
throw new Error('expected signed worker release JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildWorkerReleaseCount: (v.workerReleaseCsvRows || []).length,
|
||||
hasMeta: v.workerReleaseCsvMeta != null
|
||||
guildWorkerReleaseCount: (v.workerReleaseJsonRows || []).length,
|
||||
hasMeta: v.workerReleaseJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3560,30 +3560,30 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushIntegrationManifestExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed integration manifest CSV export')
|
||||
throw new Error('expected signed integration manifest JSON export')
|
||||
}
|
||||
return {
|
||||
guildWorkerReleaseCount: (v.integrationManifestExportCsvRows || []).length,
|
||||
guildWorkerReleaseCount: (v.integrationManifestExportJsonRows || []).length,
|
||||
hasManifestExport:
|
||||
v.lastIntegrationManifestExport != null ||
|
||||
(v.integrationManifestExportCsvRows || []).length > 0
|
||||
(v.integrationManifestExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runBotRegistryCsvJourney () {
|
||||
async runBotRegistryJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'br694', displayName: 'Bot CSV 694' })
|
||||
await this.createGuild({ name: 'Bot CSV 694', publicListing: false })
|
||||
await this.registerUser({ username: 'br694', displayName: 'Bot JSON 694' })
|
||||
await this.createGuild({ name: 'Bot JSON 694', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.createGuildBotInstallToken({ name: 'Phase694 Bot' })
|
||||
const pushed = await this.platform.pushBotRegistryCsvToMesh()
|
||||
const pushed = await this.platform.pushBotRegistryJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.botRegistryCsvMeta?.signature) {
|
||||
throw new Error('expected signed bot registry CSV after mesh push')
|
||||
if (!pushed?.signature && !v.botRegistryJsonMeta?.signature) {
|
||||
throw new Error('expected signed bot registry JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildBotRegistryCount: (v.botRegistryCsvRows || []).length,
|
||||
hasMeta: v.botRegistryCsvMeta != null
|
||||
guildBotRegistryCount: (v.botRegistryJsonRows || []).length,
|
||||
hasMeta: v.botRegistryJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3599,31 +3599,31 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushWebhookExecuteExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed webhook execute CSV export')
|
||||
throw new Error('expected signed webhook execute JSON export')
|
||||
}
|
||||
return {
|
||||
guildBotRegistryCount: (v.webhookExecuteExportCsvRows || []).length,
|
||||
guildBotRegistryCount: (v.webhookExecuteExportJsonRows || []).length,
|
||||
hasExecuteExport:
|
||||
v.lastWebhookExecuteExport != null || (v.webhookExecuteExportCsvRows || []).length > 0
|
||||
v.lastWebhookExecuteExport != null || (v.webhookExecuteExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runSlashRegistryCsvJourney () {
|
||||
async runSlashRegistryJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'sr695', displayName: 'Slash CSV 695' })
|
||||
await this.createGuild({ name: 'Slash CSV 695', publicListing: false })
|
||||
await this.registerUser({ username: 'sr695', displayName: 'Slash JSON 695' })
|
||||
await this.createGuild({ name: 'Slash JSON 695', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.platform.registerSlashCommands([
|
||||
{ name: 'phase695_ping', description: 'Phase 695 slash CSV journey' }
|
||||
{ name: 'phase695_ping', description: 'Phase 695 slash JSON journey' }
|
||||
])
|
||||
const pushed = await this.platform.pushSlashRegistryCsvToMesh()
|
||||
const pushed = await this.platform.pushSlashRegistryJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.slashRegistryCsvMeta?.signature) {
|
||||
throw new Error('expected signed slash registry CSV after mesh push')
|
||||
if (!pushed?.signature && !v.slashRegistryJsonMeta?.signature) {
|
||||
throw new Error('expected signed slash registry JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildSlashRegistryCount: (v.slashRegistryCsvRows || []).length,
|
||||
hasMeta: v.slashRegistryCsvMeta != null
|
||||
guildSlashRegistryCount: (v.slashRegistryJsonRows || []).length,
|
||||
hasMeta: v.slashRegistryJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3638,29 +3638,29 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushSlashInvokeAuditExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed slash invoke audit CSV export')
|
||||
throw new Error('expected signed slash invoke audit JSON export')
|
||||
}
|
||||
return {
|
||||
guildSlashRegistryCount: (v.slashInvokeAuditExportCsvRows || []).length,
|
||||
guildSlashRegistryCount: (v.slashInvokeAuditExportJsonRows || []).length,
|
||||
hasInvokeExport:
|
||||
v.lastSlashInvokeAuditExport != null || (v.slashInvokeAuditExportCsvRows || []).length > 0
|
||||
v.lastSlashInvokeAuditExport != null || (v.slashInvokeAuditExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runOAuthGrantCsvJourney () {
|
||||
async runOAuthGrantJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'og696', displayName: 'OAuth CSV 696' })
|
||||
await this.createGuild({ name: 'OAuth CSV 696', publicListing: false })
|
||||
await this.registerUser({ username: 'og696', displayName: 'OAuth JSON 696' })
|
||||
await this.createGuild({ name: 'OAuth JSON 696', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.createGuildBotInstallToken({ name: 'Phase696 OAuth App' })
|
||||
const pushed = await this.platform.pushOAuthGrantCsvToMesh()
|
||||
const pushed = await this.platform.pushOAuthGrantJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.oauthGrantCsvMeta?.signature) {
|
||||
throw new Error('expected signed OAuth grant CSV after mesh push')
|
||||
if (!pushed?.signature && !v.oauthGrantJsonMeta?.signature) {
|
||||
throw new Error('expected signed OAuth grant JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildOAuthGrantCount: (v.oauthGrantCsvRows || []).length,
|
||||
hasMeta: v.oauthGrantCsvMeta != null
|
||||
guildOAuthGrantCount: (v.oauthGrantJsonRows || []).length,
|
||||
hasMeta: v.oauthGrantJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3673,29 +3673,29 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushOAuthInstallTokenExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed OAuth install token CSV export')
|
||||
throw new Error('expected signed OAuth install token JSON export')
|
||||
}
|
||||
return {
|
||||
guildOAuthGrantCount: (v.oauthInstallTokenExportCsvRows || []).length,
|
||||
guildOAuthGrantCount: (v.oauthInstallTokenExportJsonRows || []).length,
|
||||
hasInstallExport:
|
||||
v.lastOAuthInstallTokenExport != null || (v.oauthInstallTokenExportCsvRows || []).length > 0
|
||||
v.lastOAuthInstallTokenExport != null || (v.oauthInstallTokenExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runInviteLinkCsvJourney () {
|
||||
async runInviteLinkJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'il697', displayName: 'Invite CSV 697' })
|
||||
await this.createGuild({ name: 'Invite CSV 697', publicListing: false })
|
||||
await this.registerUser({ username: 'il697', displayName: 'Invite JSON 697' })
|
||||
await this.createGuild({ name: 'Invite JSON 697', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.platform.createInvite({ ttlMs: 86400000, maxUses: 10 })
|
||||
const pushed = await this.platform.pushInviteLinkCsvToMesh()
|
||||
const pushed = await this.platform.pushInviteLinkJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.inviteLinkCsvMeta?.signature) {
|
||||
throw new Error('expected signed invite link CSV after mesh push')
|
||||
if (!pushed?.signature && !v.inviteLinkJsonMeta?.signature) {
|
||||
throw new Error('expected signed invite link JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildInviteCsvCount: (v.inviteLinkCsvRows || []).length,
|
||||
hasMeta: v.inviteLinkCsvMeta != null
|
||||
guildInviteJsonCount: (v.inviteLinkJsonRows || []).length,
|
||||
hasMeta: v.inviteLinkJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3708,19 +3708,19 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushVanityUrlExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed vanity URL CSV export')
|
||||
throw new Error('expected signed vanity URL JSON export')
|
||||
}
|
||||
return {
|
||||
guildInviteCsvCount: (v.vanityUrlExportCsvRows || []).length,
|
||||
guildInviteJsonCount: (v.vanityUrlExportJsonRows || []).length,
|
||||
hasVanityExport:
|
||||
v.lastVanityUrlExport != null || (v.vanityUrlExportCsvRows || []).length > 0
|
||||
v.lastVanityUrlExport != null || (v.vanityUrlExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runRoleOverrideCsvJourney () {
|
||||
async runRoleOverrideJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'ro698', displayName: 'Role CSV 698' })
|
||||
await this.createGuild({ name: 'Role CSV 698', publicListing: false })
|
||||
await this.registerUser({ username: 'ro698', displayName: 'Role JSON 698' })
|
||||
await this.createGuild({ name: 'Role JSON 698', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const roles = await this.platform.guildRoles.listRoles(this.platform.guild.guild.id)
|
||||
const custom = roles.find((r) => r.name !== '@everyone')
|
||||
@@ -3732,14 +3732,14 @@ class HeadlessSession {
|
||||
deny: 2048
|
||||
})
|
||||
}
|
||||
const pushed = await this.platform.pushRoleOverrideCsvToMesh()
|
||||
const pushed = await this.platform.pushRoleOverrideJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.roleOverrideCsvMeta?.signature) {
|
||||
throw new Error('expected signed role override CSV after mesh push')
|
||||
if (!pushed?.signature && !v.roleOverrideJsonMeta?.signature) {
|
||||
throw new Error('expected signed role override JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildPermissionCsvCount: (v.roleOverrideCsvRows || []).length,
|
||||
hasMeta: v.roleOverrideCsvMeta != null
|
||||
guildPermissionJsonCount: (v.roleOverrideJsonRows || []).length,
|
||||
hasMeta: v.roleOverrideJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3751,32 +3751,32 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushEffectivePermissionExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed effective permission CSV export')
|
||||
throw new Error('expected signed effective permission JSON export')
|
||||
}
|
||||
return {
|
||||
guildPermissionCsvCount: (v.effectivePermissionExportCsvRows || []).length,
|
||||
guildPermissionJsonCount: (v.effectivePermissionExportJsonRows || []).length,
|
||||
hasEffectiveExport:
|
||||
v.lastEffectivePermissionExport != null ||
|
||||
(v.effectivePermissionExportCsvRows || []).length > 0
|
||||
(v.effectivePermissionExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runEmojiRegistryCsvJourney () {
|
||||
async runEmojiRegistryJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'em699', displayName: 'Emoji CSV 699' })
|
||||
await this.createGuild({ name: 'Emoji CSV 699', publicListing: false })
|
||||
await this.registerUser({ username: 'em699', displayName: 'Emoji JSON 699' })
|
||||
await this.createGuild({ name: 'Emoji JSON 699', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
if (this.platform.emojiRegistry) {
|
||||
await this.platform.emojiRegistry.ensureBuiltins()
|
||||
}
|
||||
const pushed = await this.platform.pushEmojiRegistryCsvToMesh()
|
||||
const pushed = await this.platform.pushEmojiRegistryJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.emojiRegistryCsvMeta?.signature) {
|
||||
throw new Error('expected signed emoji registry CSV after mesh push')
|
||||
if (!pushed?.signature && !v.emojiRegistryJsonMeta?.signature) {
|
||||
throw new Error('expected signed emoji registry JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildEmojiCsvCount: (v.emojiRegistryCsvRows || []).length,
|
||||
hasMeta: v.emojiRegistryCsvMeta != null
|
||||
guildEmojiJsonCount: (v.emojiRegistryJsonRows || []).length,
|
||||
hasMeta: v.emojiRegistryJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3788,28 +3788,28 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushStickerPackExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed sticker pack CSV export')
|
||||
throw new Error('expected signed sticker pack JSON export')
|
||||
}
|
||||
return {
|
||||
guildEmojiCsvCount: (v.stickerPackExportCsvRows || []).length,
|
||||
guildEmojiJsonCount: (v.stickerPackExportJsonRows || []).length,
|
||||
hasStickerExport:
|
||||
v.lastStickerPackExport != null || (v.stickerPackExportCsvRows || []).length > 0
|
||||
v.lastStickerPackExport != null || (v.stickerPackExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runMemberRosterCsvJourney () {
|
||||
async runMemberRosterJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'mb700', displayName: 'Member CSV 700' })
|
||||
await this.createGuild({ name: 'Member CSV 700', publicListing: false })
|
||||
await this.registerUser({ username: 'mb700', displayName: 'Member JSON 700' })
|
||||
await this.createGuild({ name: 'Member JSON 700', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushMemberRosterCsvToMesh()
|
||||
const pushed = await this.platform.pushMemberRosterJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.memberRosterCsvMeta?.signature) {
|
||||
throw new Error('expected signed member roster CSV after mesh push')
|
||||
if (!pushed?.signature && !v.memberRosterJsonMeta?.signature) {
|
||||
throw new Error('expected signed member roster JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildMemberCsvCount: (v.memberRosterCsvRows || []).length,
|
||||
hasMeta: v.memberRosterCsvMeta != null
|
||||
guildMemberJsonCount: (v.memberRosterJsonRows || []).length,
|
||||
hasMeta: v.memberRosterJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3821,29 +3821,29 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushModerationTimeoutExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed moderation timeout CSV export')
|
||||
throw new Error('expected signed moderation timeout JSON export')
|
||||
}
|
||||
return {
|
||||
guildMemberCsvCount: (v.moderationTimeoutExportCsvRows || []).length,
|
||||
guildMemberJsonCount: (v.moderationTimeoutExportJsonRows || []).length,
|
||||
hasTimeoutExport:
|
||||
v.lastModerationTimeoutExport != null ||
|
||||
(v.moderationTimeoutExportCsvRows || []).length > 0
|
||||
(v.moderationTimeoutExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runBanRegistryCsvJourney () {
|
||||
async runBanRegistryJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'bn701', displayName: 'Ban CSV 701' })
|
||||
await this.createGuild({ name: 'Ban CSV 701', publicListing: false })
|
||||
await this.registerUser({ username: 'bn701', displayName: 'Ban JSON 701' })
|
||||
await this.createGuild({ name: 'Ban JSON 701', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushBanRegistryCsvToMesh()
|
||||
const pushed = await this.platform.pushBanRegistryJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.banRegistryCsvMeta?.signature) {
|
||||
throw new Error('expected signed ban registry CSV after mesh push')
|
||||
if (!pushed?.signature && !v.banRegistryJsonMeta?.signature) {
|
||||
throw new Error('expected signed ban registry JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildBanCsvCount: (v.banRegistryCsvRows || []).length,
|
||||
hasMeta: v.banRegistryCsvMeta != null
|
||||
guildBanJsonCount: (v.banRegistryJsonRows || []).length,
|
||||
hasMeta: v.banRegistryJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3855,30 +3855,30 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushAutomodRuleExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed automod rule CSV export')
|
||||
throw new Error('expected signed automod rule JSON export')
|
||||
}
|
||||
return {
|
||||
guildBanCsvCount: (v.automodRuleExportCsvRows || []).length,
|
||||
guildBanJsonCount: (v.automodRuleExportJsonRows || []).length,
|
||||
hasAutomodExport:
|
||||
v.lastAutomodRuleExport != null || (v.automodRuleExportCsvRows || []).length > 0
|
||||
v.lastAutomodRuleExport != null || (v.automodRuleExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runPollRegistryCsvJourney () {
|
||||
async runPollRegistryJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'pl702', displayName: 'Poll CSV 702' })
|
||||
await this.createGuild({ name: 'Poll CSV 702', publicListing: false })
|
||||
await this.registerUser({ username: 'pl702', displayName: 'Poll JSON 702' })
|
||||
await this.createGuild({ name: 'Poll JSON 702', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.sendGuildMessage('/poll Phase702 export? | Yes | No | Maybe')
|
||||
await this.refreshView()
|
||||
const pushed = await this.platform.pushPollRegistryCsvToMesh()
|
||||
const pushed = await this.platform.pushPollRegistryJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.pollRegistryCsvMeta?.signature) {
|
||||
throw new Error('expected signed poll registry CSV after mesh push')
|
||||
if (!pushed?.signature && !v.pollRegistryJsonMeta?.signature) {
|
||||
throw new Error('expected signed poll registry JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildPollCsvCount: (v.pollRegistryCsvRows || []).length + (v.guildPolls || []).length,
|
||||
hasMeta: v.pollRegistryCsvMeta != null,
|
||||
guildPollJsonCount: (v.pollRegistryJsonRows || []).length + (v.guildPolls || []).length,
|
||||
hasMeta: v.pollRegistryJsonMeta != null,
|
||||
pollCount: (v.guildPolls || []).length
|
||||
}
|
||||
}
|
||||
@@ -3886,7 +3886,7 @@ class HeadlessSession {
|
||||
async runScheduledMessageExportJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'sc702', displayName: 'Schedule 702' })
|
||||
await this.createGuild({ name: 'Schedule CSV 702', publicListing: false })
|
||||
await this.createGuild({ name: 'Schedule JSON 702', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.platform.scheduleMessage({
|
||||
content: 'Phase702 scheduled export row',
|
||||
@@ -3897,31 +3897,31 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushScheduledMessageExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed scheduled message CSV export')
|
||||
throw new Error('expected signed scheduled message JSON export')
|
||||
}
|
||||
return {
|
||||
guildPollCsvCount: (v.scheduledMessageExportCsvRows || []).length,
|
||||
guildPollJsonCount: (v.scheduledMessageExportJsonRows || []).length,
|
||||
hasScheduleExport:
|
||||
v.lastScheduledMessageExport != null || (v.scheduledMessageExportCsvRows || []).length > 0
|
||||
v.lastScheduledMessageExport != null || (v.scheduledMessageExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runPinRegistryCsvJourney () {
|
||||
async runPinRegistryJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'pn703', displayName: 'Pin CSV 703' })
|
||||
await this.createGuild({ name: 'Pin CSV 703', publicListing: false })
|
||||
await this.registerUser({ username: 'pn703', displayName: 'Pin JSON 703' })
|
||||
await this.createGuild({ name: 'Pin JSON 703', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const msg = await this.sendGuildMessage('Phase703 pin export target message')
|
||||
await this.platform.pinMessage(msg.id)
|
||||
await this.refreshView()
|
||||
const pushed = await this.platform.pushPinRegistryCsvToMesh()
|
||||
const pushed = await this.platform.pushPinRegistryJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.pinRegistryCsvMeta?.signature) {
|
||||
throw new Error('expected signed pin registry CSV after mesh push')
|
||||
if (!pushed?.signature && !v.pinRegistryJsonMeta?.signature) {
|
||||
throw new Error('expected signed pin registry JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildPinCsvCount: (v.pinRegistryCsvRows || []).length + (v.guildPins || []).length,
|
||||
hasMeta: v.pinRegistryCsvMeta != null,
|
||||
guildPinJsonCount: (v.pinRegistryJsonRows || []).length + (v.guildPins || []).length,
|
||||
hasMeta: v.pinRegistryJsonMeta != null,
|
||||
pinCount: (v.guildPins || []).length
|
||||
}
|
||||
}
|
||||
@@ -3929,7 +3929,7 @@ class HeadlessSession {
|
||||
async runReactionSummaryExportJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'rx703', displayName: 'Reaction 703' })
|
||||
await this.createGuild({ name: 'Reaction CSV 703', publicListing: false })
|
||||
await this.createGuild({ name: 'Reaction JSON 703', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const msg = await this.sendGuildMessage('Phase703 reaction export')
|
||||
await this.platform.toggleReaction(msg.id, '👍')
|
||||
@@ -3937,33 +3937,33 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushReactionSummaryExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed reaction summary CSV export')
|
||||
throw new Error('expected signed reaction summary JSON export')
|
||||
}
|
||||
return {
|
||||
guildPinCsvCount: (v.reactionSummaryExportCsvRows || []).length,
|
||||
guildPinJsonCount: (v.reactionSummaryExportJsonRows || []).length,
|
||||
hasReactionExport:
|
||||
v.lastReactionSummaryExport != null || (v.reactionSummaryExportCsvRows || []).length > 0
|
||||
v.lastReactionSummaryExport != null || (v.reactionSummaryExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runThreadArchiveCsvJourney () {
|
||||
async runThreadArchiveJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'th704', displayName: 'Thread CSV 704' })
|
||||
await this.createGuild({ name: 'Thread CSV 704', publicListing: false })
|
||||
await this.registerUser({ username: 'th704', displayName: 'Thread JSON 704' })
|
||||
await this.createGuild({ name: 'Thread JSON 704', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const row = await this.sendGuildMessage('Phase704 thread archive export seed')
|
||||
await this.ipc({ type: 'create-thread', messageId: row.id, name: 'Archive export thread' })
|
||||
await this.refreshView()
|
||||
const threadId = this._lastView?.activeChannelId
|
||||
if (threadId) await this.platform.archiveThread(threadId, true).catch(() => {})
|
||||
const pushed = await this.platform.pushThreadArchiveCsvToMesh()
|
||||
const pushed = await this.platform.pushThreadArchiveJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.threadArchiveCsvMeta?.signature) {
|
||||
throw new Error('expected signed thread archive CSV after mesh push')
|
||||
if (!pushed?.signature && !v.threadArchiveJsonMeta?.signature) {
|
||||
throw new Error('expected signed thread archive JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildThreadCsvCount: (v.threadArchiveCsvRows || []).length + (v.guildThreads || []).length,
|
||||
hasMeta: v.threadArchiveCsvMeta != null,
|
||||
guildThreadJsonCount: (v.threadArchiveJsonRows || []).length + (v.guildThreads || []).length,
|
||||
hasMeta: v.threadArchiveJsonMeta != null,
|
||||
threadCount: (v.guildThreads || []).length
|
||||
}
|
||||
}
|
||||
@@ -3978,32 +3978,32 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushForumTagExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed forum tag CSV export')
|
||||
throw new Error('expected signed forum tag JSON export')
|
||||
}
|
||||
return {
|
||||
guildThreadCsvCount: (v.forumTagExportCsvRows || []).length,
|
||||
guildThreadJsonCount: (v.forumTagExportJsonRows || []).length,
|
||||
hasForumExport:
|
||||
v.lastForumTagExport != null || (v.forumTagExportCsvRows || []).length > 0
|
||||
v.lastForumTagExport != null || (v.forumTagExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runStageInstanceCsvJourney () {
|
||||
async runStageInstanceJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'st705', displayName: 'Stage CSV 705' })
|
||||
await this.createGuild({ name: 'Stage CSV 705', publicListing: false })
|
||||
await this.registerUser({ username: 'st705', displayName: 'Stage JSON 705' })
|
||||
await this.createGuild({ name: 'Stage JSON 705', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.createGuildChannel('Stage Export', { type: 'stage' })
|
||||
await this.refreshView()
|
||||
const ch = this._lastView?.channels?.find((c) => c.type === 'stage')
|
||||
if (ch?.id) await this.platform.joinStageChannel(ch.id).catch(() => {})
|
||||
const pushed = await this.platform.pushStageInstanceCsvToMesh()
|
||||
const pushed = await this.platform.pushStageInstanceJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.stageInstanceCsvMeta?.signature) {
|
||||
throw new Error('expected signed stage instance CSV after mesh push')
|
||||
if (!pushed?.signature && !v.stageInstanceJsonMeta?.signature) {
|
||||
throw new Error('expected signed stage instance JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildStageCsvCount: (v.stageInstanceCsvRows || []).length + (v.guildStages || []).length,
|
||||
hasMeta: v.stageInstanceCsvMeta != null,
|
||||
guildStageJsonCount: (v.stageInstanceJsonRows || []).length + (v.guildStages || []).length,
|
||||
hasMeta: v.stageInstanceJsonMeta != null,
|
||||
stageCount: (v.guildStages || []).length
|
||||
}
|
||||
}
|
||||
@@ -4018,32 +4018,32 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushGuildEventExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed guild event CSV export')
|
||||
throw new Error('expected signed guild event JSON export')
|
||||
}
|
||||
return {
|
||||
guildStageCsvCount: (v.guildEventExportCsvRows || []).length,
|
||||
guildStageJsonCount: (v.guildEventExportJsonRows || []).length,
|
||||
hasGuildEventExport:
|
||||
v.lastGuildEventExport != null || (v.guildEventExportCsvRows || []).length > 0
|
||||
v.lastGuildEventExport != null || (v.guildEventExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runVoiceStateCsvJourney () {
|
||||
async runVoiceStateJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'vc706', displayName: 'Voice CSV 706' })
|
||||
await this.createGuild({ name: 'Voice CSV 706', publicListing: false })
|
||||
await this.registerUser({ username: 'vc706', displayName: 'Voice JSON 706' })
|
||||
await this.createGuild({ name: 'Voice JSON 706', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.createGuildChannel('Voice Export', { type: 'voice' })
|
||||
await this.refreshView()
|
||||
const ch = this._lastView?.channels?.find((c) => c.type === 'voice')
|
||||
if (ch?.id) await this.platform.joinVoiceChannel(ch.id).catch(() => {})
|
||||
const pushed = await this.platform.pushVoiceStateCsvToMesh()
|
||||
const pushed = await this.platform.pushVoiceStateJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.voiceStateCsvMeta?.signature) {
|
||||
throw new Error('expected signed voice state CSV after mesh push')
|
||||
if (!pushed?.signature && !v.voiceStateJsonMeta?.signature) {
|
||||
throw new Error('expected signed voice state JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildVoiceCsvCount: (v.voiceStateCsvRows || []).length + (v.guildVoiceStates || []).length,
|
||||
hasMeta: v.voiceStateCsvMeta != null,
|
||||
guildVoiceJsonCount: (v.voiceStateJsonRows || []).length + (v.guildVoiceStates || []).length,
|
||||
hasMeta: v.voiceStateJsonMeta != null,
|
||||
voiceCount: (v.guildVoiceStates || []).length
|
||||
}
|
||||
}
|
||||
@@ -4057,19 +4057,19 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushBoostLedgerExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed boost ledger CSV export')
|
||||
throw new Error('expected signed boost ledger JSON export')
|
||||
}
|
||||
return {
|
||||
guildVoiceCsvCount: (v.boostLedgerExportCsvRows || []).length,
|
||||
guildVoiceJsonCount: (v.boostLedgerExportJsonRows || []).length,
|
||||
hasBoostLedgerExport:
|
||||
v.lastBoostLedgerExport != null || (v.boostLedgerExportCsvRows || []).length > 0
|
||||
v.lastBoostLedgerExport != null || (v.boostLedgerExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runScreenShareCsvJourney () {
|
||||
async runScreenShareJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'sc707', displayName: 'Screen CSV 707' })
|
||||
await this.createGuild({ name: 'Screen CSV 707', publicListing: false })
|
||||
await this.registerUser({ username: 'sc707', displayName: 'Screen JSON 707' })
|
||||
await this.createGuild({ name: 'Screen JSON 707', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.createGuildChannel('Voice Share', { type: 'voice' })
|
||||
await this.refreshView()
|
||||
@@ -4078,14 +4078,14 @@ class HeadlessSession {
|
||||
await this.platform.joinVoiceChannel(ch.id).catch(() => {})
|
||||
await this.startGuildScreenShare('Phase707 screen export').catch(() => {})
|
||||
}
|
||||
const pushed = await this.platform.pushScreenShareCsvToMesh()
|
||||
const pushed = await this.platform.pushScreenShareJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.screenShareCsvMeta?.signature) {
|
||||
throw new Error('expected signed screen share CSV after mesh push')
|
||||
if (!pushed?.signature && !v.screenShareJsonMeta?.signature) {
|
||||
throw new Error('expected signed screen share JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildScreenCsvCount: (v.screenShareCsvRows || []).length + (v.guildScreenShares || []).length,
|
||||
hasMeta: v.screenShareCsvMeta != null,
|
||||
guildScreenJsonCount: (v.screenShareJsonRows || []).length + (v.guildScreenShares || []).length,
|
||||
hasMeta: v.screenShareJsonMeta != null,
|
||||
shareCount: (v.guildScreenShares || []).length
|
||||
}
|
||||
}
|
||||
@@ -4099,19 +4099,19 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushSoundboardRegistryExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed soundboard registry CSV export')
|
||||
throw new Error('expected signed soundboard registry JSON export')
|
||||
}
|
||||
return {
|
||||
guildScreenCsvCount: (v.soundboardRegistryExportCsvRows || []).length,
|
||||
guildScreenJsonCount: (v.soundboardRegistryExportJsonRows || []).length,
|
||||
hasSoundboardExport:
|
||||
v.lastSoundboardRegistryExport != null || (v.soundboardRegistryExportCsvRows || []).length > 0
|
||||
v.lastSoundboardRegistryExport != null || (v.soundboardRegistryExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runPresenceActivityCsvJourney () {
|
||||
async runPresenceActivityJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'pa708', displayName: 'Presence CSV 708' })
|
||||
await this.createGuild({ name: 'Presence CSV 708', publicListing: false })
|
||||
await this.registerUser({ username: 'pa708', displayName: 'Presence JSON 708' })
|
||||
await this.createGuild({ name: 'Presence JSON 708', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.refreshView()
|
||||
const gid = this.platform.guild?.guild?.id
|
||||
@@ -4119,14 +4119,14 @@ class HeadlessSession {
|
||||
if (gid && uid) {
|
||||
this.platform._bumpPresenceVector(gid, uid, { status: 'online', at: Date.now() })
|
||||
}
|
||||
const pushed = await this.platform.pushPresenceActivityCsvToMesh()
|
||||
const pushed = await this.platform.pushPresenceActivityJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.presenceActivityCsvMeta?.signature) {
|
||||
throw new Error('expected signed presence activity CSV after mesh push')
|
||||
if (!pushed?.signature && !v.presenceActivityJsonMeta?.signature) {
|
||||
throw new Error('expected signed presence activity JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildPresenceCsvCount: (v.presenceActivityCsvRows || []).length + (v.guildPresenceActivities || []).length,
|
||||
hasMeta: v.presenceActivityCsvMeta != null,
|
||||
guildPresenceJsonCount: (v.presenceActivityJsonRows || []).length + (v.guildPresenceActivities || []).length,
|
||||
hasMeta: v.presenceActivityJsonMeta != null,
|
||||
presenceCount: (v.guildPresenceActivities || []).length
|
||||
}
|
||||
}
|
||||
@@ -4144,16 +4144,16 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushReadStateExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed read-state CSV export')
|
||||
throw new Error('expected signed read-state JSON export')
|
||||
}
|
||||
return {
|
||||
guildPresenceCsvCount: (v.readStateExportCsvRows || []).length,
|
||||
guildPresenceJsonCount: (v.readStateExportJsonRows || []).length,
|
||||
hasReadStateExport:
|
||||
v.lastReadStateExport != null || (v.readStateExportCsvRows || []).length > 0
|
||||
v.lastReadStateExport != null || (v.readStateExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runNotificationOverrideCsvJourney () {
|
||||
async runNotificationOverrideJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'no709', displayName: 'Notification 709' })
|
||||
await this.createGuild({ name: 'Notification 709', publicListing: false })
|
||||
@@ -4163,14 +4163,14 @@ class HeadlessSession {
|
||||
if (ch?.id) {
|
||||
await this.platform.setChannelNotificationLevel(ch.id, 'mentions').catch(() => {})
|
||||
}
|
||||
const pushed = await this.platform.pushNotificationOverrideCsvToMesh()
|
||||
const pushed = await this.platform.pushNotificationOverrideJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.notificationOverrideCsvMeta?.signature) {
|
||||
throw new Error('expected signed notification override CSV after mesh push')
|
||||
if (!pushed?.signature && !v.notificationOverrideJsonMeta?.signature) {
|
||||
throw new Error('expected signed notification override JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildNotificationCsvCount: (v.notificationOverrideCsvRows || []).length + (v.guildNotificationOverrides || []).length,
|
||||
hasMeta: v.notificationOverrideCsvMeta != null
|
||||
guildNotificationJsonCount: (v.notificationOverrideJsonRows || []).length + (v.guildNotificationOverrides || []).length,
|
||||
hasMeta: v.notificationOverrideJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4187,30 +4187,30 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushChannelFollowExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed channel follow CSV export')
|
||||
throw new Error('expected signed channel follow JSON export')
|
||||
}
|
||||
return {
|
||||
guildNotificationCsvCount: (v.channelFollowExportCsvRows || []).length,
|
||||
guildNotificationJsonCount: (v.channelFollowExportJsonRows || []).length,
|
||||
hasChannelFollowExport:
|
||||
v.lastChannelFollowExport != null || (v.channelFollowExportCsvRows || []).length > 0
|
||||
v.lastChannelFollowExport != null || (v.channelFollowExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runCustomStatusCsvJourney () {
|
||||
async runCustomStatusJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'cs710', displayName: 'Custom Status 710' })
|
||||
await this.createGuild({ name: 'Custom Status 710', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.refreshView()
|
||||
this.platform.setPresence('online', 'Phase710 custom status')
|
||||
const pushed = await this.platform.pushCustomStatusCsvToMesh()
|
||||
const pushed = await this.platform.pushCustomStatusJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.customStatusCsvMeta?.signature) {
|
||||
throw new Error('expected signed custom status CSV after mesh push')
|
||||
if (!pushed?.signature && !v.customStatusJsonMeta?.signature) {
|
||||
throw new Error('expected signed custom status JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildStatusCsvCount: (v.customStatusCsvRows || []).length + (v.guildCustomStatuses || []).length,
|
||||
hasMeta: v.customStatusCsvMeta != null
|
||||
guildStatusJsonCount: (v.customStatusJsonRows || []).length + (v.guildCustomStatuses || []).length,
|
||||
hasMeta: v.customStatusJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4223,31 +4223,31 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushGuildWidgetExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed guild widget CSV export')
|
||||
throw new Error('expected signed guild widget JSON export')
|
||||
}
|
||||
return {
|
||||
guildStatusCsvCount: (v.guildWidgetExportCsvRows || []).length,
|
||||
guildStatusJsonCount: (v.guildWidgetExportJsonRows || []).length,
|
||||
hasGuildWidgetExport:
|
||||
v.lastGuildWidgetExport != null || (v.guildWidgetExportCsvRows || []).length > 0
|
||||
v.lastGuildWidgetExport != null || (v.guildWidgetExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async runActivityInviteCsvJourney () {
|
||||
async runActivityInviteJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'ai711', displayName: 'Activity Invite 711' })
|
||||
await this.createGuild({ name: 'Activity Invite 711', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.refreshView()
|
||||
this.platform.setPresence('online', 'Phase711 activity', { name: 'Pearcord', type: 'playing', partySize: 1 })
|
||||
const pushed = await this.platform.pushActivityInviteCsvToMesh()
|
||||
const pushed = await this.platform.pushActivityInviteJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.activityInviteCsvMeta?.signature) {
|
||||
throw new Error('expected signed activity invite CSV after mesh push')
|
||||
if (!pushed?.signature && !v.activityInviteJsonMeta?.signature) {
|
||||
throw new Error('expected signed activity invite JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildActivityCsvCount: (v.activityInviteCsvRows || []).length + (v.guildActivityInvites || []).length,
|
||||
hasMeta: v.activityInviteCsvMeta != null
|
||||
guildActivityJsonCount: (v.activityInviteJsonRows || []).length + (v.guildActivityInvites || []).length,
|
||||
hasMeta: v.activityInviteJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4260,15 +4260,52 @@ class HeadlessSession {
|
||||
const pushed = await this.platform.pushProfileBannerExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed profile banner CSV export')
|
||||
throw new Error('expected signed profile banner JSON export')
|
||||
}
|
||||
return {
|
||||
guildActivityCsvCount: (v.profileBannerExportCsvRows || []).length,
|
||||
guildActivityJsonCount: (v.profileBannerExportJsonRows || []).length,
|
||||
hasProfileBannerExport:
|
||||
v.lastProfileBannerExport != null || (v.profileBannerExportCsvRows || []).length > 0
|
||||
v.lastProfileBannerExport != null || (v.profileBannerExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runSessionActivityJsonJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'sa712', displayName: 'Session Activity 712' })
|
||||
await this.createGuild({ name: 'Session Activity 712', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.refreshView()
|
||||
this.platform.setPresence('online', 'Phase712 session', { name: 'Pearcord', type: 'playing', partySize: 1 })
|
||||
const pushed = await this.platform.pushSessionActivityJsonToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.sessionActivityJsonMeta?.signature) {
|
||||
throw new Error('expected signed session activity JSON after mesh push')
|
||||
}
|
||||
return {
|
||||
guildSessionJsonCount: (v.sessionActivityJsonRows || []).length + (v.guildSessionActivities || []).length,
|
||||
hasMeta: v.sessionActivityJsonMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
async runAvatarDecorationExportJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'ad712', displayName: 'Avatar Decoration 712' })
|
||||
await this.createGuild({ name: 'Avatar Decoration 712', publicListing: true })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
await this.refreshView()
|
||||
const pushed = await this.platform.pushAvatarDecorationExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed avatar decoration JSON export')
|
||||
}
|
||||
return {
|
||||
guildSessionJsonCount: (v.avatarDecorationExportJsonRows || []).length,
|
||||
hasAvatarDecorationExport:
|
||||
v.lastAvatarDecorationExport != null || (v.avatarDecorationExportJsonRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async runForumPostSearchJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'fm672', displayName: 'Forum 672' })
|
||||
|
||||
Reference in New Issue
Block a user