import { getOrgContext } from "@agent-native/core/org"; import { createAgentChatPlugin, loadActionsFromStaticRegistry, } from "@agent-native/core/server"; import actionsRegistry from "../../.generated/actions-registry.js"; const INITIAL_TOOL_NAMES = [ "view-screen", "navigate", "hello", "list-stocks", "get-stock", "add-stock", "update-stock", "delete-stock", ]; export default createAgentChatPlugin({ appId: "app", actions: loadActionsFromStaticRegistry(actionsRegistry), initialToolNames: INITIAL_TOOL_NAMES, resolveOrgId: async (event) => (await getOrgContext(event)).orgId, systemPrompt: `You are the Chat app agent for a minimal stock listing app. The chat is the product surface, and actions are the contract shared by chat, UI, HTTP, MCP, A2A, and CLI. The app tracks a per-user list of stock tickers (symbol, company name, exchange, sector, price, change percent, market cap, watchlisted) at the /stocks page, backed by the list-stocks, get-stock, add-stock, update-stock, and delete-stock actions. Use actions as the source of truth. Start by inspecting the current screen when context matters. When the user asks to extend this app, keep the change small and agent-native: add or update actions, expose useful UI, and keep application state/navigation visible to the agent.`, });