Streaming events
Als jestreaming: true inschakelt in SessionConfig, wordt de activiteit tijdens de session als opeenvolgende events afgeleverd.
Deze pagina is een voor Laravel toegankelijk gemaakte versie van de officiële streaming-events.md.
De pagina SessionEvent beschrijft de voor Laravel uitgebreide SessionEvent-klasse zelf.
Deze pagina is een referentie voor “welk eventtype welke data aanlevert”.
Overzicht
Alle verwerking van de Copilot-agent (redeneren, berichten genereren, tools uitvoeren, permissiecontroles, enz.) stroomt binnen als session events.- Ephemeral event: alleen realtime aflevering. Wordt niet gepersisteerd in de sessionlog (wordt niet opnieuw afgespeeld bij hervatten)
- Persisted event: wordt opgeslagen in de sessionlog (wordt opnieuw afgespeeld bij hervatten)
- Delta event: fragmentarische diff-events (zoals
deltaContent). Voeg ze samen om de volledige tekst te vormen parentIdchain: een keten waarin elk event verwijst naar de ID van het vorige event
Event envelope (gedeelde velden)
Alle events hebben de volgende gedeelde structuur.Voorbeeld van abonneren in Laravel
Belangrijkste eventcategorieën
Assistant events
assistant.turn_start
Start van een turn.
turnId(verplicht)interactionId(optioneel)
assistant.intent (ephemeral)
De huidige uitvoeringsintentie (bijv. Exploring codebase).
intent(verplicht)
assistant.reasoning
De voltooide versie van een redeneerblok.
reasoningId(verplicht)content(verplicht)
assistant.reasoning_delta (ephemeral)
Diff van de redeneertekst.
reasoningId(verplicht)deltaContent(verplicht)
assistant.message
Het voltooide bericht van de assistent.
Belangrijkste velden:
messageId(verplicht)content(verplicht)toolRequests(optioneel)reasoningOpaque/reasoningText/encryptedContent(optioneel)phase/outputTokens/interactionId(optioneel)parentToolCallId(optioneel, bij afkomst van een subagent)
assistant.message_delta (ephemeral)
Diff van de berichttekst.
messageId(verplicht)deltaContent(verplicht)parentToolCallId(optioneel)
assistant.turn_end
Einde van een turn.
turnId(verplicht)
assistant.usage (ephemeral)
Gebruiksinformatie per API-aanroep.
Belangrijkste velden:
model(verplicht)inputTokens/outputTokens/cost/duration(optioneel)apiCallId/providerCallId(optioneel)quotaSnapshots/copilotUsage(optioneel)
assistant.streaming_delta (ephemeral)
Ontvangstvoortgang op laag niveau.
totalResponseSizeBytes(verplicht)
Tool execution events
tool.execution_start
Start van een tooluitvoering.
toolCallId(verplicht)toolName(verplicht)arguments/mcpServerName/mcpToolName/parentToolCallId(optioneel)
tool.execution_partial_result (ephemeral)
Gedeeltelijke output tijdens de tooluitvoering.
toolCallId(verplicht)partialOutput(verplicht)
tool.execution_progress (ephemeral)
Voortgangsbericht.
toolCallId(verplicht)progressMessage(verplicht)
tool.execution_complete
Voltooiing van de tooluitvoering (succes/mislukking).
toolCallId(verplicht)success(verplicht)result(bij succes)error(bij mislukking)toolTelemetry/parentToolCallId(optioneel)
tool.user_requested
Toolaanroep op expliciet verzoek van de gebruiker.
toolCallId(verplicht)toolName(verplicht)arguments(optioneel)
Session lifecycle events
session.start
Start van de session. Bij Cloud Sessions is het veilig om de eerste prompt pas te versturen nadat je een session.start met producer gelijk aan copilot-agent hebt gezien.
producer(optioneel)
session.idle (ephemeral)
De huidige verwerking is voltooid en er wordt gewacht op de volgende invoer.
backgroundTasks(optioneel)
session.error
Fout tijdens de sessieverwerking.
errorType(verplicht)message(verplicht)stack/statusCode/providerCallId(optioneel)
session.compaction_start
Start van contextcompaction (data is een leeg object).
session.compaction_complete
Voltooiing van contextcompaction.
Belangrijkste velden:
success(verplicht)error(optioneel)preCompactionTokens/postCompactionTokens(optioneel)summaryContent/checkpointPath(optioneel)
session.title_changed (ephemeral)
Automatische titelupdate.
title(verplicht)
session.context_changed
Wijziging van de werkcontext.
cwd(verplicht)gitRoot/repository/branch(optioneel)
session.info
Sessie-informatie zoals de remote URL.
infoType(verplicht)url(optioneel, bijvoorbeeld alsinfoTyperemoteis)
session.remote_steerable_changed
Event dat aangeeft dat de mogelijkheid tot remote bediening vanuit Mission Control is gewijzigd.
remoteSteerable(optioneel)
session.usage_info (ephemeral)
Gebruik van het contextvenster.
tokenLimit(verplicht)currentTokens(verplicht)messagesLength(verplicht)
session.task_complete
Melding dat een taak is voltooid.
summary(optioneel)
session.shutdown
Einde van de session.
Belangrijkste velden:
shutdownType(verplicht)errorReason(optioneel)totalPremiumRequests/totalApiDurationMs(verplicht)codeChanges/modelMetrics(verplicht)
Permission / user input events
permission.requested (ephemeral)
Verzoek om permissiebevestiging.
requestId(verplicht)permissionRequest(verplicht)
permissionRequest.kind:
shellwritereadmcpurlmemorycustom-tool
permission.completed (ephemeral)
Het resultaat van de permissiebevestiging.
requestId(verplicht)result.kind(verplicht)
user_input.requested (ephemeral)
Vraag aan de gebruiker.
requestId(verplicht)question(verplicht)choices/allowFreeform(optioneel)
user_input.completed (ephemeral)
Gebruikersinvoer voltooid.
requestId(verplicht)
elicitation.requested (ephemeral)
Verzoek om gestructureerde invoer (formulier).
requestId(verplicht)message(verplicht)requestedSchema(verplicht)
elicitation.completed (ephemeral)
Voltooiing van de gestructureerde invoer.
requestId(verplicht)
Sub-agent / skill events
subagent.started
toolCallId(verplicht)agentName/agentDisplayName/agentDescription(verplicht)
subagent.completed
toolCallId(verplicht)agentName/agentDisplayName(verplicht)
subagent.failed
toolCallId(verplicht)agentName/agentDisplayName(verplicht)error(verplicht)
subagent.selected
agentName(verplicht)agentDisplayName(verplicht)tools(verplicht,nulltoegestaan)
subagent.deselected
Terugkeer naar de default agent (data is een leeg object).
skill.invoked
name/path/content(verplicht)allowedTools/pluginName/pluginVersion(optioneel)
Other events
abort
reason(verplicht)
user.message
content(verplicht)transformedContent/attachments/source/agentMode/interactionId(optioneel)
system.message
content(verplicht)role(verplicht)name/metadata(optioneel)
external_tool.requested (ephemeral)
requestId/sessionId/toolCallId/toolName(verplicht)arguments(optioneel)
external_tool.completed (ephemeral)
requestId(verplicht)
exit_plan_mode.requested (ephemeral)
requestId/summary/planContent/actions/recommendedAction(verplicht)
exit_plan_mode.completed (ephemeral)
requestId(verplicht)
command.queued (ephemeral)
requestId(verplicht)command(verplicht)
command.completed (ephemeral)
requestId(verplicht)
Typische eventvolgorde
Overzicht van alle events (snelle referentie)
Gerelateerde documentatie
- Officiële Streaming Events-referentie
- Uitleg over de eventklasse in de Laravel-versie: SessionEvent
- Implementatiepatronen voor streaming: Streaming