807
*/
808
injectSteering(steeringMessage: PendingMessage): void {
810
>
if (pipeline.isAborted) {
811
return;
812
}
814
>
steeringMessage.message.text,
815
>
steeringMessage.message.attachments,
816
>
);
817
>
const sdkMessage: SDKUserMessage = {
818
>
type: 'user',
819
>
message: { role: 'user', content: contentBlocks },
820
>
session_id: this.sessionId,
821
>
parent_tool_use_id: null,
822
>
priority: 'now',
823
>
// Reuse the protocol PendingMessage.id as the SDK uuid — same
824
>
// pattern as `ClaudeAgent.sendMessage` reusing turnId. The SDK's
825
>
// `uuid` field is typed as a branded UUID, but the cast at the
826
>
// boundary is the convention for both code paths.
827
>
uuid: steeringMessage.id as `${string}-${string}-${string}-${string}-${string}`,
828
>
};
829
>
pipeline.injectSteering(sdkMessage, steeringMessage.id);
830
>
}
831
832
/** Live permission-mode change. Forwards to the pipeline; the pipeline remembers it for re-application after a rebind. */