@otto-code/protocol 0.5.7 → 0.6.0

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.
@@ -1745,6 +1745,9 @@ export declare const StatsActivityGetResponseMessageSchema: z.ZodObject<{
1745
1745
  }, z.core.$strip>;
1746
1746
  }, z.core.$strip>;
1747
1747
  }, z.core.$strip>;
1748
+ export declare const ActivityStatsChangedSchema: z.ZodObject<{
1749
+ type: z.ZodLiteral<"activity_stats_changed">;
1750
+ }, z.core.$strip>;
1748
1751
  export declare const AgentContextGetUsageRequestMessageSchema: z.ZodObject<{
1749
1752
  type: z.ZodLiteral<"agent.context.get_usage.request">;
1750
1753
  agentId: z.ZodString;
@@ -5687,6 +5690,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
5687
5690
  activityStats: z.ZodOptional<z.ZodBoolean>;
5688
5691
  runsClear: z.ZodOptional<z.ZodBoolean>;
5689
5692
  projectLinks: z.ZodOptional<z.ZodBoolean>;
5693
+ fileOutsideWorkspace: z.ZodOptional<z.ZodBoolean>;
5690
5694
  }, z.core.$strip>>;
5691
5695
  }, z.core.$loose>, z.ZodTransform<{
5692
5696
  hostname: string | null;
@@ -5748,6 +5752,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
5748
5752
  activityStats?: boolean | undefined;
5749
5753
  runsClear?: boolean | undefined;
5750
5754
  projectLinks?: boolean | undefined;
5755
+ fileOutsideWorkspace?: boolean | undefined;
5751
5756
  } | undefined;
5752
5757
  }, {
5753
5758
  [x: string]: unknown;
@@ -5810,6 +5815,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
5810
5815
  activityStats?: boolean | undefined;
5811
5816
  runsClear?: boolean | undefined;
5812
5817
  projectLinks?: boolean | undefined;
5818
+ fileOutsideWorkspace?: boolean | undefined;
5813
5819
  } | undefined;
5814
5820
  }>>;
5815
5821
  export declare const StatusMessageSchema: z.ZodObject<{
@@ -12012,6 +12018,7 @@ export declare const BranchSuggestionsResponseSchema: z.ZodObject<{
12012
12018
  committerDate: z.ZodNumber;
12013
12019
  hasLocal: z.ZodOptional<z.ZodBoolean>;
12014
12020
  hasRemote: z.ZodOptional<z.ZodBoolean>;
12021
+ checkedOutElsewhere: z.ZodOptional<z.ZodBoolean>;
12015
12022
  }, z.core.$strip>>>;
12016
12023
  error: z.ZodNullable<z.ZodString>;
12017
12024
  requestId: z.ZodString;
@@ -18631,6 +18638,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
18631
18638
  committerDate: z.ZodNumber;
18632
18639
  hasLocal: z.ZodOptional<z.ZodBoolean>;
18633
18640
  hasRemote: z.ZodOptional<z.ZodBoolean>;
18641
+ checkedOutElsewhere: z.ZodOptional<z.ZodBoolean>;
18634
18642
  }, z.core.$strip>>>;
18635
18643
  error: z.ZodNullable<z.ZodString>;
18636
18644
  requestId: z.ZodString;
@@ -19650,6 +19658,8 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
19650
19658
  schedulesExecuted: z.ZodDefault<z.ZodNumber>;
19651
19659
  }, z.core.$strip>;
19652
19660
  }, z.core.$strip>;
19661
+ }, z.core.$strip>, z.ZodObject<{
19662
+ type: z.ZodLiteral<"activity_stats_changed">;
19653
19663
  }, z.core.$strip>, z.ZodObject<{
19654
19664
  type: z.ZodLiteral<"agent.context.get_usage.response">;
19655
19665
  payload: z.ZodObject<{
@@ -21320,6 +21330,7 @@ export type AgentContextGetUsageResponseMessage = z.infer<typeof AgentContextGet
21320
21330
  export type ProviderUsageListResponseMessage = z.infer<typeof ProviderUsageListResponseMessageSchema>;
21321
21331
  export type ActivityCounters = z.infer<typeof ActivityCountersSchema>;
21322
21332
  export type StatsActivityGetResponseMessage = z.infer<typeof StatsActivityGetResponseMessageSchema>;
21333
+ export type ActivityStatsChanged = z.infer<typeof ActivityStatsChangedSchema>;
21323
21334
  export type ChatCreateResponse = z.infer<typeof ChatCreateResponseSchema>;
21324
21335
  export type ChatListResponse = z.infer<typeof ChatListResponseSchema>;
21325
21336
  export type ChatInspectResponse = z.infer<typeof ChatInspectResponseSchema>;
@@ -28846,6 +28857,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
28846
28857
  committerDate: z.ZodNumber;
28847
28858
  hasLocal: z.ZodOptional<z.ZodBoolean>;
28848
28859
  hasRemote: z.ZodOptional<z.ZodBoolean>;
28860
+ checkedOutElsewhere: z.ZodOptional<z.ZodBoolean>;
28849
28861
  }, z.core.$strip>>>;
28850
28862
  error: z.ZodNullable<z.ZodString>;
28851
28863
  requestId: z.ZodString;
@@ -29865,6 +29877,8 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
29865
29877
  schedulesExecuted: z.ZodDefault<z.ZodNumber>;
29866
29878
  }, z.core.$strip>;
29867
29879
  }, z.core.$strip>;
29880
+ }, z.core.$strip>, z.ZodObject<{
29881
+ type: z.ZodLiteral<"activity_stats_changed">;
29868
29882
  }, z.core.$strip>, z.ZodObject<{
29869
29883
  type: z.ZodLiteral<"agent.context.get_usage.response">;
29870
29884
  payload: z.ZodObject<{
@@ -38696,6 +38710,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
38696
38710
  committerDate: z.ZodNumber;
38697
38711
  hasLocal: z.ZodOptional<z.ZodBoolean>;
38698
38712
  hasRemote: z.ZodOptional<z.ZodBoolean>;
38713
+ checkedOutElsewhere: z.ZodOptional<z.ZodBoolean>;
38699
38714
  }, z.core.$strip>>>;
38700
38715
  error: z.ZodNullable<z.ZodString>;
38701
38716
  requestId: z.ZodString;
@@ -39715,6 +39730,8 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
39715
39730
  schedulesExecuted: z.ZodDefault<z.ZodNumber>;
39716
39731
  }, z.core.$strip>;
39717
39732
  }, z.core.$strip>;
39733
+ }, z.core.$strip>, z.ZodObject<{
39734
+ type: z.ZodLiteral<"activity_stats_changed">;
39718
39735
  }, z.core.$strip>, z.ZodObject<{
39719
39736
  type: z.ZodLiteral<"agent.context.get_usage.response">;
39720
39737
  payload: z.ZodObject<{
package/dist/messages.js CHANGED
@@ -1385,6 +1385,17 @@ export const StatsActivityGetResponseMessageSchema = z.object({
1385
1385
  allTime: ActivityCountersSchema,
1386
1386
  }),
1387
1387
  });
1388
+ // Daemon-wide "activity counters moved" ping — broadcast to every client,
1389
+ // coalesced at the daemon (at most once every few seconds) so bursts of
1390
+ // increments don't get chatty. Carries no payload: clients re-fetch the
1391
+ // rollups via stats.activity.get. Purely additive — old clients drop the
1392
+ // unknown type with a warning, and against old daemons (which never send it)
1393
+ // the stats screen degrades to today's focus/manual refresh. Rides the
1394
+ // existing activityStats capability; no new feature flag needed because no
1395
+ // client behavior depends on detecting it.
1396
+ export const ActivityStatsChangedSchema = z.object({
1397
+ type: z.literal("activity_stats_changed"),
1398
+ });
1388
1399
  export const AgentContextGetUsageRequestMessageSchema = z.object({
1389
1400
  type: z.literal("agent.context.get_usage.request"),
1390
1401
  agentId: z.string(),
@@ -2967,6 +2978,12 @@ export const ServerInfoStatusPayloadSchema = z
2967
2978
  runsClear: z.boolean().optional(),
2968
2979
  // COMPAT(projectLinks): added in v0.5.6, drop the gate when daemon floor >= v0.5.6.
2969
2980
  projectLinks: z.boolean().optional(),
2981
+ // COMPAT(fileOutsideWorkspace): added in v0.5.8, drop the gate when daemon floor >= v0.5.8.
2982
+ // Set when the daemon will serve single-file read/write/watch for paths
2983
+ // outside every known workspace (bounded only by OS filesystem
2984
+ // permissions). The client gates this behind an "edit anyway" warning;
2985
+ // an old daemon leaves the flag unset and out-of-project files are not offered.
2986
+ fileOutsideWorkspace: z.boolean().optional(),
2970
2987
  })
2971
2988
  .optional(),
2972
2989
  })
@@ -4461,6 +4478,11 @@ export const BranchSuggestionsResponseSchema = z.object({
4461
4478
  committerDate: z.number(),
4462
4479
  hasLocal: z.boolean().optional(),
4463
4480
  hasRemote: z.boolean().optional(),
4481
+ // True when the branch is checked out in another worktree, so a
4482
+ // direct `git checkout` of it would be rejected. Optional: absent on
4483
+ // older daemons, in which case pickers disable nothing (today's
4484
+ // behavior).
4485
+ checkedOutElsewhere: z.boolean().optional(),
4464
4486
  }))
4465
4487
  .optional(),
4466
4488
  error: z.string().nullable(),
@@ -5219,6 +5241,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
5219
5241
  ProviderDiagnosticResponseMessageSchema,
5220
5242
  ProviderUsageListResponseMessageSchema,
5221
5243
  StatsActivityGetResponseMessageSchema,
5244
+ ActivityStatsChangedSchema,
5222
5245
  AgentContextGetUsageResponseMessageSchema,
5223
5246
  ListCommandsResponseSchema,
5224
5247
  ListTerminalsResponseSchema,
@@ -5183,6 +5183,7 @@ export declare const WSOutboundMessageSchema: {
5183
5183
  committerDate: import("zod").ZodNumber;
5184
5184
  hasLocal: import("zod").ZodOptional<import("zod").ZodBoolean>;
5185
5185
  hasRemote: import("zod").ZodOptional<import("zod").ZodBoolean>;
5186
+ checkedOutElsewhere: import("zod").ZodOptional<import("zod").ZodBoolean>;
5186
5187
  }, import("zod/v4/core").$strip>>>;
5187
5188
  error: import("zod").ZodNullable<import("zod").ZodString>;
5188
5189
  requestId: import("zod").ZodString;
@@ -6202,6 +6203,8 @@ export declare const WSOutboundMessageSchema: {
6202
6203
  schedulesExecuted: import("zod").ZodDefault<import("zod").ZodNumber>;
6203
6204
  }, import("zod/v4/core").$strip>;
6204
6205
  }, import("zod/v4/core").$strip>;
6206
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
6207
+ type: import("zod").ZodLiteral<"activity_stats_changed">;
6205
6208
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
6206
6209
  type: import("zod").ZodLiteral<"agent.context.get_usage.response">;
6207
6210
  payload: import("zod").ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otto-code/protocol",
3
- "version": "0.5.7",
3
+ "version": "0.6.0",
4
4
  "description": "Otto shared protocol schemas and wire types",
5
5
  "files": [
6
6
  "dist",