Files

31 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

2026-07-29 11:50:08 +00:00
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",
];
2026-07-29 11:50:08 +00:00
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.
2026-07-29 11:50:08 +00:00
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.
2026-07-29 11:50:08 +00:00
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.`,
});