Notify external providers when terminal-backed CLI agents pause for tool permission or user input. - Add a dedicated cli-agent-awaiting-input notification event to settings, schema defaults, dashboard options, and provider tests. - Dispatch CLI-agent waiting-on-input notifications from the in-process runtime with task context and prompt-scoped dedupe keys. - Document the operator behavior and add a published package changeset for the new notification surface. Files changed: .changeset/fn-7109-cli-agent-notification.md | 7 ++ docs/agents.md | 4 + docs/settings-reference.md | 4 +- .../cli-agent-permission-notifications.md | 13 +++ .../core/src/__tests__/global-settings.test.ts | 1 + packages/core/src/settings-schema.ts | 1 + packages/core/src/types.ts | 6 ++ .../SettingsModal.remote-notifications.test.tsx | 1 + .../components/__tests__/settings-mobile.test.tsx | 2 +- .../settings/sections/NotificationsSection.tsx | 3 + .../src/__tests__/in-process-runtime.test.ts | 56 ++++++++++- packages/engine/src/__tests__/notifier.test.ts | 6 +- .../engine/src/__tests__/ntfy-provider.test.ts | 4 + .../engine/src/__tests__/webhook-provider.test.ts | 2 + .../engine/src/cli-agent/__tests__/runtime.test.ts | 39 +++++++- .../__tests__/notification-service.test.ts | 56 ++++++++++- .../src/notification/notification-service.ts | 9 +- packages/engine/src/notification/ntfy-provider.ts | 7 ++ .../engine/src/notification/webhook-provider.ts | 2 + packages/engine/src/notifier.ts | 1 + packages/engine/src/runtimes/in-process-runtime.ts | 111 +++++++++++++++++++++ 21 files changed, 326 insertions(+), 9 deletions(-) Fusion-Task-Id: FN-7109 Fusion-Task-Lineage: 636c1875-92a2-46a7-847e-1f4955c0822f Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
1.0 KiB
1.0 KiB
category, module, tags, problem_type, applies_when
| category | module | tags | problem_type | applies_when | |||||
|---|---|---|---|---|---|---|---|---|---|
| integration-issues | engine/cli-agent |
|
runtime-wiring | CLI-agent sessions enter waitingOnInput but external notification providers do not receive permission/input alerts |
CLI-agent permission prompts must wire TelemetryHub.onNotification
CLI adapters normalize tool-permission and terminal-input prompts to TelemetryHub.ingest(..., { kind: "waitingOnInput" }). The hub updates session state for the in-app banner and invokes the optional onNotification callback for external delivery.
If a runtime constructs createCliAgentRuntime(...) without onNotification, the dashboard can still show waiting_on_input, but ntfy/webhook providers never receive the alert. Wire runtime construction to dispatch cli-agent-awaiting-input through getActiveNotificationService()?.dispatch(...), include task/session metadata, and provide a notificationDedupeKey so duplicate waiting telemetry does not spam providers.