Skip to content

feat(notifier): make notifier system robust with manual harness and desktop setup#1736

Draft
whoisasx wants to merge 7 commits into
mainfrom
feat/issue-1579
Draft

feat(notifier): make notifier system robust with manual harness and desktop setup#1736
whoisasx wants to merge 7 commits into
mainfrom
feat/issue-1579

Conversation

@whoisasx
Copy link
Copy Markdown
Collaborator

@whoisasx whoisasx commented May 8, 2026

Summary

  • Adds ao notify test as a manual notifier playground for realistic demo notifications without spawning sessions, starting AO, touching tmux, or creating worktrees.
  • Supports templates, explicit targets, priority routes, all-target delivery, actions, JSON data overrides, dry-run/JSON output, and a local in-memory webhook sink.
  • Refactors ao doctor --test-notify onto the shared notifier harness with the basic template.
  • Improves macOS desktop notifications by preferring click-to-open delivery and adding ao setup desktop for an explicit native AO Notifier.app install/config flow.
  • Adds a macOS notifier app package, config wiring for notifiers.desktop.backend: ao-app, and fallback delivery through terminal-notifier then osascript.
  • Handles denied macOS notification permission with a clean setup error and System Settings instructions instead of a raw Node stack trace.
  • Updates the Composio notifier adapter to support legacy executeAction(), current SDK getEntity(...).execute(), and raw actions.execute() clients.
  • Sends Composio Slack messages using the documented markdown_text field, normalizes #channel names, and adds actionable guidance when no active Composio connection exists.

Closes #1579

Test plan

  • pnpm --filter @aoagents/ao-notifier-macos build
  • pnpm --filter @aoagents/ao-plugin-notifier-desktop test
  • pnpm --filter @aoagents/ao-plugin-notifier-composio test
  • pnpm --filter @aoagents/ao-plugin-notifier-composio typecheck
  • pnpm --filter @aoagents/ao-plugin-notifier-composio build
  • pnpm --filter @aoagents/ao-integration-tests test -- notifier-composio.integration.test.ts
  • pnpm --filter @aoagents/ao-integration-tests typecheck
  • pnpm --filter @aoagents/ao-cli test
  • pnpm --filter @aoagents/ao-cli test -- setup.test.ts
  • pnpm --filter @aoagents/ao-cli typecheck
  • pnpm --filter @aoagents/ao-cli build
  • pnpm typecheck
  • pnpm build

Notes

  • ao setup desktop is explicit; npm/global install does not silently install the macOS app.
  • Live Composio harness execution now reaches the SDK and reports missing Slack connection setup clearly: connect Slack in Composio, or set notifiers.composio.connectedAccountId / entityId.
  • pnpm build succeeds with existing web build warnings for optional @composio/core resolution in tracker-linear and an existing non-null assertion warning in useXtermTerminal.ts.

…en support

On macOS, when terminal-notifier is installed (brew install terminal-notifier),
desktop notifications now open the dashboard URL when clicked instead of
opening Script Editor. Falls back to osascript when terminal-notifier is
not available.

New config option `dashboardUrl` controls the click-through URL:
  notifiers.desktop.dashboardUrl: "http://localhost:8080"

Refs #1579
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Test Coverage Report

Changed files have no coverage data (not instrumented or no tests ran).

@whoisasx whoisasx changed the title fix(notifier-desktop): use terminal-notifier for click-to-open on macOS feat(cli): add manual notifier test harness May 10, 2026
@whoisasx whoisasx changed the title feat(cli): add manual notifier test harness feat(notifier): make notifier system robust with manual test harness May 10, 2026
@whoisasx whoisasx changed the title feat(notifier): make notifier system robust with manual test harness feat(notifier): make notifier system robust with manual harness and desktop setup May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(core): notifier system has 7 bugs — silent by default, dead features, missing context

2 participants