Skip to content

T-985N-vault-ontogen-ops

State: planning/draft · Impact: medium · Complexity: medium

Expose the vault feature to the frontend as the minimal ontogen op set, in one PR, so the generated transports change once.

LocationRole today
apps/pumice/src-tauri/src/api/v1/vault.rsget_config, set_path, set_template, reset_template, render_preview
apps/pumice/src-tauri/src/schema/vault.rswire VaultConfig { vault_path, template }
apps/pumice/src-nuxt/app/utils/browser-mock.tsone handler per IPC command; a missing one throws
apps/pumice/src-nuxt/app/stores/settings.tsloadVaultConfig, setVaultPath, saveTemplate, resetTemplate, renderPreview
solutions/determined/crates/determined-platform/src/openers.rsthe reveal rule and eligibility predicate to port

Ops: get_config, set_config, detect_flavor (stateless), candidate_vaults, render_preview(PreviewRequest), write_session(id), open(OpenRequest), list_openers(path) (stateless), create_sample_base (generated from the property config). render_preview renders the template of the current write mode. set_path, set_template, reset_template removed. path-opener is a direct dependency of src-tauri. Every op has a browser-mock.ts handler and a settings-store method.

  1. Wire structs in schema/vault.rs with specta::Type.
  2. Ops in api/v1/vault.rs; opener helpers in src-tauri/src/openers.rs citing the determined-platform port.
  3. cargo build to regenerate; commit generated output.
  4. Mock handlers and store methods; a vault:* event listener in the store.
AreaNote
apps/pumice/src-tauri/src/api/v1/vault.rsnew op set
apps/pumice/src-tauri/src/schema/vault.rswire types
apps/pumice/src-tauri/src/openers.rspath-opener helpers
apps/pumice/src-tauri/Cargo.tomlpath-opener, dir-aspect
apps/pumice/src-tauri/src/api/transport/http/generated.rsregenerated
apps/pumice/src-tauri/src/api/transport/ipc/generated.rsregenerated
apps/pumice/src-nuxt/app/generated/regenerated
apps/pumice/src-nuxt/app/utils/browser-mock.tshandlers
apps/pumice/src-nuxt/app/stores/settings.tsmethods and events
  • moon run pumice:codegen-drift is clean.
  • CAPTURE_SHOTS=1 bunx playwright test tests/e2e/capture-appearance.e2e.ts reports no missing mock handler.
  • open on a note inside an Obsidian vault launches Obsidian on macOS.

← Back to Tasks