Skip to main content

Streaming events

Als je streaming: 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
  • parentId chain: 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 als infoType remote is)

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:
  • shell
  • write
  • read
  • mcp
  • url
  • memory
  • custom-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, null toegestaan)

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

Laatst gewijzigd op 6 september 2026