Files
fusion/packages/dashboard/app/components/GatedActionApprovalDetails.css
gsxdsm 44442622c5 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>
2026-07-06 19:03:06 -07:00

51 lines
1.0 KiB
CSS

.gated-action-approval-details {
margin-bottom: var(--space-md);
padding: var(--space-md);
}
.gated-action-approval-details__title {
margin: 0 0 var(--space-sm) 0;
color: var(--text);
font-size: 0.875rem;
}
.gated-action-approval-details__list {
margin: 0;
display: grid;
gap: var(--space-xs);
}
.gated-action-approval-details__row {
display: grid;
grid-template-columns: minmax(0, auto) minmax(0, 1fr);
gap: var(--space-sm);
}
.gated-action-approval-details__row dt {
color: var(--text-muted);
font-weight: 600;
}
.gated-action-approval-details__row dd {
margin: 0;
color: var(--text);
overflow-wrap: anywhere;
}
.gated-action-approval-details__code {
margin: 0;
padding: var(--space-xs) var(--space-sm);
background: var(--bg-secondary);
border-radius: var(--radius-sm);
overflow-x: auto;
white-space: pre-wrap;
word-break: break-word;
font-size: 0.8125rem;
}
@media (max-width: 768px) {
.gated-action-approval-details__row {
grid-template-columns: minmax(0, 1fr);
}
}