@decaf-ts/integrations centralizes reusable helpers for Keycloak, Kibana, Nest-style auth, and org-based authorization scaffolding.
@decaf-ts/integrations@decaf-ts/integrations/graph@decaf-ts/integrations/graph/shared@decaf-ts/integrations/nest/graph@decaf-ts/integrations/keycloak@decaf-ts/integrations/kibana@decaf-ts/integrations/nest@decaf-ts/integrations/namespaces@decaf-ts/integrations/loader@decaf-ts/integrations/plugins@decaf-ts/integrations/plugins/kibana@decaf-ts/integrations/plugins/superset
- Graph engine, backend node catalogue, and run lifecycle (DECAF-50). The engine executes canonical
GraphWorkflowDocuments only: the nine-stage validation gate resolves every node kind against the trusted backend catalogue, rejects inline client definitions (node/definition/executor/execute/ports/componentfields), and rejects unsafe prototype keys (__proto__/prototype/constructor). Node executors implement the §4.9 request contract (GraphNodeExecutionRequestseparatesparameters/credentials/metadatafrominputs); the legacy input-only executor adapter was removed at the P7 cutover. The Nest module exposes the catalogue API (GET /graph/node-types*), document persistence (PUT|GET /graph/workflows/{id},POST /graph/workflows/validate), and the asynchronous run lifecycle (POST /graph/runs→202witheventsUrl/resultUrl, run-scoped authorized replayable SSE viaGET /graph/runs/{runId}/events,DELETE /graph/runs/{runId}for cancellation).POST /graph/executeand the globalGET /graph/eventsstream are deprecated (kept, not removed): the run lifecycle is the primary execution path. TheGRAPH_CANONICAL_DOCUMENT_ENABLEDrollout flag was removed at cutover — the canonical path is the sole default. - Keycloak provisioning helpers for realms, users, roles, identity providers, and client-scoped role wiring.
- Kibana provisioning helpers for spaces, data views, dashboards, and realm-specific access control, including a fluent
KibanaIndexBuilder(Builder Pattern) for constructing index pattern configurations with exact match, prefix/glob, and logger-generated matching modes. - Nest-style JWT helpers for extracting Keycloak roles, namespace scopes, and user context from access tokens, plus the
namespace(...)model decorator for auth-scoped metadata. - Org-based authorization scaffolds for tenants, org units, principals, roles, permissions, grants, effective permissions, storage bindings, and authorization payload filters.
- Dynamic object-loading helpers for models, adapters, repositories, services, controllers, environment objects, Angular components, and graph nodes.
- BI dashboard embed plugins (Kibana + Superset) with a shared DOM-free
DashboardEmbedPlugincontract. The Kibana plugin is generated source + installer; the Superset plugin is a patch-and-build strategy that modifies Superset's internal embedded frontend and SDK source. Both expose the exact same API and are org-agnostic (no space switching).
- Each subpath can be imported independently.
- Peer dependencies are marked optional so consumers only install what they actually use.
- The package is intended to be consumed from the Decaf workspace, but it is self-contained at the source level.