extension package type to tool with a new 1:1 model: one tool package = one callable capabilityentrypoint (path to implementation source) and tool object (name, description, inputSchema)pi.registerTool() / execute(toolCallId, params, signal) / { content: [...] } patterns from tool implementationsregistryDependencies.extensions to registryDependencies.tools in all schemas (flow, skill, tool)requires.extensions to requires.tools in flow schemaextension.schema.json to tool.schema.jsonextension-minimal/ example to tool-minimal/Initial release of the Agent Flow Packaging Standard (AFPS) v1.0.
spec.md) — 11 sections, 4 appendicesprimer.md) for newcomersflow.schema.json, skill.schema.json, tool.schema.json, provider.schema.json$id URIs at https://afps.appstrate.dev/schema/flow-minimal/ — bare minimum flow packageflow-full/ — comprehensive flow with all optional fieldsskill-minimal/ — minimal skill package with SKILL.mdtool-minimal/ — tool with TypeScript sourceprovider-oauth2/ — OAuth2 provider (Gmail)provider-apikey/ — API key provider (OpenAI)provider-basic/ — HTTP Basic authentication providerafps.appstrate.dev