@vgai/sdk 0.5.40 → 0.5.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@vgai/sdk",
3
3
  "author": "Volter AI, Inc.",
4
4
  "license": "Apache-2.0",
5
- "version": "0.5.40",
5
+ "version": "0.5.41",
6
6
  "type": "module",
7
7
  "repository": {
8
8
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@modelcontextprotocol/sdk": "^1.30.0",
34
- "@vgai/engine": "0.5.40",
34
+ "@vgai/engine": "0.5.41",
35
35
  "playwright": "^1.58.2",
36
36
  "zod": "^4.3.6"
37
37
  }
@@ -210,6 +210,23 @@ export type SessionJournalEvent =
210
210
  }
211
211
  /** The server granted a socket the duplex control capability. */
212
212
  | { readonly kind: 'duplex-granted'; readonly clientId8: string }
213
+ /** A page proved it is speaking the exact generation the server granted. */
214
+ | {
215
+ readonly kind: 'control-lifecycle-confirmed';
216
+ readonly clientId8: string;
217
+ readonly connectionGeneration8: string;
218
+ }
219
+ /** A stale or contradictory control frame was refused. */
220
+ | {
221
+ readonly kind: 'control-lifecycle-rejected';
222
+ readonly clientId8: string;
223
+ readonly mismatch:
224
+ | 'serverGeneration'
225
+ | 'connectionGeneration'
226
+ | 'clientId'
227
+ | 'tabId'
228
+ | 'pageGeneration';
229
+ }
213
230
  /** A command left the relay for one tab's command channel. */
214
231
  | {
215
232
  readonly kind: 'command-relayed';
@@ -588,6 +605,10 @@ export function formatJournalLine(line: SessionJournalLine): string {
588
605
  return `journal: ${at} client-disconnected ${line.clientId8} code ${line.code ?? '-'} settled ${line.commandsSettled}`;
589
606
  case 'duplex-granted':
590
607
  return `journal: ${at} duplex-granted ${line.clientId8}`;
608
+ case 'control-lifecycle-confirmed':
609
+ return `journal: ${at} control-lifecycle-confirmed ${line.clientId8} connection ${line.connectionGeneration8}`;
610
+ case 'control-lifecycle-rejected':
611
+ return `journal: ${at} control-lifecycle-rejected ${line.clientId8} stale ${line.mismatch}`;
591
612
  case 'command-relayed':
592
613
  return `journal: ${at} command-relayed ${line.command} ${line.requestId8} -> tab ${line.tabId8 ?? 'none'}`;
593
614
  case 'command-receipt':