Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Open Functions Core Laravel Package

assistant-engine/open-functions-core

Open Functions Core provides foundational PHP/Laravel abstractions for defining, registering, and executing Open Functions. It includes schemas, registries, and tool-calling primitives so applications can expose callable tools to AI assistants and agent workflows consistently across PHP frameworks.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. assistant-engine/open-functions-core is a framework-agnostic PHP library positioned as the domain layer for LLM function/tool calling: it defines function schemas, standardizes message handling, and formats responses back to the model. Architecturally it is a sensible seam between our application services and the provider API — it fills the "tool calling" gap without owning transport. The "core" naming implies it is one half of a pair and expects adapter packages (e.g., provider-specific drivers) to be functional; we should evaluate it as a family, not a single dependency. Risk of overlap with existing provider SDKs (OpenAI PHP SDK, etc.) is real — we must decide whether this replaces or wraps them, not run both.

Integration feasibility. Composer-installable, PSR-4 namespaced, low ceremony for a Laravel codebase that is already PHP 8.1+. The honest effort is not composer require — it is installing the right adapter, wiring a driver, and writing a thin anti-corruption layer so package types do not leak into domain code. Feasible in a 1–2 day spike.

Technical risk — high. Zero stars, zero score, zero dependents is the headline: no evidence of production use, no ecosystem validation, no community-reported failure modes. LLM tool-calling is a fast-moving target (schema drift, streaming partial tool calls, parallel calls), and a small/unknown maintainer surface is an abandonment risk. Pre-1.0 packages commonly ship BC breaks. The library also encodes the author's own "Open Functions" convention, which providers' native function calling can supersede.

Key questions.

  • Is there a stable semver (≥1.0) and a public release cadence?
  • Who maintains it — company-backed or solo? Is there a support channel?
  • Which providers/adapters exist and are they current with API changes?
  • How are streaming and parallel tool calls handled? Partial JSON?
  • Can we unit-test function execution against mocked responses (no live API)?
  • What are the guardrails on function execution and argument validation?
  • License compatibility, and what is the transitive dependency footprint?

Integration Approach

Stack fit. PHP/Laravel is a match. If the library is truly framework-agnostic, wrap it in our own FunctionRegistry/LlmClient interfaces and bind them through the Laravel service container; register function definitions in a config file or service provider and keep controllers thin. If it ships a Laravel service provider, prefer that but keep our interface boundary intact.

Migration path. Greenfield adoption, not a replacement — pilot it on one internal, non-customer-facing feature (e.g., an internal assistant or summarizer). Abstract behind ports from day one so swapping to native SDK calls or another package is a config change, not a rewrite.

Compatibility. Verify PHP constraint, Guzzle/PSR/logging dependency versions against our current lockfile, and Laravel version support. Confirm the adapter versions match the LLM provider APIs we actually call. Watch for conflicts if we already have a provider SDK installed.

Sequencing.

  1. composer require in a sandbox branch; inspect the full dependency tree and license.
  2. Define our interface boundary (function registry, message, response) over the package.
  3. Implement one function end-to-end with one provider, tested against mocked tool-call responses.
  4. Security review: allow-listing, argument schema validation, execution sandboxing.
  5. Pilot behind a feature flag; track latency, error rate, and function-call accuracy.
  6. Decide: adopt, fork, or replace with a provider SDK.

Operational Impact

Maintenance. Assume we may need to fork or vendor it. Pin versions, track upstream releases, and assign a named owner. Pre-1.0 means BC breaks should be expected; budget periodic patch upkeep and a contingency to swap.

Support. Likely community-only (GitHub issues/Discord), no commercial SLA. We need an internal runbook, documented conventions, and an escalation owner before production use.

Scaling. Response/message formatting is stateless and cheap; cost and latency are dominated by the LLM, not this library. The scaling risk is conversation state — if the package accumulates message history, enforce truncation/summarization at our layer or token costs will grow unbounded.

Failure modes. Malformed or ungrounded tool-call JSON from the model; unknown function names; provider schema drift breaking the adapter; partial-stream parse errors; silent fallback to plain text. Mitigate with strict schema validation, an allow-list of callable functions, timeouts/retries, and structured logging of every function invocation.

Ramp-up. Moderate. Engineers must learn both the package's conventions and the underlying function-calling model; docs are unproven. Budget a discovery day, publish internal examples, and maintain a shared catalogue of function definitions so adoption is consistent.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core