PHP code example of hardimpactdev / opencode-sdk-laravel
1. Go to this page and download the library: Download hardimpactdev/opencode-sdk-laravel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hardimpactdev / opencode-sdk-laravel example snippets
use HardImpact\OpenCode\Models\OpenCodeSession;
// Create a session linked to any model via polymorphic relationship
$session = OpenCodeSession::query()->create([
'sessionable_id' => $task->id,
'sessionable_type' => Task::class,
'session_id' => 'ses_xxx',
'workspace' => '/path/to/project',
'provider' => 'anthropic',
'model' => 'claude-sonnet-4-20250514',
'status' => 'created',
]);
// Status helpers
$session->isActive(); // true when status is Active
$session->isIdle(); // true when status is Idle
$session->isTerminal(); // true when status is Completed or Failed
use HardImpact\OpenCode\SessionManager;
$manager = new SessionManager;
// Assess session state by querying the OpenCode API
$assessment = $manager->assess($session);
$assessment->state; // SessionState enum (Active, Idle, Completed, Missing)
$assessment->shouldComplete(); // true when state is Completed or Idle
$assessment->isMissing(); // true when the API session was not found
// With completion pattern matching
$assessment = $manager->assess($session, ['/task completed/i', '/all done/i']);
// Lifecycle transitions (each dispatches a Laravel event)
$manager->activate($session); // → SessionActivated
$manager->markIdle($session); // → SessionBecameIdle
$manager->complete($session); // → SessionCompleted
$manager->fail($session, $msg); // → SessionFailed
$manager->interrupt($session); // → SessionInterrupted
$manager->recover($session); // → SessionRecovered
$part = Part::fromTolerant($data); // returns null if data is invalid, maps unknown enums to Unknown