SIGNALS Documentation
API Reference

Plugin SDK coming soon

Honest roadmap for Plugin SDK capabilities that are not shipped yet — the only place aspirational plugin documentation may live.

About this page

Everything below is planned or deferred. It is not available as a stable App\Sdk / PluginRegistrar surface on this branch unless a bullet explicitly says a related core contract already exists.

Shipped guides start at Plugin SDK.


Recently shipped

These entries have left this page. They are documented on the DataTable SDK page and demonstrated by plugins/signals/slots-demo.

Was Shipped as
Query builder / record list API PluginRegistrar::datatable() — a declared datatables[] table resolved into mount params for the shared components.data-table component, with searchable, scopes, default_sort, with / with_counts and per-page shaping
Column registration seam The definition's columns[] config — key, label, sortable/filterable flags, filter types, and renderers, validated as the plugin boots
Custom list views (plugin-owned) Plugin tables inherit the core list machinery, including saved live filters, column toggles, and CSV export

A programmatic mediated query facade for plugin PHP (Signals::query()-style list/filter beyond single-id read) is still deferred — see below.

Data layer

Item What / why later
Programmatic query facade List/filter from plugin PHP beyond single-id read; deferred until a mediated query surface exists that preserves allowlists and audits. The declarative datatable seam covers listing UI today
Named domain scopes Safer reusable query scopes without exposing Eloquent
raw_read Controlled escape hatch for advanced reads; high risk of leaking undeclared fields
Core API response filters Let plugins shape REST payloads; needs stable filter contracts and performance review

HTTP & integrations

Item What / why later
Plugin inbound webhooks Receive third-party callbacks into plugin code with auth + routing; outbound HTTP allowlist is shipped today
Dedicated plugins queue Isolate slow sync jobs from default; naming / Horizon config TBD

UI

Item What / why later
Install-time capability summary UI Richer Plugins admin summary of declared capabilities at install
Marketing-style plugin listings in the Plugins admin Warehouse-front detail panels in the manager UI. (Plugin-owned UI pages — nav + pages[] rendered at /plugins/{vendor}/{name}/{page} — are shipped; see Plugin UI)
Marketplace / browse Discover and install plugins from a catalogue

Import / export

Item What / why later

Hooks & automation

Item What / why later
Decorator core call-sites Handlers + dispatcher exist; core does not yet invoke Decorator at domain call-sites. Validator (assignment.creating) and Filter (assignment.query) call-sites shipped in P8A-13′. Event + AuditableEvent bridges remain shipped.
Workflow / approval / report / widget seams (Phase 7C–F) Stable plugin APIs for workflows, approvals, reports, dashboard widgets beyond slot injection

Testing & DX

Item What / why later
Remaining SDK test utilities (plugin-system §14) Beyond MakesPluginManifests, FakesPluginHooks, InstallsFixturePlugins — HTTP/slot spies and richer fakes

Scanning

Item What / why later
Scan context handlers as first-class SDK chapters Phase 5 scanning contracts exist in core; deeper plugin-facing docs/API polish TBD

Do not rely on these yet

If a tutorial or agent prompt mentions programmatic query builders, inbound plugin webhooks, import registrar methods, or workflow plugin APIs as if they were shipped, treat that as outdated. The shipped surface is: Event hooks + data facade, slots (all families + modals.global), nav groups + config-driven pages, datatables (datatable() / datatableSlot() and the datatable page section), palette providers, recents, plugin notifications (Signals::notify), and provided events (Signals::emit) — documented in the other Plugin guides and demonstrated end-to-end by plugins/signals/slots-demo/.