Files
Khushboo Mehta be25f5f95b feat(intents): add the frozen app-to-app intent surface
Three QML symbols, meant never to change:

  logos.request(intent, params, callback)
  logos.intentRequested(requestId, intent, params, requesterName)
  logos.respond(requestId, ok, data, error)

request() returns void deliberately. The requester never receives a
requestId, so it cannot forge a respond() for its own request and cannot
hold a handle to whoever answered — the single property that lets the
router underneath be replaced without any app noticing.

LogosIntent.h carries the shared vocabulary (five error codes, the name
grammar, payload rules, the {ok,data,error} envelope) as a header-only,
non-QObject namespace, so a host's broker and this bridge can never
disagree about what a legal name or a legal error is.

LogosIntentRouter.h is the seam. The bridge does NO policy: no `uses`
check, no grammar check, no payload check, no provider lookup. All of
that belongs to the router implementation, which is expected to be
DELETED when the core runtime takes over provider selection. Policy
placed in the bridge would survive that deletion and turn removing it
into a migration for every installed app.
2026-08-27 10:15:07 +02:00
..