@otto-code/protocol 0.6.4 → 0.6.5

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.
@@ -115,6 +115,16 @@ export declare const ModelTierOverrideSchema: z.ZodObject<{
115
115
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
116
116
  }, z.core.$loose>;
117
117
  export type ModelTierOverride = z.infer<typeof ModelTierOverrideSchema>;
118
+ export declare const SavedProviderEndpointSchema: z.ZodObject<{
119
+ id: z.ZodString;
120
+ baseUrlKey: z.ZodString;
121
+ apiKeyKey: z.ZodString;
122
+ baseUrl: z.ZodString;
123
+ apiKey: z.ZodDefault<z.ZodString>;
124
+ label: z.ZodOptional<z.ZodString>;
125
+ savedAt: z.ZodOptional<z.ZodNumber>;
126
+ }, z.core.$loose>;
127
+ export type SavedProviderEndpoint = z.infer<typeof SavedProviderEndpointSchema>;
118
128
  export declare const MutableDaemonConfigSchema: z.ZodObject<{
119
129
  mcp: z.ZodObject<{
120
130
  injectIntoAgents: z.ZodBoolean;
@@ -255,6 +265,15 @@ export declare const MutableDaemonConfigSchema: z.ZodObject<{
255
265
  modelId: z.ZodString;
256
266
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
257
267
  }, z.core.$loose>>>;
268
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
269
+ id: z.ZodString;
270
+ baseUrlKey: z.ZodString;
271
+ apiKeyKey: z.ZodString;
272
+ baseUrl: z.ZodString;
273
+ apiKey: z.ZodDefault<z.ZodString>;
274
+ label: z.ZodOptional<z.ZodString>;
275
+ savedAt: z.ZodOptional<z.ZodNumber>;
276
+ }, z.core.$loose>>>;
258
277
  }, z.core.$loose>;
259
278
  export declare const MutableDaemonConfigPatchSchema: z.ZodObject<{
260
279
  mcp: z.ZodOptional<z.ZodOptional<z.ZodObject<{
@@ -396,6 +415,15 @@ export declare const MutableDaemonConfigPatchSchema: z.ZodObject<{
396
415
  modelId: z.ZodString;
397
416
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
398
417
  }, z.core.$loose>>>>;
418
+ savedProviderEndpoints: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
419
+ id: z.ZodString;
420
+ baseUrlKey: z.ZodString;
421
+ apiKeyKey: z.ZodString;
422
+ baseUrl: z.ZodString;
423
+ apiKey: z.ZodDefault<z.ZodString>;
424
+ label: z.ZodOptional<z.ZodString>;
425
+ savedAt: z.ZodOptional<z.ZodNumber>;
426
+ }, z.core.$loose>>>>;
399
427
  }, z.core.$loose>;
400
428
  export type MutableDaemonConfig = z.infer<typeof MutableDaemonConfigSchema>;
401
429
  export type MutableDaemonConfigPatch = z.infer<typeof MutableDaemonConfigPatchSchema>;
@@ -1462,6 +1490,15 @@ export declare const SetDaemonConfigRequestMessageSchema: z.ZodObject<{
1462
1490
  modelId: z.ZodString;
1463
1491
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
1464
1492
  }, z.core.$loose>>>>;
1493
+ savedProviderEndpoints: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
1494
+ id: z.ZodString;
1495
+ baseUrlKey: z.ZodString;
1496
+ apiKeyKey: z.ZodString;
1497
+ baseUrl: z.ZodString;
1498
+ apiKey: z.ZodDefault<z.ZodString>;
1499
+ label: z.ZodOptional<z.ZodString>;
1500
+ savedAt: z.ZodOptional<z.ZodNumber>;
1501
+ }, z.core.$loose>>>>;
1465
1502
  }, z.core.$loose>;
1466
1503
  }, z.core.$strip>;
1467
1504
  export declare const SpeechSettingsGetOptionsRequestSchema: z.ZodObject<{
@@ -4962,6 +4999,15 @@ export declare const SessionInboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zod
4962
4999
  modelId: z.ZodString;
4963
5000
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
4964
5001
  }, z.core.$loose>>>>;
5002
+ savedProviderEndpoints: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
5003
+ id: z.ZodString;
5004
+ baseUrlKey: z.ZodString;
5005
+ apiKeyKey: z.ZodString;
5006
+ baseUrl: z.ZodString;
5007
+ apiKey: z.ZodDefault<z.ZodString>;
5008
+ label: z.ZodOptional<z.ZodString>;
5009
+ savedAt: z.ZodOptional<z.ZodNumber>;
5010
+ }, z.core.$loose>>>>;
4965
5011
  }, z.core.$loose>;
4966
5012
  }, z.core.$strip>, z.ZodObject<{
4967
5013
  type: z.ZodLiteral<"speech.settings.get_options.request">;
@@ -6609,6 +6655,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
6609
6655
  checkoutGitLog: z.ZodOptional<z.ZodBoolean>;
6610
6656
  agentTeams: z.ZodOptional<z.ZodBoolean>;
6611
6657
  modelTierOverrides: z.ZodOptional<z.ZodBoolean>;
6658
+ savedProviderEndpoints: z.ZodOptional<z.ZodBoolean>;
6612
6659
  agentOrchestration: z.ZodOptional<z.ZodBoolean>;
6613
6660
  activityStats: z.ZodOptional<z.ZodBoolean>;
6614
6661
  runsClear: z.ZodOptional<z.ZodBoolean>;
@@ -6683,6 +6730,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
6683
6730
  checkoutGitLog?: boolean | undefined;
6684
6731
  agentTeams?: boolean | undefined;
6685
6732
  modelTierOverrides?: boolean | undefined;
6733
+ savedProviderEndpoints?: boolean | undefined;
6686
6734
  agentOrchestration?: boolean | undefined;
6687
6735
  activityStats?: boolean | undefined;
6688
6736
  runsClear?: boolean | undefined;
@@ -6758,6 +6806,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
6758
6806
  checkoutGitLog?: boolean | undefined;
6759
6807
  agentTeams?: boolean | undefined;
6760
6808
  modelTierOverrides?: boolean | undefined;
6809
+ savedProviderEndpoints?: boolean | undefined;
6761
6810
  agentOrchestration?: boolean | undefined;
6762
6811
  activityStats?: boolean | undefined;
6763
6812
  runsClear?: boolean | undefined;
@@ -7120,6 +7169,15 @@ export declare const DaemonConfigChangedStatusPayloadSchema: z.ZodObject<{
7120
7169
  modelId: z.ZodString;
7121
7170
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
7122
7171
  }, z.core.$loose>>>;
7172
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
7173
+ id: z.ZodString;
7174
+ baseUrlKey: z.ZodString;
7175
+ apiKeyKey: z.ZodString;
7176
+ baseUrl: z.ZodString;
7177
+ apiKey: z.ZodDefault<z.ZodString>;
7178
+ label: z.ZodOptional<z.ZodString>;
7179
+ savedAt: z.ZodOptional<z.ZodNumber>;
7180
+ }, z.core.$loose>>>;
7123
7181
  }, z.core.$loose>;
7124
7182
  }, z.core.$loose>;
7125
7183
  export declare const KnownStatusPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -7438,6 +7496,15 @@ export declare const KnownStatusPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObj
7438
7496
  modelId: z.ZodString;
7439
7497
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
7440
7498
  }, z.core.$loose>>>;
7499
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
7500
+ id: z.ZodString;
7501
+ baseUrlKey: z.ZodString;
7502
+ apiKeyKey: z.ZodString;
7503
+ baseUrl: z.ZodString;
7504
+ apiKey: z.ZodDefault<z.ZodString>;
7505
+ label: z.ZodOptional<z.ZodString>;
7506
+ savedAt: z.ZodOptional<z.ZodNumber>;
7507
+ }, z.core.$loose>>>;
7441
7508
  }, z.core.$loose>;
7442
7509
  }, z.core.$loose>], "status">;
7443
7510
  export type KnownStatusPayload = z.infer<typeof KnownStatusPayloadSchema>;
@@ -11515,6 +11582,15 @@ export declare const GetDaemonConfigResponseMessageSchema: z.ZodObject<{
11515
11582
  modelId: z.ZodString;
11516
11583
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
11517
11584
  }, z.core.$loose>>>;
11585
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
11586
+ id: z.ZodString;
11587
+ baseUrlKey: z.ZodString;
11588
+ apiKeyKey: z.ZodString;
11589
+ baseUrl: z.ZodString;
11590
+ apiKey: z.ZodDefault<z.ZodString>;
11591
+ label: z.ZodOptional<z.ZodString>;
11592
+ savedAt: z.ZodOptional<z.ZodNumber>;
11593
+ }, z.core.$loose>>>;
11518
11594
  }, z.core.$loose>;
11519
11595
  }, z.core.$loose>;
11520
11596
  }, z.core.$strip>;
@@ -11771,6 +11847,15 @@ export declare const SetDaemonConfigResponseMessageSchema: z.ZodObject<{
11771
11847
  modelId: z.ZodString;
11772
11848
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
11773
11849
  }, z.core.$loose>>>;
11850
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
11851
+ id: z.ZodString;
11852
+ baseUrlKey: z.ZodString;
11853
+ apiKeyKey: z.ZodString;
11854
+ baseUrl: z.ZodString;
11855
+ apiKey: z.ZodDefault<z.ZodString>;
11856
+ label: z.ZodOptional<z.ZodString>;
11857
+ savedAt: z.ZodOptional<z.ZodNumber>;
11858
+ }, z.core.$loose>>>;
11774
11859
  }, z.core.$loose>;
11775
11860
  }, z.core.$loose>;
11776
11861
  }, z.core.$strip>;
@@ -18063,6 +18148,15 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
18063
18148
  modelId: z.ZodString;
18064
18149
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
18065
18150
  }, z.core.$loose>>>;
18151
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
18152
+ id: z.ZodString;
18153
+ baseUrlKey: z.ZodString;
18154
+ apiKeyKey: z.ZodString;
18155
+ baseUrl: z.ZodString;
18156
+ apiKey: z.ZodDefault<z.ZodString>;
18157
+ label: z.ZodOptional<z.ZodString>;
18158
+ savedAt: z.ZodOptional<z.ZodNumber>;
18159
+ }, z.core.$loose>>>;
18066
18160
  }, z.core.$loose>;
18067
18161
  }, z.core.$loose>;
18068
18162
  }, z.core.$strip>, z.ZodObject<{
@@ -18209,6 +18303,15 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
18209
18303
  modelId: z.ZodString;
18210
18304
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
18211
18305
  }, z.core.$loose>>>;
18306
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
18307
+ id: z.ZodString;
18308
+ baseUrlKey: z.ZodString;
18309
+ apiKeyKey: z.ZodString;
18310
+ baseUrl: z.ZodString;
18311
+ apiKey: z.ZodDefault<z.ZodString>;
18312
+ label: z.ZodOptional<z.ZodString>;
18313
+ savedAt: z.ZodOptional<z.ZodNumber>;
18314
+ }, z.core.$loose>>>;
18212
18315
  }, z.core.$loose>;
18213
18316
  }, z.core.$loose>;
18214
18317
  }, z.core.$strip>, z.ZodObject<{
@@ -23875,6 +23978,15 @@ export declare const WSSessionInboundSchema: z.ZodObject<{
23875
23978
  modelId: z.ZodString;
23876
23979
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
23877
23980
  }, z.core.$loose>>>>;
23981
+ savedProviderEndpoints: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
23982
+ id: z.ZodString;
23983
+ baseUrlKey: z.ZodString;
23984
+ apiKeyKey: z.ZodString;
23985
+ baseUrl: z.ZodString;
23986
+ apiKey: z.ZodDefault<z.ZodString>;
23987
+ label: z.ZodOptional<z.ZodString>;
23988
+ savedAt: z.ZodOptional<z.ZodNumber>;
23989
+ }, z.core.$loose>>>>;
23878
23990
  }, z.core.$loose>;
23879
23991
  }, z.core.$strip>, z.ZodObject<{
23880
23992
  type: z.ZodLiteral<"speech.settings.get_options.request">;
@@ -28860,6 +28972,15 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
28860
28972
  modelId: z.ZodString;
28861
28973
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
28862
28974
  }, z.core.$loose>>>;
28975
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
28976
+ id: z.ZodString;
28977
+ baseUrlKey: z.ZodString;
28978
+ apiKeyKey: z.ZodString;
28979
+ baseUrl: z.ZodString;
28980
+ apiKey: z.ZodDefault<z.ZodString>;
28981
+ label: z.ZodOptional<z.ZodString>;
28982
+ savedAt: z.ZodOptional<z.ZodNumber>;
28983
+ }, z.core.$loose>>>;
28863
28984
  }, z.core.$loose>;
28864
28985
  }, z.core.$loose>;
28865
28986
  }, z.core.$strip>, z.ZodObject<{
@@ -29006,6 +29127,15 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
29006
29127
  modelId: z.ZodString;
29007
29128
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
29008
29129
  }, z.core.$loose>>>;
29130
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
29131
+ id: z.ZodString;
29132
+ baseUrlKey: z.ZodString;
29133
+ apiKeyKey: z.ZodString;
29134
+ baseUrl: z.ZodString;
29135
+ apiKey: z.ZodDefault<z.ZodString>;
29136
+ label: z.ZodOptional<z.ZodString>;
29137
+ savedAt: z.ZodOptional<z.ZodNumber>;
29138
+ }, z.core.$loose>>>;
29009
29139
  }, z.core.$loose>;
29010
29140
  }, z.core.$loose>;
29011
29141
  }, z.core.$strip>, z.ZodObject<{
@@ -34285,6 +34415,15 @@ export declare const WSInboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
34285
34415
  modelId: z.ZodString;
34286
34416
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
34287
34417
  }, z.core.$loose>>>>;
34418
+ savedProviderEndpoints: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
34419
+ id: z.ZodString;
34420
+ baseUrlKey: z.ZodString;
34421
+ apiKeyKey: z.ZodString;
34422
+ baseUrl: z.ZodString;
34423
+ apiKey: z.ZodDefault<z.ZodString>;
34424
+ label: z.ZodOptional<z.ZodString>;
34425
+ savedAt: z.ZodOptional<z.ZodNumber>;
34426
+ }, z.core.$loose>>>>;
34288
34427
  }, z.core.$loose>;
34289
34428
  }, z.core.$strip>, z.ZodObject<{
34290
34429
  type: z.ZodLiteral<"speech.settings.get_options.request">;
@@ -39272,6 +39411,15 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
39272
39411
  modelId: z.ZodString;
39273
39412
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
39274
39413
  }, z.core.$loose>>>;
39414
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
39415
+ id: z.ZodString;
39416
+ baseUrlKey: z.ZodString;
39417
+ apiKeyKey: z.ZodString;
39418
+ baseUrl: z.ZodString;
39419
+ apiKey: z.ZodDefault<z.ZodString>;
39420
+ label: z.ZodOptional<z.ZodString>;
39421
+ savedAt: z.ZodOptional<z.ZodNumber>;
39422
+ }, z.core.$loose>>>;
39275
39423
  }, z.core.$loose>;
39276
39424
  }, z.core.$loose>;
39277
39425
  }, z.core.$strip>, z.ZodObject<{
@@ -39418,6 +39566,15 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
39418
39566
  modelId: z.ZodString;
39419
39567
  tier: z.ZodType<ModelTier, unknown, z.core.$ZodTypeInternals<ModelTier, unknown>>;
39420
39568
  }, z.core.$loose>>>;
39569
+ savedProviderEndpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
39570
+ id: z.ZodString;
39571
+ baseUrlKey: z.ZodString;
39572
+ apiKeyKey: z.ZodString;
39573
+ baseUrl: z.ZodString;
39574
+ apiKey: z.ZodDefault<z.ZodString>;
39575
+ label: z.ZodOptional<z.ZodString>;
39576
+ savedAt: z.ZodOptional<z.ZodNumber>;
39577
+ }, z.core.$loose>>>;
39421
39578
  }, z.core.$loose>;
39422
39579
  }, z.core.$loose>;
39423
39580
  }, z.core.$strip>, z.ZodObject<{
package/dist/messages.js CHANGED
@@ -315,6 +315,29 @@ export const ModelTierOverrideSchema = z
315
315
  tier: ModelTierSchema,
316
316
  })
317
317
  .passthrough();
318
+ // A remembered provider endpoint: a base URL together with the credential it
319
+ // was saved with, so pointing a provider back at a previous endpoint is one
320
+ // pick instead of re-typing the key. Entries are scoped by the connection
321
+ // env-var pair they belong to (OPENAI_BASE_URL/OPENAI_API_KEY vs
322
+ // ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN), which is exactly what the provider
323
+ // settings sheet keys its dropdown off — so every openai-compatible provider
324
+ // entry on the host shares one pool, and Claude-compatible entries share
325
+ // another. Deliberately `z.string()` rather than an enum: a future env-var
326
+ // family must not make old entries unparseable.
327
+ export const SavedProviderEndpointSchema = z
328
+ .object({
329
+ /** Stable identity, `${baseUrlKey}::${baseUrl}` — dedupes on re-save. */
330
+ id: z.string().min(1),
331
+ baseUrlKey: z.string().min(1),
332
+ apiKeyKey: z.string().min(1),
333
+ baseUrl: z.string().min(1),
334
+ apiKey: z.string().default(""),
335
+ /** User-facing name; the UI falls back to the URL when absent. */
336
+ label: z.string().optional(),
337
+ /** Epoch ms of the last save, used to order the dropdown newest-first. */
338
+ savedAt: z.number().optional(),
339
+ })
340
+ .passthrough();
318
341
  export const MutableDaemonConfigSchema = z
319
342
  .object({
320
343
  mcp: z
@@ -327,6 +350,8 @@ export const MutableDaemonConfigSchema = z
327
350
  toolGroups: z.array(z.enum(OTTO_TOOL_GROUPS)).optional(),
328
351
  })
329
352
  .passthrough(),
353
+ // Defaults off, matching the daemon's own resolution — browser tools are an
354
+ // explicit opt-in, so an omitted section must never read as on.
330
355
  browserTools: MutableBrowserToolsConfigSchema.default({ enabled: false }),
331
356
  // Daemon-wide agent behavior toggles (Claude-tier capabilities). Defaults to
332
357
  // all-on so a new client parsing an old daemon's config sees today's behavior.
@@ -361,6 +386,11 @@ export const MutableDaemonConfigSchema = z
361
386
  // Gated by the modelTierOverrides feature; defaults empty so a new client
362
387
  // parsing an old daemon's config still sees a well-formed array.
363
388
  modelTierOverrides: z.array(ModelTierOverrideSchema).default([]),
389
+ // Per-host remembered provider endpoints (base URL + credential), pooled by
390
+ // env-var family. Gated by the savedProviderEndpoints feature; defaults
391
+ // empty so a new client parsing an old daemon's config still sees a
392
+ // well-formed array.
393
+ savedProviderEndpoints: z.array(SavedProviderEndpointSchema).default([]),
364
394
  })
365
395
  .passthrough();
366
396
  export const MutableDaemonConfigPatchSchema = z
@@ -396,6 +426,9 @@ export const MutableDaemonConfigPatchSchema = z
396
426
  // Gated by server_info features.modelTierOverrides. Replaces the full array
397
427
  // (read-modify-write), so removing an entry clears that model's tag.
398
428
  modelTierOverrides: z.array(ModelTierOverrideSchema).optional(),
429
+ // Gated by server_info features.savedProviderEndpoints. Replaces the full
430
+ // array (read-modify-write), so forgetting an endpoint drops it from disk.
431
+ savedProviderEndpoints: z.array(SavedProviderEndpointSchema).optional(),
399
432
  })
400
433
  .partial()
401
434
  .passthrough();
@@ -3399,6 +3432,8 @@ export const ServerInfoStatusPayloadSchema = z
3399
3432
  agentTeams: z.boolean().optional(),
3400
3433
  // COMPAT(modelTierOverrides): added in v0.5.2, drop the gate when daemon floor >= v0.5.2.
3401
3434
  modelTierOverrides: z.boolean().optional(),
3435
+ // COMPAT(savedProviderEndpoints): added in v0.6.5, drop the gate when daemon floor >= v0.6.5.
3436
+ savedProviderEndpoints: z.boolean().optional(),
3402
3437
  // COMPAT(agentOrchestration): added in v0.5.3, drop the gate when daemon floor >= v0.5.3.
3403
3438
  agentOrchestration: z.boolean().optional(),
3404
3439
  // COMPAT(activityStats): added in v0.5.3, drop the gate when daemon floor >= v0.5.3.
@@ -3533,6 +3533,15 @@ export declare const WSOutboundMessageSchema: {
3533
3533
  modelId: import("zod").ZodString;
3534
3534
  tier: import("zod").ZodType<import("../agent-types.js").ModelTier, unknown, import("zod/v4/core").$ZodTypeInternals<import("../agent-types.js").ModelTier, unknown>>;
3535
3535
  }, import("zod/v4/core").$loose>>>;
3536
+ savedProviderEndpoints: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
3537
+ id: import("zod").ZodString;
3538
+ baseUrlKey: import("zod").ZodString;
3539
+ apiKeyKey: import("zod").ZodString;
3540
+ baseUrl: import("zod").ZodString;
3541
+ apiKey: import("zod").ZodDefault<import("zod").ZodString>;
3542
+ label: import("zod").ZodOptional<import("zod").ZodString>;
3543
+ savedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
3544
+ }, import("zod/v4/core").$loose>>>;
3536
3545
  }, import("zod/v4/core").$loose>;
3537
3546
  }, import("zod/v4/core").$loose>;
3538
3547
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -3679,6 +3688,15 @@ export declare const WSOutboundMessageSchema: {
3679
3688
  modelId: import("zod").ZodString;
3680
3689
  tier: import("zod").ZodType<import("../agent-types.js").ModelTier, unknown, import("zod/v4/core").$ZodTypeInternals<import("../agent-types.js").ModelTier, unknown>>;
3681
3690
  }, import("zod/v4/core").$loose>>>;
3691
+ savedProviderEndpoints: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
3692
+ id: import("zod").ZodString;
3693
+ baseUrlKey: import("zod").ZodString;
3694
+ apiKeyKey: import("zod").ZodString;
3695
+ baseUrl: import("zod").ZodString;
3696
+ apiKey: import("zod").ZodDefault<import("zod").ZodString>;
3697
+ label: import("zod").ZodOptional<import("zod").ZodString>;
3698
+ savedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
3699
+ }, import("zod/v4/core").$loose>>>;
3682
3700
  }, import("zod/v4/core").$loose>;
3683
3701
  }, import("zod/v4/core").$loose>;
3684
3702
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otto-code/protocol",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "Otto shared protocol schemas and wire types",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "files": [