
# Yapıtlar

Yapıtlar, ana iş akışı durum yükünü şişirmeden kalıcı iş akışı çıktılarını saklamanızı sağlar.

Taslak belgeler, çıkarılan JSON planları, alıntılar, kaynak bildirimleri, oluşturulan dosya yolları veya daha sonra incelemek istediğiniz istem ve yanıt anlık görüntüleri için uygundurlar. Bu özellik özellikle aracı iş akışlarında kullanışlıdır; her çalıştırma büyük ara çıktılar üretebilse de son durum küçük ve okunabilir kalır.

## İş akışı durumu yerine neden yapıtlar

İş akışı durumu, sonraki adımın hemen ihtiyaç duyduğu küçük genel veriler için idealdir.

Çıktı normal durum değerlerinden büyükse, çoğunlukla daha sonra incelenecekse, inceleme veya dışa aktarma arayüzlerinde kullanılacaksa ya da tek bir büyük durum bloğu yerine adlandırılmış bir çıktı olarak modellenmesi daha uygunsa yapıtlar daha iyi bir seçenektir.

## Geçerli iş akışı adımı için yapıt saklama

Kod zaten bir iş akışı adımında çalışıyorsa `Queuety::put_current_artifact()` kullanın:

```php
use Queuety\Queuety;
use Queuety\Step;

final class DraftBriefStep implements Step
{
    public function handle(array $state): array
    {
        $draft = [
            'title' => 'Pricing brief',
            'body' => '...',
        ];

        Queuety::put_current_artifact(
            'draft',
            $draft,
            'json',
            [ 'source' => 'planner' ],
        );

        return [ 'draft_ready' => true ];
    }

    public function config(): array
    {
        return [];
    }
}
```

Queuety geçerli iş akışı kimliğini ve adım dizinini otomatik olarak ekler.

## İş akışının dışından yapıt saklama

İş akışı kimliğini zaten biliyorsanız `Queuety::put_artifact()` kullanın:

```php
Queuety::put_artifact(
    $workflow_id,
    'research_brief',
    "# Research Brief\n\nDone.",
    'markdown',
    metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
```

## Yapıtları geri okuma

```php
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );

$artifacts = Queuety::workflow_artifacts( $workflow_id );
```

Her yapıt kaydı `key`, `kind`, `content`, `metadata`, `step_index`, `created_at` ve `updated_at` alanlarını içerir. `Queuety::workflow_artifacts()`, ikinci bağımsız değişkeni olarak `true` iletilmediği sürece `content` alanını dışarıda bırakır.

## İş akışı durumu entegrasyonu

`Queuety::workflow_status()` artık küçük bir yapıt özeti içeriyor:

```php
$status = Queuety::workflow_status( $workflow_id );

echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
```

Böylece tüm içeriklerini durum çıktısına taşımadan yapıtlar görünür kalır.

## CLI

Bir iş akışının yapıtlarını listeleyin:

```bash
wp queuety workflow artifacts 42
```

Bir yapıtı içeriğiyle birlikte gösterin:

```bash
wp queuety workflow artifact 42 draft
```

Komut başvurusunun tamamı için [CLI](https://queuety.inline0.dev/tr/docs/cli) bölümüne bakın.

## Dışa aktarma ve yeniden oynatma

Yapıtlar iş akışı dışa aktarımlarına eklenir ve yeniden oynatılan iş akışlarına kopyalanır.

Böylece yapıt destekli aracı çalıştırmaları, ortamlar arasında taşıdığınızda veya dışa aktarılan yürütme geçmişinden bir çalıştırmayı yeniden oluşturduğunuzda da incelenebilir durumda kalır.
