Skip to main content
fapost/foundation is the public surface. Everything here is what an extension may depend on; nothing under App\… is. See Stability policy.

Extension registration

Flow engine

DTOs: NodeExecutionContext, NodeExecutionResult, NodeExecutionStatus, ExpressionContext, ResolvedTrigger, TriggerContext, CallContext, CallRequest, CallResult. Enums: KeyboardMode, HistoryEventType.

Channels and ingress

DTOs: InboundWebhookPayload, IncomingMessage, IncomingMessageType, IncomingMedia.

Messaging

DTOs: OutboundMessage, MessagePayload, DeliveryResult, OutgoingMessage, OutgoingMessageType, SendResult.

Media

DTOs: UploadContext, UploadResult, DownloadResult. Enum: MediaKind.

Retrieval

Contracts\RagAdapterInterface with RagQueryContext, StructuredRagResult, and RagConfidence.

Analytics

Analytics\Contracts\AnalyticsWriterInterface, with AnalyticsEvent and AnalyticsEventType.

Other

Contracts\ModelAttributeResolverInterface, Contracts\ModelUtilityInterface, Action\ActionHandlerInterface, Support\Version.
Generated PHP API documentation is produced separately with composer run docs:build, which writes Doctum output to public/core. That covers every class in the repository; this page covers the ones you are allowed to depend on.