appsWorkspace onlyv0.2.1

app.personalos-desktop

Premium Tauri 2 desktop shell for PersonalOS.

@lssm-tech/app.personalos-desktop
Source, release and verification context

Source snapshot bcc79fcc · Declared package version 0.2.1. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.

Package source ↗ Manifest ↗
EXPLORE THE PACKAGE

See where this package fits.

Follow a declared connection, inspect an import, then open the source guide when you need the detail.

THIS PACKAGEapp.personalos-desktopapps

Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.

18 déclarations · les 6 premières affichéesSELECT TO INSPECT

PersonalOS Desktop

Tauri 2 shell for PersonalOS on macOS, Windows, and Linux. It composes the canonical Personal Calm design pack, golden journey, privacy center, and offline authority policy with typed goal, productivity, household, and health read models. Household invitation, activation, delegation, and revocation use the same browser-safe runtime constructor as web and mobile; desktop supplies exact native identity, revision, human evidence, timestamp, and opaque IDs.

Safety boundaries

  • Only low-risk commands with an explicit undo command may queue offline.
  • Consent, sharing, health connection, delegation, rights, deletion, and authority changes require online revalidation.
  • Credentials are stored through the operating-system keychain. They are never placed in SQLite or browser storage.
  • Local projections are AES-256-GCM encrypted in Rust with subject, projection, and revision-bound additional authenticated data. The encryption key is held by the operating-system keychain.
  • Tauri grants only event listen/unlisten and current deep-link reads. There is no shell, process, filesystem, clipboard, arbitrary HTTP, SQL, menu, tray, image, or window-command permission.

The CSP permits inline style attributes because the shared design-system theme runtime applies audited CSS variables through React. Scripts remain self-only with no unsafe-inline or unsafe-eval, and production network access is limited to Tauri IPC.

Runtime composition

The app exports DesktopPersonalOsApp, DesktopPersonalOsApiClient, and bootstrapNativeDesktopHost so the native AuthOS product host can bind an exact subject and provision an OS-keychain credential reference. Credential acquisition is native_authos_only: the webview port can check or remove a reference but cannot receive or store a raw bearer. The canonical client validates server experience/workspace projections, sends full domain commands with their exact idempotency key, and never exposes the bearer token to the webview. Tauri permits only the projection, workspace, domain-command, and exact health-authorization API paths over a compile-time HTTPS origin; localhost HTTP is debug-only.

The clickable Personal Calm journey starts on the next incomplete golden step, uses an accessible design-system action and provider picker, and submits canonical shared-schema commands for household creation, mission and goals, Today planning, habits, check-ins, missed-day recovery, weekly review, coach proposal/activation/inspection/undo/reset, limited household support, and export/deletion. Remote wellbeing connections use the server authorization broker and expose only its validated HTTPS authorization URL; missing and unknown providers are rejected before that broker is contacted. Coach commands derive coach and adaptation revisions from the authenticated workspace instead of trusting hidden or caller-provided values. Per-action drafts survive denial and revision conflicts for recovery. The goals view renders minimized outcome baselines, targets, latest confidence, and correction/removal counts. Its record, correct, and remove actions submit the exact shared metric commands online; corrections reuse the current observation identity and retain prior values in encrypted server state. The privacy view renders the same minimized consent dashboard with localized purpose and downstream-consumer labels, expiry, and lifecycle status. Evidence, receipt identifiers, and subject metadata remain outside the desktop cache. Its action panel can grant the fixed one-year PersonalOS planning scope and revoke only a currently active consent. Both actions remain high-risk, human-required, online-only commands and are never written to the desktop offline queue.

The wellbeing view consumes the shared minimized category summaries: localized category and status, observation/quarantine counts, and an optional latest source-observation timestamp. Raw measurements, provider payloads, credentials, and clinical conclusions never enter the desktop workspace model. The same view renders the optional bounded wellbeing-goal window with localized safe metric, lifecycle, direction, dates, observation count, and uncertain outcome. It states that observations do not establish cause or medical advice; raw targets, values, evidence, and provider fields never enter the local model.

Goal-scoped support is distinct from household membership: the subject selects an active propose_support delegation, current goal, consent, and purpose before the shell constructs the canonical scope digest. Grant, revoke, block, and categorical report commands are high-risk, human-required, online-only actions; the desktop never queues them or widens their proposal-only fields and actions.

The desktop consumes the server-issued PersonalOS presentation projection rather than resolving local roles or preferences. Display-only areas remain usable when legacy projections omit presentation metadata, but every governed mutation then fails closed. When a projection is present, denied areas and referenced components suppress their data, hidden actions disappear, blocked actions are disabled, and approval-required actions remain explicit requests to server authority. Preference and explanation rendering is presentation-only; its local reset preview is reversible and cannot alter action authority.

Low-risk reconnect work is stored as a complete canonical domain command in an AES-GCM sealed v2 outbox. Replay decrypts and revalidates its subject, registry classification, payload digest, expected server revision, and idempotency key, then submits to /v1/domain-commands for fresh server authority. A 202 response is the only acknowledgement. Denial, confirmation, scope, and revision failures remain durably blocked for recovery; authentication/network/service failures remain pending without data loss. The native host shares one encrypted queue between command submission and workspace reads. A browser online event invokes the reconnect port, which replays and revalidates that queue before refreshing the canonical projection; initial load never dispatches queued effects, and concurrent reconnect notifications coalesce into one replay/refresh operation.

The standalone entry loads native-only AuthOS session metadata and verifies its keychain credential reference before composing the canonical workspace and journey ports. Missing, expired, or invalid native identity fails closed; the app never invents a demo identity or silently falls back to local authority. The React host owns one shared Personalization identity boundary and refreshes native AuthOS session metadata when the window regains focus. Exact account, actor, opaque tenant, consent, or sign-out changes discard retiring buffers before the new projection is accepted; loading, reconnect, and retryable errors preserve the current scope. Collection cannot attach without granted consent.

The updater seam is also fail-closed. DesktopUpdatePort reports not_configured until release engineering injects a signed update feed and its public verification key. A local Vite or Cargo build is not signed-installer, store-review, real-device, accessibility-certification, or update-feed evidence.

Commandes

bash
bun run --cwd packages/apps/personalos-desktop lint:check
bun run --cwd packages/apps/personalos-desktop clean
bun run --cwd packages/apps/personalos-desktop typecheck
bun run --cwd packages/apps/personalos-desktop test
bun run --cwd packages/apps/personalos-desktop build
bun run --cwd packages/apps/personalos-desktop pack:check
cargo fmt --manifest-path packages/apps/personalos-desktop/src-tauri/Cargo.toml -- --check
cargo check --manifest-path packages/apps/personalos-desktop/src-tauri/Cargo.toml
cargo test --manifest-path packages/apps/personalos-desktop/src-tauri/Cargo.toml

Declared capabilities.

This manifest does not declare a capability catalogue. Use the guide, import map and source to assess the package.

Imports and export paths.

4 entries

These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.

4 imports

Dependencies and related packages.

Runtime dependencies 18
@fontsource/ibm-plex-mono
5.3.0
@fontsource/ibm-plex-sans
5.3.0
@fontsource/newsreader
5.3.0
@tauri-apps/api
^2.11.1
@tauri-apps/plugin-deep-link
2.4.10
react
catalog:
react-dom
catalog:
Development dependencies 10
@tailwindcss/postcss
4.3.3
@tauri-apps/cli
^2.11.4
@types/bun
catalog:types
@types/react
catalog:types
@types/react-dom
catalog:types
@vitejs/plugin-react
^6.1.1
tailwindcss
catalog:build
typescript
catalog:
vite
^8.2.2

Package scripts.

Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.

devvite
cleanrimraf dist tsconfig.tsbuildinfo
buildtsgo --noEmit && bun --bun x vite build
tauritauri
typechecktsgo --noEmit
testbun test
lint:checknode ../../../scripts/biome.cjs check .
lint:fixnode ../../../scripts/biome.cjs check --write .
pack:checkbun run scripts/check-pack-inventory.ts
Votre vue

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Votre contexte

The different parts of you

Choose a starting point

Un mélange utile de contexte, de visuels et de guidage discret.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Confort de lecture

Choisir votre langue

La langue de l’interface change uniquement le texte. Les marchés, les prix et les parcours conservent leurs propres paramètres.

Couverture des traductions

Une partie du contenu est affichée en anglais.

Navigation151
Graphe616
Catégories378
Portfolio833
Exemples2 035
Aperçu de la source1 542

D’autres traductions seront ajoutées à mesure que le contenu sera relu.

Cette préférence est enregistrée dans ce navigateur.

Rechercher sur le site

Des points de départ utiles

Aucun résultat. Essayez une expression plus courte, un nom d’opération ou un autre périmètre de recherche.

UN PEU DE PLACE POUR EXPLORER

Trouvez quelque chose à explorer.

Ouvrez un aperçu détaillé sur cette page, essayez une autre perspective ou suivez le détail vers sa propre page.

Fonctionnement des aperçus et des commandes
01

Regarder avant de partir

Survolez un lien ou sélectionnez-le avec Tab pour voir un aperçu. Cliquer sur le lien d’origine ou appuyer sur Entrée ouvre toujours sa destination.

02

Rester dans le contexte

Entrez dans l’aperçu pour explorer ses sections. Depuis un lien sélectionné, utilisez Alt + ↓ pour y entrer au clavier. Échap le ferme.

03

Ouvrir les possibilités

Les lignes dépliables, les choix de perspective et les commandes mises en évidence révèlent davantage. Votre vue adapte le confort de lecture et le contexte exploré.

Un bouton séparé pour voir de plus près

Affichez de petits boutons d’aperçu à côté des liens quand l’espace le permet. Touchez l’œil pour examiner ou le lien pour y aller directement. Ce choix reste dans cet onglet.

Aucun historique de navigation n’est collecté. La réduction des animations suit votre appareil et Votre vue.