LuxoAILuxoAIdocs
Welcome
InvoiceAgentInternalSupplyAgentBetaLearnAgentBeta
OverviewAgent Corev0.11.0StableObservabilityv0.6.0StableLuxo Assistantv0.6.0BetaFeedback UIv0.2.0BetaLuxo MLScaffold
API Console
All systemsv0.8.1
LuxoAILuxoAIdocs
DocsAgentic PackagesLuxo Assistant

@luxoai-dev/luxo-assistant

Luxo Assistant

Betav0.8.0

The shared assistant surface for LuxoAI products. Declarative tool registry with typed param schemas, surface manifests, bounded prompts, directive parsing, SSE streaming, inline feedback, action telemetry, and a reusable route pattern.

At a glance
Package
@luxoai-dev/luxo-assistant
Layer
Assistant shell
Version
v0.8.0
Used by
SupplyAgent Luxo assistant · LearnAgent Luxo assistant · InvoiceAgent Luxo assistant · future agent surfaces

Architecture

The package sits between the host application and runtime outputs. The host owns auth, data, and side effects; the package validates and shapes flow.

Host

Application workflow

Auth, data, product state, and side effects stay owned by the host app.

→

Package

Luxo Assistant

The shared assistant surface for LuxoAI products. Declarative tool registry with typed param schemas, surface manifests, bounded prompts, directive parsing, SSE streaming, inline feedback, action telemetry, and a reusable route pattern.

→

Outcome

Agent outcome

Approved actions, responses, feedback, metrics, or model signals flow back to the product.

Capabilities

The contract surface, summarized.

CapabilityDetail
01Declarative tool registry: defineLuxoRegistry + navigateTool / eventTool / guidanceTool, typed params (text, enum, integer, number, boolean).
02Auto-generated directive examples in the system prompt so the LLM knows exactly how to call each tool.
03Surface manifests so assistants understand where they are embedded.
04Bounded prompt construction from product metadata and current page context.
05Validated navigation and event directives instead of arbitrary text-triggered side effects.
06Risk-aware action confirmation (window.confirm gate for risk: "confirm"; restricted blocked).
07Action telemetry: onActionsProposed server hook + createLuxoActionBeaconRoute + actionBeaconEndpoint client prop.
08SSE streaming end-to-end (text-delta + reasoning-delta) with transparent buffered fallback.
09Inline thumbs/stars feedback per assistant message wired to a shared feedback route.
10Optional Supabase-backed persistence, auto-titler, and per-actor quota with blocker UI.
11Full manifest i18n for every user-facing string emitted by the route.

Used by

Concrete consumers in the LuxoAI fleet.

SupplyAgent Luxo assistantLearnAgent Luxo assistantInvoiceAgent Luxo assistantfuture agent surfaces

Integration shape

Drop into a host app. The host keeps auth, persistence, and side effects.

app/api/luxo/chat/route.tsTSXServerBeta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { createLuxoChatRoute } from "@luxoai-dev/luxo-assistant/server";
import {
  defineLuxoRegistry,
  navigateTool,
  enumParam,
} from "@luxoai-dev/luxo-assistant";

const registry = defineLuxoRegistry({
  serviceId: "learnagent",
  productName: "LearnAgent",
  audience: "learners and coaches",
  domain: "learning",
  defaultSurface: {
    key: "review",
    label: "Review session",
    shortLabel: "Review",
    accentLabel: "Learning",
    summary: "Review progress and suggest the next exercise.",
    tooltip: "Ask Luxo about this learning session.",
    paths: ["/review"],
    tools: [
      navigateTool({
        id: "review.open-deck",
        label: "Open a deck",
        description: "Open one of the learner's saved decks.",
        url: ({ slug }) => `/decks/${slug}`,
        params: {
          slug: enumParam(["algebra", "biology", "history"], {
            description: "Deck slug to open.",
            required: true,
          }),
        },
        pinned: true,
        group: "Learning",
      }),
    ],
  },
});

const chat = createLuxoChatRoute({
  manifest: registry.manifest,
  requireAuth: true,
});

export const GET = chat.GET;
export const POST = chat.POST;
export const DELETE = chat.DELETE;

API Reference

Every export, every signature, every parameter. The production-grade reference your code or your agent needs to call this package without reading source.

Open Luxo Assistant API reference

Related

Browse the full package map for adjacent runtime modules and integration boundaries, or jump straight to the Luxo Assistant API reference.

PreviousObservabilityHealth, metrics, identity, runtime signals, and service snapshots.NextFeedback UIReusable React feedback widget with optional opinionated styles.