Download the PHP package finity-labs/fin-sentinel without Composer

On this page you can find all versions of the php package finity-labs/fin-sentinel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package fin-sentinel

FinSentinel for Filament

finity-labs-fin-sentinel

FILAMENT 4.x FILAMENT 5.x Latest Version on Packagist Tests Code Style Total Downloads License

A Filament plugin that catches exceptions and emails them to your team, gives you a one-liner debug mail channel, and lets you browse log files from the admin panel -- no SSH required.

Features

AI Error Analysis

When laravel/ai is installed and the operator opts in, error emails carry a short suggestion section at the top of the body, generated by the provider you pick. The section is fully translated across 58 locales. The base package stays lean — laravel/ai is in suggest, not require, so v1.0 installs upgrade with zero behavior change until AI is explicitly enabled.

Configure provider, model, API key, prompt template, hourly cap, and cache TTL from the Error Channel settings page. The API key is stored encrypted at rest and injected into the SDK config per-call (never written to .env). A "Test" action button next to the API key validates the credentials with a one-shot SDK call without saving or sending an email.

Provider compatibility

The AI feature uses laravel/ai, which supports nine text-capable providers: Anthropic, Azure OpenAI, DeepSeek, Gemini, Groq, Mistral, Ollama, OpenAI, and xAI.

Tested in production with:

If you've successfully used another provider with FinSentinel, open an issue telling me which provider, model, and roughly what your traffic looks like — I'll add it to the list and credit you.

Cost protection

A per-hour call cap and a three-strike circuit breaker (5-minute open window with half-open probe) sit between every error and the SDK call. Successful suggestions are cached by normalized exception fingerprint, so repeated occurrences of the same error reuse the previous answer for free. Token usage (last call + current month total) is shown on the settings page.

Requirements

Installation

The install command will:

Non-interactive install

Pass panel IDs as arguments to skip the interactive prompt:

In non-interactive mode (e.g., CI), the command registers the plugin in all discovered panels automatically.

Register the plugin

If you skipped the automatic registration during install, add it to your panel provider manually:

Plugin options

The canAccess closure controls who can see all Sentinel pages. When omitted, every authenticated panel user has access. When Filament Shield is installed, its page-level permissions take priority.

The settingsCluster option lets you move the Error Channel and Debug Channel settings pages into a different cluster (e.g., a shared "Settings" cluster in your app). By default, they live in the built-in FinSentinelSettings cluster.

Usage

Error Notifications

Once installed, the error channel works automatically -- there's no code to write. When an exception or message is logged at error, critical, alert, or emergency level, FinSentinel catches it, formats the stack trace and request context, scrubs sensitive data, and emails it to your configured recipients. Lower-severity log events (debug, info, notice, warning) are always ignored -- use the debug channel for ad-hoc inspection instead.

To get started, open the Error Channel Settings page in your admin panel and:

  1. Toggle the channel on
  2. Add one or more recipient email addresses
  3. Save

That's it. Errors will start arriving in your inbox.

You can also configure:

To customize the error email template, publish the views:

Debug Channel

The debug channel gives you a quick way to email yourself any variable, model, or collection for inspection. It's like dd() but it lands in your inbox instead of killing the request. Every FinSentinel::debug() call also writes a Log::debug() entry, so you always have a log trail regardless of whether the email is enabled.

Using the Facade

When you call ->send(), the email goes out synchronously. If you don't call ->send(), the builder queues the email automatically when it's garbage collected -- so you won't accidentally forget to send it.

Using the Event

If you prefer events (useful in queued jobs or when you don't want to import the Facade):

The event listener always queues the email.

Note: The debug channel must be enabled in the admin settings before emails will be sent. The Facade and event both check the debug_enabled setting.

Log Viewer

The log viewer lets you browse your Laravel log files from the admin panel. You'll find two pages under the Sentinel navigation group:

Log File List -- Shows all .log files in your storage/logs directory with file size and last modified date. From here you can:

Log Entry Viewer -- Displays individual log entries with:

The parser uses a two-pass approach (index first, then parse) so it can handle large log files without running out of memory.

Settings

FinSentinel has two settings pages, both accessible from the admin panel:

Configuration

Publish the config file:

The config file (config/fin-sentinel.php) contains:

Email layout -- Controls the max-width of error and debug notification emails. Stack traces and data tables benefit from extra space, so the default is wider than standard emails:

The log file attachment email uses Laravel's default 600px width since it's a simple message.

Sensitive data scrubbing -- Values matching these keys are replaced with [REDACTED] in error and debug emails:

Each category targets a different data source. Keys are matched case-insensitively. Add your own keys to any category as needed.

Customization

Tag What it publishes
fin-sentinel-config Configuration file
fin-sentinel-migrations Settings migrations
fin-sentinel-views Email templates (error and debug)
fin-sentinel-translations Translation files

Filament Shield Integration

FinSentinel pages use the HasPageShieldSupport trait, which integrates with Filament Shield for page-level permissions. Shield is entirely optional -- without it, all pages are accessible to any authenticated user.

If you use Shield, generate the permissions:

Uninstalling

Run the uninstall command before removing the package:

The uninstall command will:

Use --force to skip confirmation prompts.

Testing

License

MIT

Screenshots

🤖 AI Error Analysis
**AI Settings** Pick a provider, store an encrypted API key, and tune the prompt template, hourly cap, and cache TTL. ![ai-settings](https://github.com/user-attachments/assets/a04704f8-2b26-43ba-b939-039a92cce338)
🔍 Log Browser & Viewer
**Log Browser Dashboard** Browse, download, email, or delete system logs directly from the panel. ![log-files](https://github.com/user-attachments/assets/614c9038-7fab-484d-95b5-7cc1c749a456) **Detailed Log Viewer** Inspect individual log files and filter by log severity levels. ![view-log-file](https://github.com/user-attachments/assets/9390d89c-1a56-4437-9d14-e23f36ca7dd2) **Email Log Files** Send specific `.log` files straight to your team. ![email-log-files](https://github.com/user-attachments/assets/63a221b3-5421-4f07-9617-a3f2032112ad)
⚙️ Channel Settings
**Error Channel Settings** Configure recipients, set throttling rates, and ignore specific exceptions. ![error-channel-settings](https://github.com/user-attachments/assets/d5f79c74-6596-4707-abdf-99f1b3d390c4) **Debug Channel Settings** Manage your debug notifications with dedicated recipient lists. ![debug-channel-settings](https://github.com/user-attachments/assets/dede5577-a8cd-4162-a373-c264c6b28f60)
📧 Email Notifications
**Exception Alerts** Get instantly notified with a clean stack trace when things break. ![exception-email-sample](https://github.com/user-attachments/assets/eb59ed99-90c2-42e3-a51d-3ed69b0ae698) **One-Liner Debug Emails** Trigger formatted debug emails containing environment details and custom payloads. ![debug-email-sample](https://github.com/user-attachments/assets/ca845a13-3f1a-4be1-9b69-cab9e50639f3)

All versions of fin-sentinel with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
filament/filament Version ^4.0|^5.0
filament/spatie-laravel-settings-plugin Version ^3.0|^4.0|^5.0
illuminate/contracts Version ^11.0|^12.0|^13.0
spatie/laravel-package-tools Version ^1.16
spatie/laravel-settings Version ^3.0|^4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package finity-labs/fin-sentinel contains the following files

Loading the files please wait ...