Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
915b99c
Add v1 docs
parteeksingh24 Nov 18, 2025
662554c
Fix context object usage
parteeksingh24 Nov 18, 2025
28e1761
Add (initial) training modules and examples
parteeksingh24 Nov 19, 2025
ebd47b5
Add some marketing terms
parteeksingh24 Nov 19, 2025
d2cc92f
Add remaining Training docs
parteeksingh24 Nov 20, 2025
25bc1b2
Update Training docs structure
parteeksingh24 Nov 20, 2025
bf444d9
Fix dev training docs structure
parteeksingh24 Nov 20, 2025
88bea06
Update code block highlighting
parteeksingh24 Nov 20, 2025
13fbd98
Tweaks
parteeksingh24 Nov 21, 2025
625d9b7
Clarify context naming in routes vs agents
parteeksingh24 Nov 21, 2025
e71d249
Update docs structure
parteeksingh24 Nov 26, 2025
f20b8e9
Add version picker
parteeksingh24 Nov 27, 2025
f0b4cb4
Update version tabs, fix sidebar spacing
parteeksingh24 Nov 27, 2025
1a7bbc8
Merge branch 'main' of https://github.com/agentuity/docs into v1-docs
parteeksingh24 Nov 27, 2025
659426f
Reorder Agents docs
parteeksingh24 Nov 27, 2025
763a727
Set v0 as current, update CLI commands
parteeksingh24 Dec 1, 2025
3a49691
Add remaining "Build" docs
parteeksingh24 Dec 2, 2025
c790d4f
Add Reference (CLI) pages
parteeksingh24 Dec 2, 2025
77c5eb8
Update sidebar page names
parteeksingh24 Dec 2, 2025
d0da8e2
Tweaks
parteeksingh24 Dec 3, 2025
359fc8e
Restructure Routes and APIs pages
parteeksingh24 Dec 4, 2025
5ac1dd5
Fix internal links in Routes docs
parteeksingh24 Dec 4, 2025
5ab299e
Add @agentuity/schema examples
parteeksingh24 Dec 4, 2025
b7926d3
Tweaks
parteeksingh24 Dec 5, 2025
ba9162f
Add Bun S3/SQL storage pages, restructure CLI reference
parteeksingh24 Dec 5, 2025
d682714
Fix v1 links
parteeksingh24 Dec 5, 2025
26132ef
Tweaks
parteeksingh24 Dec 8, 2025
3d2ab4d
Update to latest SDK
parteeksingh24 Dec 8, 2025
8237cbb
Update wrangler.jsonc
mcongrove Dec 8, 2025
b616462
Show v1 preview first
parteeksingh24 Dec 8, 2025
78c48af
Merge branch 'v1-docs' of https://github.com/agentuity/docs into v1-docs
parteeksingh24 Dec 8, 2025
53e3e7d
Fix install instructions, shorten migration guide
parteeksingh24 Dec 8, 2025
7cb4436
Sync docs with v1 SDK, add Bun docs links
parteeksingh24 Dec 9, 2025
98a3f95
Fix state management docs
parteeksingh24 Dec 9, 2025
fd78375
Fix React hooks docs
parteeksingh24 Dec 9, 2025
e28a9c5
Refine alpha docs
parteeksingh24 Dec 9, 2025
4be2b4e
Add more templates, web app links
parteeksingh24 Dec 9, 2025
49ecd74
Fix agent file structure docs
parteeksingh24 Dec 10, 2025
423080f
Add warnings for email/SMS (WIP)
parteeksingh24 Dec 10, 2025
10656b9
Clarify templates, email docs
parteeksingh24 Dec 10, 2025
b84a1ac
Clarify "get started" pages
parteeksingh24 Dec 10, 2025
e3142e9
Fix agent file structure
parteeksingh24 Dec 10, 2025
ae909d3
Tweaks
parteeksingh24 Dec 10, 2025
0cb006c
SDK Reference rename + context access callouts
parteeksingh24 Dec 11, 2025
9004ef8
Remove AgentContext imports (types now inferred), reduce callouts
parteeksingh24 Dec 11, 2025
d29ef56
Tweak CLI overview page
parteeksingh24 Dec 11, 2025
d7e1b3e
Add build config and Tailwind setup docs
parteeksingh24 Dec 11, 2025
8d31d11
Add tutorials and workbench docs, update CLI reference
parteeksingh24 Dec 12, 2025
b73bde2
Cookbook fixes and AGENTUITY_PUBLIC_* docs
parteeksingh24 Dec 12, 2025
817b4a3
Fix evals docs
parteeksingh24 Dec 16, 2025
5a87ad2
Add authentication docs
parteeksingh24 Dec 17, 2025
af18e5c
Add Vite docs
parteeksingh24 Dec 17, 2025
857c1fb
Tweaks
parteeksingh24 Dec 17, 2025
a06ddf2
Clarify session and threads
parteeksingh24 Dec 17, 2025
84c4f2c
Add RPC client docs, update auth and CLI pages
parteeksingh24 Dec 22, 2025
185913c
Fix useAPI import, add auth callout
parteeksingh24 Dec 22, 2025
0476e34
Update middleware patterns
parteeksingh24 Dec 29, 2025
2d942f6
Enhance async state management in agents
parteeksingh24 Jan 2, 2026
9ee419b
Fix auth middleware signature, remove old auth integrations
parteeksingh24 Jan 5, 2026
dad0bc9
Add access patterns tables for Agentuity APIs
parteeksingh24 Jan 5, 2026
c4c8d0d
Update evals docs, add sandbox API docs
parteeksingh24 Jan 6, 2026
8f82f27
Add standalone validator and direct SDK access docs
parteeksingh24 Jan 6, 2026
9a3ff11
Add cross-ref links, route callouts
parteeksingh24 Jan 8, 2026
c68b905
Remove v0 docs, migrate to v1
mcongrove Jan 8, 2026
8a1a81d
Tweaks
mcongrove Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Agent Configuration
AGENT_BASE_URL=http://127.0.0.1:3500
AGENT_BEARER_TOKEN=

# KV-store is hitting Agentuity Service API, this can be found in `agent-docs` after running `agentuity dev`
AGENTUITY_API_KEY=
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,9 @@ next-env.d.ts

# this is generated by the build process
content/docs.json
public/**/*.md

# Claude Code
.claude/
claude/
CLAUDE.md
2 changes: 1 addition & 1 deletion agent-docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Run your project in development mode with:
agentuity dev
```

This will start your project and open a new browser window connecting your agent to the Agentuity Console in DevMode, allowing you to test and debug your agent in real-time.
This will start your project and open a new browser window connecting your agent to the Agentuity App in DevMode, allowing you to test and debug your agent in real-time.

## 🌐 Deployment

Expand Down
2 changes: 1 addition & 1 deletion agent-docs/src/agents/agent-pulse/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ export default async function Agent(
];

let tools: any;
let systemPrompt: string = "";
let systemPrompt = "";
// Direct LLM access won't require any tools or system prompt
if (!parsedRequest.useDirectLLM) {
// Create tools with state context
Expand Down
4 changes: 2 additions & 2 deletions agent-docs/src/agents/agent-pulse/request/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ export function parseAgentRequest(
ctx: AgentContext
): ParsedAgentRequest {
try {
let message: string = "";
let message = "";
let conversationHistory: any[] = [];
let tutorialData: any = undefined;
let tutorialData: any ;
let useDirectLLM = false;

if (jsonData && typeof jsonData === "object" && !Array.isArray(jsonData)) {
Expand Down
3 changes: 1 addition & 2 deletions agent-docs/src/agents/agent-pulse/state/manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,12 @@ export async function handleTutorialState(
state.clearAction();
ctx.logger.info("Tutorial state processed successfully");
return tutorialData;
} else {
}
// Handle API errors gracefully
ctx.logger.error("Failed to fetch tutorial step: %s", tutorialStep.error || 'Unknown error');
if (tutorialStep.details) {
ctx.logger.error("Error details: %s", JSON.stringify(tutorialStep.details));
}
}
}
break;
default:
Expand Down
2 changes: 1 addition & 1 deletion agent-docs/src/agents/agent-pulse/streaming/processor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export function createStreamingProcessor(
return new ReadableStream({
async start(controller) {
const encoder = new TextEncoder();
let accumulatedContent = "";
const accumulatedContent = "";

try {
// Stream only safe, user-facing content
Expand Down
2 changes: 1 addition & 1 deletion agent-docs/src/agents/agent-pulse/tools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export async function createTools(context: ToolContext) {
// Validate tutorial exists before starting
const tutorialResponse = await getTutorialMeta(tutorialId, agentContext);
if (!tutorialResponse.success || !tutorialResponse.data) {
return `Error fetching tutorial information`;
return 'Error fetching tutorial information';
}

const data = tutorialResponse.data
Expand Down
4 changes: 3 additions & 1 deletion app/(docs)/[[...slug]]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { CLICommand } from '@/components/CLICommand';
import { CodeExample } from '@/components/CodeExample';
import { Mermaid } from '@/components/Mermaid';
import { Sparkle } from '@/components/Sparkle';
import { Tag } from '@/components/Tag';
import { ThemeImage } from '@/components/ThemeImage';
import { TypingAnimation } from '@/components/TypingAnimation';
import { XButton } from '@/components/XButton';
Expand Down Expand Up @@ -44,7 +45,7 @@ export default async function Page(props: {
path: `content/${page.file.path}`,
}}
>
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-0 mb-4">
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-0">
<DocsTitle className="mb-0">{page.data.title}</DocsTitle>
<div className="hidden sm:flex justify-end">
<CopyPageDropdown enhanced={true} />
Expand All @@ -67,6 +68,7 @@ export default async function Page(props: {
Sparkle,
Tab,
Tabs,
Tag,
ThemeImage,
TutorialStep,
TypingAnimation,
Expand Down
6 changes: 6 additions & 0 deletions app/(docs)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type { ReactNode } from 'react';
import { baseOptions } from '@/app/layout.config';
import { source } from '@/lib/source';
import AISearchToggle from '../../components/AISearchToggle';
import { SidebarFooter } from '../../components/SidebarFooter';

export default function Layout({ children }: { children: ReactNode }) {
return (
Expand All @@ -20,6 +21,11 @@ export default function Layout({ children }: { children: ReactNode }) {
),
},
}}
sidebar={{
tabs: false,
// banner: <SidebarBanner />,
footer: <SidebarFooter />
}}
>
{children}
</DocsLayout>
Expand Down
10 changes: 5 additions & 5 deletions app/api/sessions/[sessionId]/messages/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from "next/server";
import { type NextRequest, NextResponse } from "next/server";
import { getKVValue, setKVValue } from "@/lib/kv-store";
import {
import type {
Session,
Message,
StreamingChunk,
Expand Down Expand Up @@ -32,7 +32,7 @@ function sanitizeTitle(input: string): string {
// Sentence case
s = sentenceCase(s);
// Trim trailing punctuation noise
s = s.replace(/[\s\-–—:;,\.]+$/g, '').trim();
s = s.replace(/[\s\-–—:;,.]+$/g, '').trim();
// Enforce 60 chars
if (s.length > 60) s = s.slice(0, 60).trim();
return s;
Expand Down Expand Up @@ -99,7 +99,7 @@ export async function POST(
content: (m.content || '').slice(0, MAX_CONTENT_LEN),
}));

const prompt = `Generate a very short session title summarizing the conversation topic.\n\nRequirements:\n- sentence case\n- no emojis\n- <= 60 characters\n- no quotes or markdown\n- output the title only, no extra text`;
const prompt = 'Generate a very short session title summarizing the conversation topic.\n\nRequirements:\n- sentence case\n- no emojis\n- <= 60 characters\n- no quotes or markdown\n- output the title only, no extra text';

const agentConfig = getAgentPulseConfig();
const headers: Record<string, string> = { 'Content-Type': 'application/json' };
Expand Down Expand Up @@ -254,7 +254,7 @@ export async function POST(

// Process streaming response
let accumulatedContent = "";
let finalTutorialData: TutorialData | undefined = undefined;
let finalTutorialData: TutorialData | undefined ;

const transformStream = new TransformStream({
async transform(chunk, controller) {
Expand Down
4 changes: 2 additions & 2 deletions app/api/sessions/[sessionId]/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from 'next/server';
import { type NextRequest, NextResponse } from 'next/server';
import { getKVValue, setKVValue, deleteKVValue } from '@/lib/kv-store';
import { Session, Message, SessionSchema } from '@/app/chat/types';
import { type Session, type Message, SessionSchema } from '@/app/chat/types';
import { toISOString } from '@/app/chat/utils/dateUtils';
import { config } from '@/lib/config';
import { parseAndValidateJSON, SessionMessageOnlyRequestSchema } from '@/lib/validation/middleware';
Expand Down
4 changes: 2 additions & 2 deletions app/api/sessions/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from 'next/server';
import { type NextRequest, NextResponse } from 'next/server';
import { getKVValue, setKVValue } from '@/lib/kv-store';
import { Session, Message, SessionSchema } from '@/app/chat/types';
import { type Session, type Message, SessionSchema } from '@/app/chat/types';
import { toISOString } from '@/app/chat/utils/dateUtils';
import { config } from '@/lib/config';
import { parseAndValidateJSON } from '@/lib/validation/middleware';
Expand Down
4 changes: 2 additions & 2 deletions app/api/tutorials/[id]/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NextRequest, NextResponse } from 'next/server';
import { type NextRequest, NextResponse } from 'next/server';
import { join } from 'path';
import { parseTutorialMDXCached } from '@/lib/tutorial/mdx-parser';
import { TutorialIdParamsSchema } from '@/lib/tutorial/schemas';
Expand Down Expand Up @@ -39,7 +39,7 @@ export async function GET(request: NextRequest, { params }: RouteParams) {
}
});
} catch (error) {
console.error(`Failed to load tutorial:`, error);
console.error('Failed to load tutorial:', error);
return NextResponse.json(
{ success: false, error: 'Tutorial not found' },
{ status: 404 }
Expand Down
4 changes: 2 additions & 2 deletions app/api/tutorials/[id]/steps/[stepNumber]/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NextRequest, NextResponse } from 'next/server';
import { type NextRequest, NextResponse } from 'next/server';
import { join } from 'path';
import { parseTutorialMDXCached } from '@/lib/tutorial/mdx-parser';
import { StepParamsSchema } from '@/lib/tutorial/schemas';
Expand Down Expand Up @@ -49,7 +49,7 @@ export async function GET(request: NextRequest, { params }: RouteParams) {
}
});
} catch (error) {
console.error(`Failed to load tutorial step:`, error);
console.error('Failed to load tutorial step:', error);
return NextResponse.json(
{ success: false, error: 'Failed to load step' },
{ status: 500 }
Expand Down
2 changes: 1 addition & 1 deletion app/api/users/tutorial-state/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NextRequest, NextResponse } from 'next/server';
import { type NextRequest, NextResponse } from 'next/server';
import { TutorialStateManager } from '@/lib/tutorial/state-manager';
import { setKVValue } from '@/lib/kv-store';
import { config } from '@/lib/config';
Expand Down
2 changes: 1 addition & 1 deletion app/chat/SessionContext.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use client';
import { createContext, useContext } from 'react';
import { Session } from './types';
import type { Session } from './types';

interface SessionContextType {
sessions: Session[];
Expand Down
2 changes: 1 addition & 1 deletion app/chat/[sessionId]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import "allotment/dist/style.css";
import { v4 as uuidv4 } from 'uuid';
import { ChatMessagesArea } from '../components/ChatMessagesArea';
import { CodeEditor } from '../components/CodeEditor';
import { Session, Message } from '../types';
import type { Session, Message } from '../types';
import { useSessions } from '../SessionContext';
import { sessionService } from '../services/sessionService';
import { Skeleton } from '@/components/ui/skeleton';
Expand Down
2 changes: 1 addition & 1 deletion app/chat/components/ChatInput.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use client';

import { useEffect, KeyboardEvent, useState } from 'react';
import { useEffect, type KeyboardEvent, useState } from 'react';
import { Send } from 'lucide-react';
import { useAutoResize } from '../utils/useAutoResize';

Expand Down
2 changes: 1 addition & 1 deletion app/chat/components/ChatMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { AgentuityLogo } from '@/components/icons/AgentuityLogo';
import { MarkdownRenderer } from './MarkdownRenderer';
import type { TutorialSnippet } from '../types';
import { formatTime } from '../utils/dateUtils';
import { TutorialData } from '../types';
import type { TutorialData } from '../types';

function transformMdxWithSnippets(mdx: string, snippets: TutorialSnippet[] = []) {
// Replace each <CodeFromFiles .../> by consuming the appropriate number of snippets
Expand Down
2 changes: 1 addition & 1 deletion app/chat/components/ChatMessagesArea.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import React, { useRef, useEffect,useState } from 'react';
import { ChatMessageComponent } from './ChatMessage';
import { ChatInput } from './ChatInput';
import { Session } from '../types';
import type { Session } from '../types';

export interface ChatMessagesAreaProps {
session: Session
Expand Down
3 changes: 2 additions & 1 deletion app/chat/components/CodeEditor.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React, { useState } from 'react';
import type React from 'react';
import { useState } from 'react';
import { Play, Terminal, Square, Power, Code, X } from 'lucide-react';

enum TabType {
Expand Down
2 changes: 1 addition & 1 deletion app/chat/components/SessionSidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
ChevronRight
} from 'lucide-react';
import { AgentuityLogo } from '@/components/icons/AgentuityLogo';
import { Session, SessionSidebarProps } from '../types';
import type { Session, SessionSidebarProps } from '../types';

// Helper function to format relative dates
const formatRelativeDate = (date: Date): string => {
Expand Down
2 changes: 1 addition & 1 deletion app/chat/components/TutorialFileChip.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { FileText } from 'lucide-react';
import { CodeFile } from '../types';
import type { CodeFile } from '../types';

interface TutorialFileChipProps {
codeBlock: CodeFile;
Expand Down
2 changes: 1 addition & 1 deletion app/chat/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use client';

import { usePathname, useRouter } from "next/navigation";
import { Session } from "./types";
import type { Session } from "./types";
import { sessionService } from "./services/sessionService";
import { SessionSidebar } from "./components/SessionSidebar";
import { SessionSidebarSkeleton } from './components/SessionSidebarSkeleton';
Expand Down
2 changes: 1 addition & 1 deletion app/chat/services/sessionService.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Session, Message, TutorialData } from '../types';
import type { Session, Message, TutorialData } from '../types';

export interface SessionServiceResponse<T = any> {
success: boolean;
Expand Down
4 changes: 2 additions & 2 deletions app/chat/utils/useStreaming.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useState, useCallback } from 'react';
import { Message, TutorialData, StreamingChunk } from '../types';
import type { Message, TutorialData, StreamingChunk } from '../types';
import { getCurrentTimestamp } from './dateUtils';

// Generate unique IDs
Expand Down Expand Up @@ -72,7 +72,7 @@ export function useStreaming({
const reader = response.body?.getReader();
const decoder = new TextDecoder();
let accumulatedContent = '';
let finalTutorialData: TutorialData | undefined = undefined;
let finalTutorialData: TutorialData | undefined ;

if (!reader) {
throw new Error('No response body');
Expand Down
11 changes: 10 additions & 1 deletion app/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
--color-gray-900: var(--color-zinc-900);
--color-gray-950: var(--color-zinc-950);

/* Cyan accents - using production's shades for readability */
/* Cyan accents */
--color-fd-primary: var(--color-cyan-700);
--color-fd-primary-foreground: var(--color-cyan-50);
--color-fd-ring: var(--color-cyan-500);
Expand Down Expand Up @@ -131,3 +131,12 @@ figure > div:nth-child(2) {
article > p {
margin-bottom: 1rem;
}

/* Content links - cyan branding (700 light, 500 dark) */
.prose a:not([data-card]) {
text-decoration-color: var(--color-cyan-700);
}

.dark .prose a:not([data-card]) {
text-decoration-color: var(--color-cyan-500);
}
6 changes: 3 additions & 3 deletions app/layout.config.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import { XButton } from '../components/XButton';
*/
export const baseOptions: BaseLayoutProps = {
nav: {
url: '/Introduction',
url: '/Get-Started/what-is-agentuity',
title: (
<div className="flex items-center gap-3 font-medium">
<div className="flex items-center gap-3 font-medium ml-2">
<svg
role="img"
aria-label="Agentuity"
Expand Down Expand Up @@ -54,7 +54,7 @@ export const baseOptions: BaseLayoutProps = {
target="_blank"
rel="noopener noreferrer"
>
Console
App
</NavButton>
<CommunityButton target="_blank" rel="noopener noreferrer" />
<XButton className="h-9" />
Expand Down
Loading