Plugins
Plugin Availability
Understand City registration state and runtime availability.
Plugin Availability
Two facts matter:
- whether the Plugin is registered in City and therefore projected to every Agent;
- whether the current Agent/Workspace satisfies the Plugin's
availability()check.
const plugins = city.plugins.scope({ agent_id: agent.id, workspace_id: workspace.id });
plugins.has("skill");
plugins.status("skill");
await plugins.availability("skill");A newly added Plugin is initializing until start completes, then becomes ready. A failed start
produces error. An ordinary Action business failure does not change the Plugin's global state.
availability() only answers whether the Plugin can work in the current Context—for example whether
a provider, dependency, model, or credential is ready. It does not bind Plugins to Agents; all City
Plugins are always visible to all City Agents.