32 lines
931 B
TypeScript
32 lines
931 B
TypeScript
/**
|
|
* 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<string, unknown> = {};
|
|
if (navigation) screen.navigation = navigation;
|
|
|
|
if (Object.keys(screen).length === 0) {
|
|
return "No application state found. Is the app running?";
|
|
}
|
|
return screen;
|
|
},
|
|
});
|