

























@@ -61,21 +61,22 @@ describe("matrix qa config", () => {
6161 topology,
6262});
636364-expect(next.channels?.matrix?.accounts?.sut).toMatchObject({
65-dm: {
66-allowFrom: ["@driver:matrix-qa.test"],
67-enabled: true,
68-policy: "allowlist",
69-},
70-groupAllowFrom: ["@driver:matrix-qa.test"],
71-groupPolicy: "allowlist",
72-groups: {
73-"!main:matrix-qa.test": { enabled: true, requireMention: true },
74-"!secondary:matrix-qa.test": { enabled: true, requireMention: true },
75-},
76-replyToMode: "off",
77-threadReplies: "inbound",
64+const sut = next.channels?.matrix?.accounts?.sut;
65+expect(sut?.dm?.allowFrom).toEqual(["@driver:matrix-qa.test"]);
66+expect(sut?.dm?.enabled).toBe(true);
67+expect(sut?.dm?.policy).toBe("allowlist");
68+expect(sut?.groupAllowFrom).toEqual(["@driver:matrix-qa.test"]);
69+expect(sut?.groupPolicy).toBe("allowlist");
70+expect(sut?.groups?.["!main:matrix-qa.test"]).toEqual({
71+enabled: true,
72+requireMention: true,
73+});
74+expect(sut?.groups?.["!secondary:matrix-qa.test"]).toEqual({
75+enabled: true,
76+requireMention: true,
7877});
78+expect(sut?.replyToMode).toBe("off");
79+expect(sut?.threadReplies).toBe("inbound");
7980expect(next.messages?.groupChat?.visibleReplies).toBe("automatic");
8081});
8182@@ -134,58 +135,51 @@ describe("matrix qa config", () => {
134135 topology,
135136});
136137137-expect(next.agents?.defaults).toMatchObject({
138-blockStreamingChunk: {
139-breakPreference: "newline",
140-maxChars: 48,
141-minChars: 1,
142-},
143-blockStreamingCoalesce: {
144-idleMs: 0,
145-maxChars: 48,
146-minChars: 1,
147-},
138+expect(next.agents?.defaults?.blockStreamingChunk).toEqual({
139+breakPreference: "newline",
140+maxChars: 48,
141+minChars: 1,
148142});
149-expect(next.tools).toMatchObject({
150-profile: "coding",
143+expect(next.agents?.defaults?.blockStreamingCoalesce).toEqual({
144+idleMs: 0,
145+maxChars: 48,
146+minChars: 1,
151147});
152-expect(next.channels?.matrix?.accounts?.["qa-observer-bot-source"]).toMatchObject({
153-accessToken: "observer-token",
154-enabled: false,
155-homeserver: "http://127.0.0.1:28008/",
156-userId: "@observer:matrix-qa.test",
148+expect(next.tools?.profile).toBe("coding");
149+const observer = next.channels?.matrix?.accounts?.["qa-observer-bot-source"];
150+expect(observer?.accessToken).toBe("observer-token");
151+expect(observer?.enabled).toBe(false);
152+expect(observer?.homeserver).toBe("http://127.0.0.1:28008/");
153+expect(observer?.userId).toBe("@observer:matrix-qa.test");
154+const sut = next.channels?.matrix?.accounts?.sut;
155+expect(sut?.allowBots).toBe("mentions");
156+expect(sut?.autoJoin).toBe("allowlist");
157+expect(sut?.autoJoinAllowlist).toEqual(["!dm:matrix-qa.test", "#ops:matrix-qa.test"]);
158+expect(sut?.blockStreaming).toBe(true);
159+expect(sut?.dm?.sessionScope).toBe("per-room");
160+expect(sut?.dm?.threadReplies).toBe("off");
161+expect(sut?.encryption).toBe(true);
162+expect(sut?.groupAllowFrom).toEqual(["@driver:matrix-qa.test", "@observer:matrix-qa.test"]);
163+expect(sut?.groups?.["!main:matrix-qa.test"]).toEqual({
164+enabled: true,
165+requireMention: true,
157166});
158-expect(next.channels?.matrix?.accounts?.sut).toMatchObject({
159-allowBots: "mentions",
160-autoJoin: "allowlist",
161-autoJoinAllowlist: ["!dm:matrix-qa.test", "#ops:matrix-qa.test"],
162-blockStreaming: true,
163-dm: {
164-sessionScope: "per-room",
165-threadReplies: "off",
166-},
167-encryption: true,
168-groupAllowFrom: ["@driver:matrix-qa.test", "@observer:matrix-qa.test"],
169-groups: {
170-"!main:matrix-qa.test": { enabled: true, requireMention: true },
171-"!secondary:matrix-qa.test": {
172-allowBots: false,
173-enabled: true,
174-requireMention: false,
175-tools: {
176-allow: ["sessions_spawn"],
177-},
178-},
179-},
180-replyToMode: "all",
181-streaming: "quiet",
182-threadBindings: {
183-enabled: true,
184-idleHours: 1,
185-spawnSessions: true,
167+expect(sut?.groups?.["!secondary:matrix-qa.test"]).toEqual({
168+allowBots: false,
169+enabled: true,
170+requireMention: false,
171+tools: {
172+allow: ["sessions_spawn"],
186173},
187-threadReplies: "always",
188174});
175+expect(sut?.replyToMode).toBe("all");
176+expect(sut?.streaming).toBe("quiet");
177+expect(sut?.threadBindings).toEqual({
178+enabled: true,
179+idleHours: 1,
180+spawnSessions: true,
181+});
182+expect(sut?.threadReplies).toBe("always");
189183});
190184191185it("rewrites the owned Matrix QA account instead of retaining stale override fields", () => {
@@ -339,22 +333,17 @@ describe("matrix qa config", () => {
339333 topology,
340334});
341335342-expect(next.approvals).toMatchObject({
343-exec: { enabled: true, mode: "session" },
344-plugin: { enabled: true, mode: "session" },
345-});
346-expect(next.channels?.matrix?.accounts?.sut).toMatchObject({
347-chunkMode: "length",
348-dm: {
349-allowFrom: ["@driver:matrix-qa.test"],
350-enabled: true,
351-},
352-execApprovals: {
353-enabled: true,
354-target: "both",
355-},
356-textChunkLimit: 280,
336+expect(next.approvals?.exec).toEqual({ enabled: true, mode: "session" });
337+expect(next.approvals?.plugin).toEqual({ enabled: true, mode: "session" });
338+const sut = next.channels?.matrix?.accounts?.sut;
339+expect(sut?.chunkMode).toBe("length");
340+expect(sut?.dm?.allowFrom).toEqual(["@driver:matrix-qa.test"]);
341+expect(sut?.dm?.enabled).toBe(true);
342+expect(sut?.execApprovals).toEqual({
343+enabled: true,
344+target: "both",
357345});
346+expect(sut?.textChunkLimit).toBe(280);
358347});
359348360349it("resolves role-based Matrix sender allowlist overrides", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。