From 29625c462b7cf3037b4a8177fb50d48861f4ef89 Mon Sep 17 00:00:00 2001 From: Snider Date: Wed, 4 Mar 2026 18:35:44 +0000 Subject: [PATCH] fix: restore Routes/api.php after case-sensitive rebase conflict macOS case-insensitive filesystem caused routes/api.php removal to also delete Routes/api.php during rebase. Co-Authored-By: Virgil --- Routes/api.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Routes/api.php diff --git a/Routes/api.php b/Routes/api.php new file mode 100644 index 0000000..3e6add2 --- /dev/null +++ b/Routes/api.php @@ -0,0 +1,60 @@ +group(function () { + // Plans (read) + Route::get('v1/plans', [AgentApiController::class, 'listPlans']); + Route::get('v1/plans/{slug}', [AgentApiController::class, 'getPlan']); + + // Phases (read) + Route::get('v1/plans/{slug}/phases/{phase}', [AgentApiController::class, 'getPhase']); + + // Sessions (read) + Route::get('v1/sessions', [AgentApiController::class, 'listSessions']); + Route::get('v1/sessions/{sessionId}', [AgentApiController::class, 'getSession']); +}); + +Route::middleware(AgentApiAuth::class.':plans.write')->group(function () { + // Plans (write) + Route::post('v1/plans', [AgentApiController::class, 'createPlan']); + Route::patch('v1/plans/{slug}', [AgentApiController::class, 'updatePlan']); + Route::delete('v1/plans/{slug}', [AgentApiController::class, 'archivePlan']); +}); + +Route::middleware(AgentApiAuth::class.':phases.write')->group(function () { + // Phases (write) + Route::patch('v1/plans/{slug}/phases/{phase}', [AgentApiController::class, 'updatePhase']); + Route::post('v1/plans/{slug}/phases/{phase}/checkpoint', [AgentApiController::class, 'addCheckpoint']); + Route::patch('v1/plans/{slug}/phases/{phase}/tasks/{taskIdx}', [AgentApiController::class, 'updateTask']) + ->whereNumber('taskIdx'); + Route::post('v1/plans/{slug}/phases/{phase}/tasks/{taskIdx}/toggle', [AgentApiController::class, 'toggleTask']) + ->whereNumber('taskIdx'); +}); + +Route::middleware(AgentApiAuth::class.':sessions.write')->group(function () { + // Sessions (write) + Route::post('v1/sessions', [AgentApiController::class, 'startSession']); + Route::post('v1/sessions/{sessionId}/end', [AgentApiController::class, 'endSession']); + Route::post('v1/sessions/{sessionId}/continue', [AgentApiController::class, 'continueSession']); +});