Problem
Plugins using COMPONENT_PRE_EXECUTE receive None for payload.context_view, making it impossible to inspect conversation history at the component lifecycle level. The field exists on ComponentPreExecutePayload but is never populated by aact().
This forces plugin authors to use GENERATION_PRE_CALL instead, which fires later in the pipeline and requires reaching into framework internals (e.g., ReactInitiator.goal) to access user input.
Reproduction
@hook(HookType.COMPONENT_PRE_EXECUTE, mode=PluginMode.SEQUENTIAL, priority=1)
async def inspect_context(payload, ctx):
print(payload.context_view) # None — should be a list of context items
Expected behavior
payload.context_view should contain a snapshot of the context (via context.as_list()) at the time COMPONENT_PRE_EXECUTE fires. The context parameter is available in aact() but is not forwarded to the payload.
Related
Part of #920. The tool allowlist issue is tracked separately.
Problem
Plugins using
COMPONENT_PRE_EXECUTEreceiveNoneforpayload.context_view, making it impossible to inspect conversation history at the component lifecycle level. The field exists onComponentPreExecutePayloadbut is never populated byaact().This forces plugin authors to use
GENERATION_PRE_CALLinstead, which fires later in the pipeline and requires reaching into framework internals (e.g.,ReactInitiator.goal) to access user input.Reproduction
Expected behavior
payload.context_viewshould contain a snapshot of the context (viacontext.as_list()) at the timeCOMPONENT_PRE_EXECUTEfires. Thecontextparameter is available inaact()but is not forwarded to the payload.Related
Part of #920. The tool allowlist issue is tracked separately.