@otto-code/protocol 0.8.8 → 0.8.10

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/dist/messages.js CHANGED
@@ -761,6 +761,7 @@ const AgentSelectOptionSchema = z.object({
761
761
  id: z.string(),
762
762
  label: z.string(),
763
763
  description: z.string().optional(),
764
+ family: z.string().optional(),
764
765
  isDefault: z.boolean().optional(),
765
766
  metadata: z.record(z.string(), z.unknown()).optional(),
766
767
  });
@@ -813,6 +814,7 @@ const AgentModelDefinitionSchema = z.object({
813
814
  id: z.string(),
814
815
  label: z.string(),
815
816
  description: z.string().optional(),
817
+ family: z.string().optional(),
816
818
  isDefault: z.boolean().optional(),
817
819
  metadata: z.record(z.string(), z.unknown()).optional(),
818
820
  contextWindowMaxTokens: z.number().optional(),
@@ -1908,6 +1910,7 @@ export const BrainCatalogModelSchema = z
1908
1910
  .object({
1909
1911
  id: z.string(),
1910
1912
  name: z.string().default(""),
1913
+ family: z.string().nullable().optional(),
1911
1914
  installed: z.boolean().default(false),
1912
1915
  publisher: z.string().default(""),
1913
1916
  repo: z.string().default(""),
@@ -2230,6 +2233,24 @@ export const BrainProfileSchema = z
2230
2233
  enabledComponents: z.array(z.string()).optional(),
2231
2234
  reasoningBudget: z.number().default(0),
2232
2235
  parallelSlots: z.number().default(1),
2236
+ contextMultiplier: z.number().default(1),
2237
+ calibrationRequired: z.boolean().default(true),
2238
+ hostingProfileId: z.string().nullable().default(null),
2239
+ /** Matches the brain's own default: a profile written before this field
2240
+ * existed meant "use the family default", which is `inherit`. */
2241
+ hostingProfileMode: z.enum(["inherit", "off", "custom"]).default("inherit"),
2242
+ })
2243
+ .passthrough();
2244
+ /** A Brain-owned, named llama-server template composition. */
2245
+ export const BrainHostingProfileSchema = z
2246
+ .object({
2247
+ id: z.string(),
2248
+ name: z.string(),
2249
+ family: z.string(),
2250
+ description: z.string().default(""),
2251
+ template: z.string().nullable().default(null),
2252
+ systemPromptAddendum: z.string().nullable().default(null),
2253
+ templateKwargs: z.record(z.string(), z.unknown()).default({}),
2233
2254
  })
2234
2255
  .passthrough();
2235
2256
  /** One editable field, as the brain describes it, so the editor cannot drift. */
@@ -2312,6 +2333,7 @@ export const BrainInventoryModelSchema = z
2312
2333
  .object({
2313
2334
  id: z.string(),
2314
2335
  displayName: z.string().default(""),
2336
+ family: z.string().nullable().optional(),
2315
2337
  publisher: z.string().nullable().default(null),
2316
2338
  quant: z.string().nullable().default(null),
2317
2339
  sizeBytes: z.number().default(0),
@@ -2386,6 +2408,10 @@ export const BrainModelProfileGetResponseSchema = z.object({
2386
2408
  fields: z.array(BrainProfileFieldSchema).default([]),
2387
2409
  warnings: z.array(BrainProfileWarningSchema).default([]),
2388
2410
  calibration: BrainCalibrationInfoSchema.nullable().default(null),
2411
+ /** True when a previous resident-model edit still awaits a reload. */
2412
+ requiresRestart: z.boolean().default(false),
2413
+ hostingProfiles: z.array(BrainHostingProfileSchema).default([]),
2414
+ familyHostingProfileId: z.string().nullable().default(null),
2389
2415
  error: z.string().nullable(),
2390
2416
  requestId: z.string(),
2391
2417
  }),
@@ -2403,6 +2429,7 @@ export const BrainModelProfileSetResponseSchema = z.object({
2403
2429
  type: z.literal("brain.model.profile.set.response"),
2404
2430
  payload: z.object({
2405
2431
  profile: BrainProfileSchema.nullable().default(null),
2432
+ fields: z.array(BrainProfileFieldSchema).default([]),
2406
2433
  /** Human-readable notes about anything clamped or ignored. */
2407
2434
  adjustments: z.array(z.string()).default([]),
2408
2435
  warnings: z.array(BrainProfileWarningSchema).default([]),
@@ -2411,6 +2438,8 @@ export const BrainModelProfileSetResponseSchema = z.object({
2411
2438
  maxContextThatFits: z.number().nullable().default(null),
2412
2439
  /** True when the edited model is the resident one, so a restart applies it. */
2413
2440
  requiresRestart: z.boolean().default(false),
2441
+ hostingProfiles: z.array(BrainHostingProfileSchema).default([]),
2442
+ familyHostingProfileId: z.string().nullable().default(null),
2414
2443
  error: z.string().nullable(),
2415
2444
  requestId: z.string(),
2416
2445
  }),
@@ -5546,6 +5575,11 @@ const ParsedDiffFileSchema = z.object({
5546
5575
  additions: z.number(),
5547
5576
  deletions: z.number(),
5548
5577
  hunks: z.array(DiffHunkSchema),
5578
+ // Optional so older daemons remain wire-compatible. Whole snapshots are
5579
+ // size-bounded by the daemon and let Structural parse files, never isolated
5580
+ // patch hunks.
5581
+ beforeSource: z.string().optional(),
5582
+ afterSource: z.string().optional(),
5549
5583
  status: z.enum(["ok", "too_large", "binary"]).optional(),
5550
5584
  });
5551
5585
  const FileExplorerEntrySchema = z.object({
@@ -6130,6 +6164,10 @@ export const CreateTerminalRequestSchema = z.object({
6130
6164
  agentId: z.string().optional(),
6131
6165
  command: z.string().optional(),
6132
6166
  args: z.array(z.string()).optional(),
6167
+ /** An embedded terminal renders inside another pane and never gets its own workspace tab. */
6168
+ presentation: z.enum(["embedded"]).optional(),
6169
+ /** Stable owner identity used to adopt an embedded terminal after a renderer reload. */
6170
+ presentationOwner: z.string().optional(),
6133
6171
  // Initial PTY size. Added in v0.1.107; the app no longer sends it (the estimate cache that fed
6134
6172
  // it was removed - the pane-focus resize claim sizes the PTY instead). Kept and honored
6135
6173
  // permanently: released v0.1.107 clients still send it, and programmatic callers may pass an
@@ -6232,6 +6270,10 @@ export const CaptureTerminalRequestSchema = z.object({
6232
6270
  stripAnsi: z.boolean().default(true),
6233
6271
  requestId: z.string(),
6234
6272
  });
6273
+ export const TerminalCompatibilityDiagnosticRequestSchema = z.object({
6274
+ type: z.literal("terminal.compatibility.diagnostic.request"),
6275
+ requestId: z.string(),
6276
+ });
6235
6277
  export const HubExecutionAgentCreateRequestSchema = z.object({
6236
6278
  type: z.literal("hub.execution.agent.create.request"),
6237
6279
  requestId: z.string(),
@@ -6533,6 +6575,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
6533
6575
  TerminalInputSchema,
6534
6576
  KillTerminalRequestSchema,
6535
6577
  CaptureTerminalRequestSchema,
6578
+ TerminalCompatibilityDiagnosticRequestSchema,
6536
6579
  ChatCreateRequestSchema,
6537
6580
  ChatListRequestSchema,
6538
6581
  ChatInspectRequestSchema,
@@ -6732,6 +6775,9 @@ export const ServerInfoStatusPayloadSchema = z
6732
6775
  daemonStatusRpc: z.boolean().optional(),
6733
6776
  // COMPAT(terminalRestoreModes): added in v0.1.81, remove gate after 2026-11-23.
6734
6777
  "terminal-restore-modes": z.boolean().optional(),
6778
+ // COMPAT(terminalCompatibilityDiagnostic): added in v0.8.9, remove gate after 2027-02-12.
6779
+ terminalCompatibilityDiagnostic: z.boolean().optional(),
6780
+ terminalEmbeddedPresentation: z.boolean().optional(),
6735
6781
  // COMPAT(terminalTitleSettings): added in v0.8.5, remove gate after 2027-02-07.
6736
6782
  terminalTitleSettings: z.boolean().optional(),
6737
6783
  // COMPAT(rewind): added in v0.1.X, drop the gate when floor >= v0.1.X.
@@ -10583,6 +10629,8 @@ const TerminalInfoSchema = z.object({
10583
10629
  workspaceId: z.string().optional(),
10584
10630
  title: z.string().optional(),
10585
10631
  activity: TerminalActivitySchema.nullable().optional(),
10632
+ presentation: z.enum(["embedded"]).optional(),
10633
+ presentationOwner: z.string().optional(),
10586
10634
  });
10587
10635
  export const TerminalCellSchema = z.object({
10588
10636
  char: z.string(),
@@ -10684,6 +10732,32 @@ export const CaptureTerminalResponseSchema = z.object({
10684
10732
  requestId: z.string(),
10685
10733
  }),
10686
10734
  });
10735
+ export const TerminalCompatibilityDiagnosticStatusSchema = z.enum([
10736
+ "pass",
10737
+ "fail",
10738
+ "warn",
10739
+ "unknown",
10740
+ ]);
10741
+ export const TerminalCompatibilityDiagnosticCheckSchema = z.object({
10742
+ id: z.string(),
10743
+ label: z.string(),
10744
+ status: TerminalCompatibilityDiagnosticStatusSchema,
10745
+ detail: z.string(),
10746
+ evidence: z.string().optional(),
10747
+ });
10748
+ export const TerminalCompatibilityDiagnosticResponseSchema = z.object({
10749
+ type: z.literal("terminal.compatibility.diagnostic.response"),
10750
+ payload: z.object({
10751
+ requestId: z.string(),
10752
+ success: z.boolean(),
10753
+ error: z.string().nullable(),
10754
+ generatedAt: z.string(),
10755
+ platform: z.string().optional(),
10756
+ term: z.string().nullable().optional(),
10757
+ termProgram: z.string().nullable().optional(),
10758
+ checks: z.array(TerminalCompatibilityDiagnosticCheckSchema),
10759
+ }),
10760
+ });
10687
10761
  export const TerminalStreamExitSchema = z.object({
10688
10762
  type: z.literal("terminal_stream_exit"),
10689
10763
  payload: z.object({
@@ -11085,6 +11159,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
11085
11159
  SubscribeTerminalResponseSchema,
11086
11160
  KillTerminalResponseSchema,
11087
11161
  CaptureTerminalResponseSchema,
11162
+ TerminalCompatibilityDiagnosticResponseSchema,
11088
11163
  TerminalStreamExitSchema,
11089
11164
  TerminalAttentionRequiredSchema,
11090
11165
  ChatCreateResponseSchema,
@@ -269,6 +269,7 @@ export declare const ProviderCompactionConfigSchema: z.ZodObject<{
269
269
  autoCompact: z.ZodOptional<z.ZodBoolean>;
270
270
  thresholdPercent: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<50>, z.ZodLiteral<60>, z.ZodLiteral<70>, z.ZodLiteral<80>, z.ZodLiteral<90>]>>;
271
271
  keepRecentTokens: z.ZodOptional<z.ZodNumber>;
272
+ summaryMaxTokens: z.ZodOptional<z.ZodNumber>;
272
273
  hideSelector: z.ZodOptional<z.ZodBoolean>;
273
274
  }, z.core.$strip>;
274
275
  export type ProviderCompactionConfig = z.infer<typeof ProviderCompactionConfigSchema>;
@@ -340,6 +341,7 @@ export declare const ProviderOverrideSchema: z.ZodObject<{
340
341
  autoCompact: z.ZodOptional<z.ZodBoolean>;
341
342
  thresholdPercent: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<50>, z.ZodLiteral<60>, z.ZodLiteral<70>, z.ZodLiteral<80>, z.ZodLiteral<90>]>>;
342
343
  keepRecentTokens: z.ZodOptional<z.ZodNumber>;
344
+ summaryMaxTokens: z.ZodOptional<z.ZodNumber>;
343
345
  hideSelector: z.ZodOptional<z.ZodBoolean>;
344
346
  }, z.core.$strip>>;
345
347
  maxToolRounds: z.ZodOptional<z.ZodNumber>;
@@ -414,6 +416,7 @@ export declare const ProviderOverridesSchema: z.ZodRecord<z.ZodString, z.ZodObje
414
416
  autoCompact: z.ZodOptional<z.ZodBoolean>;
415
417
  thresholdPercent: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<50>, z.ZodLiteral<60>, z.ZodLiteral<70>, z.ZodLiteral<80>, z.ZodLiteral<90>]>>;
416
418
  keepRecentTokens: z.ZodOptional<z.ZodNumber>;
419
+ summaryMaxTokens: z.ZodOptional<z.ZodNumber>;
417
420
  hideSelector: z.ZodOptional<z.ZodBoolean>;
418
421
  }, z.core.$strip>>;
419
422
  maxToolRounds: z.ZodOptional<z.ZodNumber>;
@@ -235,6 +235,8 @@ export const ProviderCompactionConfigSchema = z.object({
235
235
  .optional(),
236
236
  /** Recent-conversation budget kept verbatim through compaction. Default 20000. */
237
237
  keepRecentTokens: z.number().int().positive().optional(),
238
+ /** Maximum tokens the compaction summary may generate. Omitted leaves the endpoint default. */
239
+ summaryMaxTokens: z.number().int().positive().optional(),
238
240
  /**
239
241
  * true hides the per-agent "Auto-compact" feature select in chats; agents
240
242
  * always run with the provider-level default above (persisted per-agent
@@ -35,6 +35,7 @@ export declare const WSOutboundMessageSchema: {
35
35
  id: import("zod").ZodString;
36
36
  label: import("zod").ZodString;
37
37
  description: import("zod").ZodOptional<import("zod").ZodString>;
38
+ family: import("zod").ZodOptional<import("zod").ZodString>;
38
39
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
39
40
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
40
41
  }, import("zod/v4/core").$strip>>;
@@ -154,6 +155,7 @@ export declare const WSOutboundMessageSchema: {
154
155
  id: import("zod").ZodString;
155
156
  label: import("zod").ZodString;
156
157
  description: import("zod").ZodOptional<import("zod").ZodString>;
158
+ family: import("zod").ZodOptional<import("zod").ZodString>;
157
159
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
158
160
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
159
161
  }, import("zod/v4/core").$strip>>;
@@ -702,6 +704,7 @@ export declare const WSOutboundMessageSchema: {
702
704
  id: import("zod").ZodString;
703
705
  label: import("zod").ZodString;
704
706
  description: import("zod").ZodOptional<import("zod").ZodString>;
707
+ family: import("zod").ZodOptional<import("zod").ZodString>;
705
708
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
706
709
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
707
710
  }, import("zod/v4/core").$strip>>;
@@ -1582,6 +1585,7 @@ export declare const WSOutboundMessageSchema: {
1582
1585
  id: import("zod").ZodString;
1583
1586
  label: import("zod").ZodString;
1584
1587
  description: import("zod").ZodOptional<import("zod").ZodString>;
1588
+ family: import("zod").ZodOptional<import("zod").ZodString>;
1585
1589
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
1586
1590
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1587
1591
  }, import("zod/v4/core").$strip>>;
@@ -1688,6 +1692,7 @@ export declare const WSOutboundMessageSchema: {
1688
1692
  id: import("zod").ZodString;
1689
1693
  label: import("zod").ZodString;
1690
1694
  description: import("zod").ZodOptional<import("zod").ZodString>;
1695
+ family: import("zod").ZodOptional<import("zod").ZodString>;
1691
1696
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
1692
1697
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1693
1698
  }, import("zod/v4/core").$strip>>;
@@ -1877,6 +1882,7 @@ export declare const WSOutboundMessageSchema: {
1877
1882
  id: import("zod").ZodString;
1878
1883
  label: import("zod").ZodString;
1879
1884
  description: import("zod").ZodOptional<import("zod").ZodString>;
1885
+ family: import("zod").ZodOptional<import("zod").ZodString>;
1880
1886
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
1881
1887
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1882
1888
  }, import("zod/v4/core").$strip>>;
@@ -3931,6 +3937,7 @@ export declare const WSOutboundMessageSchema: {
3931
3937
  id: import("zod").ZodString;
3932
3938
  label: import("zod").ZodString;
3933
3939
  description: import("zod").ZodOptional<import("zod").ZodString>;
3940
+ family: import("zod").ZodOptional<import("zod").ZodString>;
3934
3941
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
3935
3942
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
3936
3943
  }, import("zod/v4/core").$strip>>;
@@ -4115,6 +4122,7 @@ export declare const WSOutboundMessageSchema: {
4115
4122
  id: import("zod").ZodString;
4116
4123
  label: import("zod").ZodString;
4117
4124
  description: import("zod").ZodOptional<import("zod").ZodString>;
4125
+ family: import("zod").ZodOptional<import("zod").ZodString>;
4118
4126
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
4119
4127
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
4120
4128
  }, import("zod/v4/core").$strip>>;
@@ -4418,6 +4426,7 @@ export declare const WSOutboundMessageSchema: {
4418
4426
  id: import("zod").ZodString;
4419
4427
  label: import("zod").ZodString;
4420
4428
  description: import("zod").ZodOptional<import("zod").ZodString>;
4429
+ family: import("zod").ZodOptional<import("zod").ZodString>;
4421
4430
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
4422
4431
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
4423
4432
  }, import("zod/v4/core").$strip>>;
@@ -4525,6 +4534,7 @@ export declare const WSOutboundMessageSchema: {
4525
4534
  id: import("zod").ZodString;
4526
4535
  label: import("zod").ZodString;
4527
4536
  description: import("zod").ZodOptional<import("zod").ZodString>;
4537
+ family: import("zod").ZodOptional<import("zod").ZodString>;
4528
4538
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
4529
4539
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
4530
4540
  }, import("zod/v4/core").$strip>>;
@@ -6483,6 +6493,7 @@ export declare const WSOutboundMessageSchema: {
6483
6493
  id: import("zod").ZodString;
6484
6494
  label: import("zod").ZodString;
6485
6495
  description: import("zod").ZodOptional<import("zod").ZodString>;
6496
+ family: import("zod").ZodOptional<import("zod").ZodString>;
6486
6497
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
6487
6498
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
6488
6499
  }, import("zod/v4/core").$strip>>;
@@ -7000,6 +7011,7 @@ export declare const WSOutboundMessageSchema: {
7000
7011
  models: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
7001
7012
  id: import("zod").ZodString;
7002
7013
  name: import("zod").ZodDefault<import("zod").ZodString>;
7014
+ family: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
7003
7015
  installed: import("zod").ZodDefault<import("zod").ZodBoolean>;
7004
7016
  publisher: import("zod").ZodDefault<import("zod").ZodString>;
7005
7017
  repo: import("zod").ZodDefault<import("zod").ZodString>;
@@ -7353,6 +7365,7 @@ export declare const WSOutboundMessageSchema: {
7353
7365
  models: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
7354
7366
  id: import("zod").ZodString;
7355
7367
  displayName: import("zod").ZodDefault<import("zod").ZodString>;
7368
+ family: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
7356
7369
  publisher: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7357
7370
  quant: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7358
7371
  sizeBytes: import("zod").ZodDefault<import("zod").ZodNumber>;
@@ -7391,6 +7404,14 @@ export declare const WSOutboundMessageSchema: {
7391
7404
  enabledComponents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
7392
7405
  reasoningBudget: import("zod").ZodDefault<import("zod").ZodNumber>;
7393
7406
  parallelSlots: import("zod").ZodDefault<import("zod").ZodNumber>;
7407
+ contextMultiplier: import("zod").ZodDefault<import("zod").ZodNumber>;
7408
+ calibrationRequired: import("zod").ZodDefault<import("zod").ZodBoolean>;
7409
+ hostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7410
+ hostingProfileMode: import("zod").ZodDefault<import("zod").ZodEnum<{
7411
+ custom: "custom";
7412
+ off: "off";
7413
+ inherit: "inherit";
7414
+ }>>;
7394
7415
  }, import("zod/v4/core").$loose>>>;
7395
7416
  calibration: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodObject<{
7396
7417
  state: import("zod").ZodDefault<import("zod").ZodString>;
@@ -7456,6 +7477,14 @@ export declare const WSOutboundMessageSchema: {
7456
7477
  enabledComponents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
7457
7478
  reasoningBudget: import("zod").ZodDefault<import("zod").ZodNumber>;
7458
7479
  parallelSlots: import("zod").ZodDefault<import("zod").ZodNumber>;
7480
+ contextMultiplier: import("zod").ZodDefault<import("zod").ZodNumber>;
7481
+ calibrationRequired: import("zod").ZodDefault<import("zod").ZodBoolean>;
7482
+ hostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7483
+ hostingProfileMode: import("zod").ZodDefault<import("zod").ZodEnum<{
7484
+ custom: "custom";
7485
+ off: "off";
7486
+ inherit: "inherit";
7487
+ }>>;
7459
7488
  }, import("zod/v4/core").$loose>>>;
7460
7489
  fields: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
7461
7490
  key: import("zod").ZodString;
@@ -7481,6 +7510,17 @@ export declare const WSOutboundMessageSchema: {
7481
7510
  measuredAt: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7482
7511
  measuredOn: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7483
7512
  }, import("zod/v4/core").$loose>>>;
7513
+ requiresRestart: import("zod").ZodDefault<import("zod").ZodBoolean>;
7514
+ hostingProfiles: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
7515
+ id: import("zod").ZodString;
7516
+ name: import("zod").ZodString;
7517
+ family: import("zod").ZodString;
7518
+ description: import("zod").ZodDefault<import("zod").ZodString>;
7519
+ template: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7520
+ systemPromptAddendum: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7521
+ templateKwargs: import("zod").ZodDefault<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
7522
+ }, import("zod/v4/core").$loose>>>;
7523
+ familyHostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7484
7524
  error: import("zod").ZodNullable<import("zod").ZodString>;
7485
7525
  requestId: import("zod").ZodString;
7486
7526
  }, import("zod/v4/core").$strip>;
@@ -7497,6 +7537,26 @@ export declare const WSOutboundMessageSchema: {
7497
7537
  enabledComponents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
7498
7538
  reasoningBudget: import("zod").ZodDefault<import("zod").ZodNumber>;
7499
7539
  parallelSlots: import("zod").ZodDefault<import("zod").ZodNumber>;
7540
+ contextMultiplier: import("zod").ZodDefault<import("zod").ZodNumber>;
7541
+ calibrationRequired: import("zod").ZodDefault<import("zod").ZodBoolean>;
7542
+ hostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7543
+ hostingProfileMode: import("zod").ZodDefault<import("zod").ZodEnum<{
7544
+ custom: "custom";
7545
+ off: "off";
7546
+ inherit: "inherit";
7547
+ }>>;
7548
+ }, import("zod/v4/core").$loose>>>;
7549
+ fields: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
7550
+ key: import("zod").ZodString;
7551
+ label: import("zod").ZodDefault<import("zod").ZodString>;
7552
+ kind: import("zod").ZodDefault<import("zod").ZodString>;
7553
+ step: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
7554
+ min: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
7555
+ max: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
7556
+ options: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>>;
7557
+ optionLabels: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
7558
+ available: import("zod").ZodDefault<import("zod").ZodBoolean>;
7559
+ unavailableReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
7500
7560
  }, import("zod/v4/core").$loose>>>;
7501
7561
  adjustments: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
7502
7562
  warnings: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
@@ -7532,6 +7592,16 @@ export declare const WSOutboundMessageSchema: {
7532
7592
  }, import("zod/v4/core").$loose>>>;
7533
7593
  maxContextThatFits: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodNumber>>;
7534
7594
  requiresRestart: import("zod").ZodDefault<import("zod").ZodBoolean>;
7595
+ hostingProfiles: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
7596
+ id: import("zod").ZodString;
7597
+ name: import("zod").ZodString;
7598
+ family: import("zod").ZodString;
7599
+ description: import("zod").ZodDefault<import("zod").ZodString>;
7600
+ template: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7601
+ systemPromptAddendum: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7602
+ templateKwargs: import("zod").ZodDefault<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
7603
+ }, import("zod/v4/core").$loose>>>;
7604
+ familyHostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7535
7605
  error: import("zod").ZodNullable<import("zod").ZodString>;
7536
7606
  requestId: import("zod").ZodString;
7537
7607
  }, import("zod/v4/core").$strip>;
@@ -7548,6 +7618,14 @@ export declare const WSOutboundMessageSchema: {
7548
7618
  enabledComponents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
7549
7619
  reasoningBudget: import("zod").ZodDefault<import("zod").ZodNumber>;
7550
7620
  parallelSlots: import("zod").ZodDefault<import("zod").ZodNumber>;
7621
+ contextMultiplier: import("zod").ZodDefault<import("zod").ZodNumber>;
7622
+ calibrationRequired: import("zod").ZodDefault<import("zod").ZodBoolean>;
7623
+ hostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7624
+ hostingProfileMode: import("zod").ZodDefault<import("zod").ZodEnum<{
7625
+ custom: "custom";
7626
+ off: "off";
7627
+ inherit: "inherit";
7628
+ }>>;
7551
7629
  }, import("zod/v4/core").$loose>>>;
7552
7630
  budget: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodObject<{
7553
7631
  weightsBytes: import("zod").ZodDefault<import("zod").ZodNumber>;
@@ -7661,6 +7739,14 @@ export declare const WSOutboundMessageSchema: {
7661
7739
  enabledComponents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
7662
7740
  reasoningBudget: import("zod").ZodDefault<import("zod").ZodNumber>;
7663
7741
  parallelSlots: import("zod").ZodDefault<import("zod").ZodNumber>;
7742
+ contextMultiplier: import("zod").ZodDefault<import("zod").ZodNumber>;
7743
+ calibrationRequired: import("zod").ZodDefault<import("zod").ZodBoolean>;
7744
+ hostingProfileId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
7745
+ hostingProfileMode: import("zod").ZodDefault<import("zod").ZodEnum<{
7746
+ custom: "custom";
7747
+ off: "off";
7748
+ inherit: "inherit";
7749
+ }>>;
7664
7750
  }, import("zod/v4/core").$loose>>>;
7665
7751
  error: import("zod").ZodNullable<import("zod").ZodString>;
7666
7752
  requestId: import("zod").ZodString;
@@ -8134,6 +8220,8 @@ export declare const WSOutboundMessageSchema: {
8134
8220
  }, import("zod/v4/core").$strip>>>;
8135
8221
  }, import("zod/v4/core").$strip>>;
8136
8222
  }, import("zod/v4/core").$strip>>;
8223
+ beforeSource: import("zod").ZodOptional<import("zod").ZodString>;
8224
+ afterSource: import("zod").ZodOptional<import("zod").ZodString>;
8137
8225
  status: import("zod").ZodOptional<import("zod").ZodEnum<{
8138
8226
  ok: "ok";
8139
8227
  too_large: "too_large";
@@ -8182,6 +8270,8 @@ export declare const WSOutboundMessageSchema: {
8182
8270
  }, import("zod/v4/core").$strip>>>;
8183
8271
  }, import("zod/v4/core").$strip>>;
8184
8272
  }, import("zod/v4/core").$strip>>;
8273
+ beforeSource: import("zod").ZodOptional<import("zod").ZodString>;
8274
+ afterSource: import("zod").ZodOptional<import("zod").ZodString>;
8185
8275
  status: import("zod").ZodOptional<import("zod").ZodEnum<{
8186
8276
  ok: "ok";
8187
8277
  too_large: "too_large";
@@ -8387,6 +8477,8 @@ export declare const WSOutboundMessageSchema: {
8387
8477
  }, import("zod/v4/core").$strip>>>;
8388
8478
  }, import("zod/v4/core").$strip>>;
8389
8479
  }, import("zod/v4/core").$strip>>;
8480
+ beforeSource: import("zod").ZodOptional<import("zod").ZodString>;
8481
+ afterSource: import("zod").ZodOptional<import("zod").ZodString>;
8390
8482
  status: import("zod").ZodOptional<import("zod").ZodEnum<{
8391
8483
  ok: "ok";
8392
8484
  too_large: "too_large";
@@ -9196,6 +9288,8 @@ export declare const WSOutboundMessageSchema: {
9196
9288
  }, import("zod/v4/core").$strip>>>;
9197
9289
  }, import("zod/v4/core").$strip>>;
9198
9290
  }, import("zod/v4/core").$strip>>;
9291
+ beforeSource: import("zod").ZodOptional<import("zod").ZodString>;
9292
+ afterSource: import("zod").ZodOptional<import("zod").ZodString>;
9199
9293
  status: import("zod").ZodOptional<import("zod").ZodEnum<{
9200
9294
  ok: "ok";
9201
9295
  too_large: "too_large";
@@ -11013,6 +11107,7 @@ export declare const WSOutboundMessageSchema: {
11013
11107
  id: import("zod").ZodString;
11014
11108
  label: import("zod").ZodString;
11015
11109
  description: import("zod").ZodOptional<import("zod").ZodString>;
11110
+ family: import("zod").ZodOptional<import("zod").ZodString>;
11016
11111
  isDefault: import("zod").ZodOptional<import("zod").ZodBoolean>;
11017
11112
  metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
11018
11113
  }, import("zod/v4/core").$strip>>;
@@ -12079,6 +12174,10 @@ export declare const WSOutboundMessageSchema: {
12079
12174
  }>>>>;
12080
12175
  changedAt: import("zod").ZodNumber;
12081
12176
  }, import("zod/v4/core").$strip>>>;
12177
+ presentation: import("zod").ZodOptional<import("zod").ZodEnum<{
12178
+ embedded: "embedded";
12179
+ }>>;
12180
+ presentationOwner: import("zod").ZodOptional<import("zod").ZodString>;
12082
12181
  }, import("zod/v4/core").$strip>>;
12083
12182
  requestId: import("zod").ZodString;
12084
12183
  }, import("zod/v4/core").$strip>;
@@ -12103,6 +12202,10 @@ export declare const WSOutboundMessageSchema: {
12103
12202
  }>>>>;
12104
12203
  changedAt: import("zod").ZodNumber;
12105
12204
  }, import("zod/v4/core").$strip>>>;
12205
+ presentation: import("zod").ZodOptional<import("zod").ZodEnum<{
12206
+ embedded: "embedded";
12207
+ }>>;
12208
+ presentationOwner: import("zod").ZodOptional<import("zod").ZodString>;
12106
12209
  }, import("zod/v4/core").$strip>>;
12107
12210
  }, import("zod/v4/core").$strip>;
12108
12211
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -12126,6 +12229,10 @@ export declare const WSOutboundMessageSchema: {
12126
12229
  }>>>>;
12127
12230
  changedAt: import("zod").ZodNumber;
12128
12231
  }, import("zod/v4/core").$strip>>>;
12232
+ presentation: import("zod").ZodOptional<import("zod").ZodEnum<{
12233
+ embedded: "embedded";
12234
+ }>>;
12235
+ presentationOwner: import("zod").ZodOptional<import("zod").ZodString>;
12129
12236
  }, import("zod/v4/core").$strip>>;
12130
12237
  error: import("zod").ZodNullable<import("zod").ZodString>;
12131
12238
  requestId: import("zod").ZodString;
@@ -12164,6 +12271,29 @@ export declare const WSOutboundMessageSchema: {
12164
12271
  totalLines: import("zod").ZodNumber;
12165
12272
  requestId: import("zod").ZodString;
12166
12273
  }, import("zod/v4/core").$strip>;
12274
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
12275
+ type: import("zod").ZodLiteral<"terminal.compatibility.diagnostic.response">;
12276
+ payload: import("zod").ZodObject<{
12277
+ requestId: import("zod").ZodString;
12278
+ success: import("zod").ZodBoolean;
12279
+ error: import("zod").ZodNullable<import("zod").ZodString>;
12280
+ generatedAt: import("zod").ZodString;
12281
+ platform: import("zod").ZodOptional<import("zod").ZodString>;
12282
+ term: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
12283
+ termProgram: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
12284
+ checks: import("zod").ZodArray<import("zod").ZodObject<{
12285
+ id: import("zod").ZodString;
12286
+ label: import("zod").ZodString;
12287
+ status: import("zod").ZodEnum<{
12288
+ pass: "pass";
12289
+ fail: "fail";
12290
+ unknown: "unknown";
12291
+ warn: "warn";
12292
+ }>;
12293
+ detail: import("zod").ZodString;
12294
+ evidence: import("zod").ZodOptional<import("zod").ZodString>;
12295
+ }, import("zod/v4/core").$strip>>;
12296
+ }, import("zod/v4/core").$strip>;
12167
12297
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
12168
12298
  type: import("zod").ZodLiteral<"terminal_stream_exit">;
12169
12299
  payload: import("zod").ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otto-code/protocol",
3
- "version": "0.8.8",
3
+ "version": "0.8.10",
4
4
  "description": "Otto shared protocol schemas and wire types",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "files": [