mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-27 16:02:05 +00:00
3.3 KiB
3.3 KiB
Entry Types and Fields
This document defines the entry kinds supported by SeedPass, shared fields, and kind-specific fields used by the TUI and API.
For graph-link workflows and relationship modeling, see docs/entry_graph.md.
Shared Fields
Every entry kind stores:
type: canonical kind identifier.kind: kind alias used for backward compatibility.label: entry title.archived: boolean archive flag.date_added: UTC ISO-8601 timestamp set on creation.date_modified: UTC ISO-8601 timestamp updated on modification.notes: optional free-form notes.tags: optional string list.links: optional relationship list (target_id,relation,note) for graph-style connections between entries.
Internally, SeedPass also tracks modified_ts (UNIX timestamp) for deterministic merge conflict resolution.
Kind-Specific Fields
password
lengthusernameurlpolicy(optional password policy overrides)custom_fields(optional hidden/plain additional fields)
totp
index(for deterministic TOTP) orsecret(for imported TOTP)perioddigitsdeterministic
ssh
index(derivation index)
seed
index(derivation index)word_count
pgp
index(derivation index)key_typeuser_id
nostr
index(derivation index)
key_value
keyvaluecustom_fields(optional)
managed_account
index(derivation index)word_countfingerprintcustom_fields(optional)
document
contentfile_type(extension/type liketxt,md,py,js,csv)custom_fields(optional)
TUI Notes
- Add flow:
Main Menu > Add Entry > Document. - Document editing uses a built-in line editor:
pprint contentaappend linei <n>insert before linee <n>edit lined <n>delete linewsaveqcancel
API Notes
- Create:
POST /api/v1/entrywithtype=document(orkind=document) - Update:
PUT /api/v1/entry/{id}withcontent,file_type,label,notes,tags,archived - Read:
GET /api/v1/entry/{id}returns all stored fields, includingdate_addedanddate_modified - File import:
POST /api/v1/entry/document/importwithpath(+ optionallabel,notes,tags,archived) - File export:
POST /api/v1/entry/{id}/document/exportwith optionalpathandoverwrite - Link list:
GET /api/v1/entry/{id}/links - Link add:
POST /api/v1/entry/{id}/linkswith{ "target_id": 2, "relation": "references", "note": "..." } - Link remove:
DELETE /api/v1/entry/{id}/linkswith{ "target_id": 2, "relation": "references" }
CLI Notes
- Add directly:
seedpass entry add-document --label "Doc" --content "text" --file-type txt - Import from file:
seedpass entry import-document --file ./doc.md - Export to file:
seedpass entry export-document --entry-id 42 --out ./exports - Agent import:
seedpass -f <fp> agent document-import --file ./doc.md --token <token> - Agent export:
seedpass -f <fp> agent document-export --entry-id 42 --out ./exports --token <token> - Link add:
seedpass entry link-add --entry-id 1 --target-id 2 --relation references --note "supports deployment" - Link list:
seedpass entry links --entry-id 1 - Link remove:
seedpass entry link-remove --entry-id 1 --target-id 2 --relation references