makepad/libs/ai/services/Cargo.toml
Admin 2308736a2a ai-services: the real models behind the engine feature — local through the hub, Claude, and none
LocalModel drives the hub chat session; a changed tool table or system
prompt rides the next turn as an update block instead of restarting an
append-only context. ClaudeModel owns the history and rebuilds the
per-turn provider with the new native tool array, dots mapped to the
double underscore Anthropic allows. NoModel answers nothing but says so,
so the web demo's pane, services and tool console work without a
backend. Provider rows report honest availability, the local model file
policy is one function, and the crate no longer needs the converse seam.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-02 12:25:56 +02:00

33 lines
1.4 KiB
TOML

# The AI services layer.
#
# One conversation, many apps. An app EXPOSES an AI service: a manifest (who
# it is, a short brief, the tools it will execute) and a port that receives
# calls and answers them. A HOST owns the conversation: the desktop (wm's
# slide-in chat pane) or an app that embeds the chat panel itself. The host's
# engine aggregates every connected service into one tool table, drives the
# model, routes each call to the service that owns it, and shows the result.
#
# `wire` + `port` are what every app links (platform-only, no widgets, no
# model runtime). The `engine` feature is what a host links: the agent seam,
# the hub's providers and the local model election.
#
# Design of record: local/agent_state/aichat/DESIGN.md
[package]
name = "makepad-ai-services"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "What an app exposes to a central AI chat (manifest, tools, calls, results) and the engine that drives many apps from one conversation"
[features]
default = []
# The real models: the hub's local engine and its cloud providers. Off by
# default so an app that only exposes a service never links a model runtime.
engine = ["makepad-ai-hub"]
[dependencies]
makepad-platform = { path = "../../../platform" }
makepad-micro-serde = { path = "../../micro_serde" }
makepad-strict-json = { path = "../../strict_json" }
makepad-ai-hub = { path = "../hub", default-features = false, features = ["llm"], optional = true }