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