Artefacten
Met artefacten kun je duurzame workflowresultaten opslaan zonder de inhoud van de hoofdstatus van de workflow te vergroten.
Ze zijn geschikt voor conceptdocumenten, geëxtraheerde JSON-plannen, citaten, bronmanifesten, gegenereerde bestandspaden of momentopnamen van prompts en antwoorden die je later wilt inspecteren. Dit is vooral handig voor agentworkflows, waarbij de uiteindelijke status klein en leesbaar moet blijven, ook al kan elke run grote tussentijdse resultaten opleveren.
Waarom artefacten in plaats van workflowstatus
Workflowstatus is ideaal voor de kleine openbare gegevens die de volgende stap meteen nodig heeft.
Artefacten zijn beter geschikt wanneer de uitvoer groter is dan normale statuswaarden, vooral bedoeld is voor latere inspectie, nuttig is voor beoordeling of export, of simpelweg beter als benoemde uitvoer kan worden gemodelleerd dan als één groot statusobject.
Een artefact opslaan voor de huidige workflowstap
Wanneer code al binnen een workflowstap wordt uitgevoerd, gebruik je Queuety::put_current_artifact():
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 voegt automatisch de huidige workflow-ID en stapindex toe.
Een artefact opslaan buiten de workflow
Als je de workflow-ID al weet, gebruik je Queuety::put_artifact():
Queuety::put_artifact(
$workflow_id,
'research_brief',
"# Research Brief\n\nDone.",
'markdown',
metadata: [ 'reviewed_by' => 'editor@example.com' ],
);
Artefacten teruglezen
$artifact = Queuety::workflow_artifact( $workflow_id, 'draft' );
$artifacts = Queuety::workflow_artifacts( $workflow_id );
Elk artefactrecord bevat de velden key, kind, content, metadata, step_index, created_at en updated_at. Queuety::workflow_artifacts() laat content weg, tenzij je true als tweede argument meegeeft.
Integratie met de workflowstatus
Queuety::workflow_status() bevat nu een beknopt artefactoverzicht:
$status = Queuety::workflow_status( $workflow_id );
echo $status->artifact_count; // 2
print_r( $status->artifact_keys ); // ['draft', 'citations']
Zo blijven artefacten zichtbaar zonder dat hun volledige inhoud in de statusuitvoer wordt opgenomen.
CLI
Artefacten voor een workflow weergeven:
wp queuety workflow artifacts 42
Eén artefact met inhoud weergeven:
wp queuety workflow artifact 42 draft
Zie CLI voor de volledige opdrachtreferentie.
Exports en opnieuw afspelen
Artefacten worden opgenomen in workflowexports en gekopieerd naar opnieuw afgespeelde workflows.
Zo blijven agentruns met artefacten inspecteerbaar wanneer je ze tussen omgevingen verplaatst of een run opnieuw maakt vanuit de geëxporteerde uitvoeringsgeschiedenis.