Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .surface
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ hey box
hey box --all
hey box --limit
hey box --page
hey box list
hey box list --all
hey box list --limit
hey box view
hey box view --all
hey box view --limit
hey box view --page
hey boxes
hey boxes --all
hey boxes --limit
Expand All @@ -49,6 +56,7 @@ hey clip
hey clip create
hey clip create --content
hey clip delete
hey clip list
hey clips
hey collection
hey collection --all
Expand All @@ -58,11 +66,18 @@ hey collection add
hey collection add --to
hey collection create
hey collection create --summary
hey collection list
hey collection list --all
hey collection list --limit
hey collection remove
hey collection remove --from
hey collection update
hey collection update --name
hey collection update --summary
hey collection view
hey collection view --all
hey collection view --limit
hey collection view --page
hey collections
hey collections --all
hey collections --limit
Expand Down Expand Up @@ -145,8 +160,15 @@ hey label --page
hey label add
hey label add --to
hey label create
hey label list
hey label list --all
hey label list --limit
hey label remove
hey label remove --from
hey label view
hey label view --all
hey label view --limit
hey label view --page
hey labels
hey labels --all
hey labels --limit
Expand Down Expand Up @@ -210,6 +232,7 @@ hey snippet create
hey snippet create --content
hey snippet create --name
hey snippet delete
hey snippet list
hey snippet update
hey snippet update --content
hey snippet update --name
Expand Down Expand Up @@ -263,6 +286,9 @@ hey workflow add --stage
hey workflow add --to
hey workflow create
hey workflow delete
hey workflow list
hey workflow list --all
hey workflow list --limit
hey workflow move
hey workflow move --to
hey workflow move --workflow
Expand All @@ -275,6 +301,7 @@ hey workflow stage update
hey workflow stage update --name
hey workflow update
hey workflow update --name
hey workflow view
hey workflows
hey workflows --all
hey workflows --limit
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -371,14 +371,14 @@ repeat or vanish. `readBox` therefore dispatches on `BoxKind` to `GetImbox`, `Ge
and the rest, and only an unfamiliar kind falls through to `Boxes().Get`.

**`Page.Cursor` is opaque and per-kind.** A label and a collection carry a geared_pagination
cursor; a box carries HEY's own `next_history_url`, which is what `hey box --json` reports
cursor; a box carries HEY's own `next_history_url`, which is what `hey box view --json` reports
and is the only cursor the named routes hand out. The URL is never fetched: `historyPageCursor`
takes the `page` parameter out of it and gives that to the typed operation, which is why
there is no same-origin check here to get wrong. A foreign URL is refused for carrying no
cursor rather than declined for pointing elsewhere.

**`mail.Posting` is a row, not the JSON.** `Page.Postings` stays `[]generated.Posting`
because `hey box --json` publishes those fields verbatim; `mail.Postings` describes them as
because `hey box view --json` publishes those fields verbatim; `mail.Postings` describes them as
the rows a reader acts on, and everything the TUI never reads β€” `bundled`, `entry_kind`,
`kind`, `updated_at` β€” is left in the SDK type where the CLI can still reach it. `TopicID`
is resolved once, out of `app_url`: HEY's `_posting.jbuilder` serves neither `topic` nor
Expand Down
24 changes: 12 additions & 12 deletions API-COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,21 @@ since `Topics().Get` already carries the entry list.

| Endpoint | Method | Client | CLI Command | Status |
|----------|--------|--------|-------------|--------|
| `/boxes.json` | GET | SDK `Boxes().List` | `hey boxes` | covered |
| `/boxes/{id}.json` | GET | SDK `Boxes().Get`, `Boxes().GetPage` | `hey box <id>`, TUI mail list growth | covered |
| `/imbox.json` | GET | SDK `Boxes().GetImbox` | `hey box imbox` | covered |
| `/feedbox.json` | GET | SDK `Boxes().GetFeedbox` | `hey box feedbox` | covered |
| `/trailbox.json` | GET | SDK `Boxes().GetTrailbox` | `hey box trailbox` | covered |
| `/asidebox.json` | GET | SDK `Boxes().GetAsidebox` | `hey box asidebox` | covered |
| `/laterbox.json` | GET | SDK `Boxes().GetLaterbox` | `hey box laterbox` | covered |
| `/bubblebox.json` | GET | SDK `Boxes().GetBubblebox` | `hey box bubblebox` | covered |
| `/my/navigation.json` | GET | SDK `Identity().GetNavigation` | `hey labels`, Mail TUI navigation | covered |
| `/folders/{id}.json` | GET | SDK `Folders().GetPage` | `hey label <id>`, Mail TUI labels | covered |
| `/boxes.json` | GET | SDK `Boxes().List` | `hey box list` | covered |
| `/boxes/{id}.json` | GET | SDK `Boxes().Get`, `Boxes().GetPage` | `hey box view <id>`, TUI mail list growth | covered |
| `/imbox.json` | GET | SDK `Boxes().GetImbox` | `hey box view imbox` | covered |
| `/feedbox.json` | GET | SDK `Boxes().GetFeedbox` | `hey box view feedbox` | covered |
| `/trailbox.json` | GET | SDK `Boxes().GetTrailbox` | `hey box view trailbox` | covered |
| `/asidebox.json` | GET | SDK `Boxes().GetAsidebox` | `hey box view asidebox` | covered |
| `/laterbox.json` | GET | SDK `Boxes().GetLaterbox` | `hey box view laterbox` | covered |
| `/bubblebox.json` | GET | SDK `Boxes().GetBubblebox` | `hey box view bubblebox` | covered |
| `/my/navigation.json` | GET | SDK `Identity().GetNavigation` | `hey label list`, Mail TUI navigation | covered |
| `/folders/{id}.json` | GET | SDK `Folders().GetPage` | `hey label view <id>`, Mail TUI labels | covered |
| `/postings/filings.json` | POST | SDK `Postings().File` | `hey label add`, TUI `b/B` | covered |
| `/postings/filings.json` | DELETE | SDK `Postings().Unfile` | `hey label remove`, TUI `b/B` | covered |
| `/postings/folders.json` | POST | SDK `Postings().CreateFolder` | `hey label create`, TUI `b/B` | covered |
| `/collections.json` | GET | SDK `Collections().List` | `hey collections`, Mail TUI navigation | covered |
| `/collections/{id}.json` | GET | SDK `Collections().GetPage` | `hey collection <id>`, Mail TUI collections | covered |
| `/collections.json` | GET | SDK `Collections().List` | `hey collection list`, Mail TUI navigation | covered |
| `/collections/{id}.json` | GET | SDK `Collections().GetPage` | `hey collection view <id>`, Mail TUI collections | covered |
| `/collections` | POST | SDK `Collections().Create` | `hey collection create` | covered |
| `/collections/{id}.json` | PATCH | SDK `Collections().Update` | `hey collection update` | covered |
| `/topics/{id}/collecting` | POST | SDK `Collections().AddTopic` | `hey collection add`, TUI `n/N` | covered |
Expand Down
Loading
Loading