mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-09-10 19:26:00 +00:00
Add logicsrc teams tui, a browser for team vaults (#146)
Teams on the left, their vaults in the middle, and the selected vault's
detail on the right across three tabs: secret names, who can decrypt,
and the audit trail.
It never handles plaintext, and that is the point rather than a
limitation. The server only ever holds ciphertext and this keeps it that
way: no decryption key is fetched, none is unwrapped, and there is no
keybinding that would. The secrets tab says so on screen and points at
`logicsrc teams pull`, because otherwise the first thing anyone does is
hunt for a reveal key. A value that can appear on screen can appear in a
screen share, a scrollback buffer or a recording; names are what you
need to navigate, values are what you rarely need to look at.
Names, fingerprints and versions are enough to answer the questions you
actually open this for: does the vault exist, has the rotation landed,
and who can still read it.
Notes on the shape:
- Vaults and detail load lazily, because each is a round trip. The
three detail calls are settled independently, so a member without
decryption access still sees the vault's shape and a missing audit
endpoint does not blank the secrets list.
- Changing team resets the vault selection. The old index means
nothing in a different team's list, and keeping it silently selects
an unrelated vault.
- The secrets table shows a date rather than a timestamp. Three fixed
columns plus a name that can run to thirty characters leaves no room,
and a truncated clock looks like data while telling you nothing.
- The audit table gives its widest floor to the action, not the actor:
an email truncates to something recognisable, where "secrets…" could
be put, get or delete.
The view is split from the loader so it renders headlessly without an
authenticated client or a terminal. 17 tests cover that, including one
asserting no ciphertext reaches the screen; 226 pass across the CLI.
Claude-Session: https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
7f9e493929
commit
ca21348fcd
7 changed files with 688 additions and 0 deletions
14
package-lock.json
generated
14
package-lock.json
generated
|
|
@ -2569,6 +2569,19 @@
|
|||
"integrity": "sha512-/uhHJJGH+1xSSz3mJn6X+m6aruYjMD3JOaRp/d4R/YWlzpy07H9z0/JUleIyRyBPNmaANSIwjTZ7aVjaukOEpg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@profullstack/hqtui": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@profullstack/hqtui/-/hqtui-0.3.0.tgz",
|
||||
"integrity": "sha512-ceiLIarditlryaHqYW1V2VCkF7mlV+u9LJoNB3zEW6FSnRzvugjgLkju4qEsWZSkojeE+lEir5W6nxtuuGzmXw==",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"hqtui": "bin/hqtui.mjs"
|
||||
},
|
||||
"engines": {
|
||||
"bun": ">=1.1",
|
||||
"node": ">=22.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@profullstack/logicsrc-mcp": {
|
||||
"resolved": "packages/logicsrc-mcp",
|
||||
"link": true
|
||||
|
|
@ -7794,6 +7807,7 @@
|
|||
"@logicsrc/plugin-ugig": "file:../../plugins/ugig",
|
||||
"@logicsrc/tui": "file:../tui",
|
||||
"@logicsrc/validators": "file:../validators",
|
||||
"@profullstack/hqtui": "^0.3.0",
|
||||
"commander": "^14.0.2"
|
||||
},
|
||||
"bin": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue