Initial commit from agent-native create
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
import { runAuthGuard } from "@agent-native/core/server";
|
||||
/**
|
||||
* Global auth middleware — runs for ALL requests (page routes, API routes,
|
||||
* framework routes). The auth plugin configures the guard; this middleware
|
||||
* enforces it on every request.
|
||||
*
|
||||
* Without this, auth only runs for /_agent-native/* routes because the
|
||||
* framework handler's middleware registry is scoped to that catch-all.
|
||||
* Page routes (/, /settings) and API routes (/api/*) would bypass auth.
|
||||
*/
|
||||
import { defineEventHandler } from "h3";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
return runAuthGuard(event);
|
||||
});
|
||||
@@ -0,0 +1,21 @@
|
||||
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"];
|
||||
|
||||
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.
|
||||
|
||||
This is a minimal chat-first Agent-Native app. The chat is the product surface, and actions are the contract shared by chat, UI, HTTP, MCP, A2A, and CLI.
|
||||
|
||||
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.`,
|
||||
});
|
||||
@@ -0,0 +1,17 @@
|
||||
import { createAuthPlugin } from "@agent-native/core/server";
|
||||
|
||||
const rawAppTitle = "App";
|
||||
const appTitle = rawAppTitle === "{" + "{APP_TITLE}}" ? "Chat" : rawAppTitle;
|
||||
|
||||
export default createAuthPlugin({
|
||||
marketing: {
|
||||
appName: appTitle,
|
||||
tagline:
|
||||
"Start from a chat-first agent-native app and add actions, screens, and workflows as you grow.",
|
||||
features: [
|
||||
"Full-page chat with durable threads and tool call history",
|
||||
"Add actions once and use them from chat, UI, HTTP, MCP, A2A, and CLI",
|
||||
"Plug in your own agent runtime or build on the included app-agent loop",
|
||||
],
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,5 @@
|
||||
import { createH3SSRHandler } from "@agent-native/core/server/ssr-handler";
|
||||
|
||||
export default createH3SSRHandler(
|
||||
() => import("virtual:react-router/server-build"),
|
||||
);
|
||||
Reference in New Issue
Block a user