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.