authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-09-05 00:18:44-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-05 00:18:44-07:00
log94d1fa7ff268e88476a341eb73f9f032e2af6a21
tree40a8c2d6c59ff000abe82e495b73b57ab909a167
parent9867eb12396439f58e03e3548e053d966f0f64a6
signature Signed by PGP key B5690EEEBB952194

test(server): consolidate agent activity opt-in coverage (#9988)


4 files changed, 7 insertions(+), 21 deletions(-)

apps/server/src/cli/connect.test.ts-8
......@@ -14,7 +14,6 @@ import * as BootService from "../cloud/bootService.ts";
1414import {
1515 acquireRelayClientForLink,
1616 headlessSessionConfig,
17 isPublishAgentActivityEnabledValue,
1817 reportCloudDisconnectResults,
1918} from "./connect.ts";
2019import { recoverServiceOnboardingOffer } from "./service.ts";
......@@ -190,10 +189,3 @@ it.effect("keeps disconnect causes in structured logs and out of console warning
190189 ),
191190 );
192191});
193
194it("treats only the literal 'true' as publish-enabled", () => {
195 assert.equal(isPublishAgentActivityEnabledValue("true"), true);
196 assert.equal(isPublishAgentActivityEnabledValue("false"), false);
197 assert.equal(isPublishAgentActivityEnabledValue(null), false);
198 assert.equal(isPublishAgentActivityEnabledValue("TRUE"), false);
199});
apps/server/src/cli/connect.ts+1-5
......@@ -144,10 +144,6 @@ function stringToBytes(value: string): Uint8Array {
144144 return new TextEncoder().encode(value);
145145}
146146
147export function isPublishAgentActivityEnabledValue(value: string | null): boolean {
148 return isAgentActivityPublishingEnabledValue(value);
149}
150
151147interface CloudCliStatus {
152148 readonly desired: boolean;
153149 readonly authenticated: boolean;
......@@ -573,7 +569,7 @@ const connectStatusCommand = Command.make("status", {
573569 linked: Option.isSome(cloudUserId),
574570 cloudUserId: Option.isSome(cloudUserId) ? bytesToString(cloudUserId.value) : null,
575571 relayUrl: Option.isSome(relayUrl) ? bytesToString(relayUrl.value) : null,
576 publishAgentActivity: isPublishAgentActivityEnabledValue(
572 publishAgentActivity: isAgentActivityPublishingEnabledValue(
577573 Option.isSome(publishAgentActivity) ? bytesToString(publishAgentActivity.value) : null,
578574 ),
579575 relayClient: executable,
apps/server/src/relay/AgentAwarenessRelay.test.ts+5-3
......@@ -39,6 +39,7 @@ import {
3939 type ProjectionSnapshotQueryShape,
4040} from "../orchestration/Services/ProjectionSnapshotQuery.ts";
4141import {
42 isAgentActivityPublishingEnabledValue,
4243 RELAY_ENVIRONMENT_CREDENTIAL_SECRET,
4344 RELAY_ISSUER_SECRET,
4445 RELAY_URL_SECRET,
......@@ -220,9 +221,10 @@ describe.sequential("signRelayAgentActivityPublishProof", () => {
220221 });
221222
222223 it("requires an explicit opt-in before publishing agent activity", () => {
223 expect(AgentAwarenessRelay.isAgentActivityPublishingEnabled(null)).toBe(false);
224 expect(AgentAwarenessRelay.isAgentActivityPublishingEnabled("false")).toBe(false);
225 expect(AgentAwarenessRelay.isAgentActivityPublishingEnabled("true")).toBe(true);
224 expect(isAgentActivityPublishingEnabledValue(null)).toBe(false);
225 expect(isAgentActivityPublishingEnabledValue("false")).toBe(false);
226 expect(isAgentActivityPublishingEnabledValue("TRUE")).toBe(false);
227 expect(isAgentActivityPublishingEnabledValue("true")).toBe(true);
226228 });
227229
228230 it("redacts failed activity details and caps other relay detail", () => {
apps/server/src/relay/AgentAwarenessRelay.ts+1-5
......@@ -102,10 +102,6 @@ export function agentAwarenessPublishIdentity(state: RelayAgentActivityState | n
102102 return JSON.stringify(meaningfulState);
103103}
104104
105export function isAgentActivityPublishingEnabled(value: string | null): boolean {
106 return isAgentActivityPublishingEnabledValue(value);
107}
108
109105export function resolveAgentActivityPublishingStartupState(input: {
110106 readonly relayConfigured: boolean;
111107 readonly publishEnabled: boolean;
......@@ -322,7 +318,7 @@ export const make = Effect.gen(function* () {
322318 });
323319
324320 const readPublishAgentActivityEnabled = readSecretString(PUBLISH_AGENT_ACTIVITY_SECRET).pipe(
325 Effect.map(isAgentActivityPublishingEnabled),
321 Effect.map(isAgentActivityPublishingEnabledValue),
326322 );
327323
328324 const makeRelayClient = (relayConfig: {