@nexus-code/remote-protocol 0.2.0 → 0.3.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.
package/dist/rpc.d.ts CHANGED
@@ -303,6 +303,145 @@ export declare const RemoteSessionSchema: z.ZodObject<{
303
303
  } | undefined;
304
304
  }>;
305
305
  export type RemoteSession = z.infer<typeof RemoteSessionSchema>;
306
+ /** How the user answers a consent prompt: this once, until the serving app restarts, or no. */
307
+ export declare const ConsentAnswerSchema: z.ZodEnum<["once", "session", "deny"]>;
308
+ export type ConsentAnswer = z.infer<typeof ConsentAnswerSchema>;
309
+ /**
310
+ * A change an agent asks to make that waits on the user's consent on the
311
+ * serving device: an agent of another device of the account, a nexus
312
+ * command changing another workspace there, or its agent manager. The user
313
+ * may answer it there or, when `answerable`, from the device that lists it
314
+ * (consent.answer); unanswered by `expiresAt`, it counts as turned down.
315
+ */
316
+ export declare const RemoteConsentSchema: z.ZodObject<{
317
+ id: z.ZodString;
318
+ /** When it was asked, by the serving device's clock (Unix ms). */
319
+ at: z.ZodNumber;
320
+ /** When it counts as turned down, by the serving device's clock. */
321
+ expiresAt: z.ZodNumber;
322
+ /** How long it has left as the list is sent: a countdown that needs no clock in common. */
323
+ expiresInMs: z.ZodNumber;
324
+ /** Who asks. */
325
+ from: z.ZodObject<{
326
+ /** An agent of another device of the account; absent: one of the serving device's own. */
327
+ device: z.ZodOptional<z.ZodObject<{
328
+ id: z.ZodString;
329
+ name: z.ZodString;
330
+ }, "strip", z.ZodTypeAny, {
331
+ id: string;
332
+ name: string;
333
+ }, {
334
+ id: string;
335
+ name: string;
336
+ }>>;
337
+ /** The serving device's agent manager asks. */
338
+ manager: z.ZodOptional<z.ZodBoolean>;
339
+ workspaceId: z.ZodString;
340
+ /** The asking workspace's name, when it is one of the serving device's. */
341
+ workspaceName: z.ZodOptional<z.ZodString>;
342
+ tabId: z.ZodString;
343
+ /** The asking tab's title. */
344
+ name: z.ZodOptional<z.ZodString>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ workspaceId: string;
347
+ tabId: string;
348
+ name?: string | undefined;
349
+ device?: {
350
+ id: string;
351
+ name: string;
352
+ } | undefined;
353
+ manager?: boolean | undefined;
354
+ workspaceName?: string | undefined;
355
+ }, {
356
+ workspaceId: string;
357
+ tabId: string;
358
+ name?: string | undefined;
359
+ device?: {
360
+ id: string;
361
+ name: string;
362
+ } | undefined;
363
+ manager?: boolean | undefined;
364
+ workspaceName?: string | undefined;
365
+ }>;
366
+ /** The serving device's workspace it would change. */
367
+ workspaceId: z.ZodString;
368
+ /**
369
+ * What it would do: `kind` as the serving device names it (chatInput,
370
+ * terminalInput, tabClose, permissionAllow, ...; new ones may come), a
371
+ * line on what to, and the whole of it when a line does not tell it (a
372
+ * command to allow).
373
+ */
374
+ change: z.ZodObject<{
375
+ kind: z.ZodString;
376
+ detail: z.ZodOptional<z.ZodString>;
377
+ body: z.ZodOptional<z.ZodString>;
378
+ }, "strip", z.ZodTypeAny, {
379
+ kind: string;
380
+ detail?: string | undefined;
381
+ body?: string | undefined;
382
+ }, {
383
+ kind: string;
384
+ detail?: string | undefined;
385
+ body?: string | undefined;
386
+ }>;
387
+ /** It is asked about each time: "session" is not an answer to it. */
388
+ eachTime: z.ZodBoolean;
389
+ /**
390
+ * Whether the device the list goes to may answer it: one that serves it
391
+ * chat.control, and terminal.control too for a change to a terminal; never
392
+ * the device whose agent asks.
393
+ */
394
+ answerable: z.ZodBoolean;
395
+ }, "strip", z.ZodTypeAny, {
396
+ at: number;
397
+ from: {
398
+ workspaceId: string;
399
+ tabId: string;
400
+ name?: string | undefined;
401
+ device?: {
402
+ id: string;
403
+ name: string;
404
+ } | undefined;
405
+ manager?: boolean | undefined;
406
+ workspaceName?: string | undefined;
407
+ };
408
+ id: string;
409
+ workspaceId: string;
410
+ expiresAt: number;
411
+ expiresInMs: number;
412
+ change: {
413
+ kind: string;
414
+ detail?: string | undefined;
415
+ body?: string | undefined;
416
+ };
417
+ eachTime: boolean;
418
+ answerable: boolean;
419
+ }, {
420
+ at: number;
421
+ from: {
422
+ workspaceId: string;
423
+ tabId: string;
424
+ name?: string | undefined;
425
+ device?: {
426
+ id: string;
427
+ name: string;
428
+ } | undefined;
429
+ manager?: boolean | undefined;
430
+ workspaceName?: string | undefined;
431
+ };
432
+ id: string;
433
+ workspaceId: string;
434
+ expiresAt: number;
435
+ expiresInMs: number;
436
+ change: {
437
+ kind: string;
438
+ detail?: string | undefined;
439
+ body?: string | undefined;
440
+ };
441
+ eachTime: boolean;
442
+ answerable: boolean;
443
+ }>;
444
+ export type RemoteConsent = z.infer<typeof RemoteConsentSchema>;
306
445
  /**
307
446
  * The agent that sends a request, when an agent does (nexus chat send on
308
447
  * another device): its own tab there, which the receiving chat shows as
@@ -3401,6 +3540,135 @@ export declare const SessionsUpdateSchema: z.ZodObject<{
3401
3540
  requestId?: string | undefined;
3402
3541
  } | undefined;
3403
3542
  }>, "many">;
3543
+ /** The consent prompts waiting on the user, in the order they are asked; absent before 0.3.0. */
3544
+ consents: z.ZodOptional<z.ZodArray<z.ZodObject<{
3545
+ id: z.ZodString;
3546
+ /** When it was asked, by the serving device's clock (Unix ms). */
3547
+ at: z.ZodNumber;
3548
+ /** When it counts as turned down, by the serving device's clock. */
3549
+ expiresAt: z.ZodNumber;
3550
+ /** How long it has left as the list is sent: a countdown that needs no clock in common. */
3551
+ expiresInMs: z.ZodNumber;
3552
+ /** Who asks. */
3553
+ from: z.ZodObject<{
3554
+ /** An agent of another device of the account; absent: one of the serving device's own. */
3555
+ device: z.ZodOptional<z.ZodObject<{
3556
+ id: z.ZodString;
3557
+ name: z.ZodString;
3558
+ }, "strip", z.ZodTypeAny, {
3559
+ id: string;
3560
+ name: string;
3561
+ }, {
3562
+ id: string;
3563
+ name: string;
3564
+ }>>;
3565
+ /** The serving device's agent manager asks. */
3566
+ manager: z.ZodOptional<z.ZodBoolean>;
3567
+ workspaceId: z.ZodString;
3568
+ /** The asking workspace's name, when it is one of the serving device's. */
3569
+ workspaceName: z.ZodOptional<z.ZodString>;
3570
+ tabId: z.ZodString;
3571
+ /** The asking tab's title. */
3572
+ name: z.ZodOptional<z.ZodString>;
3573
+ }, "strip", z.ZodTypeAny, {
3574
+ workspaceId: string;
3575
+ tabId: string;
3576
+ name?: string | undefined;
3577
+ device?: {
3578
+ id: string;
3579
+ name: string;
3580
+ } | undefined;
3581
+ manager?: boolean | undefined;
3582
+ workspaceName?: string | undefined;
3583
+ }, {
3584
+ workspaceId: string;
3585
+ tabId: string;
3586
+ name?: string | undefined;
3587
+ device?: {
3588
+ id: string;
3589
+ name: string;
3590
+ } | undefined;
3591
+ manager?: boolean | undefined;
3592
+ workspaceName?: string | undefined;
3593
+ }>;
3594
+ /** The serving device's workspace it would change. */
3595
+ workspaceId: z.ZodString;
3596
+ /**
3597
+ * What it would do: `kind` as the serving device names it (chatInput,
3598
+ * terminalInput, tabClose, permissionAllow, ...; new ones may come), a
3599
+ * line on what to, and the whole of it when a line does not tell it (a
3600
+ * command to allow).
3601
+ */
3602
+ change: z.ZodObject<{
3603
+ kind: z.ZodString;
3604
+ detail: z.ZodOptional<z.ZodString>;
3605
+ body: z.ZodOptional<z.ZodString>;
3606
+ }, "strip", z.ZodTypeAny, {
3607
+ kind: string;
3608
+ detail?: string | undefined;
3609
+ body?: string | undefined;
3610
+ }, {
3611
+ kind: string;
3612
+ detail?: string | undefined;
3613
+ body?: string | undefined;
3614
+ }>;
3615
+ /** It is asked about each time: "session" is not an answer to it. */
3616
+ eachTime: z.ZodBoolean;
3617
+ /**
3618
+ * Whether the device the list goes to may answer it: one that serves it
3619
+ * chat.control, and terminal.control too for a change to a terminal; never
3620
+ * the device whose agent asks.
3621
+ */
3622
+ answerable: z.ZodBoolean;
3623
+ }, "strip", z.ZodTypeAny, {
3624
+ at: number;
3625
+ from: {
3626
+ workspaceId: string;
3627
+ tabId: string;
3628
+ name?: string | undefined;
3629
+ device?: {
3630
+ id: string;
3631
+ name: string;
3632
+ } | undefined;
3633
+ manager?: boolean | undefined;
3634
+ workspaceName?: string | undefined;
3635
+ };
3636
+ id: string;
3637
+ workspaceId: string;
3638
+ expiresAt: number;
3639
+ expiresInMs: number;
3640
+ change: {
3641
+ kind: string;
3642
+ detail?: string | undefined;
3643
+ body?: string | undefined;
3644
+ };
3645
+ eachTime: boolean;
3646
+ answerable: boolean;
3647
+ }, {
3648
+ at: number;
3649
+ from: {
3650
+ workspaceId: string;
3651
+ tabId: string;
3652
+ name?: string | undefined;
3653
+ device?: {
3654
+ id: string;
3655
+ name: string;
3656
+ } | undefined;
3657
+ manager?: boolean | undefined;
3658
+ workspaceName?: string | undefined;
3659
+ };
3660
+ id: string;
3661
+ workspaceId: string;
3662
+ expiresAt: number;
3663
+ expiresInMs: number;
3664
+ change: {
3665
+ kind: string;
3666
+ detail?: string | undefined;
3667
+ body?: string | undefined;
3668
+ };
3669
+ eachTime: boolean;
3670
+ answerable: boolean;
3671
+ }>, "many">>;
3404
3672
  } & {
3405
3673
  watchId: z.ZodString;
3406
3674
  }, "strip", z.ZodTypeAny, {
@@ -3433,6 +3701,31 @@ export declare const SessionsUpdateSchema: z.ZodObject<{
3433
3701
  } | undefined;
3434
3702
  }[];
3435
3703
  watchId: string;
3704
+ consents?: {
3705
+ at: number;
3706
+ from: {
3707
+ workspaceId: string;
3708
+ tabId: string;
3709
+ name?: string | undefined;
3710
+ device?: {
3711
+ id: string;
3712
+ name: string;
3713
+ } | undefined;
3714
+ manager?: boolean | undefined;
3715
+ workspaceName?: string | undefined;
3716
+ };
3717
+ id: string;
3718
+ workspaceId: string;
3719
+ expiresAt: number;
3720
+ expiresInMs: number;
3721
+ change: {
3722
+ kind: string;
3723
+ detail?: string | undefined;
3724
+ body?: string | undefined;
3725
+ };
3726
+ eachTime: boolean;
3727
+ answerable: boolean;
3728
+ }[] | undefined;
3436
3729
  }, {
3437
3730
  workspaces: {
3438
3731
  path: string;
@@ -3463,6 +3756,31 @@ export declare const SessionsUpdateSchema: z.ZodObject<{
3463
3756
  } | undefined;
3464
3757
  }[];
3465
3758
  watchId: string;
3759
+ consents?: {
3760
+ at: number;
3761
+ from: {
3762
+ workspaceId: string;
3763
+ tabId: string;
3764
+ name?: string | undefined;
3765
+ device?: {
3766
+ id: string;
3767
+ name: string;
3768
+ } | undefined;
3769
+ manager?: boolean | undefined;
3770
+ workspaceName?: string | undefined;
3771
+ };
3772
+ id: string;
3773
+ workspaceId: string;
3774
+ expiresAt: number;
3775
+ expiresInMs: number;
3776
+ change: {
3777
+ kind: string;
3778
+ detail?: string | undefined;
3779
+ body?: string | undefined;
3780
+ };
3781
+ eachTime: boolean;
3782
+ answerable: boolean;
3783
+ }[] | undefined;
3466
3784
  }>;
3467
3785
  export type SessionsUpdate = z.infer<typeof SessionsUpdateSchema>;
3468
3786
  /**
@@ -3584,6 +3902,135 @@ export declare const RPC_METHODS: {
3584
3902
  requestId?: string | undefined;
3585
3903
  } | undefined;
3586
3904
  }>, "many">;
3905
+ /** The consent prompts waiting on the user, in the order they are asked; absent before 0.3.0. */
3906
+ consents: z.ZodOptional<z.ZodArray<z.ZodObject<{
3907
+ id: z.ZodString;
3908
+ /** When it was asked, by the serving device's clock (Unix ms). */
3909
+ at: z.ZodNumber;
3910
+ /** When it counts as turned down, by the serving device's clock. */
3911
+ expiresAt: z.ZodNumber;
3912
+ /** How long it has left as the list is sent: a countdown that needs no clock in common. */
3913
+ expiresInMs: z.ZodNumber;
3914
+ /** Who asks. */
3915
+ from: z.ZodObject<{
3916
+ /** An agent of another device of the account; absent: one of the serving device's own. */
3917
+ device: z.ZodOptional<z.ZodObject<{
3918
+ id: z.ZodString;
3919
+ name: z.ZodString;
3920
+ }, "strip", z.ZodTypeAny, {
3921
+ id: string;
3922
+ name: string;
3923
+ }, {
3924
+ id: string;
3925
+ name: string;
3926
+ }>>;
3927
+ /** The serving device's agent manager asks. */
3928
+ manager: z.ZodOptional<z.ZodBoolean>;
3929
+ workspaceId: z.ZodString;
3930
+ /** The asking workspace's name, when it is one of the serving device's. */
3931
+ workspaceName: z.ZodOptional<z.ZodString>;
3932
+ tabId: z.ZodString;
3933
+ /** The asking tab's title. */
3934
+ name: z.ZodOptional<z.ZodString>;
3935
+ }, "strip", z.ZodTypeAny, {
3936
+ workspaceId: string;
3937
+ tabId: string;
3938
+ name?: string | undefined;
3939
+ device?: {
3940
+ id: string;
3941
+ name: string;
3942
+ } | undefined;
3943
+ manager?: boolean | undefined;
3944
+ workspaceName?: string | undefined;
3945
+ }, {
3946
+ workspaceId: string;
3947
+ tabId: string;
3948
+ name?: string | undefined;
3949
+ device?: {
3950
+ id: string;
3951
+ name: string;
3952
+ } | undefined;
3953
+ manager?: boolean | undefined;
3954
+ workspaceName?: string | undefined;
3955
+ }>;
3956
+ /** The serving device's workspace it would change. */
3957
+ workspaceId: z.ZodString;
3958
+ /**
3959
+ * What it would do: `kind` as the serving device names it (chatInput,
3960
+ * terminalInput, tabClose, permissionAllow, ...; new ones may come), a
3961
+ * line on what to, and the whole of it when a line does not tell it (a
3962
+ * command to allow).
3963
+ */
3964
+ change: z.ZodObject<{
3965
+ kind: z.ZodString;
3966
+ detail: z.ZodOptional<z.ZodString>;
3967
+ body: z.ZodOptional<z.ZodString>;
3968
+ }, "strip", z.ZodTypeAny, {
3969
+ kind: string;
3970
+ detail?: string | undefined;
3971
+ body?: string | undefined;
3972
+ }, {
3973
+ kind: string;
3974
+ detail?: string | undefined;
3975
+ body?: string | undefined;
3976
+ }>;
3977
+ /** It is asked about each time: "session" is not an answer to it. */
3978
+ eachTime: z.ZodBoolean;
3979
+ /**
3980
+ * Whether the device the list goes to may answer it: one that serves it
3981
+ * chat.control, and terminal.control too for a change to a terminal; never
3982
+ * the device whose agent asks.
3983
+ */
3984
+ answerable: z.ZodBoolean;
3985
+ }, "strip", z.ZodTypeAny, {
3986
+ at: number;
3987
+ from: {
3988
+ workspaceId: string;
3989
+ tabId: string;
3990
+ name?: string | undefined;
3991
+ device?: {
3992
+ id: string;
3993
+ name: string;
3994
+ } | undefined;
3995
+ manager?: boolean | undefined;
3996
+ workspaceName?: string | undefined;
3997
+ };
3998
+ id: string;
3999
+ workspaceId: string;
4000
+ expiresAt: number;
4001
+ expiresInMs: number;
4002
+ change: {
4003
+ kind: string;
4004
+ detail?: string | undefined;
4005
+ body?: string | undefined;
4006
+ };
4007
+ eachTime: boolean;
4008
+ answerable: boolean;
4009
+ }, {
4010
+ at: number;
4011
+ from: {
4012
+ workspaceId: string;
4013
+ tabId: string;
4014
+ name?: string | undefined;
4015
+ device?: {
4016
+ id: string;
4017
+ name: string;
4018
+ } | undefined;
4019
+ manager?: boolean | undefined;
4020
+ workspaceName?: string | undefined;
4021
+ };
4022
+ id: string;
4023
+ workspaceId: string;
4024
+ expiresAt: number;
4025
+ expiresInMs: number;
4026
+ change: {
4027
+ kind: string;
4028
+ detail?: string | undefined;
4029
+ body?: string | undefined;
4030
+ };
4031
+ eachTime: boolean;
4032
+ answerable: boolean;
4033
+ }>, "many">>;
3587
4034
  }, "strip", z.ZodTypeAny, {
3588
4035
  workspaces: {
3589
4036
  path: string;
@@ -3613,6 +4060,31 @@ export declare const RPC_METHODS: {
3613
4060
  requestId?: string | undefined;
3614
4061
  } | undefined;
3615
4062
  }[];
4063
+ consents?: {
4064
+ at: number;
4065
+ from: {
4066
+ workspaceId: string;
4067
+ tabId: string;
4068
+ name?: string | undefined;
4069
+ device?: {
4070
+ id: string;
4071
+ name: string;
4072
+ } | undefined;
4073
+ manager?: boolean | undefined;
4074
+ workspaceName?: string | undefined;
4075
+ };
4076
+ id: string;
4077
+ workspaceId: string;
4078
+ expiresAt: number;
4079
+ expiresInMs: number;
4080
+ change: {
4081
+ kind: string;
4082
+ detail?: string | undefined;
4083
+ body?: string | undefined;
4084
+ };
4085
+ eachTime: boolean;
4086
+ answerable: boolean;
4087
+ }[] | undefined;
3616
4088
  }, {
3617
4089
  workspaces: {
3618
4090
  path: string;
@@ -3642,6 +4114,31 @@ export declare const RPC_METHODS: {
3642
4114
  requestId?: string | undefined;
3643
4115
  } | undefined;
3644
4116
  }[];
4117
+ consents?: {
4118
+ at: number;
4119
+ from: {
4120
+ workspaceId: string;
4121
+ tabId: string;
4122
+ name?: string | undefined;
4123
+ device?: {
4124
+ id: string;
4125
+ name: string;
4126
+ } | undefined;
4127
+ manager?: boolean | undefined;
4128
+ workspaceName?: string | undefined;
4129
+ };
4130
+ id: string;
4131
+ workspaceId: string;
4132
+ expiresAt: number;
4133
+ expiresInMs: number;
4134
+ change: {
4135
+ kind: string;
4136
+ detail?: string | undefined;
4137
+ body?: string | undefined;
4138
+ };
4139
+ eachTime: boolean;
4140
+ answerable: boolean;
4141
+ }[] | undefined;
3645
4142
  }>;
3646
4143
  };
3647
4144
  /** The list now; then a sessions.update each time it changes, until sessions.unwatch. */
@@ -3759,6 +4256,135 @@ export declare const RPC_METHODS: {
3759
4256
  requestId?: string | undefined;
3760
4257
  } | undefined;
3761
4258
  }>, "many">;
4259
+ /** The consent prompts waiting on the user, in the order they are asked; absent before 0.3.0. */
4260
+ consents: z.ZodOptional<z.ZodArray<z.ZodObject<{
4261
+ id: z.ZodString;
4262
+ /** When it was asked, by the serving device's clock (Unix ms). */
4263
+ at: z.ZodNumber;
4264
+ /** When it counts as turned down, by the serving device's clock. */
4265
+ expiresAt: z.ZodNumber;
4266
+ /** How long it has left as the list is sent: a countdown that needs no clock in common. */
4267
+ expiresInMs: z.ZodNumber;
4268
+ /** Who asks. */
4269
+ from: z.ZodObject<{
4270
+ /** An agent of another device of the account; absent: one of the serving device's own. */
4271
+ device: z.ZodOptional<z.ZodObject<{
4272
+ id: z.ZodString;
4273
+ name: z.ZodString;
4274
+ }, "strip", z.ZodTypeAny, {
4275
+ id: string;
4276
+ name: string;
4277
+ }, {
4278
+ id: string;
4279
+ name: string;
4280
+ }>>;
4281
+ /** The serving device's agent manager asks. */
4282
+ manager: z.ZodOptional<z.ZodBoolean>;
4283
+ workspaceId: z.ZodString;
4284
+ /** The asking workspace's name, when it is one of the serving device's. */
4285
+ workspaceName: z.ZodOptional<z.ZodString>;
4286
+ tabId: z.ZodString;
4287
+ /** The asking tab's title. */
4288
+ name: z.ZodOptional<z.ZodString>;
4289
+ }, "strip", z.ZodTypeAny, {
4290
+ workspaceId: string;
4291
+ tabId: string;
4292
+ name?: string | undefined;
4293
+ device?: {
4294
+ id: string;
4295
+ name: string;
4296
+ } | undefined;
4297
+ manager?: boolean | undefined;
4298
+ workspaceName?: string | undefined;
4299
+ }, {
4300
+ workspaceId: string;
4301
+ tabId: string;
4302
+ name?: string | undefined;
4303
+ device?: {
4304
+ id: string;
4305
+ name: string;
4306
+ } | undefined;
4307
+ manager?: boolean | undefined;
4308
+ workspaceName?: string | undefined;
4309
+ }>;
4310
+ /** The serving device's workspace it would change. */
4311
+ workspaceId: z.ZodString;
4312
+ /**
4313
+ * What it would do: `kind` as the serving device names it (chatInput,
4314
+ * terminalInput, tabClose, permissionAllow, ...; new ones may come), a
4315
+ * line on what to, and the whole of it when a line does not tell it (a
4316
+ * command to allow).
4317
+ */
4318
+ change: z.ZodObject<{
4319
+ kind: z.ZodString;
4320
+ detail: z.ZodOptional<z.ZodString>;
4321
+ body: z.ZodOptional<z.ZodString>;
4322
+ }, "strip", z.ZodTypeAny, {
4323
+ kind: string;
4324
+ detail?: string | undefined;
4325
+ body?: string | undefined;
4326
+ }, {
4327
+ kind: string;
4328
+ detail?: string | undefined;
4329
+ body?: string | undefined;
4330
+ }>;
4331
+ /** It is asked about each time: "session" is not an answer to it. */
4332
+ eachTime: z.ZodBoolean;
4333
+ /**
4334
+ * Whether the device the list goes to may answer it: one that serves it
4335
+ * chat.control, and terminal.control too for a change to a terminal; never
4336
+ * the device whose agent asks.
4337
+ */
4338
+ answerable: z.ZodBoolean;
4339
+ }, "strip", z.ZodTypeAny, {
4340
+ at: number;
4341
+ from: {
4342
+ workspaceId: string;
4343
+ tabId: string;
4344
+ name?: string | undefined;
4345
+ device?: {
4346
+ id: string;
4347
+ name: string;
4348
+ } | undefined;
4349
+ manager?: boolean | undefined;
4350
+ workspaceName?: string | undefined;
4351
+ };
4352
+ id: string;
4353
+ workspaceId: string;
4354
+ expiresAt: number;
4355
+ expiresInMs: number;
4356
+ change: {
4357
+ kind: string;
4358
+ detail?: string | undefined;
4359
+ body?: string | undefined;
4360
+ };
4361
+ eachTime: boolean;
4362
+ answerable: boolean;
4363
+ }, {
4364
+ at: number;
4365
+ from: {
4366
+ workspaceId: string;
4367
+ tabId: string;
4368
+ name?: string | undefined;
4369
+ device?: {
4370
+ id: string;
4371
+ name: string;
4372
+ } | undefined;
4373
+ manager?: boolean | undefined;
4374
+ workspaceName?: string | undefined;
4375
+ };
4376
+ id: string;
4377
+ workspaceId: string;
4378
+ expiresAt: number;
4379
+ expiresInMs: number;
4380
+ change: {
4381
+ kind: string;
4382
+ detail?: string | undefined;
4383
+ body?: string | undefined;
4384
+ };
4385
+ eachTime: boolean;
4386
+ answerable: boolean;
4387
+ }>, "many">>;
3762
4388
  } & {
3763
4389
  watchId: z.ZodString;
3764
4390
  }, "strip", z.ZodTypeAny, {
@@ -3791,6 +4417,31 @@ export declare const RPC_METHODS: {
3791
4417
  } | undefined;
3792
4418
  }[];
3793
4419
  watchId: string;
4420
+ consents?: {
4421
+ at: number;
4422
+ from: {
4423
+ workspaceId: string;
4424
+ tabId: string;
4425
+ name?: string | undefined;
4426
+ device?: {
4427
+ id: string;
4428
+ name: string;
4429
+ } | undefined;
4430
+ manager?: boolean | undefined;
4431
+ workspaceName?: string | undefined;
4432
+ };
4433
+ id: string;
4434
+ workspaceId: string;
4435
+ expiresAt: number;
4436
+ expiresInMs: number;
4437
+ change: {
4438
+ kind: string;
4439
+ detail?: string | undefined;
4440
+ body?: string | undefined;
4441
+ };
4442
+ eachTime: boolean;
4443
+ answerable: boolean;
4444
+ }[] | undefined;
3794
4445
  }, {
3795
4446
  workspaces: {
3796
4447
  path: string;
@@ -3821,6 +4472,31 @@ export declare const RPC_METHODS: {
3821
4472
  } | undefined;
3822
4473
  }[];
3823
4474
  watchId: string;
4475
+ consents?: {
4476
+ at: number;
4477
+ from: {
4478
+ workspaceId: string;
4479
+ tabId: string;
4480
+ name?: string | undefined;
4481
+ device?: {
4482
+ id: string;
4483
+ name: string;
4484
+ } | undefined;
4485
+ manager?: boolean | undefined;
4486
+ workspaceName?: string | undefined;
4487
+ };
4488
+ id: string;
4489
+ workspaceId: string;
4490
+ expiresAt: number;
4491
+ expiresInMs: number;
4492
+ change: {
4493
+ kind: string;
4494
+ detail?: string | undefined;
4495
+ body?: string | undefined;
4496
+ };
4497
+ eachTime: boolean;
4498
+ answerable: boolean;
4499
+ }[] | undefined;
3824
4500
  }>;
3825
4501
  };
3826
4502
  readonly "sessions.unwatch": {
@@ -7302,7 +7978,7 @@ export declare const RPC_METHODS: {
7302
7978
  workspaceId: string;
7303
7979
  tabId: string;
7304
7980
  requestId: string;
7305
- decision: "allow" | "deny";
7981
+ decision: "deny" | "allow";
7306
7982
  message?: string | undefined;
7307
7983
  from?: {
7308
7984
  kind: "manager" | "terminal" | "tab";
@@ -7319,7 +7995,7 @@ export declare const RPC_METHODS: {
7319
7995
  workspaceId: string;
7320
7996
  tabId: string;
7321
7997
  requestId: string;
7322
- decision: "allow" | "deny";
7998
+ decision: "deny" | "allow";
7323
7999
  message?: string | undefined;
7324
8000
  from?: {
7325
8001
  kind: "manager" | "terminal" | "tab";
@@ -8055,7 +8731,7 @@ export declare const RPC_METHODS: {
8055
8731
  workspaceId: string;
8056
8732
  tabId: string;
8057
8733
  requestId: string;
8058
- decision: "allow" | "deny" | "allowAlways" | "denyStop";
8734
+ decision: "deny" | "allow" | "allowAlways" | "denyStop";
8059
8735
  from?: {
8060
8736
  kind: "manager" | "terminal" | "tab";
8061
8737
  workspaceId: string;
@@ -8068,7 +8744,7 @@ export declare const RPC_METHODS: {
8068
8744
  workspaceId: string;
8069
8745
  tabId: string;
8070
8746
  requestId: string;
8071
- decision: "allow" | "deny" | "allowAlways" | "denyStop";
8747
+ decision: "deny" | "allow" | "allowAlways" | "denyStop";
8072
8748
  from?: {
8073
8749
  kind: "manager" | "terminal" | "tab";
8074
8750
  workspaceId: string;
@@ -8279,6 +8955,27 @@ export declare const RPC_METHODS: {
8279
8955
  }>;
8280
8956
  readonly result: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
8281
8957
  };
8958
+ /**
8959
+ * Answers a consent prompt of sessions.list's `consents`, as the user would
8960
+ * on the serving device, where it closes. NotFound when it is no longer
8961
+ * waiting (answered there, or timed out); Forbidden when it is not
8962
+ * `answerable`, or for "session" to one asked about each time. An
8963
+ * agent's request (`from`) is refused: only people answer these.
8964
+ */
8965
+ readonly "consent.answer": {
8966
+ readonly capability: "chat.control";
8967
+ readonly params: z.ZodObject<{
8968
+ id: z.ZodString;
8969
+ answer: z.ZodEnum<["once", "session", "deny"]>;
8970
+ }, "strip", z.ZodTypeAny, {
8971
+ id: string;
8972
+ answer: "once" | "session" | "deny";
8973
+ }, {
8974
+ id: string;
8975
+ answer: "once" | "session" | "deny";
8976
+ }>;
8977
+ readonly result: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
8978
+ };
8282
8979
  /**
8283
8980
  * A folder's entries, folders first. `path` is absolute or inside the
8284
8981
  * workspace's folder ("" for it); it must be in the workspace's folders
@@ -8698,6 +9395,135 @@ export declare const RPC_NOTIFICATIONS: {
8698
9395
  requestId?: string | undefined;
8699
9396
  } | undefined;
8700
9397
  }>, "many">;
9398
+ /** The consent prompts waiting on the user, in the order they are asked; absent before 0.3.0. */
9399
+ consents: z.ZodOptional<z.ZodArray<z.ZodObject<{
9400
+ id: z.ZodString;
9401
+ /** When it was asked, by the serving device's clock (Unix ms). */
9402
+ at: z.ZodNumber;
9403
+ /** When it counts as turned down, by the serving device's clock. */
9404
+ expiresAt: z.ZodNumber;
9405
+ /** How long it has left as the list is sent: a countdown that needs no clock in common. */
9406
+ expiresInMs: z.ZodNumber;
9407
+ /** Who asks. */
9408
+ from: z.ZodObject<{
9409
+ /** An agent of another device of the account; absent: one of the serving device's own. */
9410
+ device: z.ZodOptional<z.ZodObject<{
9411
+ id: z.ZodString;
9412
+ name: z.ZodString;
9413
+ }, "strip", z.ZodTypeAny, {
9414
+ id: string;
9415
+ name: string;
9416
+ }, {
9417
+ id: string;
9418
+ name: string;
9419
+ }>>;
9420
+ /** The serving device's agent manager asks. */
9421
+ manager: z.ZodOptional<z.ZodBoolean>;
9422
+ workspaceId: z.ZodString;
9423
+ /** The asking workspace's name, when it is one of the serving device's. */
9424
+ workspaceName: z.ZodOptional<z.ZodString>;
9425
+ tabId: z.ZodString;
9426
+ /** The asking tab's title. */
9427
+ name: z.ZodOptional<z.ZodString>;
9428
+ }, "strip", z.ZodTypeAny, {
9429
+ workspaceId: string;
9430
+ tabId: string;
9431
+ name?: string | undefined;
9432
+ device?: {
9433
+ id: string;
9434
+ name: string;
9435
+ } | undefined;
9436
+ manager?: boolean | undefined;
9437
+ workspaceName?: string | undefined;
9438
+ }, {
9439
+ workspaceId: string;
9440
+ tabId: string;
9441
+ name?: string | undefined;
9442
+ device?: {
9443
+ id: string;
9444
+ name: string;
9445
+ } | undefined;
9446
+ manager?: boolean | undefined;
9447
+ workspaceName?: string | undefined;
9448
+ }>;
9449
+ /** The serving device's workspace it would change. */
9450
+ workspaceId: z.ZodString;
9451
+ /**
9452
+ * What it would do: `kind` as the serving device names it (chatInput,
9453
+ * terminalInput, tabClose, permissionAllow, ...; new ones may come), a
9454
+ * line on what to, and the whole of it when a line does not tell it (a
9455
+ * command to allow).
9456
+ */
9457
+ change: z.ZodObject<{
9458
+ kind: z.ZodString;
9459
+ detail: z.ZodOptional<z.ZodString>;
9460
+ body: z.ZodOptional<z.ZodString>;
9461
+ }, "strip", z.ZodTypeAny, {
9462
+ kind: string;
9463
+ detail?: string | undefined;
9464
+ body?: string | undefined;
9465
+ }, {
9466
+ kind: string;
9467
+ detail?: string | undefined;
9468
+ body?: string | undefined;
9469
+ }>;
9470
+ /** It is asked about each time: "session" is not an answer to it. */
9471
+ eachTime: z.ZodBoolean;
9472
+ /**
9473
+ * Whether the device the list goes to may answer it: one that serves it
9474
+ * chat.control, and terminal.control too for a change to a terminal; never
9475
+ * the device whose agent asks.
9476
+ */
9477
+ answerable: z.ZodBoolean;
9478
+ }, "strip", z.ZodTypeAny, {
9479
+ at: number;
9480
+ from: {
9481
+ workspaceId: string;
9482
+ tabId: string;
9483
+ name?: string | undefined;
9484
+ device?: {
9485
+ id: string;
9486
+ name: string;
9487
+ } | undefined;
9488
+ manager?: boolean | undefined;
9489
+ workspaceName?: string | undefined;
9490
+ };
9491
+ id: string;
9492
+ workspaceId: string;
9493
+ expiresAt: number;
9494
+ expiresInMs: number;
9495
+ change: {
9496
+ kind: string;
9497
+ detail?: string | undefined;
9498
+ body?: string | undefined;
9499
+ };
9500
+ eachTime: boolean;
9501
+ answerable: boolean;
9502
+ }, {
9503
+ at: number;
9504
+ from: {
9505
+ workspaceId: string;
9506
+ tabId: string;
9507
+ name?: string | undefined;
9508
+ device?: {
9509
+ id: string;
9510
+ name: string;
9511
+ } | undefined;
9512
+ manager?: boolean | undefined;
9513
+ workspaceName?: string | undefined;
9514
+ };
9515
+ id: string;
9516
+ workspaceId: string;
9517
+ expiresAt: number;
9518
+ expiresInMs: number;
9519
+ change: {
9520
+ kind: string;
9521
+ detail?: string | undefined;
9522
+ body?: string | undefined;
9523
+ };
9524
+ eachTime: boolean;
9525
+ answerable: boolean;
9526
+ }>, "many">>;
8701
9527
  } & {
8702
9528
  watchId: z.ZodString;
8703
9529
  }, "strip", z.ZodTypeAny, {
@@ -8730,6 +9556,31 @@ export declare const RPC_NOTIFICATIONS: {
8730
9556
  } | undefined;
8731
9557
  }[];
8732
9558
  watchId: string;
9559
+ consents?: {
9560
+ at: number;
9561
+ from: {
9562
+ workspaceId: string;
9563
+ tabId: string;
9564
+ name?: string | undefined;
9565
+ device?: {
9566
+ id: string;
9567
+ name: string;
9568
+ } | undefined;
9569
+ manager?: boolean | undefined;
9570
+ workspaceName?: string | undefined;
9571
+ };
9572
+ id: string;
9573
+ workspaceId: string;
9574
+ expiresAt: number;
9575
+ expiresInMs: number;
9576
+ change: {
9577
+ kind: string;
9578
+ detail?: string | undefined;
9579
+ body?: string | undefined;
9580
+ };
9581
+ eachTime: boolean;
9582
+ answerable: boolean;
9583
+ }[] | undefined;
8733
9584
  }, {
8734
9585
  workspaces: {
8735
9586
  path: string;
@@ -8760,6 +9611,31 @@ export declare const RPC_NOTIFICATIONS: {
8760
9611
  } | undefined;
8761
9612
  }[];
8762
9613
  watchId: string;
9614
+ consents?: {
9615
+ at: number;
9616
+ from: {
9617
+ workspaceId: string;
9618
+ tabId: string;
9619
+ name?: string | undefined;
9620
+ device?: {
9621
+ id: string;
9622
+ name: string;
9623
+ } | undefined;
9624
+ manager?: boolean | undefined;
9625
+ workspaceName?: string | undefined;
9626
+ };
9627
+ id: string;
9628
+ workspaceId: string;
9629
+ expiresAt: number;
9630
+ expiresInMs: number;
9631
+ change: {
9632
+ kind: string;
9633
+ detail?: string | undefined;
9634
+ body?: string | undefined;
9635
+ };
9636
+ eachTime: boolean;
9637
+ answerable: boolean;
9638
+ }[] | undefined;
8763
9639
  }>;
8764
9640
  readonly "chat.update": z.ZodObject<{
8765
9641
  watchId: z.ZodString;