FN-7609: show gated action payload details on approval requests
Approval cards previously showed only a generic gating message with no visibility into the underlying command/arguments being approved, and repeated pending requests for the same action could pile up as duplicates.
- Add GatedActionApprovalDetails component to render the gated command/arguments payload on agent-gating approval cards in MailboxView
- Persist approvalDedupeKey in targetAction.context and a payload-bearing summary via buildAgentGatedActionSummary in permanent-agent-gating
- Wire agent-heartbeat, executor, and pi to pass through the richer gated-action context/summary
- Add changeset (patch) documenting the fix
- Update docs/dashboard-guide.md
- Add/extend tests: GatedActionApprovalDetails, MailboxView, permanent-agent-gating, pi-create-fn-agent
Files changed:
.changeset/FN-7609-gated-action-approval-payload.md | 7 ++
docs/dashboard-guide.md | 1 +
packages/core/src/types.ts | 8 +++
.../app/components/GatedActionApprovalDetails.css | 50 ++++++++++++++
.../app/components/GatedActionApprovalDetails.tsx | 72 +++++++++++++++++++
packages/dashboard/app/components/MailboxView.tsx | 12 ++++
.../__tests__/GatedActionApprovalDetails.test.tsx | 66 ++++++++++++++++++
.../app/components/__tests__/MailboxView.test.tsx | 41 +++++++++++
.../src/__tests__/permanent-agent-gating.test.ts | 31 +++++++++
.../src/__tests__/pi-create-fn-agent.test.ts | 80 ++++++++++++++++++++++
packages/engine/src/agent-heartbeat.ts | 19 ++++-
packages/engine/src/executor.ts | 19 ++++-
packages/engine/src/permanent-agent-gating.ts | 53 ++++++++++++++
packages/engine/src/pi.ts | 6 ++
14 files changed, 461 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-7609
Fusion-Task-Lineage: 80a6bb5b-79f7-4b78-9204-402c2dea6171
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>