History

[codex] show complete approval details (#4111)

Maxwell Young committed 3 months ago

Commit a135f2c1 parent 946b8674 files · +81 −2Browse files

Showing the changes to apps/server/src (2 of 4 files). Show all

Unified · Split

2 files
  1. apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.approval.test.ts +33 −0
  2. apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts +2 −2
apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.approval.test.ts+33−0
@@ -0,0 +1,33 @@
1import {
2 EventId,
3 ProviderDriverKind,
4 RuntimeRequestId,
5 ThreadId,
6 type ProviderRuntimeEvent,
7} from "@t3tools/contracts";
8import { describe, expect, it } from "vite-plus/test";
9
10import { runtimeEventToActivities } from "./ProviderRuntimeIngestion.ts";
11
12describe("runtimeEventToActivities approval details", () => {
13 it("preserves complete multiline command details", () => {
14 const detail = `bun run release -- ${"long-argument ".repeat(20)}\nsecond line`;
15 const event = {
16 type: "request.opened",
17 eventId: EventId.make("evt-request-opened"),
18 provider: ProviderDriverKind.make("codex"),
19 createdAt: "2026-07-18T00:00:00.000Z",
20 threadId: ThreadId.make("thread-1"),
21 requestId: RuntimeRequestId.make("approval-1"),
22 payload: {
23 requestType: "command_execution_approval",
24 detail,
25 },
26 } satisfies ProviderRuntimeEvent;
27
28 const [activity] = runtimeEventToActivities(event);
29
30 expect(activity?.kind).toBe("approval.requested");
31 expect((activity?.payload as Record<string, unknown> | undefined)?.detail).toBe(detail);
32 });
33});
apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts+2−2
@@ -306,7 +306,7 @@ function requestKindFromCanonicalRequestType( · 305 unmodified lines
306 }306 }
307}307}
308 308
309function runtimeEventToActivities(309export function runtimeEventToActivities(
310 event: ProviderRuntimeEvent,310 event: ProviderRuntimeEvent,
311 taskTitle?: string,311 taskTitle?: string,
312): ReadonlyArray<OrchestrationThreadActivity> {312): ReadonlyArray<OrchestrationThreadActivity> {
@@ -340,7 +340,7 @@ function runtimeEventToActivities( · 27 unmodified lines
340 requestId: toApprovalRequestId(event.requestId),340 requestId: toApprovalRequestId(event.requestId),
341 ...(requestKind ? { requestKind } : {}),341 ...(requestKind ? { requestKind } : {}),
342 requestType: event.payload.requestType,342 requestType: event.payload.requestType,
343 ...(event.payload.detail ? { detail: truncateDetail(event.payload.detail) } : {}),343 ...(event.payload.detail ? { detail: event.payload.detail } : {}),
344 },344 },
345 turnId: toTurnId(event.turnId) ?? null,345 turnId: toTurnId(event.turnId) ?? null,
346 ...maybeSequence,346 ...maybeSequence,