Read App Intents Documentation

Nucleic-Session: 56C5F781-4444-466B-91CE-A7734A8E117F
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-06 14:48:38 -07:00
co-authored by Nucleic
parent 0740495552
commit f73b1de5bc
@@ -48,6 +48,30 @@ struct NucleicSessionAttributes: ActivityAttributes {
/// A compact right-aligned status: its diff ("3 files +42 −7"), "2 to approve", /// A compact right-aligned status: its diff ("3 files +42 −7"), "2 to approve",
/// "Waiting on you", "Working…", etc. /// "Waiting on you", "Working…", etc.
var detail: String var detail: String
/// The single most-urgent pending approval on this session, when it has one — the id the
/// inline Allow/Deny buttons resolve (`ApproveFromActivityIntent`). `nil` when the session
/// isn't blocked on an approval, or when the producer doesn't carry it (an older host, or a
/// summary that predates the field) — in which case the row falls back to a plain deep-link
/// tap, exactly as before. Optional so a host that omits it still decodes.
var approvalID: String?
/// Whether that approval is high-risk (destructive / network / host-exec). The surface hides
/// inline Allow on a high-risk request (§3.3) — only Deny / open-the-app is offered. `nil`
/// (treated as unknown → no inline Allow) when the producer doesn't carry it.
var approvalIsHighRisk: Bool?
init(
id: String, title: String, project: String, backend: Backend, kind: Kind,
detail: String, approvalID: String? = nil, approvalIsHighRisk: Bool? = nil
) {
self.id = id
self.title = title
self.project = project
self.backend = backend
self.kind = kind
self.detail = detail
self.approvalID = approvalID
self.approvalIsHighRisk = approvalIsHighRisk
}
} }
struct ContentState: Codable, Hashable { struct ContentState: Codable, Hashable {