Behind jackin❯ — crates

jackin-console-oppicker

Pure model and planning helpers for the 1Password picker — the side-effect-free half of the operator secret-selection flow. Holds picker state, input handling, and load planning with zero op CLI calls.

Split out of the console so the picker's decision logic is unit-testable without touching op or the terminal.

What this crate owns

  • Picker state machine (state) and input handling (input).
  • Load/planning helpers (load) — what to fetch and how to present it, with no I/O.

Architecture tier and allowed dependencies

Presentation-adjacent pure model. Allowed workspace dependencies: jackin-core, jackin-diagnostics, jackin-tui. No op, no tokio, no filesystem — the op side-effects live in jackin-env.

Structure

ModuleOwnsTests
lib.rsre-exports
state.rspicker state machine
input.rsinput handling
load.rsload/planning helpers

Public API

Picker state + planning consumed by jackin-console (and the side-effect adapters in jackin-env). The console/oppicker extraction pattern is the template for future pure-model splits.

How to verify

cargo nextest run -p jackin-console-oppicker
cargo clippy -p jackin-console-oppicker --all-targets -- -D warnings

On this page