/** * See what the user is currently looking at on screen. * * Reads and returns the current navigation state from application state. * * Usage: * pnpm action view-screen */ import { defineAction } from "@agent-native/core/action"; import { readAppState } from "@agent-native/core/application-state"; import { z } from "zod"; export default defineAction({ description: "See what the user is currently looking at on screen. Returns the current navigation state for the chat-first app. Always call this first before taking any action.", schema: z.object({}), http: false, readOnly: true, run: async () => { const navigation = await readAppState("navigation"); const screen: Record = {}; if (navigation) screen.navigation = navigation; if (Object.keys(screen).length === 0) { return "No application state found. Is the app running?"; } return screen; }, });