# API catalogue {#api-catalogue}


All items below are exported from `yuka-kit` unless an entry
point is named explicitly. Prefer the smallest primitive that expresses the
game rule; the library intentionally avoids a single opaque AI controller.


## World and movement {#world-and-movement}


| Need | API |
| --- | --- |
| World lifecycle | `createEntityManager`, `manage`, `stepAI` |
| Vehicles | `createVehicle`, `createCombatVehicle` |
| Steering | `addBaseBehaviors`, `addFlockingBehaviors`, `seek`, `flee`, `arrive`, `pursuit`, `evade`, `wander` |
| Path following | `followWaypoints`, `clearDirectionalBehaviors` |
| Grid navigation | `astar` |
| Sight and projectile safety | `createVisionSensor`, `inVisionCone`, `hasAabbLineOfSight2D`, `hasAabbProjectileClearance2D` |
| Sight that depends on light | `lightScaledRange`, `inLitVisionCone`, `createLitVisionSensor` |
| Hearing | `createHearingSensor`, `perceiveNoise`, `attenuateNoise`, `NoiseBuffer`, `validateNoiseEvent` |
| Per-target memory | `PerceptionMemory`, `validatePerceptionMemorySnapshot` |


## State and arbitration {#state-and-arbitration}


| Need | API |
| --- | --- |
| Combat state machine | `createFsm`, `PatrolState`, `ChaseState`, `AttackState`, `FleeState`, `DeadState` |
| Generic goals | `createBrain`, `BrainRegistry`, evaluators, `createBrainForType` |
| Action planning | `yuka-kit/goap`: `planGoap`, `GoapActionRegistry`, `GoapPlanGoal`, `GoapGoalEvaluator`, `pursueGoap` |
| Boss phases | `createBossBrain`, `BossBrain`, `BossPhaseConfig` |
| Combat proposals | `TacticalCombatAgent`, `BossTacticalAgent` |
| Class playthrough decisions | `createClassGovernor`, `ClassGovernor` |


## Content orchestration and persistence {#content-orchestration-and-persistence}


| Need | API |
| --- | --- |
| Encounter rolls | `EncounterDirector`, `generateFormation`, `SeededRandom` |
| NPC schedules | `RoutineAgent`, `resolveRoutineTarget`, `resolveStateAwareRoutineTarget` |
| Snapshot validation | `validateFsmStateSnapshot`, `validateEncounterDirectorSnapshot`, `validateRoutineAgentSnapshot`, `validatePerceptionMemorySnapshot`, `validateGoapPlanSnapshot` (goap entry) |
| Stable proposals | `deriveDeterministicIdentity`, `validateSemanticCommandProposal`, `selectSemanticCommandProposal` |
| Koota bridge | `yuka-kit/koota`: `AIBridge`, `AIMemory`, `AIHearing`, `AIAwareness`, `AIPerceptionMemory`, `AIState`, `Intent`, `YukaRef` |
| RPGJS Solo bridge | `yuka-kit/solo`: `SoloAIBridge`, `SoloCommandAdapter`, strict envelope helpers |

Every returned `AgentIntent` is descriptive: it is not a side effect. See the
[agent integration contract](https://jonbogaty.com/yuka-kit/agent-integration/index.md) for the validation and
authority sequence.
