Skip to content

trading_agent.terminal.screens.page_catalogue

The list of the terminal program's pages, for the slash commands, the F2 page list and the command palette.

Typical usage example:

for page in PageCatalogue().pages(): print(page.command, page.title)

Page dataclass

Page(command, title, description, screen_class)

One page.

Attributes:

Name Type Description
command str

The slash command that opens it, such as "/trading".

title str

Its title.

description str

What it shows.

screen_class type[PageScreen]

The screen class that draws it.

PageCatalogue

The pages, in the web page's sidebar order.

pages

pages()

Every page.

Returns:

Type Description
list[Page]

The pages.

Source code in src/trading_agent/terminal/screens/page_catalogue.py
def pages(self) -> list[Page]:
    """Every page.

    Returns:
        list[Page]: The pages.
    """
    return [
        Page(
            '/desks',
            'Desks',
            'every desk, with pause, resume, flatten and chat',
            desks_screen.DesksScreen,
        ),
        Page(
            '/activity',
            'Activity',
            "today's events from every desk, live",
            activity_screen.ActivityScreen,
        ),
        Page(
            '/trading',
            'Trading',
            "positions, open orders, UBI's order book and the kill switch",
            trading_screen.TradingScreen,
        ),
        Page(
            '/sessions',
            'Sessions',
            "a desk's sessions, memory search, summaries and notes",
            sessions_screen.SessionsScreen,
        ),
        Page(
            '/files',
            'Files',
            "edit your files and review the desks' proposals",
            files_screen.FilesScreen,
        ),
        Page(
            '/checkpoints',
            'Checkpoints',
            "snapshots of a desk's own files, with restore",
            checkpoints_screen.CheckpointsScreen,
        ),
        Page(
            '/schedule',
            'Schedule',
            "a desk's scheduled jobs and price alerts",
            schedule_screen.ScheduleScreen,
        ),
        Page(
            '/skills',
            'Skills',
            "a desk's usable and hidden skills",
            skills_screen.SkillsScreen,
        ),
        Page(
            '/extensions',
            'Extensions',
            'subagents, MCP servers and packages',
            extensions_screen.ExtensionsScreen,
        ),
        Page(
            '/models',
            'Models',
            "model order, today's usage and Claude's limits",
            models_screen.ModelsScreen,
        ),
        Page(
            '/channels',
            'Channels',
            'Telegram state and pairings',
            channels_screen.ChannelsScreen,
        ),
        Page(
            '/settings',
            'Settings',
            'standing permissions and the configuration',
            settings_screen.SettingsScreen,
        ),
        Page(
            '/apps',
            'Apps',
            "the packages' web apps",
            apps_screen.AppsScreen,
        ),
    ]

find

find(command)

The page a slash command opens.

Parameters:

Name Type Description Default
command str

Such as "/trading".

required

Returns:

Type Description
Page | None

The page, or None when the command opens none.

Source code in src/trading_agent/terminal/screens/page_catalogue.py
def find(self, command: str) -> Page | None:
    """The page a slash command opens.

    Args:
        command (str): Such as "/trading".

    Returns:
        Page | None: The page, or None when the command opens none.
    """
    for page in self.pages():
        if page.command == command:
            return page
    return None