matteocacciola / grinning-cat-php-sdk
Grinning Cat PHP Sdk
Package info
github.com/matteocacciola/grinning-cat-php-sdk
pkg:composer/matteocacciola/grinning-cat-php-sdk
dev-master
2026-03-07 23:34 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- phpdocumentor/reflection-docblock: ^5.3
- phrity/websocket: ^2.0
- symfony/property-access: ^7.0
- symfony/serializer: ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2026-03-07 23:34:30 UTC
README
Grinning Cat PHP SDK is a library to help the implementation of Grinning Cat on a PHP Project
Installation
To install GrinningCat PHP SDK you can run this command:
composer require matteocacciola/grinning-cat-php-sdk
Usage
Initialization and usage:
use DataMat\GrinningCat\GrinningCatClient; use DataMat\GrinningCat\Clients\HttpClient; use DataMat\GrinningCat\Clients\WSClient; $grinningCatClient = new GrinningCatClient( new WSClient('grinning_cat_core', 1865, null), new HttpClient('grinning_cat_core', 1865, null) );
Send a message to the websocket:
$notificationClosure = function (string $message) { // handle websocket notification, like chat token stream } // result is the result of the message $result = $grinningCatClient->message()->sendWebsocketMessage( new Message("Hello world!", 'user', []), // message body $notificationClosure // websocket notification closure handle );
Load data to the rabbit hole:
//file $promise = $grinningCatClient->rabbitHole()->postFile($uploadedFile->getPathname()); $promise->wait(); //url $promise = $grinningCatClient->rabbitHole()->postWeb($url); $promise->wait();
Memory management utilities:
$grinningCatClient->memory()->getMemoryCollections(); // get number of vectors in the working memory $grinningCatClient->memory()->getMemoryRecall("HELLO"); // recall memories by text //delete memory points by metadata, like this example delete by source $grinningCatClient->memory()->deleteMemoryPointsByMetadata(Collection.Declarative, ["source" => $url]);