Apps
An app gives people an interface to capabilities that agents can also call through
services. The app package pairs a portable definition with public assets. A host
supplies service access, authentication, storage and any model-driven generation.
application, err := app.New(app.Definition{
Name: "notes", Version: "1.0.0",
Entrypoint: "index.html",
Services: []app.Dependency{
{Name: "notes", Endpoints: []string{"Notes.List", "Notes.Add"}},
},
}, publicAssets)
if err != nil { return err }
mux.Handle("/", application.Handler())
publicAssets is an fs.FS containing only public files. New validates the
identity and entrypoint; CheckDependencies(registry) checks declared service
endpoints against registered instances. This check does not establish service
health, compatible request schemas or caller permissions.
Use the handler with net/http or the existing web.Service lifecycle. The host
adds explicit API routes to the same services available as agent tools. The
package does not create a general RPC proxy or grant access from a declaration.
Run the service-backed app example for a complete UI, RPC service and provider-free agent integration test. See the package guide for mounting, asset behaviour and hosting requirements.
This is an initial v6 app definition, not a generation or deployment system. Version identifies a release; revision storage remains with the host. Generated or untrusted apps require host-provided execution isolation and access policy; static asset serving alone does not provide either.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.