























@@ -118,7 +118,24 @@ type RunMessageActionInput = {
118118};
119119120120function firstRunMessageActionInput(): RunMessageActionInput | undefined {
121-return mocks.runMessageAction.mock.calls.at(0)?.[0] as RunMessageActionInput | undefined;
121+return mocks.runMessageAction.mock.calls[0]?.[0] as RunMessageActionInput | undefined;
122+}
123+124+function latestSecretResolveCall(): {
125+allowedPaths?: Set<string>;
126+config?: unknown;
127+targetIds?: Set<string>;
128+} {
129+const calls = mocks.resolveCommandSecretRefsViaGateway.mock.calls;
130+const call = calls[calls.length - 1];
131+if (!call) {
132+throw new Error("expected secret resolution call");
133+}
134+return call[0] as {
135+allowedPaths?: Set<string>;
136+config?: unknown;
137+targetIds?: Set<string>;
138+};
122139}
123140124141const openClawToolsFactoryMocks = vi.hoisted(() => {
@@ -419,10 +436,7 @@ describe("message tool secret scoping", () => {
419436message: "hi",
420437});
421438422-const secretResolveCall = mocks.resolveCommandSecretRefsViaGateway.mock.calls.at(-1)?.[0] as {
423-targetIds?: Set<string>;
424-allowedPaths?: Set<string>;
425-};
439+const secretResolveCall = latestSecretResolveCall();
426440expect(secretResolveCall.targetIds).toBeInstanceOf(Set);
427441expect(
428442[...(secretResolveCall.targetIds ?? [])].every((id) => id.startsWith("channels.discord.")),
@@ -473,11 +487,7 @@ describe("message tool secret scoping", () => {
473487message: "hi",
474488});
475489476-const secretResolveCall = mocks.resolveCommandSecretRefsViaGateway.mock.calls.at(-1)?.[0] as {
477-config?: unknown;
478-targetIds?: Set<string>;
479-allowedPaths?: Set<string>;
480-};
490+const secretResolveCall = latestSecretResolveCall();
481491expect(secretResolveCall.config).toBe(rawConfig);
482492expect(secretResolveCall.targetIds).toEqual(
483493new Set(["channels.discord.token", "channels.discord.accounts.ops.token"]),
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。