lace-app-sdk
lace-app-sdk module reference
Every module published by lace-app-sdk — what it re-exports, where to read more, and whether it needs the live lace runtime.
New to the SDK? Start at the SDK itself — facade, not fork (two installs, lazy binding, _contracts layer) then quickstart.
Modules
| Module | What it gives you | Needs runtime? |
|---|---|---|
lace_app_sdk.manifest | LaceAppManifest — canonical app declaration; routes, tools, pipelines, agents, data, UI, schedules, migrations. Pure _contracts layer. Guide → | No |
lace_app_sdk.data | AppDataCollectionSchema, AppDataService, put_blob/get_blob, BlobStore — Plane 1 (RDS) + Plane 2 (blobs). Guide → | Contracts: no; Service/blob: yes |
lace_app_sdk.tools | @tool, AppToolDescriptor, AppToolRegistry — process-local, (app_id, tool_id)-scoped. Guide → | No |
lace_app_sdk.agents | AgentDefinition, AppAgentProvider, capabilities, LoopGuardConfig, HookRegistry, GuardrailRegistry, make_default_app_agent. Guide → | Yes |
lace_app_sdk.skills | AgentSkill — reusable in-loop behaviours (in_loop_skills + use_skill progressive disclosure). Guide → | Yes |
lace_app_sdk.pipelines | AppPipelineProvider — typed workflow graphs compiled by the same compiler the platform runs. Guide → | Yes |
lace_app_sdk.routes | AppRouteProvider, AppRouteContext, AppRouteMetadata — FastAPI routes at /apps/<app_id>/api/*. Guide → | Yes |
lace_app_sdk.connectors | Connector capability manifest + runtime protocol (capability-scoped sync). Guide → | Yes |
lace_app_sdk.memory | register_axis_type, register_formation_hook, form_axis_memories — custom memory axes. | Yes |
lace_app_sdk.policy | AppPolicyProvider — access & action rules (RBAC supplementary). Guide → | Yes |
lace_app_sdk.migrations | AppDataMigrations — collection evolution via platform lifecycle. | Yes |
lace_app_sdk.ui | AppRuntimeUiDeclaration — Module Federation remote at /ui/manifest.json. Guide → | No (declaration) |
lace_app_sdk.testing | Proof harness — typecheck / build / route_smoke / tool / permission / app_data lanes. Guide → | Yes |
lace_app_sdk.blob / cache / secrets / jobs | put_blob, BlobStore, cache helpers, get_secret, job handlers. Guide → | Mixed |
Top-level lifted symbols
Available as import lace_app_sdk; lace_app_sdk.LaceAppManifest:
LaceAppManifest,write_app_manifestAppDataCollectionSchema,AppDataService,AppDataCreateRequest,AppDataQueryRequest,put_blob,get_blobtool,AppToolDescriptor,AppToolRegistryAppRouteProvider,AppAgentProvider,AgentDefinition,AppAgentRunner,AppPipelineProvider,AppPolicyProvider,AgentSkillregister_axis_type,register_formation_hook,form_axis_memories,get_secret,get_setting
See src/lace_app_sdk/__init__.py — _SUBMODULES + _LIFTED_SYMBOLS — for the full map.
Where to read deeper
- Manifest reference — every
LaceAppManifestfield - Data collections & blobs — dual-plane rule + CRUD
- Tools —
@tool+ registry + policy - Agents & skills — loop guards, skills, hooks, guardrails
- Pipelines — control-flow primitives + durability
- Routes & UI — sidecar mounting +
/ui/manifest.json - Testing & proof lanes — what
lace-app testchecks - CLI reference — every verb + flags
Publishing lifecycle
Every app — generated or hand-written — publishes through the same audited lifecycle: intent → architect → scaffold → validate → proof lanes → seal → publish. There is no faster, less-governed path because the code came from a model. See publishing & releases.