{
  "contract": "AgentSessionViewModel",
  "sessionId": "kernel-session-1",
  "snapshot": {
    "mode": "work",
    "modelId": "kernel:claude-code",
    "capabilities": {
      "text": true,
      "reasoning": true,
      "plan": false,
      "tasks": false,
      "tools": true,
      "mcp": false,
      "shell": true,
      "fileChange": true,
      "skills": false,
      "approval": true,
      "artifacts": true,
      "usage": false,
      "resume": true,
      "diff": false,
      "workspaceFiles": true,
      "terminal": true,
      "testResults": false,
      "threadForking": false,
      "editAndRerun": false,
      "steering": false,
      "summary": false
    }
  },
  "status": "running",
  "events": [
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-1",
      "sessionId": "kernel-session-1",
      "sequence": 0,
      "idempotencyKey": "kernel-session-1:0",
      "occurredAt": "2026-07-30T08:00:00.000Z",
      "eventType": "status",
      "payload": { "status": "running" }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-2",
      "sessionId": "kernel-session-1",
      "sequence": 1,
      "idempotencyKey": "kernel-session-1:1",
      "occurredAt": "2026-07-30T08:00:01.000Z",
      "eventType": "workspace-file",
      "payload": {
        "path": "src/index.ts",
        "operation": "upsert",
        "mimeType": "text/typescript",
        "size": 128
      }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-3",
      "sessionId": "kernel-session-1",
      "sequence": 2,
      "idempotencyKey": "kernel-session-1:2",
      "occurredAt": "2026-07-30T08:00:02.000Z",
      "eventType": "terminal",
      "payload": {
        "terminalId": "terminal-1",
        "stream": "stdout",
        "chunk": "Tests passed\n"
      }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-4",
      "sessionId": "kernel-session-1",
      "sequence": 3,
      "idempotencyKey": "kernel-session-1:3",
      "occurredAt": "2026-07-30T08:00:03.000Z",
      "eventType": "message",
      "payload": {
        "messageId": "kernel-message-1",
        "role": "assistant",
        "operation": "append",
        "parts": [{ "type": "text", "text": "Tests passed" }],
        "status": "completed"
      }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-5",
      "sessionId": "kernel-session-1",
      "sequence": 4,
      "idempotencyKey": "kernel-session-1:4",
      "occurredAt": "2026-07-30T08:00:04.000Z",
      "eventType": "reasoning",
      "payload": {
        "reasoningId": "kernel-reasoning-1",
        "text": "Checking tests",
        "status": "completed"
      }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-6",
      "sessionId": "kernel-session-1",
      "sequence": 5,
      "idempotencyKey": "kernel-session-1:5",
      "occurredAt": "2026-07-30T08:00:05.000Z",
      "eventType": "tool",
      "payload": {
        "toolCallId": "kernel-tool-1",
        "toolName": "shell",
        "status": "completed",
        "output": "Tests passed"
      }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-7",
      "sessionId": "kernel-session-1",
      "sequence": 6,
      "idempotencyKey": "kernel-session-1:6",
      "occurredAt": "2026-07-30T08:00:06.000Z",
      "eventType": "artifact",
      "payload": {
        "artifactId": "kernel-artifact-1",
        "name": "test.log",
        "kind": "file",
        "status": "ready"
      }
    },
    {
      "contract": "AgentSessionEvent",
      "eventId": "kernel-event-8",
      "sessionId": "kernel-session-1",
      "sequence": 7,
      "idempotencyKey": "kernel-session-1:7",
      "occurredAt": "2026-07-30T08:00:07.000Z",
      "eventType": "resume",
      "payload": { "resumable": true, "reason": "runtime_attached" }
    }
  ],
  "lastSequence": 7,
  "resumable": true
}
