Download the PHP package aquidify/sdk without Composer
On this page you can find all versions of the php package aquidify/sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package sdk
Short Description PHP client for the Aquidify API, with a Laravel adapter: turn what people type into validated, structured intent.
License MIT
Homepage https://aquidify.com
Informations about the package sdk
Aquidify SDKs
Official clients for the Aquidify API: turn what people type into validated, structured intent your software can act on.
Every extracted item quotes the exact span it came from (raw_text),
uncertainty is kept instead of guessed away, and "unknown" is never confused
with "any". Aquidify interprets; your application decides.
| Language | Folder | Install | Registry |
|---|---|---|---|
| PHP 8.2+ / Laravel | php/ |
composer require aquidify/sdk |
✓ published |
| TypeScript / JavaScript | js/ |
build from source: cd js && npm install && npm run build |
npm @aquidify/sdk, coming soon |
| Go | go/ |
go get github.com/aquidify/sdk/[email protected] |
✓ published |
| Python 3.9+ | python/ |
pip install "git+https://github.com/aquidify/[email protected]#subdirectory=python" |
PyPI aquidify, coming soon |
| Java 17+ | java/ |
cd java && mvn install, then depend on com.aquidify:aquidify-sdk:0.1.0 |
Maven Central, coming soon |
| Rust | rust/ |
aquidify = { git = "https://github.com/aquidify/sdk", tag = "v0.1.0" } |
crates.io aquidify, coming soon |
| curl / any language | curl/ |
nothing to install | — |
Not listed? Generate a client from openapi.yaml, the source
of truth for every SDK here. Output shapes per domain are JSON Schemas in
schemas/.
All clients read AQUIDIFY_API_KEY from the environment when no key is passed.
Keep keys server-side: never ship one to a browser or mobile app.
PHP
Laravel discovers the service provider and facade on its own; publish the
config with php artisan vendor:publish --tag=aquidify-config when you want to
change the base URL or timeout.
Your own task, for any industry (see curl/README.md):
Every SDK can interpret with a task id as the domain, and every SDK registers
tasks: putTask / getTask / listTasks (PHP, TypeScript, Go, Java) and
put_task / get_task / list_tasks (Python, Rust).
Laravel
The PHP package includes a Laravel adapter (auto-discovered): config, a
service provider, the Aquidify facade and a fake for tests.
Tests never touch the network:
Aquidify::fake() replaces both the facade and every injected Interpreter.
Without Laravel, use new FakeClient([...]) directly.
TypeScript / JavaScript
Go
Python
Java
Rust
Search engines: Meilisearch, Algolia, Elasticsearch
Aquidify reads the query; your search engine finds and ranks the documents. Filters (PHP) and
SearchFilters (TypeScript) turn an answer into that engine's filter. You map interpretation fields
to your index attributes; unmapped fields are ignored.
| In the answer | Becomes |
|---|---|
include + required |
a filter; several values for one attribute are OR-ed |
acceptable / conditional |
widens that filter, never filters on its own |
preferred |
a boost only: Algolia optionalFilters, Elasticsearch should (Meilisearch: none) |
exclude + required |
NOT |
{min, max} (salary, price) |
a numeric range |
| "any", or not said | nothing: no filter |
One sentence can describe several searches (hiring intents). Meilisearch and Elasticsearch get them
OR-ed; Algolia cannot OR groups, so run searches() as a multi-query. For Elasticsearch, map text
fields to their keyword sub-field (city.keyword). Translate values into your index's vocabulary with
['attribute' => 'city', 'value' => fn ($v) => ...].
Shops: WooCommerce and Shopify (PHP)
The same Filters turns a shop task's answer into the store's own product search. A
shop's attributes arrive as "colour: red", "size: 42"; by_name sends each name to
its own filter, and names you did not map are ignored, not guessed.
"Red running shoes, size 42, up to €80, just not Nike." becomes a search for running
shoes in red, size 42, at most 80, with Nike excluded (WooCommerce NOT IN). Shopify's
product filters cannot exclude, so the exclusion is reported by shopifyLeftOut()
instead of being dropped silently. Prices are compared as numbers in the store's
currency; convert or drop a price in another currency first.
Errors
Every client raises one error type carrying the HTTP status, the API's
stable code (unauthorized, rate_limited, invalid_request,
model_unavailable, …, or network), the request_id and retry_after, plus
a retryable check. The full table is in curl/. Clients do not
retry on their own: retry retryable errors after retry_after, ideally with
an Idempotency-Key.
Versions
Responses carry parser_version and schema_version. Pin both in production
to keep the shape stable while newer parsers roll out. A released schema version
never changes; changes ship as new versions.
Testing the SDKs
Each SDK has a live smoke test that makes no model calls (it costs nothing):
License
MIT
All versions of sdk with dependencies
ext-curl Version *
ext-json Version *