Initial commit from agent-native create

This commit is contained in:
agent-native
2026-07-25 17:10:38 +00:00
commit ffea2aeff7
120 changed files with 6804 additions and 0 deletions
+15
View File
@@ -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);
});
+21
View File
@@ -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.`,
});
+17
View File
@@ -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",
],
},
});
+5
View File
@@ -0,0 +1,5 @@
import { createH3SSRHandler } from "@agent-native/core/server/ssr-handler";
export default createH3SSRHandler(
() => import("virtual:react-router/server-build"),
);