Repository navigation
All on-screen UI is gone. There is no terminal UI, no native notice or
prompt dialog, and no dialog capability probe. Products present everything
in the terminal they already own (status --json for scripts, prePrompt
and renderRecovery for people), and hraness-helper exists only to
assemble, sign and launch the macOS local app. The headless control kit —
registry, owner sockets, human gate, audience, permissions, login items and
retirement — is unchanged. Every product pins an exact release, so nothing
changes until a product bumps.
Changes
- Removed the
./tuiSDK subpath and thehraness-control-kittui
feature, with their ratatui, crossterm and ratatui-textarea
dependencies.runTuiandrenderSnapshotare gone;<product> status --jsonis the view for scripts and the basis for any product's
own terminal listing. - Removed the native dialog helper modes.
--notice,--promptand
--prompt-probenow answerinvalid-arguments(exit 1) like any unknown
argv, andcontract/helper-argv.v0.8.1.jsonpins exactly that. This drops
the GTK 3 dependency on Linux, the AppKit dialogs on macOS and the Win32
dialog on Windows, and with them theobjc2,windowsandzeroize
dependency trees. - Removed the SDK dialog surface:
sdk/src/notice.ts,
sdk/src/prompt.tsandsdk/src/tui.tsare deleted, including
promptNative,promptTui,promptCapability,promptSecret,
permissionNoticeRequest,NoticeRequest,NoticeResult,
PermissionNoticeRequestand the injectablenoticehook on the
permission renderer. Surface/Surface::Dialogis gone.renderPrePromptand
renderRecoveryare terminal-only:renderPrePrompt(need, env)and
renderRecovery(need, state, env)in TypeScript, and the same signatures
without a surface argument in Rust.- Removed
scripts/prompt-smoke.mjsand the dialog-capability check in
CI, plus the orphanedtui-statusgoldens undersdk/test/golden/and
crates/hraness-control-kit/tests/golden/. - Unchanged:
hraness-helperkeeps--version,--assemble-app,
--signing-identityand--launch, so the macOS local app and Ghostget's
Safe Storage cookie reader keep working.hraness-companionremains an
alias that prints byte-identical output for the retained modes and still
refuses the 0.x menu bar argv with exit 2 andtray-removed; the stderr
line now points to<product> status --json.packagedManifest,
resolveHelperand every other SDK subpath (./audience,./cli-style,
./control,./helper,./human-gate,./login,./permissions,
./registry,./retire) keep their APIs. Terminal permission copy,
settings links, permission probes, JSON error envelopes and the shared
golden files are unchanged; the golden files now cover terminal output
only.
Install
npm install https://github.com/hraness/desktop-foundation/releases/download/v2.0.0/hraness-desktop-foundation-2.0.0.tgzRust products pin the tag: desktop-foundation = { git = "https://github.com/hraness/desktop-foundation", tag = "v2.0.0" }.
Verify
Checksums for every asset are in SHA256SUMS. The source commit is 798be31fca87bbe9195e351cdf358c4d14eb42d4. Each asset has a GitHub build attestation: gh attestation verify <file> --repo hraness/desktop-foundation. See the installation guide.