internal/

directory
v0.0.0-...-cb8056f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: GPL-3.0

Directories

Path Synopsis
Package chain broadcasts the two on-chain actions cosmo-tui takes: sending an objekt (an ERC-721 transferFrom) and casting a gravity vote (an ERC-1155 COMO transfer).
Package chain broadcasts the two on-chain actions cosmo-tui takes: sending an objekt (an ERC-721 transferFrom) and casting a gravity vote (an ERC-1155 COMO transfer).
Package config handles cosmo-tui's on-disk state: credential storage and the user's runtime configuration.
Package config handles cosmo-tui's on-disk state: credential storage and the user's runtime configuration.
Package cosmo is the API client for api.cosmo.fans: auth/token lifecycle, login, and the room/live/talk feature endpoints.
Package cosmo is the API client for api.cosmo.fans: auth/token lifecycle, login, and the room/live/talk feature endpoints.
Package external launches the user's real media tools: a URL/file opener, mpv for viewing, and ffmpeg for muxing downloaded replay tracks.
Package external launches the user's real media tools: a URL/file opener, mpv for viewing, and ffmpeg for muxing downloaded replay tracks.
Package hls downloads a Cloudflare Stream VOD from its HLS master playlist.
Package hls downloads a Cloudflare Stream VOD from its HLS master playlist.
Package members is the static roster for the Cosmo groups.
Package members is the static roster for the Cosmo groups.
tui
Package tui is the cosmo-tui app shell: a tab bar over a set of page models, with group switching, help, and quit.
Package tui is the cosmo-tui app shell: a tab bar over a set of page models, with group switching, help, and quit.
clip
Package clip reads the host clipboard for the app's text boxes.
Package clip reads the host clipboard for the app's text boxes.
gravity
Package gravity is the Gravity page: a category list on the left (Ongoing and Past, both from /v4/gravities - see cosmo.OngoingGravities for why the live one is not fetched with category=ongoing), the selected category's gravities on the right, and a full-page detail view for the highlighted gravity.
Package gravity is the Gravity page: a category list on the left (Ongoing and Past, both from /v4/gravities - see cosmo.OngoingGravities for why the live one is not fetched with category=ongoing), the selected category's gravities on the right, and a full-page detail view for the highlighted gravity.
info
Package info is the artist info page: the current group's public card (title, fandom name), the member roster with aliases, official colors and units, and the group's SNS links.
Package info is the artist info page: the current group's public card (title, fandom name), the member roster with aliases, official colors and units, and the group's SNS links.
keynav
Package keynav defines the app's uniform navigation keys.
Package keynav defines the app's uniform navigation keys.
listfilter
Package listfilter routes the bubbles list filter's async result back to the list that asked for it.
Package listfilter routes the bubbles list filter's async result back to the list that asked for it.
live
Package live is the live page: a member list on the left (with an "All" entry like the room page), that member's live-stream VOD history on the right, with view (mpv) via an external process and download (a native parallel HLS fetch muxed with ffmpeg).
Package live is the live page: a member list on the left (with an "All" entry like the room page), that member's live-stream VOD history on the right, with view (mpv) via an external process and download (a native parallel HLS fetch muxed with ffmpeg).
login
Package login is the first-run Privy sign-in flow as a Bubble Tea model.
Package login is the first-run Privy sign-in flow as a Bubble Tea model.
news
Package news is the news page: a category list on the left (Announcements from /notices, Schedule from /artist-schedules, Notifications from /notification-center), the selected category's entries on the right, and a full-page detail view for the highlighted entry.
Package news is the news page: a category list on the left (Announcements from /notices, Schedule from /artist-schedules, Notifications from /notification-center), the selected category's entries on the right, and a full-page detail view for the highlighted entry.
objekt
Package objekt is the Objekt page: the user's owned objekt collection for the active group, laid out as a grid of per-copy cards.
Package objekt is the Objekt page: the user's owned objekt collection for the active group, laid out as a grid of per-copy cards.
profile
Package profile is the account profile page.
Package profile is the account profile page.
room
Package room is the room page: a member list on the left, that member's posts on the right, with external media viewing and downloading.
Package room is the room page: a member list on the left, that member's posts on the right, with external media viewing and downloading.
style
Package style holds shared TUI rendering helpers used by both the app shell and the individual page packages.
Package style holds shared TUI rendering helpers used by both the app shell and the individual page packages.
talk
Package talk is the talk page: a member-channel sidebar, a message viewport, and a reply box, with realtime delivery over the Talk SSE feed.
Package talk is the talk page: a member-channel sidebar, a message viewport, and a reply box, with realtime delivery over the Talk SSE feed.
textfmt
Package textfmt normalizes Cosmo API text for terminal display.
Package textfmt normalizes Cosmo API text for terminal display.
uimsg
Package uimsg holds tea.Msg types shared between the app shell and page packages.
Package uimsg holds tea.Msg types shared between the app shell and page packages.
usersearch
Package usersearch is a reusable nickname-search widget: a text box that runs GET /users/search and a scrolling results list to pick a match from.
Package usersearch is a reusable nickname-search widget: a text box that runs GET /users/search and a scrolling results list to pick a match from.
Package wallet reconstructs the Cosmo user's Privy embedded-wallet signing key and signs the on-chain objekt transfer that "sending" an objekt actually is: a ZKsync (Abstract) type-0x71 transaction whose AGW smart-account custom signature is an ECDSA signature from the Privy EOA.
Package wallet reconstructs the Cosmo user's Privy embedded-wallet signing key and signs the on-chain objekt transfer that "sending" an objekt actually is: a ZKsync (Abstract) type-0x71 transaction whose AGW smart-account custom signature is an ECDSA signature from the Privy EOA.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL