Skip to content

Commit 8394594

Browse files
committed
refactor: defer SDK metadata filtering
1 parent 8a45204 commit 8394594

14 files changed

Lines changed: 26 additions & 80 deletions

File tree

src/handlers/runtime/endpoint/endpoint.screen.test.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,7 @@ describe("Runtime endpoint flow", () => {
193193
core.runtime.setListEndpointsResponse({
194194
runtimeEndpoints: [endpoint({ name: qualifier, id: qualifier })],
195195
});
196-
core.runtime.setGetEndpointResponse({
197-
$metadata: { requestId: "endpoint-request-metadata" },
198-
...getEndpointResponse({ name: qualifier, id: qualifier }),
199-
} as GetAgentRuntimeEndpointResponse);
196+
core.runtime.setGetEndpointResponse(getEndpointResponse({ name: qualifier, id: qualifier }));
200197
const r = renderScreen("/agentcore/runtime/endpoint/list/runtime-123", {
201198
core,
202199
endpointUrl: runtimeEndpointUrl,
@@ -209,8 +206,6 @@ describe("Runtime endpoint flow", () => {
209206
`agentcore → runtime → endpoint → get → runtime-123 → ${qualifier}`,
210207
);
211208
await waitForText(r.lastFrame, '"targetVersion"');
212-
expect(r.lastFrame()).not.toContain("$metadata");
213-
expect(r.lastFrame()).not.toContain("endpoint-request-metadata");
214209
await waitFor(() => core.runtime.calls.some((call) => call.method === "getRuntimeEndpoint"));
215210
expect(core.runtime.calls.find((call) => call.method === "getRuntimeEndpoint")).toEqual({
216211
method: "getRuntimeEndpoint",

src/handlers/runtime/endpoint/get/index.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { createHandler, flag } from "../../../../router";
33
import { JsonRendererKey } from "../../../../tui";
44
import type { Core } from "../../../types";
55
import { coreOptsFromCtx } from "../../../utils";
6-
import { withoutSdkMetadata } from "../../withoutSdkMetadata";
76

87
export const createGetRuntimeEndpointHandler = (core: Core) =>
98
createHandler({
@@ -24,9 +23,7 @@ export const createGetRuntimeEndpointHandler = (core: Core) =>
2423
ctx
2524
.require(JsonRendererKey)
2625
.renderJson(
27-
withoutSdkMetadata(
28-
await core.runtime.getRuntimeEndpoint(flags.id, flags.qualifier, coreOptsFromCtx(ctx)),
29-
),
26+
await core.runtime.getRuntimeEndpoint(flags.id, flags.qualifier, coreOptsFromCtx(ctx)),
3027
);
3128
},
3229
});

src/handlers/runtime/endpoint/get/screen.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { useQuery } from "@tanstack/react-query";
22
import { useParams } from "react-router";
33
import { JsonDetail } from "../../../../components/JsonDetail";
4-
import { withoutSdkMetadata } from "../../withoutSdkMetadata";
54
import type { ScreenProps } from "../../../types";
65
import { coreOptsFromCtx } from "../../../utils";
76

@@ -19,7 +18,7 @@ export function RuntimeGetEndpointScreen({ ctx, core }: ScreenProps) {
1918
breadcrumb={["agentcore", "runtime", "endpoint", "get", runtimeId ?? "", qualifier ?? ""]}
2019
isPending={detail.isPending}
2120
error={detail.isError ? (detail.error as Error) : null}
22-
data={withoutSdkMetadata(detail.data)}
21+
data={detail.data}
2322
loadingLabel={`Loading endpoint ${qualifier ?? ""} for Runtime ${runtimeId ?? ""}…`}
2423
onRetry={() => void detail.refetch()}
2524
/>

src/handlers/runtime/endpoint/list/index.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { createHandler, flag } from "../../../../router";
33
import { JsonRendererKey } from "../../../../tui";
44
import type { Core } from "../../../types";
55
import { coreOptsFromCtx } from "../../../utils";
6-
import { withoutSdkMetadata } from "../../withoutSdkMetadata";
76

87
export const createListRuntimeEndpointsHandler = (core: Core) =>
98
createHandler({
@@ -22,13 +21,11 @@ export const createListRuntimeEndpointsHandler = (core: Core) =>
2221
ctx
2322
.require(JsonRendererKey)
2423
.renderJson(
25-
withoutSdkMetadata(
26-
await core.runtime.listRuntimeEndpoints(
27-
flags.id,
28-
flags["next-token"],
29-
flags["max-results"],
30-
coreOptsFromCtx(ctx),
31-
),
24+
await core.runtime.listRuntimeEndpoints(
25+
flags.id,
26+
flags["next-token"],
27+
flags["max-results"],
28+
coreOptsFromCtx(ctx),
3229
),
3330
);
3431
},

src/handlers/runtime/get/index.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { createHandler, flag } from "../../../router";
33
import { JsonRendererKey } from "../../../tui";
44
import type { Core } from "../../types";
55
import { coreOptsFromCtx } from "../../utils";
6-
import { withoutSdkMetadata } from "../withoutSdkMetadata";
76

87
export const createGetRuntimeHandler = (core: Core) =>
98
createHandler({
@@ -17,8 +16,6 @@ export const createGetRuntimeHandler = (core: Core) =>
1716

1817
ctx
1918
.require(JsonRendererKey)
20-
.renderJson(
21-
withoutSdkMetadata(await core.runtime.getRuntime(flags.id, coreOptsFromCtx(ctx))),
22-
);
19+
.renderJson(await core.runtime.getRuntime(flags.id, coreOptsFromCtx(ctx)));
2320
},
2421
});

src/handlers/runtime/get/screen.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import { Divider } from "../../../components/ui/divider/Divider.js";
1010
import { Spinner } from "../../../components/ui/spinner";
1111
import type { ScreenProps } from "../../types";
1212
import { coreOptsFromCtx } from "../../utils";
13-
import { withoutSdkMetadata } from "../withoutSdkMetadata";
1413

1514
const ACTIONS = [
1615
{
@@ -138,7 +137,7 @@ export function RuntimeGetJsonScreen({ ctx, core }: ScreenProps) {
138137
breadcrumb={["agentcore", "runtime", "get", runtimeId ?? "", "json"]}
139138
isPending={detail.isPending}
140139
error={detail.isError ? (detail.error as Error) : null}
141-
data={withoutSdkMetadata(detail.data)}
140+
data={detail.data}
142141
loadingLabel="Loading Runtime…"
143142
onRetry={() => void detail.refetch()}
144143
/>

src/handlers/runtime/list/index.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { createHandler, flag } from "../../../router";
33
import { JsonRendererKey } from "../../../tui";
44
import type { Core } from "../../types";
55
import { coreOptsFromCtx } from "../../utils";
6-
import { withoutSdkMetadata } from "../withoutSdkMetadata";
76

87
export const createListRuntimesHandler = (core: Core) =>
98
createHandler({
@@ -17,12 +16,10 @@ export const createListRuntimesHandler = (core: Core) =>
1716
ctx
1817
.require(JsonRendererKey)
1918
.renderJson(
20-
withoutSdkMetadata(
21-
await core.runtime.listRuntimes(
22-
flags["next-token"],
23-
flags["max-results"],
24-
coreOptsFromCtx(ctx),
25-
),
19+
await core.runtime.listRuntimes(
20+
flags["next-token"],
21+
flags["max-results"],
22+
coreOptsFromCtx(ctx),
2623
),
2724
);
2825
},

src/handlers/runtime/runtime.screen.test.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,13 @@ describe("runtime hub", () => {
291291

292292
test("opens complete Runtime JSON from the detail action and scrolls", async () => {
293293
const core = new TestCoreClient();
294-
core.runtime.setGetResponse({
295-
$metadata: { requestId: "runtime-request-metadata" },
296-
...getRuntimeResponse({
294+
core.runtime.setGetResponse(
295+
getRuntimeResponse({
297296
environmentVariables: Object.fromEntries(
298297
Array.from({ length: 30 }, (_, index) => [`VARIABLE_${index}`, `value-${index}`]),
299298
),
300299
}),
301-
} as GetAgentRuntimeResponse);
300+
);
302301
const r = renderScreen("/agentcore/runtime/get/runtime-123", { core });
303302

304303
await waitForText(r.lastFrame, "show the full JSON definition");
@@ -308,8 +307,6 @@ describe("runtime hub", () => {
308307
expect(frame).toContain('"agentRuntimeId"');
309308
expect(frame).toContain('"networkConfiguration"');
310309
expect(frame).toContain('"lifecycleConfiguration"');
311-
expect(frame).not.toContain("$metadata");
312-
expect(frame).not.toContain("runtime-request-metadata");
313310
expect(frame).not.toContain('"VARIABLE_29"');
314311
for (let index = 0; index < 20; index += 1) await r.press("down");
315312
for (let index = 0; index < 20; index += 1) await r.write("j");

src/handlers/runtime/runtime.test.tsx

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { describe, expect, test } from "bun:test";
22
import { join } from "node:path";
3-
import type { BedrockAgentCoreControlClient } from "@aws-sdk/client-bedrock-agentcore-control";
43
import { CoreClient } from "../../core";
5-
import type { CreateControlClient } from "../../core/types";
64
import {
75
createSilentLogger,
86
fixtureFactories,
@@ -24,20 +22,9 @@ const MISSING_RUNTIME_ID = "missing_runtime-0000000000";
2422

2523
function createFixtureCore(): CoreClient {
2624
const { createControlClient, createDataClient, createIamClient } = fixtureFactories(FIXTURES);
27-
const createControlClientWithMetadata: CreateControlClient = (config) => {
28-
const client = createControlClient(config);
29-
const send = client.send.bind(client) as (command: unknown) => Promise<Record<string, unknown>>;
30-
31-
return {
32-
send: async (command: unknown) => ({
33-
...(await send(command)),
34-
$metadata: { requestId: "fixture-request-id" },
35-
}),
36-
} as unknown as BedrockAgentCoreControlClient;
37-
};
3825

3926
return new CoreClient({
40-
createControlClient: createControlClientWithMetadata,
27+
createControlClient,
4128
createDataClient,
4229
createIamClient,
4330
logger: createSilentLogger(),

src/handlers/runtime/version/get/index.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { createHandler, flag } from "../../../../router";
33
import { JsonRendererKey } from "../../../../tui";
44
import type { Core } from "../../../types";
55
import { coreOptsFromCtx } from "../../../utils";
6-
import { withoutSdkMetadata } from "../../withoutSdkMetadata";
76

87
export const createGetRuntimeVersionHandler = (core: Core) =>
98
createHandler({
@@ -24,9 +23,7 @@ export const createGetRuntimeVersionHandler = (core: Core) =>
2423
ctx
2524
.require(JsonRendererKey)
2625
.renderJson(
27-
withoutSdkMetadata(
28-
await core.runtime.getRuntimeVersion(flags.id, flags.version, coreOptsFromCtx(ctx)),
29-
),
26+
await core.runtime.getRuntimeVersion(flags.id, flags.version, coreOptsFromCtx(ctx)),
3027
);
3128
},
3229
});

0 commit comments

Comments
 (0)