Minor Changes
-
4e5dc9f: Add the
repo.changedpush contract at@ikenga/contract/app-bridge
(REPO_CHANGED_METHOD,RepoChangedParams+RepoChangedParamsSchema,
RepoChangedEnvelope+RepoChangedEnvelopeSchema,readRepoChangedParams,
isRepoChangedNotification,HOST_NOTIFICATION_MAX_PER_SEC).This types the notification a pkg's long-lived MCP server emits via
server.sendLoggingMessageso its iframe learns a git repo moved on disk
without polling. The shell's existing relay carries it: the Rust supervisor
matchesnotifications/message, rate-caps per pkg, and emits the
pkg-mcp-notificationTauri event (shell/src-tauri/src/pkg/lifecycle.rs),
whichpkg-iframe-host.tsxStep 3b forwards verbatim onto the iframe's
AppBridge wire. No new shell plumbing.Note there is no sidecar push path:
manifest.sidecars[]entries are not
supervised andhost.pkgSidecarCallspawns a fresh one-shot process per call.
The rate cap is a tumbling one-second window, so a burst straddling two
windows can deliver up to 2x the cap in one arbitrary second.New file, additive only.