|
356 | 356 | :copilot/session.compaction_start :copilot/session.compaction_complete |
357 | 357 | :copilot/session.shutdown :copilot/session.task_complete |
358 | 358 | :copilot/session.title_changed :copilot/session.warning :copilot/session.context_changed |
| 359 | + :copilot/session.mode_changed :copilot/session.plan_changed :copilot/session.workspace_file_changed |
359 | 360 | :copilot/user.message :copilot/pending_messages.modified |
360 | 361 | :copilot/assistant.turn_start :copilot/assistant.intent :copilot/assistant.reasoning |
361 | 362 | :copilot/assistant.reasoning_delta :copilot/assistant.message :copilot/assistant.message_delta |
362 | | - :copilot/assistant.turn_end :copilot/assistant.usage |
| 363 | + :copilot/assistant.streaming_delta :copilot/assistant.turn_end :copilot/assistant.usage |
363 | 364 | :copilot/abort |
364 | 365 | :copilot/tool.user_requested :copilot/tool.execution_start :copilot/tool.execution_partial_result |
365 | 366 | :copilot/tool.execution_progress :copilot/tool.execution_complete |
|
389 | 390 | (s/keys :req-un [::message-id ::content] |
390 | 391 | :opt-un [::tool-requests ::parent-tool-call-id])) |
391 | 392 |
|
| 393 | +(s/def ::total-response-size-bytes nat-int?) |
| 394 | + |
392 | 395 | (s/def ::assistant.message_delta-data |
393 | 396 | (s/keys :req-un [::message-id ::delta-content] |
394 | | - :opt-un [::total-response-size-bytes ::parent-tool-call-id])) |
| 397 | + :opt-un [::parent-tool-call-id])) |
| 398 | + |
| 399 | +(s/def ::assistant.streaming_delta-data |
| 400 | + (s/keys :req-un [::total-response-size-bytes])) |
395 | 401 |
|
396 | 402 | (s/def ::tool.execution_start-data |
397 | 403 | (s/keys :req-un [::tool-call-id ::tool-name] |
|
436 | 442 | (s/keys :req-un [::cwd] |
437 | 443 | :opt-un [::git-root ::repository ::branch])) |
438 | 444 |
|
| 445 | +;; Session mode changed event |
| 446 | +(s/def ::previous-mode string?) |
| 447 | +(s/def ::new-mode string?) |
| 448 | +(s/def ::session.mode_changed-data |
| 449 | + (s/keys :req-un [::previous-mode ::new-mode])) |
| 450 | + |
| 451 | +;; Session plan changed event |
| 452 | +(s/def ::operation #{"create" "update" "delete"}) |
| 453 | +(s/def ::session.plan_changed-data |
| 454 | + (s/keys :req-un [::operation])) |
| 455 | + |
| 456 | +;; Session workspace file changed event |
| 457 | +;; ::path already defined above; ::operation reused but constrained to create/update |
| 458 | +(s/def ::session.workspace_file_changed-data |
| 459 | + (s/and (s/keys :req-un [::path ::operation]) |
| 460 | + #(contains? #{"create" "update"} (:operation %)))) |
| 461 | + |
| 462 | +;; Session task complete event |
| 463 | +(s/def ::session.task_complete-data |
| 464 | + (s/keys :opt-un [::summary])) |
| 465 | + |
439 | 466 | ;; Skill invoked event |
440 | 467 | (s/def ::allowed-tools (s/coll-of string?)) |
441 | 468 |
|
|
0 commit comments