Strip exposure layer: pure agent framework + model/agent observability (v26.05.33)#259
Merged
Conversation
added 5 commits
May 31, 2026 14:34
Delete the fireflyframework_agentic.exposure package, its extras, exception classes, REST-serving config fields, CI flags, docs, and example references. The framework is now a pure in-process library; serving is owned by the host. BREAKING CHANGE: removes the exposure public API and the rest/queues extras.
Remove global OTel exporter wiring (configure_exporters), W3C trace-context propagation, WebhookSink, and the otlp_endpoint config. The framework emits agent spans/metrics via the OTel API; the host owns SDK/exporter setup. BREAKING CHANGE: removes configure_exporters, the trace-context propagation helpers, WebhookSink, and otlp_endpoint.
Delete security.rbac (RBACManager/require_permission), the rbac_* config fields, and pyjwt from the security extra. Keep prompt_guard/output_guard/ encryption. Inbound authZ is now a host concern. BREAKING CHANGE: removes RBACManager, require_permission, and rbac_* config.
The pgvector work (v26.05.31) left three vectorstores files unformatted and omitted the vectorstores-pgvector extra from the Test/nightly jobs, so pgvector unit+integration tests failed with 'ImportError: asyncpg is required'. Apply ruff-format and install vectorstores-pgvector in the Test/nightly CI jobs. Unrelated to the exposure removal; surfaced because pr-gate runs only on PRs.
| async def upsert( | ||
| self, documents: list[VectorDocument], *, tenant_id: str, workspace_id: str | ||
| ) -> None: ... | ||
| async def upsert(self, documents: list[VectorDocument], *, tenant_id: str, workspace_id: str) -> None: ... |
ancongui
added a commit
that referenced
this pull request
May 31, 2026
Strip exposure layer: pure agent framework + model/agent observability (v26.05.33)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reduces
fireflyframework-agenticto a pure in-process agent-building library + model/agent observability. Serving/hosting is owned by the consuming service. Continues the lean-the-framework arc (after the RAG/MCP removal).Commits (one per concern)
exposure/package (FastAPI host + Kafka/RabbitMQ/Redis hosts), therest/kafka/rabbitmq/redis/queuesextras,ExposureError/QueueConnectionError, and the REST-serving config (auth_api_keys/auth_bearer_tokens/cors_allowed_origins); drops--extra restfrom CI.configure_exporters(global OTel SDK wiring), W3C trace-context propagation,WebhookSink, andotlp_endpoint. Keepsobservability_enabledand all agent span/metric/usage/cost/budget/quota APIs. The framework emits via the OTel API; the host configures exporters.RBACManager/require_permission,rbac_*config, andpyjwt(keepscryptography+ encryption/prompt/output guards).experiments/labas optional leaf modules.BREAKING CHANGES
Removed public API: the
exposurepackage +rest/queuesextras,ExposureError/QueueConnectionError,configure_exporters/trace-context propagation/WebhookSink,RBACManager/require_permission, and the config fieldsotlp_endpoint/auth_api_keys/auth_bearer_tokens/cors_allowed_origins/rbac_*. Stale values for these now raise a migration error.Verification
ruffclean;pytest1302 passed / 0 failed (all extras);pyrightonly pre-existing third-party-stub errors in untouched chroma/qdrant/google/voyage providers.26.05.32→26.05.33; CHANGELOG +uv.lockupdated.