app-server-protocol: TurnStartParams JSON schema drifts from generated TypeScript

Open 💬 1 comment Opened Apr 12, 2026 by juliusmarminge

Summary

The pinned app-server protocol artifacts currently disagree for TurnStartParams.

At ref dbfe855f4fd0f5dcdf079882652a8efe622b0595:

  • the JSON schema for v2/TurnStartParams does not include collaborationMode
  • the generated TypeScript for v2/TurnStartParams does include collaborationMode?: CollaborationMode | null

This breaks downstream consumers that generate runtime schemas from the published JSON schema assets rather than from the TypeScript output.

Repro

JSON schema asset:

Generated TypeScript asset:

Observed mismatch:

  • JSON schema top-level properties contains:
  • approvalPolicy
  • approvalsReviewer
  • cwd
  • effort
  • input
  • model
  • outputSchema
  • personality
  • sandboxPolicy
  • serviceTier
  • summary
  • threadId
  • but it is missing collaborationMode

Meanwhile the generated TypeScript includes:

collaborationMode?: CollaborationMode | null

Additional note

The same JSON schema file does contain a local CollaborationMode definition, so this looks like a top-level property omission rather than the type being absent entirely.

Also, outputSchema is effectively untyped in the JSON schema asset, while the TypeScript output uses JsonValue | null, so there may be a broader drift between the JSON and TS artifact generation paths.

Impact

Schema-first clients that consume the JSON schema assets generate an incomplete runtime schema for turn/start, and end up having to patch collaborationMode manually.

Expected

The published JSON schema and generated TypeScript artifacts should describe the same TurnStartParams shape.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗