@awiki/dsh-plugin 0.3.3 → 0.3.4

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.
Files changed (66) hide show
  1. package/README.md +37 -31
  2. package/README.zh.md +30 -27
  3. package/cordis.patch.yml +17 -0
  4. package/lib/client.js +1269 -272
  5. package/lib/client.js.map +1 -1
  6. package/lib/index.js +874 -314
  7. package/lib/provider.js +52 -16
  8. package/lib/{sdk-adapter-CDLTgHJA.mjs → sdk-adapter-BeJakxLP.mjs} +142 -4
  9. package/lib/typert.host.js +419 -89
  10. package/lib/typert.remote-client.d.ts +19 -3
  11. package/lib/typert.remote-client.d.ts.map +1 -1
  12. package/lib/typert.remote-client.js +419 -89
  13. package/lib/types/client/AwikiDevices.d.ts +28 -0
  14. package/lib/types/client/AwikiDevices.d.ts.map +1 -0
  15. package/lib/types/client/AwikiDevices.js +85 -0
  16. package/lib/types/client/AwikiDevices.js.map +1 -0
  17. package/lib/types/client/AwikiIdentityAccess.d.ts +6 -5
  18. package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -1
  19. package/lib/types/client/AwikiIdentityAccess.js +88 -27
  20. package/lib/types/client/AwikiIdentityAccess.js.map +1 -1
  21. package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
  22. package/lib/types/client/AwikiOverlay.js +4 -3
  23. package/lib/types/client/AwikiOverlay.js.map +1 -1
  24. package/lib/types/client/controller.d.ts +20 -5
  25. package/lib/types/client/controller.d.ts.map +1 -1
  26. package/lib/types/client/controller.js +38 -7
  27. package/lib/types/client/controller.js.map +1 -1
  28. package/lib/types/client/index.d.ts.map +1 -1
  29. package/lib/types/client/index.js +8 -0
  30. package/lib/types/client/index.js.map +1 -1
  31. package/lib/types/client/slots.d.ts +10 -2
  32. package/lib/types/client/slots.d.ts.map +1 -1
  33. package/lib/types/index.d.ts +51 -10
  34. package/lib/types/index.d.ts.map +1 -1
  35. package/lib/types/index.js +675 -174
  36. package/lib/types/index.js.map +1 -1
  37. package/lib/types/listener-state.d.ts +5 -3
  38. package/lib/types/listener-state.d.ts.map +1 -1
  39. package/lib/types/listener-state.js +28 -13
  40. package/lib/types/listener-state.js.map +1 -1
  41. package/lib/types/listener.d.ts +9 -32
  42. package/lib/types/listener.d.ts.map +1 -1
  43. package/lib/types/listener.js +11 -127
  44. package/lib/types/listener.js.map +1 -1
  45. package/lib/types/provider-api.d.ts +96 -4
  46. package/lib/types/provider-api.d.ts.map +1 -1
  47. package/lib/types/provider.d.ts +7 -1
  48. package/lib/types/provider.d.ts.map +1 -1
  49. package/lib/types/provider.js +53 -15
  50. package/lib/types/provider.js.map +1 -1
  51. package/lib/types/realtime-supervisor.d.ts +43 -0
  52. package/lib/types/realtime-supervisor.d.ts.map +1 -0
  53. package/lib/types/realtime-supervisor.js +166 -0
  54. package/lib/types/realtime-supervisor.js.map +1 -0
  55. package/lib/types/sdk-adapter.d.ts +28 -2
  56. package/lib/types/sdk-adapter.d.ts.map +1 -1
  57. package/lib/types/sdk-adapter.js +132 -3
  58. package/lib/types/sdk-adapter.js.map +1 -1
  59. package/lib/types/types.d.ts +76 -6
  60. package/lib/types/types.d.ts.map +1 -1
  61. package/lib/types/types.js.map +1 -1
  62. package/package.json +18 -18
  63. package/lib/types/profile-state.d.ts +0 -11
  64. package/lib/types/profile-state.d.ts.map +0 -1
  65. package/lib/types/profile-state.js +0 -48
  66. package/lib/types/profile-state.js.map +0 -1
package/lib/client.js CHANGED
@@ -4112,7 +4112,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4112
4112
  literal("forbidden"),
4113
4113
  literal("identity-recovery-required"),
4114
4114
  literal("conflict"),
4115
- literal("state-in-use"),
4116
4115
  literal("rate-limited"),
4117
4116
  literal("group-membership-required"),
4118
4117
  literal("group-identity-stale"),
@@ -4154,7 +4153,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4154
4153
  })]);
4155
4154
  const _awiki_dsh_plugin_awiki_addGroupMember_parameter_0$schema = object({
4156
4155
  "member": string().readonly(),
4157
- "role": union([literal("admin"), literal("member")]).readonly().optional(),
4156
+ "role": union([literal("member"), literal("admin")]).readonly().optional(),
4158
4157
  "groupDid": intersection(string(), unknown()).readonly()
4159
4158
  });
4160
4159
  const _awiki_dsh_plugin_awiki_addGroupMember_result$schema = union([object({
@@ -4172,7 +4171,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4172
4171
  literal("forbidden"),
4173
4172
  literal("identity-recovery-required"),
4174
4173
  literal("conflict"),
4175
- literal("state-in-use"),
4176
4174
  literal("rate-limited"),
4177
4175
  literal("group-membership-required"),
4178
4176
  literal("group-identity-stale"),
@@ -4195,6 +4193,139 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4195
4193
  "handle": intersection(string(), unknown()).readonly().optional()
4196
4194
  }).readonly()
4197
4195
  })]);
4196
+ const _awiki_dsh_plugin_awiki_approveDeviceJoin_parameter_0$schema = object({
4197
+ "enteredSas": string().readonly(),
4198
+ "confirmation": string().readonly(),
4199
+ "requestRef": string().readonly()
4200
+ });
4201
+ const _awiki_dsh_plugin_awiki_approveDeviceJoin_result$schema = union([object({
4202
+ "ok": literal(false).readonly(),
4203
+ "error": object({
4204
+ "code": union([
4205
+ literal("not-registered"),
4206
+ literal("signed-out"),
4207
+ literal("already-registered"),
4208
+ literal("invalid-request"),
4209
+ literal("invalid-otp"),
4210
+ literal("challenge-expired"),
4211
+ literal("handle-unavailable"),
4212
+ literal("not-found"),
4213
+ literal("forbidden"),
4214
+ literal("identity-recovery-required"),
4215
+ literal("conflict"),
4216
+ literal("rate-limited"),
4217
+ literal("group-membership-required"),
4218
+ literal("group-identity-stale"),
4219
+ literal("attachment-too-large"),
4220
+ literal("summary-unavailable"),
4221
+ literal("summary-timeout"),
4222
+ literal("summary-cancelled"),
4223
+ literal("summary-invalid-output"),
4224
+ literal("summary-failed"),
4225
+ literal("delivery-unknown"),
4226
+ literal("network"),
4227
+ literal("remote")
4228
+ ]).readonly(),
4229
+ "message": string().readonly()
4230
+ }).readonly()
4231
+ }), object({
4232
+ "ok": literal(true).readonly(),
4233
+ "value": object({
4234
+ "requestRef": string().readonly(),
4235
+ "phase": union([
4236
+ literal("pending"),
4237
+ literal("verifying"),
4238
+ literal("sas-ready"),
4239
+ literal("authorized"),
4240
+ literal("cancelled"),
4241
+ literal("rejected"),
4242
+ literal("expired")
4243
+ ]).readonly(),
4244
+ "expiresAt": string().readonly(),
4245
+ "sas": string().readonly().optional()
4246
+ }).readonly()
4247
+ })]);
4248
+ const _awiki_dsh_plugin_awiki_beginDeviceJoin_result$schema = union([object({
4249
+ "ok": literal(false).readonly(),
4250
+ "error": object({
4251
+ "code": union([
4252
+ literal("not-registered"),
4253
+ literal("signed-out"),
4254
+ literal("already-registered"),
4255
+ literal("invalid-request"),
4256
+ literal("invalid-otp"),
4257
+ literal("challenge-expired"),
4258
+ literal("handle-unavailable"),
4259
+ literal("not-found"),
4260
+ literal("forbidden"),
4261
+ literal("identity-recovery-required"),
4262
+ literal("conflict"),
4263
+ literal("rate-limited"),
4264
+ literal("group-membership-required"),
4265
+ literal("group-identity-stale"),
4266
+ literal("attachment-too-large"),
4267
+ literal("summary-unavailable"),
4268
+ literal("summary-timeout"),
4269
+ literal("summary-cancelled"),
4270
+ literal("summary-invalid-output"),
4271
+ literal("summary-failed"),
4272
+ literal("delivery-unknown"),
4273
+ literal("network"),
4274
+ literal("remote")
4275
+ ]).readonly(),
4276
+ "message": string().readonly()
4277
+ }).readonly()
4278
+ }), object({
4279
+ "ok": literal(true).readonly(),
4280
+ "value": object({
4281
+ "phase": union([
4282
+ literal("pending"),
4283
+ literal("verifying"),
4284
+ literal("sas-ready"),
4285
+ literal("authorized"),
4286
+ literal("cancelled"),
4287
+ literal("rejected"),
4288
+ literal("expired")
4289
+ ]).readonly(),
4290
+ "expiresAt": string().readonly(),
4291
+ "sas": string().readonly().optional(),
4292
+ "completed": boolean().readonly()
4293
+ }).readonly()
4294
+ })]);
4295
+ const _awiki_dsh_plugin_awiki_cancelDeviceJoin_result$schema = union([object({
4296
+ "ok": literal(false).readonly(),
4297
+ "error": object({
4298
+ "code": union([
4299
+ literal("not-registered"),
4300
+ literal("signed-out"),
4301
+ literal("already-registered"),
4302
+ literal("invalid-request"),
4303
+ literal("invalid-otp"),
4304
+ literal("challenge-expired"),
4305
+ literal("handle-unavailable"),
4306
+ literal("not-found"),
4307
+ literal("forbidden"),
4308
+ literal("identity-recovery-required"),
4309
+ literal("conflict"),
4310
+ literal("rate-limited"),
4311
+ literal("group-membership-required"),
4312
+ literal("group-identity-stale"),
4313
+ literal("attachment-too-large"),
4314
+ literal("summary-unavailable"),
4315
+ literal("summary-timeout"),
4316
+ literal("summary-cancelled"),
4317
+ literal("summary-invalid-output"),
4318
+ literal("summary-failed"),
4319
+ literal("delivery-unknown"),
4320
+ literal("network"),
4321
+ literal("remote")
4322
+ ]).readonly(),
4323
+ "message": string().readonly()
4324
+ }).readonly()
4325
+ }), object({
4326
+ "ok": literal(true).readonly(),
4327
+ "value": object({ "completed": literal(true).readonly() }).readonly()
4328
+ })]);
4198
4329
  const _awiki_dsh_plugin_awiki_clearLocalData_parameter_0$schema = object({ "confirmation": string().readonly() });
4199
4330
  const _awiki_dsh_plugin_awiki_clearLocalData_result$schema = union([object({
4200
4331
  "ok": literal(false).readonly(),
@@ -4211,7 +4342,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4211
4342
  literal("forbidden"),
4212
4343
  literal("identity-recovery-required"),
4213
4344
  literal("conflict"),
4214
- literal("state-in-use"),
4215
4345
  literal("rate-limited"),
4216
4346
  literal("group-membership-required"),
4217
4347
  literal("group-identity-stale"),
@@ -4250,7 +4380,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4250
4380
  literal("forbidden"),
4251
4381
  literal("identity-recovery-required"),
4252
4382
  literal("conflict"),
4253
- literal("state-in-use"),
4254
4383
  literal("rate-limited"),
4255
4384
  literal("group-membership-required"),
4256
4385
  literal("group-identity-stale"),
@@ -4297,7 +4426,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4297
4426
  literal("forbidden"),
4298
4427
  literal("identity-recovery-required"),
4299
4428
  literal("conflict"),
4300
- literal("state-in-use"),
4301
4429
  literal("rate-limited"),
4302
4430
  literal("group-membership-required"),
4303
4431
  literal("group-identity-stale"),
@@ -4332,7 +4460,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4332
4460
  literal("forbidden"),
4333
4461
  literal("identity-recovery-required"),
4334
4462
  literal("conflict"),
4335
- literal("state-in-use"),
4336
4463
  literal("rate-limited"),
4337
4464
  literal("group-membership-required"),
4338
4465
  literal("group-identity-stale"),
@@ -4371,7 +4498,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4371
4498
  literal("forbidden"),
4372
4499
  literal("identity-recovery-required"),
4373
4500
  literal("conflict"),
4374
- literal("state-in-use"),
4375
4501
  literal("rate-limited"),
4376
4502
  literal("group-membership-required"),
4377
4503
  literal("group-identity-stale"),
@@ -4415,7 +4541,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4415
4541
  literal("forbidden"),
4416
4542
  literal("identity-recovery-required"),
4417
4543
  literal("conflict"),
4418
- literal("state-in-use"),
4419
4544
  literal("rate-limited"),
4420
4545
  literal("group-membership-required"),
4421
4546
  literal("group-identity-stale"),
@@ -4436,8 +4561,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4436
4561
  "value": object({
4437
4562
  "pollIntervalMs": number().readonly(),
4438
4563
  "attachmentMaxBytes": number().readonly(),
4439
- "profileName": string().readonly().optional(),
4440
- "legacySharedStateDetected": boolean().readonly().optional()
4564
+ "handleRecoveryPhoneEnabled": boolean().readonly()
4441
4565
  }).readonly()
4442
4566
  })]);
4443
4567
  const _awiki_dsh_plugin_awiki_getConversationPreferences_result$schema = union([object({
@@ -4455,7 +4579,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4455
4579
  literal("forbidden"),
4456
4580
  literal("identity-recovery-required"),
4457
4581
  literal("conflict"),
4458
- literal("state-in-use"),
4459
4582
  literal("rate-limited"),
4460
4583
  literal("group-membership-required"),
4461
4584
  literal("group-identity-stale"),
@@ -4499,6 +4622,53 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4499
4622
  "dismissedGroupRecoverySignature": string().readonly().optional()
4500
4623
  }).readonly()
4501
4624
  })]);
4625
+ const _awiki_dsh_plugin_awiki_getDeviceJoinStatus_result$schema = union([object({
4626
+ "ok": literal(false).readonly(),
4627
+ "error": object({
4628
+ "code": union([
4629
+ literal("not-registered"),
4630
+ literal("signed-out"),
4631
+ literal("already-registered"),
4632
+ literal("invalid-request"),
4633
+ literal("invalid-otp"),
4634
+ literal("challenge-expired"),
4635
+ literal("handle-unavailable"),
4636
+ literal("not-found"),
4637
+ literal("forbidden"),
4638
+ literal("identity-recovery-required"),
4639
+ literal("conflict"),
4640
+ literal("rate-limited"),
4641
+ literal("group-membership-required"),
4642
+ literal("group-identity-stale"),
4643
+ literal("attachment-too-large"),
4644
+ literal("summary-unavailable"),
4645
+ literal("summary-timeout"),
4646
+ literal("summary-cancelled"),
4647
+ literal("summary-invalid-output"),
4648
+ literal("summary-failed"),
4649
+ literal("delivery-unknown"),
4650
+ literal("network"),
4651
+ literal("remote")
4652
+ ]).readonly(),
4653
+ "message": string().readonly()
4654
+ }).readonly()
4655
+ }), object({
4656
+ "ok": literal(true).readonly(),
4657
+ "value": union([literal(null), object({
4658
+ "phase": union([
4659
+ literal("pending"),
4660
+ literal("verifying"),
4661
+ literal("sas-ready"),
4662
+ literal("authorized"),
4663
+ literal("cancelled"),
4664
+ literal("rejected"),
4665
+ literal("expired")
4666
+ ]).readonly(),
4667
+ "expiresAt": string().readonly(),
4668
+ "sas": string().readonly().optional(),
4669
+ "completed": boolean().readonly()
4670
+ })]).readonly()
4671
+ })]);
4502
4672
  const _awiki_dsh_plugin_awiki_getGroup_parameter_0$schema = object({ "groupDid": intersection(string(), unknown()).readonly() });
4503
4673
  const _awiki_dsh_plugin_awiki_getGroup_result$schema = union([object({
4504
4674
  "ok": literal(false).readonly(),
@@ -4515,7 +4685,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4515
4685
  literal("forbidden"),
4516
4686
  literal("identity-recovery-required"),
4517
4687
  literal("conflict"),
4518
- literal("state-in-use"),
4519
4688
  literal("rate-limited"),
4520
4689
  literal("group-membership-required"),
4521
4690
  literal("group-identity-stale"),
@@ -4563,7 +4732,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4563
4732
  literal("forbidden"),
4564
4733
  literal("identity-recovery-required"),
4565
4734
  literal("conflict"),
4566
- literal("state-in-use"),
4567
4735
  literal("rate-limited"),
4568
4736
  literal("group-membership-required"),
4569
4737
  literal("group-identity-stale"),
@@ -4632,7 +4800,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4632
4800
  literal("forbidden"),
4633
4801
  literal("identity-recovery-required"),
4634
4802
  literal("conflict"),
4635
- literal("state-in-use"),
4636
4803
  literal("rate-limited"),
4637
4804
  literal("group-membership-required"),
4638
4805
  literal("group-identity-stale"),
@@ -4677,7 +4844,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4677
4844
  literal("forbidden"),
4678
4845
  literal("identity-recovery-required"),
4679
4846
  literal("conflict"),
4680
- literal("state-in-use"),
4681
4847
  literal("rate-limited"),
4682
4848
  literal("group-membership-required"),
4683
4849
  literal("group-identity-stale"),
@@ -4746,7 +4912,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4746
4912
  literal("forbidden"),
4747
4913
  literal("identity-recovery-required"),
4748
4914
  literal("conflict"),
4749
- literal("state-in-use"),
4750
4915
  literal("rate-limited"),
4751
4916
  literal("group-membership-required"),
4752
4917
  literal("group-identity-stale"),
@@ -4785,7 +4950,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4785
4950
  literal("forbidden"),
4786
4951
  literal("identity-recovery-required"),
4787
4952
  literal("conflict"),
4788
- literal("state-in-use"),
4789
4953
  literal("rate-limited"),
4790
4954
  literal("group-membership-required"),
4791
4955
  literal("group-identity-stale"),
@@ -4828,7 +4992,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4828
4992
  literal("forbidden"),
4829
4993
  literal("identity-recovery-required"),
4830
4994
  literal("conflict"),
4831
- literal("state-in-use"),
4832
4995
  literal("rate-limited"),
4833
4996
  literal("group-membership-required"),
4834
4997
  literal("group-identity-stale"),
@@ -4883,7 +5046,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4883
5046
  literal("forbidden"),
4884
5047
  literal("identity-recovery-required"),
4885
5048
  literal("conflict"),
4886
- literal("state-in-use"),
4887
5049
  literal("rate-limited"),
4888
5050
  literal("group-membership-required"),
4889
5051
  literal("group-identity-stale"),
@@ -4931,7 +5093,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4931
5093
  literal("forbidden"),
4932
5094
  literal("identity-recovery-required"),
4933
5095
  literal("conflict"),
4934
- literal("state-in-use"),
4935
5096
  literal("rate-limited"),
4936
5097
  literal("group-membership-required"),
4937
5098
  literal("group-identity-stale"),
@@ -4970,7 +5131,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4970
5131
  literal("forbidden"),
4971
5132
  literal("identity-recovery-required"),
4972
5133
  literal("conflict"),
4973
- literal("state-in-use"),
4974
5134
  literal("rate-limited"),
4975
5135
  literal("group-membership-required"),
4976
5136
  literal("group-identity-stale"),
@@ -5014,7 +5174,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5014
5174
  literal("forbidden"),
5015
5175
  literal("identity-recovery-required"),
5016
5176
  literal("conflict"),
5017
- literal("state-in-use"),
5018
5177
  literal("rate-limited"),
5019
5178
  literal("group-membership-required"),
5020
5179
  literal("group-identity-stale"),
@@ -5053,7 +5212,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5053
5212
  literal("forbidden"),
5054
5213
  literal("identity-recovery-required"),
5055
5214
  literal("conflict"),
5056
- literal("state-in-use"),
5057
5215
  literal("rate-limited"),
5058
5216
  literal("group-membership-required"),
5059
5217
  literal("group-identity-stale"),
@@ -5115,7 +5273,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5115
5273
  literal("forbidden"),
5116
5274
  literal("identity-recovery-required"),
5117
5275
  literal("conflict"),
5118
- literal("state-in-use"),
5119
5276
  literal("rate-limited"),
5120
5277
  literal("group-membership-required"),
5121
5278
  literal("group-identity-stale"),
@@ -5175,7 +5332,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5175
5332
  literal("forbidden"),
5176
5333
  literal("identity-recovery-required"),
5177
5334
  literal("conflict"),
5178
- literal("state-in-use"),
5179
5335
  literal("rate-limited"),
5180
5336
  literal("group-membership-required"),
5181
5337
  literal("group-identity-stale"),
@@ -5229,7 +5385,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5229
5385
  literal("forbidden"),
5230
5386
  literal("identity-recovery-required"),
5231
5387
  literal("conflict"),
5232
- literal("state-in-use"),
5233
5388
  literal("rate-limited"),
5234
5389
  literal("group-membership-required"),
5235
5390
  literal("group-identity-stale"),
@@ -5277,7 +5432,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5277
5432
  literal("forbidden"),
5278
5433
  literal("identity-recovery-required"),
5279
5434
  literal("conflict"),
5280
- literal("state-in-use"),
5281
5435
  literal("rate-limited"),
5282
5436
  literal("group-membership-required"),
5283
5437
  literal("group-identity-stale"),
@@ -5325,7 +5479,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5325
5479
  literal("forbidden"),
5326
5480
  literal("identity-recovery-required"),
5327
5481
  literal("conflict"),
5328
- literal("state-in-use"),
5329
5482
  literal("rate-limited"),
5330
5483
  literal("group-membership-required"),
5331
5484
  literal("group-identity-stale"),
@@ -5361,7 +5514,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5361
5514
  literal("forbidden"),
5362
5515
  literal("identity-recovery-required"),
5363
5516
  literal("conflict"),
5364
- literal("state-in-use"),
5365
5517
  literal("rate-limited"),
5366
5518
  literal("group-membership-required"),
5367
5519
  literal("group-identity-stale"),
@@ -5401,7 +5553,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5401
5553
  literal("forbidden"),
5402
5554
  literal("identity-recovery-required"),
5403
5555
  literal("conflict"),
5404
- literal("state-in-use"),
5405
5556
  literal("rate-limited"),
5406
5557
  literal("group-membership-required"),
5407
5558
  literal("group-identity-stale"),
@@ -5457,7 +5608,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5457
5608
  literal("forbidden"),
5458
5609
  literal("identity-recovery-required"),
5459
5610
  literal("conflict"),
5460
- literal("state-in-use"),
5461
5611
  literal("rate-limited"),
5462
5612
  literal("group-membership-required"),
5463
5613
  literal("group-identity-stale"),
@@ -5503,6 +5653,74 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5503
5653
  })).readonly()
5504
5654
  }).readonly()
5505
5655
  })]);
5656
+ const _awiki_dsh_plugin_awiki_refreshDeviceManagement_result$schema = union([object({
5657
+ "ok": literal(false).readonly(),
5658
+ "error": object({
5659
+ "code": union([
5660
+ literal("not-registered"),
5661
+ literal("signed-out"),
5662
+ literal("already-registered"),
5663
+ literal("invalid-request"),
5664
+ literal("invalid-otp"),
5665
+ literal("challenge-expired"),
5666
+ literal("handle-unavailable"),
5667
+ literal("not-found"),
5668
+ literal("forbidden"),
5669
+ literal("identity-recovery-required"),
5670
+ literal("conflict"),
5671
+ literal("rate-limited"),
5672
+ literal("group-membership-required"),
5673
+ literal("group-identity-stale"),
5674
+ literal("attachment-too-large"),
5675
+ literal("summary-unavailable"),
5676
+ literal("summary-timeout"),
5677
+ literal("summary-cancelled"),
5678
+ literal("summary-invalid-output"),
5679
+ literal("summary-failed"),
5680
+ literal("delivery-unknown"),
5681
+ literal("network"),
5682
+ literal("remote")
5683
+ ]).readonly(),
5684
+ "message": string().readonly()
5685
+ }).readonly()
5686
+ }), object({
5687
+ "ok": literal(true).readonly(),
5688
+ "value": object({
5689
+ "canManage": boolean().readonly(),
5690
+ "role": union([literal("member"), literal("admin")]).readonly().optional(),
5691
+ "readiness": union([
5692
+ literal("legacy"),
5693
+ literal("member_ready"),
5694
+ literal("admin_awaiting_root"),
5695
+ literal("admin_ready"),
5696
+ literal("blocked")
5697
+ ]).readonly(),
5698
+ "devices": array(object({
5699
+ "deviceRef": string().readonly(),
5700
+ "status": union([literal("active"), literal("revoked")]).readonly(),
5701
+ "role": union([literal("member"), literal("admin")]).readonly(),
5702
+ "managementReady": boolean().readonly(),
5703
+ "isCurrent": boolean().readonly()
5704
+ })).readonly(),
5705
+ "requests": array(object({
5706
+ "requestRef": string().readonly(),
5707
+ "candidateKeyFingerprint": string().readonly(),
5708
+ "issuedAt": string().readonly(),
5709
+ "expiresAt": string().readonly(),
5710
+ "state": union([
5711
+ literal("pending"),
5712
+ literal("verifying"),
5713
+ literal("sas-ready"),
5714
+ literal("authorized"),
5715
+ literal("cancelled"),
5716
+ literal("rejected"),
5717
+ literal("expired")
5718
+ ]).readonly(),
5719
+ "claimedByCurrentDevice": boolean().readonly(),
5720
+ "canStartVerification": boolean().readonly()
5721
+ })).readonly()
5722
+ }).readonly()
5723
+ })]);
5506
5724
  const _awiki_dsh_plugin_awiki_registerIdentity_parameter_0$schema = object({
5507
5725
  "handle": string().readonly(),
5508
5726
  "phone": string().readonly(),
@@ -5523,7 +5741,57 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5523
5741
  literal("forbidden"),
5524
5742
  literal("identity-recovery-required"),
5525
5743
  literal("conflict"),
5526
- literal("state-in-use"),
5744
+ literal("rate-limited"),
5745
+ literal("group-membership-required"),
5746
+ literal("group-identity-stale"),
5747
+ literal("attachment-too-large"),
5748
+ literal("summary-unavailable"),
5749
+ literal("summary-timeout"),
5750
+ literal("summary-cancelled"),
5751
+ literal("summary-invalid-output"),
5752
+ literal("summary-failed"),
5753
+ literal("delivery-unknown"),
5754
+ literal("network"),
5755
+ literal("remote")
5756
+ ]).readonly(),
5757
+ "message": string().readonly()
5758
+ }).readonly()
5759
+ }), object({
5760
+ "ok": literal(true).readonly(),
5761
+ "value": union([object({
5762
+ "status": literal("registered").readonly(),
5763
+ "identity": object({
5764
+ "handle": intersection(string(), unknown()).readonly(),
5765
+ "did": intersection(string(), unknown()).readonly(),
5766
+ "displayName": string().readonly().optional(),
5767
+ "registeredAt": number().readonly()
5768
+ }).readonly()
5769
+ }), object({
5770
+ "status": literal("join-required").readonly(),
5771
+ "fullHandle": intersection(string(), unknown()).readonly(),
5772
+ "mode": union([literal("ordinary"), literal("handle-recovery-rebind")]).readonly(),
5773
+ "requiresUserPresence": boolean().readonly()
5774
+ })]).readonly()
5775
+ })]);
5776
+ const _awiki_dsh_plugin_awiki_rejectDeviceJoin_parameter_0$schema = object({
5777
+ "reason": union([literal("user_rejected"), literal("sas_mismatch")]).readonly(),
5778
+ "requestRef": string().readonly()
5779
+ });
5780
+ const _awiki_dsh_plugin_awiki_rejectDeviceJoin_result$schema = union([object({
5781
+ "ok": literal(false).readonly(),
5782
+ "error": object({
5783
+ "code": union([
5784
+ literal("not-registered"),
5785
+ literal("signed-out"),
5786
+ literal("already-registered"),
5787
+ literal("invalid-request"),
5788
+ literal("invalid-otp"),
5789
+ literal("challenge-expired"),
5790
+ literal("handle-unavailable"),
5791
+ literal("not-found"),
5792
+ literal("forbidden"),
5793
+ literal("identity-recovery-required"),
5794
+ literal("conflict"),
5527
5795
  literal("rate-limited"),
5528
5796
  literal("group-membership-required"),
5529
5797
  literal("group-identity-stale"),
@@ -5542,10 +5810,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5542
5810
  }), object({
5543
5811
  "ok": literal(true).readonly(),
5544
5812
  "value": object({
5545
- "handle": intersection(string(), unknown()).readonly(),
5546
- "did": intersection(string(), unknown()).readonly(),
5547
- "displayName": string().readonly().optional(),
5548
- "registeredAt": number().readonly()
5813
+ "requestRef": string().readonly(),
5814
+ "phase": union([
5815
+ literal("pending"),
5816
+ literal("verifying"),
5817
+ literal("sas-ready"),
5818
+ literal("authorized"),
5819
+ literal("cancelled"),
5820
+ literal("rejected"),
5821
+ literal("expired")
5822
+ ]).readonly(),
5823
+ "expiresAt": string().readonly(),
5824
+ "sas": string().readonly().optional()
5549
5825
  }).readonly()
5550
5826
  })]);
5551
5827
  const _awiki_dsh_plugin_awiki_removeGroupMember_parameter_0$schema = object({
@@ -5567,7 +5843,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5567
5843
  literal("forbidden"),
5568
5844
  literal("identity-recovery-required"),
5569
5845
  literal("conflict"),
5570
- literal("state-in-use"),
5571
5846
  literal("rate-limited"),
5572
5847
  literal("group-membership-required"),
5573
5848
  literal("group-identity-stale"),
@@ -5606,7 +5881,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5606
5881
  literal("forbidden"),
5607
5882
  literal("identity-recovery-required"),
5608
5883
  literal("conflict"),
5609
- literal("state-in-use"),
5610
5884
  literal("rate-limited"),
5611
5885
  literal("group-membership-required"),
5612
5886
  literal("group-identity-stale"),
@@ -5646,7 +5920,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5646
5920
  literal("forbidden"),
5647
5921
  literal("identity-recovery-required"),
5648
5922
  literal("conflict"),
5649
- literal("state-in-use"),
5650
5923
  literal("rate-limited"),
5651
5924
  literal("group-membership-required"),
5652
5925
  literal("group-identity-stale"),
@@ -5691,7 +5964,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5691
5964
  literal("forbidden"),
5692
5965
  literal("identity-recovery-required"),
5693
5966
  literal("conflict"),
5694
- literal("state-in-use"),
5695
5967
  literal("rate-limited"),
5696
5968
  literal("group-membership-required"),
5697
5969
  literal("group-identity-stale"),
@@ -5731,6 +6003,78 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5731
6003
  "unsupportedDidOnlyGroupCount": number().readonly()
5732
6004
  }).readonly()
5733
6005
  })]);
6006
+ const _awiki_dsh_plugin_awiki_revokeDevice_parameter_0$schema = object({
6007
+ "deviceRef": string().readonly(),
6008
+ "confirmation": string().readonly()
6009
+ });
6010
+ const _awiki_dsh_plugin_awiki_revokeDevice_result$schema = union([object({
6011
+ "ok": literal(false).readonly(),
6012
+ "error": object({
6013
+ "code": union([
6014
+ literal("not-registered"),
6015
+ literal("signed-out"),
6016
+ literal("already-registered"),
6017
+ literal("invalid-request"),
6018
+ literal("invalid-otp"),
6019
+ literal("challenge-expired"),
6020
+ literal("handle-unavailable"),
6021
+ literal("not-found"),
6022
+ literal("forbidden"),
6023
+ literal("identity-recovery-required"),
6024
+ literal("conflict"),
6025
+ literal("rate-limited"),
6026
+ literal("group-membership-required"),
6027
+ literal("group-identity-stale"),
6028
+ literal("attachment-too-large"),
6029
+ literal("summary-unavailable"),
6030
+ literal("summary-timeout"),
6031
+ literal("summary-cancelled"),
6032
+ literal("summary-invalid-output"),
6033
+ literal("summary-failed"),
6034
+ literal("delivery-unknown"),
6035
+ literal("network"),
6036
+ literal("remote")
6037
+ ]).readonly(),
6038
+ "message": string().readonly()
6039
+ }).readonly()
6040
+ }), object({
6041
+ "ok": literal(true).readonly(),
6042
+ "value": object({
6043
+ "canManage": boolean().readonly(),
6044
+ "role": union([literal("member"), literal("admin")]).readonly().optional(),
6045
+ "readiness": union([
6046
+ literal("legacy"),
6047
+ literal("member_ready"),
6048
+ literal("admin_awaiting_root"),
6049
+ literal("admin_ready"),
6050
+ literal("blocked")
6051
+ ]).readonly(),
6052
+ "devices": array(object({
6053
+ "deviceRef": string().readonly(),
6054
+ "status": union([literal("active"), literal("revoked")]).readonly(),
6055
+ "role": union([literal("member"), literal("admin")]).readonly(),
6056
+ "managementReady": boolean().readonly(),
6057
+ "isCurrent": boolean().readonly()
6058
+ })).readonly(),
6059
+ "requests": array(object({
6060
+ "requestRef": string().readonly(),
6061
+ "candidateKeyFingerprint": string().readonly(),
6062
+ "issuedAt": string().readonly(),
6063
+ "expiresAt": string().readonly(),
6064
+ "state": union([
6065
+ literal("pending"),
6066
+ literal("verifying"),
6067
+ literal("sas-ready"),
6068
+ literal("authorized"),
6069
+ literal("cancelled"),
6070
+ literal("rejected"),
6071
+ literal("expired")
6072
+ ]).readonly(),
6073
+ "claimedByCurrentDevice": boolean().readonly(),
6074
+ "canStartVerification": boolean().readonly()
6075
+ })).readonly()
6076
+ }).readonly()
6077
+ })]);
5734
6078
  const _awiki_dsh_plugin_awiki_sendAttachment_parameter_0$schema = object({
5735
6079
  "target": union([object({
5736
6080
  "kind": literal("direct").readonly(),
@@ -5760,7 +6104,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5760
6104
  literal("forbidden"),
5761
6105
  literal("identity-recovery-required"),
5762
6106
  literal("conflict"),
5763
- literal("state-in-use"),
5764
6107
  literal("rate-limited"),
5765
6108
  literal("group-membership-required"),
5766
6109
  literal("group-identity-stale"),
@@ -5831,7 +6174,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5831
6174
  literal("forbidden"),
5832
6175
  literal("identity-recovery-required"),
5833
6176
  literal("conflict"),
5834
- literal("state-in-use"),
5835
6177
  literal("rate-limited"),
5836
6178
  literal("group-membership-required"),
5837
6179
  literal("group-identity-stale"),
@@ -5874,7 +6216,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5874
6216
  literal("forbidden"),
5875
6217
  literal("identity-recovery-required"),
5876
6218
  literal("conflict"),
5877
- literal("state-in-use"),
5878
6219
  literal("rate-limited"),
5879
6220
  literal("group-membership-required"),
5880
6221
  literal("group-identity-stale"),
@@ -5918,7 +6259,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5918
6259
  literal("forbidden"),
5919
6260
  literal("identity-recovery-required"),
5920
6261
  literal("conflict"),
5921
- literal("state-in-use"),
5922
6262
  literal("rate-limited"),
5923
6263
  literal("group-membership-required"),
5924
6264
  literal("group-identity-stale"),
@@ -5974,7 +6314,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5974
6314
  literal("forbidden"),
5975
6315
  literal("identity-recovery-required"),
5976
6316
  literal("conflict"),
5977
- literal("state-in-use"),
5978
6317
  literal("rate-limited"),
5979
6318
  literal("group-membership-required"),
5980
6319
  literal("group-identity-stale"),
@@ -6024,6 +6363,54 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6024
6363
  })]).readonly()
6025
6364
  }).readonly()
6026
6365
  })]);
6366
+ const _awiki_dsh_plugin_awiki_startDeviceJoinVerification_parameter_0$schema = object({ "requestRef": string().readonly() });
6367
+ const _awiki_dsh_plugin_awiki_startDeviceJoinVerification_result$schema = union([object({
6368
+ "ok": literal(false).readonly(),
6369
+ "error": object({
6370
+ "code": union([
6371
+ literal("not-registered"),
6372
+ literal("signed-out"),
6373
+ literal("already-registered"),
6374
+ literal("invalid-request"),
6375
+ literal("invalid-otp"),
6376
+ literal("challenge-expired"),
6377
+ literal("handle-unavailable"),
6378
+ literal("not-found"),
6379
+ literal("forbidden"),
6380
+ literal("identity-recovery-required"),
6381
+ literal("conflict"),
6382
+ literal("rate-limited"),
6383
+ literal("group-membership-required"),
6384
+ literal("group-identity-stale"),
6385
+ literal("attachment-too-large"),
6386
+ literal("summary-unavailable"),
6387
+ literal("summary-timeout"),
6388
+ literal("summary-cancelled"),
6389
+ literal("summary-invalid-output"),
6390
+ literal("summary-failed"),
6391
+ literal("delivery-unknown"),
6392
+ literal("network"),
6393
+ literal("remote")
6394
+ ]).readonly(),
6395
+ "message": string().readonly()
6396
+ }).readonly()
6397
+ }), object({
6398
+ "ok": literal(true).readonly(),
6399
+ "value": object({
6400
+ "requestRef": string().readonly(),
6401
+ "phase": union([
6402
+ literal("pending"),
6403
+ literal("verifying"),
6404
+ literal("sas-ready"),
6405
+ literal("authorized"),
6406
+ literal("cancelled"),
6407
+ literal("rejected"),
6408
+ literal("expired")
6409
+ ]).readonly(),
6410
+ "expiresAt": string().readonly(),
6411
+ "sas": string().readonly().optional()
6412
+ }).readonly()
6413
+ })]);
6027
6414
  const _awiki_dsh_plugin_awiki_summarizeConversation_parameter_0$schema = object({
6028
6415
  "conversationId": intersection(string(), unknown()).readonly(),
6029
6416
  "unreadCountAtOpen": number().readonly().optional()
@@ -6043,7 +6430,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6043
6430
  literal("forbidden"),
6044
6431
  literal("identity-recovery-required"),
6045
6432
  literal("conflict"),
6046
- literal("state-in-use"),
6047
6433
  literal("rate-limited"),
6048
6434
  literal("group-membership-required"),
6049
6435
  literal("group-identity-stale"),
@@ -6126,7 +6512,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6126
6512
  literal("forbidden"),
6127
6513
  literal("identity-recovery-required"),
6128
6514
  literal("conflict"),
6129
- literal("state-in-use"),
6130
6515
  literal("rate-limited"),
6131
6516
  literal("group-membership-required"),
6132
6517
  literal("group-identity-stale"),
@@ -6186,7 +6571,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6186
6571
  literal("forbidden"),
6187
6572
  literal("identity-recovery-required"),
6188
6573
  literal("conflict"),
6189
- literal("state-in-use"),
6190
6574
  literal("rate-limited"),
6191
6575
  literal("group-membership-required"),
6192
6576
  literal("group-identity-stale"),
@@ -6231,7 +6615,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6231
6615
  literal("forbidden"),
6232
6616
  literal("identity-recovery-required"),
6233
6617
  literal("conflict"),
6234
- literal("state-in-use"),
6235
6618
  literal("rate-limited"),
6236
6619
  literal("group-membership-required"),
6237
6620
  literal("group-identity-stale"),
@@ -6284,7 +6667,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6284
6667
  },
6285
6668
  sourceLocation: {
6286
6669
  "file": "packages/dsh-awiki/src/index.ts",
6287
- "line": 117,
6670
+ "line": 159,
6288
6671
  "column": 9
6289
6672
  }
6290
6673
  },
@@ -6311,10 +6694,73 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6311
6694
  },
6312
6695
  sourceLocation: {
6313
6696
  "file": "packages/dsh-awiki/src/index.ts",
6314
- "line": 147,
6697
+ "line": 189,
6315
6698
  "column": 3
6316
6699
  }
6317
6700
  },
6701
+ {
6702
+ id: "@awiki/dsh-plugin#awiki/approveDeviceJoin",
6703
+ service: "awiki",
6704
+ namespace: "awiki",
6705
+ method: "approveDeviceJoin",
6706
+ invocation: { kind: "direct" },
6707
+ parameters: [{
6708
+ name: "request",
6709
+ wire: "request",
6710
+ source: "json",
6711
+ codec: {
6712
+ mode: "strict",
6713
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiApproveDeviceJoinRequest",
6714
+ schema: _awiki_dsh_plugin_awiki_approveDeviceJoin_parameter_0$schema
6715
+ }
6716
+ }],
6717
+ result: {
6718
+ mode: "strict",
6719
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
6720
+ schema: _awiki_dsh_plugin_awiki_approveDeviceJoin_result$schema
6721
+ },
6722
+ sourceLocation: {
6723
+ "file": "packages/dsh-awiki/src/index.ts",
6724
+ "line": 129,
6725
+ "column": 9
6726
+ }
6727
+ },
6728
+ {
6729
+ id: "@awiki/dsh-plugin#awiki/beginDeviceJoin",
6730
+ service: "awiki",
6731
+ namespace: "awiki",
6732
+ method: "beginDeviceJoin",
6733
+ invocation: { kind: "direct" },
6734
+ parameters: [],
6735
+ result: {
6736
+ mode: "strict",
6737
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
6738
+ schema: _awiki_dsh_plugin_awiki_beginDeviceJoin_result$schema
6739
+ },
6740
+ sourceLocation: {
6741
+ "file": "packages/dsh-awiki/src/index.ts",
6742
+ "line": 112,
6743
+ "column": 9
6744
+ }
6745
+ },
6746
+ {
6747
+ id: "@awiki/dsh-plugin#awiki/cancelDeviceJoin",
6748
+ service: "awiki",
6749
+ namespace: "awiki",
6750
+ method: "cancelDeviceJoin",
6751
+ invocation: { kind: "direct" },
6752
+ parameters: [],
6753
+ result: {
6754
+ mode: "strict",
6755
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
6756
+ schema: _awiki_dsh_plugin_awiki_cancelDeviceJoin_result$schema
6757
+ },
6758
+ sourceLocation: {
6759
+ "file": "packages/dsh-awiki/src/index.ts",
6760
+ "line": 118,
6761
+ "column": 9
6762
+ }
6763
+ },
6318
6764
  {
6319
6765
  id: "@awiki/dsh-plugin#awiki/clearLocalData",
6320
6766
  service: "awiki",
@@ -6338,7 +6784,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6338
6784
  },
6339
6785
  sourceLocation: {
6340
6786
  "file": "packages/dsh-awiki/src/index.ts",
6341
- "line": 205,
6787
+ "line": 247,
6342
6788
  "column": 3
6343
6789
  }
6344
6790
  },
@@ -6365,7 +6811,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6365
6811
  },
6366
6812
  sourceLocation: {
6367
6813
  "file": "packages/dsh-awiki/src/index.ts",
6368
- "line": 132,
6814
+ "line": 174,
6369
6815
  "column": 9
6370
6816
  }
6371
6817
  },
@@ -6392,7 +6838,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6392
6838
  },
6393
6839
  sourceLocation: {
6394
6840
  "file": "packages/dsh-awiki/src/index.ts",
6395
- "line": 126,
6841
+ "line": 168,
6396
6842
  "column": 9
6397
6843
  }
6398
6844
  },
@@ -6419,7 +6865,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6419
6865
  },
6420
6866
  sourceLocation: {
6421
6867
  "file": "packages/dsh-awiki/src/index.ts",
6422
- "line": 187,
6868
+ "line": 229,
6423
6869
  "column": 9
6424
6870
  }
6425
6871
  },
@@ -6437,8 +6883,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6437
6883
  },
6438
6884
  sourceLocation: {
6439
6885
  "file": "packages/dsh-awiki/src/index.ts",
6440
- "line": 76,
6441
- "column": 3
6886
+ "line": 86,
6887
+ "column": 9
6442
6888
  }
6443
6889
  },
6444
6890
  {
@@ -6455,10 +6901,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6455
6901
  },
6456
6902
  sourceLocation: {
6457
6903
  "file": "packages/dsh-awiki/src/index.ts",
6458
- "line": 156,
6904
+ "line": 198,
6459
6905
  "column": 3
6460
6906
  }
6461
6907
  },
6908
+ {
6909
+ id: "@awiki/dsh-plugin#awiki/getDeviceJoinStatus",
6910
+ service: "awiki",
6911
+ namespace: "awiki",
6912
+ method: "getDeviceJoinStatus",
6913
+ invocation: { kind: "direct" },
6914
+ parameters: [],
6915
+ result: {
6916
+ mode: "strict",
6917
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
6918
+ schema: _awiki_dsh_plugin_awiki_getDeviceJoinStatus_result$schema
6919
+ },
6920
+ sourceLocation: {
6921
+ "file": "packages/dsh-awiki/src/index.ts",
6922
+ "line": 115,
6923
+ "column": 9
6924
+ }
6925
+ },
6462
6926
  {
6463
6927
  id: "@awiki/dsh-plugin#awiki/getGroup",
6464
6928
  service: "awiki",
@@ -6482,7 +6946,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6482
6946
  },
6483
6947
  sourceLocation: {
6484
6948
  "file": "packages/dsh-awiki/src/index.ts",
6485
- "line": 135,
6949
+ "line": 177,
6486
6950
  "column": 3
6487
6951
  }
6488
6952
  },
@@ -6509,7 +6973,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6509
6973
  },
6510
6974
  sourceLocation: {
6511
6975
  "file": "packages/dsh-awiki/src/index.ts",
6512
- "line": 167,
6976
+ "line": 209,
6513
6977
  "column": 3
6514
6978
  }
6515
6979
  },
@@ -6527,7 +6991,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6527
6991
  },
6528
6992
  sourceLocation: {
6529
6993
  "file": "packages/dsh-awiki/src/index.ts",
6530
- "line": 79,
6994
+ "line": 89,
6531
6995
  "column": 9
6532
6996
  }
6533
6997
  },
@@ -6554,7 +7018,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6554
7018
  },
6555
7019
  sourceLocation: {
6556
7020
  "file": "packages/dsh-awiki/src/index.ts",
6557
- "line": 170,
7021
+ "line": 212,
6558
7022
  "column": 3
6559
7023
  }
6560
7024
  },
@@ -6572,7 +7036,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6572
7036
  },
6573
7037
  sourceLocation: {
6574
7038
  "file": "packages/dsh-awiki/src/index.ts",
6575
- "line": 190,
7039
+ "line": 232,
6576
7040
  "column": 3
6577
7041
  }
6578
7042
  },
@@ -6590,7 +7054,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6590
7054
  },
6591
7055
  sourceLocation: {
6592
7056
  "file": "packages/dsh-awiki/src/index.ts",
6593
- "line": 105,
7057
+ "line": 147,
6594
7058
  "column": 3
6595
7059
  }
6596
7060
  },
@@ -6617,7 +7081,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6617
7081
  },
6618
7082
  sourceLocation: {
6619
7083
  "file": "packages/dsh-awiki/src/index.ts",
6620
- "line": 120,
7084
+ "line": 162,
6621
7085
  "column": 9
6622
7086
  }
6623
7087
  },
@@ -6635,7 +7099,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6635
7099
  },
6636
7100
  sourceLocation: {
6637
7101
  "file": "packages/dsh-awiki/src/index.ts",
6638
- "line": 82,
7102
+ "line": 92,
6639
7103
  "column": 9
6640
7104
  }
6641
7105
  },
@@ -6662,7 +7126,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6662
7126
  },
6663
7127
  sourceLocation: {
6664
7128
  "file": "packages/dsh-awiki/src/index.ts",
6665
- "line": 91,
7129
+ "line": 101,
6666
7130
  "column": 9
6667
7131
  }
6668
7132
  },
@@ -6689,7 +7153,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6689
7153
  },
6690
7154
  sourceLocation: {
6691
7155
  "file": "packages/dsh-awiki/src/index.ts",
6692
- "line": 138,
7156
+ "line": 180,
6693
7157
  "column": 3
6694
7158
  }
6695
7159
  },
@@ -6716,7 +7180,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6716
7180
  },
6717
7181
  sourceLocation: {
6718
7182
  "file": "packages/dsh-awiki/src/index.ts",
6719
- "line": 141,
7183
+ "line": 183,
6720
7184
  "column": 9
6721
7185
  }
6722
7186
  },
@@ -6744,7 +7208,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6744
7208
  },
6745
7209
  sourceLocation: {
6746
7210
  "file": "packages/dsh-awiki/src/index.ts",
6747
- "line": 164,
7211
+ "line": 206,
6748
7212
  "column": 3
6749
7213
  }
6750
7214
  },
@@ -6771,7 +7235,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6771
7235
  },
6772
7236
  sourceLocation: {
6773
7237
  "file": "packages/dsh-awiki/src/index.ts",
6774
- "line": 144,
7238
+ "line": 186,
6775
7239
  "column": 3
6776
7240
  }
6777
7241
  },
@@ -6799,7 +7263,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6799
7263
  },
6800
7264
  sourceLocation: {
6801
7265
  "file": "packages/dsh-awiki/src/index.ts",
6802
- "line": 193,
7266
+ "line": 235,
6803
7267
  "column": 9
6804
7268
  }
6805
7269
  },
@@ -6817,7 +7281,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6817
7281
  },
6818
7282
  sourceLocation: {
6819
7283
  "file": "packages/dsh-awiki/src/index.ts",
6820
- "line": 88,
7284
+ "line": 98,
6821
7285
  "column": 3
6822
7286
  }
6823
7287
  },
@@ -6844,7 +7308,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6844
7308
  },
6845
7309
  sourceLocation: {
6846
7310
  "file": "packages/dsh-awiki/src/index.ts",
6847
- "line": 85,
7311
+ "line": 95,
6848
7312
  "column": 3
6849
7313
  }
6850
7314
  },
@@ -6871,7 +7335,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6871
7335
  },
6872
7336
  sourceLocation: {
6873
7337
  "file": "packages/dsh-awiki/src/index.ts",
6874
- "line": 178,
7338
+ "line": 220,
6875
7339
  "column": 3
6876
7340
  }
6877
7341
  },
@@ -6898,7 +7362,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6898
7362
  },
6899
7363
  sourceLocation: {
6900
7364
  "file": "packages/dsh-awiki/src/index.ts",
6901
- "line": 199,
7365
+ "line": 241,
6902
7366
  "column": 3
6903
7367
  }
6904
7368
  },
@@ -6925,7 +7389,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6925
7389
  },
6926
7390
  sourceLocation: {
6927
7391
  "file": "packages/dsh-awiki/src/index.ts",
6928
- "line": 114,
7392
+ "line": 156,
6929
7393
  "column": 3
6930
7394
  }
6931
7395
  },
@@ -6952,10 +7416,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6952
7416
  },
6953
7417
  sourceLocation: {
6954
7418
  "file": "packages/dsh-awiki/src/index.ts",
6955
- "line": 196,
7419
+ "line": 238,
6956
7420
  "column": 9
6957
7421
  }
6958
7422
  },
7423
+ {
7424
+ id: "@awiki/dsh-plugin#awiki/refreshDeviceManagement",
7425
+ service: "awiki",
7426
+ namespace: "awiki",
7427
+ method: "refreshDeviceManagement",
7428
+ invocation: { kind: "direct" },
7429
+ parameters: [],
7430
+ result: {
7431
+ mode: "strict",
7432
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
7433
+ schema: _awiki_dsh_plugin_awiki_refreshDeviceManagement_result$schema
7434
+ },
7435
+ sourceLocation: {
7436
+ "file": "packages/dsh-awiki/src/index.ts",
7437
+ "line": 121,
7438
+ "column": 3
7439
+ }
7440
+ },
6959
7441
  {
6960
7442
  id: "@awiki/dsh-plugin#awiki/registerIdentity",
6961
7443
  service: "awiki",
@@ -6979,7 +7461,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6979
7461
  },
6980
7462
  sourceLocation: {
6981
7463
  "file": "packages/dsh-awiki/src/index.ts",
6982
- "line": 99,
7464
+ "line": 109,
7465
+ "column": 9
7466
+ }
7467
+ },
7468
+ {
7469
+ id: "@awiki/dsh-plugin#awiki/rejectDeviceJoin",
7470
+ service: "awiki",
7471
+ namespace: "awiki",
7472
+ method: "rejectDeviceJoin",
7473
+ invocation: { kind: "direct" },
7474
+ parameters: [{
7475
+ name: "request",
7476
+ wire: "request",
7477
+ source: "json",
7478
+ codec: {
7479
+ mode: "strict",
7480
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiRejectDeviceJoinRequest",
7481
+ schema: _awiki_dsh_plugin_awiki_rejectDeviceJoin_parameter_0$schema
7482
+ }
7483
+ }],
7484
+ result: {
7485
+ mode: "strict",
7486
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
7487
+ schema: _awiki_dsh_plugin_awiki_rejectDeviceJoin_result$schema
7488
+ },
7489
+ sourceLocation: {
7490
+ "file": "packages/dsh-awiki/src/index.ts",
7491
+ "line": 134,
6983
7492
  "column": 9
6984
7493
  }
6985
7494
  },
@@ -7006,7 +7515,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7006
7515
  },
7007
7516
  sourceLocation: {
7008
7517
  "file": "packages/dsh-awiki/src/index.ts",
7009
- "line": 150,
7518
+ "line": 192,
7010
7519
  "column": 3
7011
7520
  }
7012
7521
  },
@@ -7033,7 +7542,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7033
7542
  },
7034
7543
  sourceLocation: {
7035
7544
  "file": "packages/dsh-awiki/src/index.ts",
7036
- "line": 129,
7545
+ "line": 171,
7037
7546
  "column": 3
7038
7547
  }
7039
7548
  },
@@ -7051,7 +7560,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7051
7560
  },
7052
7561
  sourceLocation: {
7053
7562
  "file": "packages/dsh-awiki/src/index.ts",
7054
- "line": 153,
7563
+ "line": 195,
7055
7564
  "column": 9
7056
7565
  }
7057
7566
  },
@@ -7078,7 +7587,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7078
7587
  },
7079
7588
  sourceLocation: {
7080
7589
  "file": "packages/dsh-awiki/src/index.ts",
7081
- "line": 123,
7590
+ "line": 165,
7591
+ "column": 9
7592
+ }
7593
+ },
7594
+ {
7595
+ id: "@awiki/dsh-plugin#awiki/revokeDevice",
7596
+ service: "awiki",
7597
+ namespace: "awiki",
7598
+ method: "revokeDevice",
7599
+ invocation: { kind: "direct" },
7600
+ parameters: [{
7601
+ name: "request",
7602
+ wire: "request",
7603
+ source: "json",
7604
+ codec: {
7605
+ mode: "strict",
7606
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiRevokeDeviceRequest",
7607
+ schema: _awiki_dsh_plugin_awiki_revokeDevice_parameter_0$schema
7608
+ }
7609
+ }],
7610
+ result: {
7611
+ mode: "strict",
7612
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
7613
+ schema: _awiki_dsh_plugin_awiki_revokeDevice_result$schema
7614
+ },
7615
+ sourceLocation: {
7616
+ "file": "packages/dsh-awiki/src/index.ts",
7617
+ "line": 139,
7082
7618
  "column": 9
7083
7619
  }
7084
7620
  },
@@ -7105,7 +7641,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7105
7641
  },
7106
7642
  sourceLocation: {
7107
7643
  "file": "packages/dsh-awiki/src/index.ts",
7108
- "line": 184,
7644
+ "line": 226,
7109
7645
  "column": 9
7110
7646
  }
7111
7647
  },
@@ -7132,7 +7668,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7132
7668
  },
7133
7669
  sourceLocation: {
7134
7670
  "file": "packages/dsh-awiki/src/index.ts",
7135
- "line": 202,
7671
+ "line": 244,
7136
7672
  "column": 9
7137
7673
  }
7138
7674
  },
@@ -7159,7 +7695,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7159
7695
  },
7160
7696
  sourceLocation: {
7161
7697
  "file": "packages/dsh-awiki/src/index.ts",
7162
- "line": 111,
7698
+ "line": 153,
7163
7699
  "column": 3
7164
7700
  }
7165
7701
  },
@@ -7186,8 +7722,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7186
7722
  },
7187
7723
  sourceLocation: {
7188
7724
  "file": "packages/dsh-awiki/src/index.ts",
7189
- "line": 96,
7190
- "column": 3
7725
+ "line": 106,
7726
+ "column": 9
7191
7727
  }
7192
7728
  },
7193
7729
  {
@@ -7213,10 +7749,37 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7213
7749
  },
7214
7750
  sourceLocation: {
7215
7751
  "file": "packages/dsh-awiki/src/index.ts",
7216
- "line": 181,
7752
+ "line": 223,
7217
7753
  "column": 3
7218
7754
  }
7219
7755
  },
7756
+ {
7757
+ id: "@awiki/dsh-plugin#awiki/startDeviceJoinVerification",
7758
+ service: "awiki",
7759
+ namespace: "awiki",
7760
+ method: "startDeviceJoinVerification",
7761
+ invocation: { kind: "direct" },
7762
+ parameters: [{
7763
+ name: "request",
7764
+ wire: "request",
7765
+ source: "json",
7766
+ codec: {
7767
+ mode: "strict",
7768
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiRequestRefInput",
7769
+ schema: _awiki_dsh_plugin_awiki_startDeviceJoinVerification_parameter_0$schema
7770
+ }
7771
+ }],
7772
+ result: {
7773
+ mode: "strict",
7774
+ typeSymbol: "@awiki/dsh-plugin/types#AwikiResult",
7775
+ schema: _awiki_dsh_plugin_awiki_startDeviceJoinVerification_result$schema
7776
+ },
7777
+ sourceLocation: {
7778
+ "file": "packages/dsh-awiki/src/index.ts",
7779
+ "line": 124,
7780
+ "column": 9
7781
+ }
7782
+ },
7220
7783
  {
7221
7784
  id: "@awiki/dsh-plugin#awiki/summarizeConversation",
7222
7785
  service: "awiki",
@@ -7240,7 +7803,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7240
7803
  },
7241
7804
  sourceLocation: {
7242
7805
  "file": "packages/dsh-awiki/src/index.ts",
7243
- "line": 173,
7806
+ "line": 215,
7244
7807
  "column": 9
7245
7808
  }
7246
7809
  },
@@ -7267,7 +7830,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7267
7830
  },
7268
7831
  sourceLocation: {
7269
7832
  "file": "packages/dsh-awiki/src/index.ts",
7270
- "line": 159,
7833
+ "line": 201,
7271
7834
  "column": 3
7272
7835
  }
7273
7836
  },
@@ -7294,7 +7857,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7294
7857
  },
7295
7858
  sourceLocation: {
7296
7859
  "file": "packages/dsh-awiki/src/index.ts",
7297
- "line": 102,
7860
+ "line": 144,
7298
7861
  "column": 9
7299
7862
  }
7300
7863
  },
@@ -7321,7 +7884,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7321
7884
  },
7322
7885
  sourceLocation: {
7323
7886
  "file": "packages/dsh-awiki/src/index.ts",
7324
- "line": 108,
7887
+ "line": 150,
7325
7888
  "column": 3
7326
7889
  }
7327
7890
  }
@@ -7350,13 +7913,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7350
7913
  const AWIKI_CLEAR_LOCAL_DATA_CONFIRMATION = "clear-awiki-local-data";
7351
7914
  //#endregion
7352
7915
  //#region \0dsh-awiki-css:AwikiIdentityPage.module.css.mjs
7353
- const css$4 = "._0dbJua_page{width:100%;height:100%;min-height:0;color:var(--dsw-alias-label-secondary);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}._0dbJua_navigation{box-sizing:border-box;align-items:center;min-height:44px;padding:8px 16px 0;display:flex}._0dbJua_backButton{min-height:36px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 8px;font-size:12px;line-height:18px;display:inline-flex}._0dbJua_backButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._0dbJua_backButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}._0dbJua_backButton:disabled{cursor:default;opacity:.5}._0dbJua_viewport{min-height:0;overflow:auto}._0dbJua_content{box-sizing:border-box;align-content:center;width:min(400px,100%);min-height:100%;margin:0 auto;padding:28px 32px;display:grid}@media (height<=560px){._0dbJua_navigation{min-height:36px;padding:4px 8px 0}._0dbJua_backButton{min-height:32px}._0dbJua_content{align-content:start;padding:12px 16px}}@media (prefers-reduced-motion:reduce){._0dbJua_backButton{transition-duration:.001ms!important}}";
7354
- const tagId$4 = "@awiki/dsh-plugin/AwikiIdentityPage.module.css";
7355
- if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
7916
+ const css$5 = "._0dbJua_page{width:100%;height:100%;min-height:0;color:var(--dsw-alias-label-secondary);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}._0dbJua_navigation{box-sizing:border-box;align-items:center;min-height:44px;padding:8px 16px 0;display:flex}._0dbJua_backButton{min-height:36px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 8px;font-size:12px;line-height:18px;display:inline-flex}._0dbJua_backButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._0dbJua_backButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}._0dbJua_backButton:disabled{cursor:default;opacity:.5}._0dbJua_viewport{min-height:0;overflow:auto}._0dbJua_content{box-sizing:border-box;align-content:center;width:min(400px,100%);min-height:100%;margin:0 auto;padding:28px 32px;display:grid}@media (height<=560px){._0dbJua_navigation{min-height:36px;padding:4px 8px 0}._0dbJua_backButton{min-height:32px}._0dbJua_content{align-content:start;padding:12px 16px}}@media (prefers-reduced-motion:reduce){._0dbJua_backButton{transition-duration:.001ms!important}}";
7917
+ const tagId$5 = "@awiki/dsh-plugin/AwikiIdentityPage.module.css";
7918
+ if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
7356
7919
  const tag = document.createElement("style");
7357
7920
  tag.dataset.plugin = "@awiki/dsh-plugin";
7358
- tag.dataset.pluginCss = tagId$4;
7359
- tag.textContent = css$4;
7921
+ tag.dataset.pluginCss = tagId$5;
7922
+ tag.textContent = css$5;
7360
7923
  document.head.appendChild(tag);
7361
7924
  }
7362
7925
  var _dsh_awiki_css_AwikiIdentityPage_module_css_default = {
@@ -7394,13 +7957,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7394
7957
  }
7395
7958
  //#endregion
7396
7959
  //#region \0dsh-awiki-css:AwikiOverlay.module.css.mjs
7397
- const css$3 = ".EtEeYG_trigger{z-index:2;border:1px solid var(--dsw-alias-border-l2);width:48px;height:48px;color:var(--dsw-alias-brand-primary);box-shadow:var(--dsw-shadow-lv2);cursor:grab;font:inherit;touch-action:none;user-select:none;background:#fff;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;overflow:visible}.EtEeYG_trigger:hover{box-shadow:var(--dsw-shadow-lv3);background:#fff}.EtEeYG_trigger:active,.EtEeYG_trigger[data-dragging]{cursor:grabbing}.EtEeYG_launcherIcon{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;display:block}.EtEeYG_unreadBadge{border:2px solid var(--dsw-alias-bg-base);background:var(--dsw-alias-state-error-primary);color:#fff;box-sizing:border-box;pointer-events:none;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:600;line-height:16px;display:grid;position:absolute;top:-5px;right:-5px}.EtEeYG_trigger:focus-visible,.EtEeYG_drawer button:focus-visible,.EtEeYG_drawer input:focus-visible,.EtEeYG_drawer textarea:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.EtEeYG_drawer{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);z-index:1;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:min(720px,100vw - 80px);min-width:min(360px,100vw - 80px);height:min(720px,100vh - 16px);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv3);border-radius:16px;flex-direction:column;transition:width .16s;display:flex;position:fixed;overflow:hidden}.EtEeYG_drawer[data-mode=mail]{width:min(1040px,100vw - 80px)}.EtEeYG_drawer[data-resizing]{user-select:none;transition:none}.EtEeYG_resizeHandle{z-index:5;touch-action:none;user-select:none;position:absolute}.EtEeYG_resizeHandle[data-resize-handle=n],.EtEeYG_resizeHandle[data-resize-handle=s]{cursor:ns-resize;height:8px;left:14px;right:14px}.EtEeYG_resizeHandle[data-resize-handle=n]{top:0}.EtEeYG_resizeHandle[data-resize-handle=s]{bottom:0}.EtEeYG_resizeHandle[data-resize-handle=e],.EtEeYG_resizeHandle[data-resize-handle=w]{cursor:ew-resize;width:8px;top:14px;bottom:14px}.EtEeYG_resizeHandle[data-resize-handle=e]{right:0}.EtEeYG_resizeHandle[data-resize-handle=w]{left:0}.EtEeYG_resizeHandle[data-resize-handle=ne],.EtEeYG_resizeHandle[data-resize-handle=se],.EtEeYG_resizeHandle[data-resize-handle=sw],.EtEeYG_resizeHandle[data-resize-handle=nw]{width:14px;height:14px}.EtEeYG_resizeHandle[data-resize-handle=ne]{cursor:nesw-resize;top:0;right:0}.EtEeYG_resizeHandle[data-resize-handle=se]{cursor:nwse-resize;bottom:0;right:0}.EtEeYG_resizeHandle[data-resize-handle=sw]{cursor:nesw-resize;bottom:0;left:0}.EtEeYG_resizeHandle[data-resize-handle=nw]{cursor:nwse-resize;top:0;left:0}.EtEeYG_drawerHeader{border-bottom:1px solid var(--dsw-alias-border-l1);cursor:grab;touch-action:none;user-select:none;flex:none;align-items:center;gap:8px;height:58px;padding:0 14px 0 18px;display:flex}.EtEeYG_drawerHeader[data-dragging]{cursor:grabbing}.EtEeYG_drawerHeader>div{flex:1;align-items:center;gap:8px;display:flex}.EtEeYG_drawerHeader h2{margin:0;font-size:16px;line-height:24px}.EtEeYG_drawerHeader button,.EtEeYG_back{cursor:pointer;width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.EtEeYG_drawerHeader button:hover,.EtEeYG_back:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_centerState,.EtEeYG_threadEmpty{text-align:center;color:var(--dsw-alias-label-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex}.EtEeYG_centerState p{overflow-wrap:anywhere;max-width:420px;margin:0}.EtEeYG_registrationIcon{background:var(--dsw-alias-interactive-bg-active);width:48px;height:48px;color:var(--dsw-alias-brand-primary);border-radius:50%;justify-self:center;place-items:center;display:grid}.EtEeYG_fileDraft input,.EtEeYG_composeRow textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:10px}.EtEeYG_primary,.EtEeYG_more,.EtEeYG_fileDraft button{background:var(--dsw-alias-button-primary-fill);min-height:36px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;font:inherit;border:0;border-radius:10px;padding:0 14px}.EtEeYG_primary:hover,.EtEeYG_fileDraft button:hover{background:var(--dsw-alias-button-primary-hover)}.EtEeYG_primary:disabled,.EtEeYG_fileDraft button:disabled{opacity:.5;cursor:default}.EtEeYG_secondary{border:1px solid var(--dsw-alias-border-l2);min-height:36px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:10px;padding:0 14px}.EtEeYG_secondary:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_composeBackdrop{background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 72%, transparent);place-items:center;padding:24px;display:grid;position:absolute;inset:58px 0 0;overflow:auto}.EtEeYG_composeCard{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:min(360px,100%);box-shadow:var(--dsw-shadow-lv3);border-radius:14px;gap:12px;padding:20px;display:grid}.EtEeYG_composeCard h3{margin:0;font-size:16px;line-height:24px}.EtEeYG_composeCard p{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;line-height:20px}.EtEeYG_composeCard label{color:var(--dsw-alias-label-secondary);gap:6px;font-size:13px;line-height:20px;display:grid}.EtEeYG_composeCard input,.EtEeYG_composeCard textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:10px;padding:9px 12px}.EtEeYG_composeCard input{height:40px;padding-block:0}.EtEeYG_composeCard textarea{resize:vertical;min-height:92px}.EtEeYG_composeActions{justify-content:flex-end;gap:8px;display:flex}.EtEeYG_logoutWarning{color:var(--dsw-alias-label-secondary);gap:8px;font-size:13px;line-height:20px;display:grid}.EtEeYG_logoutWarning p{margin:0}.EtEeYG_logoutConfirm{border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.EtEeYG_compactModal.EtEeYG_compactModal{max-height:calc(100vh - 48px)}.EtEeYG_compactModalContent{min-height:0;overflow-y:auto}.EtEeYG_linkButton{color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:0}.EtEeYG_notice{color:var(--dsw-alias-state-success-primary);text-align:center}.EtEeYG_identityAccess{flex:1;min-height:0;overflow:hidden}.EtEeYG_recoveryForm{width:100%;min-width:0;color:var(--dsw-alias-label-secondary);gap:14px;display:grid}.EtEeYG_recoveryForm h3{color:var(--dsw-alias-label-primary);text-align:center;margin:0}.EtEeYG_recoveryForm>p{text-align:center;margin:0;font-size:13px;line-height:20px}.EtEeYG_recoveryForm>label:not(.EtEeYG_recoveryConfirmation){gap:6px;font-size:13px;line-height:20px;display:grid}.EtEeYG_recoveryForm>label>input:not([type=checkbox]){box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;height:40px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:8px;padding:0 12px}.EtEeYG_recoveryForm input:focus-visible,.EtEeYG_recoveryForm button:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.EtEeYG_recoveryStatusLine{border-bottom:1px solid var(--dsw-alias-border-l1);gap:3px;min-width:0;padding-bottom:10px;display:grid}.EtEeYG_recoveryStatusLine span{color:var(--dsw-alias-brand-primary);font-size:12px;font-weight:600}.EtEeYG_recoveryIdentitySummary{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;min-width:0;padding:12px;font-size:12px;line-height:18px;display:grid}.EtEeYG_recoveryIdentitySummary span{color:var(--dsw-alias-label-tertiary)}.EtEeYG_recoveryIdentitySummary strong{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-primary)}.EtEeYG_recoveryDiagnostics{border-top:1px solid var(--dsw-alias-border-l1);min-width:0;color:var(--dsw-alias-label-tertiary);padding-top:2px;font-size:11px;line-height:17px}.EtEeYG_recoveryDiagnostics summary{cursor:pointer;width:max-content;color:var(--dsw-alias-label-secondary);user-select:none}.EtEeYG_recoveryDiagnostics summary:hover{color:var(--dsw-alias-label-primary)}.EtEeYG_recoveryDiagnostics summary:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px;border-radius:4px}.EtEeYG_recoveryDiagnostics dl{gap:6px;margin:8px 0 0;display:grid}.EtEeYG_recoveryDiagnostics dl>div{gap:2px;min-width:0;display:grid}.EtEeYG_recoveryDiagnostics dt{color:var(--dsw-alias-label-tertiary)}.EtEeYG_recoveryDiagnostics dd{min-width:0;margin:0}.EtEeYG_recoveryDiagnostics code{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary);font-size:10px;line-height:16px;display:block}.EtEeYG_recoveryImpact{border-left:3px solid var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2);gap:6px;padding:12px;display:grid}.EtEeYG_recoveryImpact p{align-items:flex-start;gap:7px;margin:0;font-size:12px;line-height:18px;display:flex}.EtEeYG_recoveryImpact svg{flex:none;margin-top:2px}.EtEeYG_recoveryImpact p[data-tone=success] svg{color:var(--dsw-alias-state-success-primary)}.EtEeYG_recoveryImpact p[data-tone=neutral] svg{color:var(--dsw-alias-label-tertiary)}.EtEeYG_recoveryHandle{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);text-align:center;margin:-8px 0 0;font-size:13px;line-height:20px}.EtEeYG_recoveryConfirmationCopy{color:var(--dsw-alias-label-secondary);text-align:left;margin:0;font-size:12px;line-height:18px}.EtEeYG_recoveryProgressPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);text-align:center;border-radius:8px;justify-items:center;gap:10px;min-width:0;padding:16px;display:grid}.EtEeYG_recoveryProgressPanel>svg{color:var(--dsw-alias-brand-primary);animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_recoveryProgressPanel p{margin:0;font-size:12px;line-height:18px}.EtEeYG_recoveryProgressPanel button{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.EtEeYG_chat{flex:1;grid-template-columns:240px minmax(0,1fr);min-height:0;display:grid}.EtEeYG_roster{border-right:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);flex-direction:column;min-width:0;display:flex}.EtEeYG_identityCard{background:var(--dsw-alias-bg-layer-3);border-radius:12px;flex-direction:column;gap:2px;margin:14px;padding:12px;display:flex}.EtEeYG_identityNameRow{align-items:center;min-width:0;min-height:24px;display:flex}.EtEeYG_profileAvatar{background:var(--dsw-alias-interactive-bg-active);width:24px;height:24px;color:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;place-items:center;margin-right:7px;display:grid}.EtEeYG_identityNameText{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;line-height:22px;overflow:hidden}.EtEeYG_identityName{min-width:0;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:0;flex:1;padding:0;font-size:16px;font-weight:600;line-height:24px;overflow:hidden}.EtEeYG_identityName:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px;border-radius:4px}.EtEeYG_identityEdit{width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-left:4px;padding:0;transition:opacity .12s;display:grid}.EtEeYG_identityNameRow:hover .EtEeYG_identityEdit,.EtEeYG_identityNameRow:focus-within .EtEeYG_identityEdit{opacity:1}.EtEeYG_identityEdit:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_identityEditor{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.EtEeYG_identityEditor input{border:1px solid var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:7px;outline:none;flex:1;padding:0 8px;font-size:13px}.EtEeYG_identityEditor button{width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_identityEditor button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_identityEditor button:disabled,.EtEeYG_identityName:disabled{cursor:default;opacity:.5}.EtEeYG_identityEdit:disabled{cursor:default}.EtEeYG_identityHandle{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.EtEeYG_identityStatus{color:var(--dsw-alias-state-success-primary);margin-top:4px;font-size:12px;line-height:18px}.EtEeYG_identityError{color:var(--dsw-alias-state-error-primary);margin-top:4px;font-size:11px;line-height:16px}.EtEeYG_identityCard i{background:var(--dsw-alias-state-success-primary);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.EtEeYG_profileBio{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 2px;font-size:11px;line-height:17px;display:-webkit-box;overflow:hidden}.EtEeYG_profileTags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.EtEeYG_profileTags>span{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);min-width:0;max-width:100%;min-height:20px;color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;border-radius:7px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex}.EtEeYG_profileTags>span>button{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.EtEeYG_profileTags>span>button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_profileEditor{gap:10px;display:grid}.EtEeYG_profileEditor label{color:var(--dsw-alias-label-secondary);gap:4px;font-size:11px;line-height:16px;display:grid;position:relative}.EtEeYG_profileEditor label>small{color:var(--dsw-alias-label-tertiary);font-size:10px;position:absolute;top:0;right:1px}.EtEeYG_profileEditor input,.EtEeYG_profileEditor textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:7px;padding:7px 8px;font-size:12px}.EtEeYG_profileEditor input{height:32px;padding-block:0}.EtEeYG_profileEditor textarea{resize:vertical}.EtEeYG_profileTagEditor{gap:4px;display:grid}.EtEeYG_profileTagEditor>div:first-of-type{grid-template-columns:minmax(0,1fr) 30px;gap:5px;display:grid}.EtEeYG_profileTagEditor>div:first-of-type button{border:1px solid var(--dsw-alias-border-l2);width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:7px;place-items:center;padding:0;display:grid}.EtEeYG_profileEditorActions{grid-template-columns:1fr 1fr;gap:6px;margin-top:2px;display:grid}.EtEeYG_profileEditorActions button{min-width:0;padding-inline:6px;font-size:12px}.EtEeYG_modePanel{flex:1;min-height:0;display:none}.EtEeYG_modePanel[data-active]{display:flex}.EtEeYG_modeTabs{background:var(--dsw-alias-bg-layer-3);border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin:0 14px 12px;padding:3px;display:grid}.EtEeYG_modeTabs button{min-height:30px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.EtEeYG_modeTabs button:hover{color:var(--dsw-alias-label-primary)}.EtEeYG_modeTabs button[aria-selected=true]{background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1)}.EtEeYG_modeTabs small{min-width:18px;color:var(--dsw-alias-brand-primary);font-size:10px;line-height:14px}.EtEeYG_rosterHeader{justify-content:space-between;align-items:center;min-height:32px;padding:0 8px 8px 16px;display:flex}.EtEeYG_rosterTitle{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.EtEeYG_rosterActions{align-items:center;gap:2px;display:flex}.EtEeYG_rosterAction{width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.EtEeYG_rosterAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_rosterActions .EtEeYG_rosterAction{position:relative}.EtEeYG_rosterActions .EtEeYG_rosterAction small{background:var(--dsw-alias-bg-layer-3);min-width:14px;height:14px;color:var(--dsw-alias-label-secondary);box-sizing:border-box;border-radius:7px;place-items:center;padding:0 3px;font-size:9px;line-height:12px;display:grid;position:absolute;top:1px;right:0}.EtEeYG_groupRecoveryNotice{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:8px;align-items:flex-start;gap:8px;margin:0 8px 8px;padding:9px 10px;display:flex}.EtEeYG_groupRecoveryNotice[data-status=blocked]{border-color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupRecoveryNotice>span{flex:1;gap:2px;min-width:0;display:grid}.EtEeYG_groupRecoveryNotice strong{font-size:12px;line-height:18px}.EtEeYG_groupRecoveryNotice small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.EtEeYG_groupRecoveryNotice button{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_groupRecoveryNotice button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_groupRecoveryNotice button:disabled{cursor:default;opacity:.5}.EtEeYG_conversationList{flex:1;min-height:0;padding:0 8px;overflow:auto}.EtEeYG_conversationRow{width:100%;color:inherit;background:0 0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.EtEeYG_conversationRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_conversationRow[data-active]{background:var(--dsw-alias-interactive-bg-active)}.EtEeYG_conversationSelect{width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px;display:flex}.EtEeYG_conversationMenu{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:7px;place-items:center;margin-right:5px;padding:0;display:grid}.EtEeYG_conversationRow:hover .EtEeYG_conversationMenu,.EtEeYG_conversationRow:focus-within .EtEeYG_conversationMenu,.EtEeYG_conversationMenu[aria-expanded=true]{opacity:1}.EtEeYG_conversationMenu:hover{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary)}.EtEeYG_conversationMenu:disabled{cursor:default;opacity:.45}.EtEeYG_avatar{background:var(--dsw-alias-interactive-bg-active);width:34px;height:34px;color:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;place-items:center;font-size:12px;line-height:18px;display:grid;position:relative;overflow:visible}.EtEeYG_conversationUnreadBadge{border:2px solid var(--dsw-alias-bg-layer-2);background:var(--dsw-alias-state-error-primary);min-width:18px;height:18px;color:var(--dsw-alias-label-primary-inverted);box-sizing:border-box;pointer-events:none;border-radius:9px;place-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:14px;display:grid;position:absolute;top:-6px;right:-7px}.EtEeYG_conversationText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.EtEeYG_conversationHeader{align-items:center;gap:8px;min-width:0;display:flex}.EtEeYG_conversationHeader strong{flex:1;min-width:0}.EtEeYG_conversationTime{color:var(--dsw-alias-label-tertiary);flex:none;font-size:11px;font-weight:400;line-height:16px}.EtEeYG_conversationText strong,.EtEeYG_conversationText small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_conversationText strong{font-size:13px;line-height:20px}.EtEeYG_conversationText small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.EtEeYG_more{background:var(--dsw-alias-button-elevated-fill);color:var(--dsw-alias-label-secondary);margin:8px}.EtEeYG_more:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_hiddenConversationList{max-height:min(320px,48vh);display:grid;overflow:auto}.EtEeYG_hiddenConversationRow{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:50px;padding:6px 2px;display:grid}.EtEeYG_hiddenConversationRow:last-child{border-bottom:0}.EtEeYG_hiddenConversationRow .EtEeYG_avatar{width:30px;height:30px}.EtEeYG_hiddenConversationRow>span:nth-child(2){min-width:0;display:grid}.EtEeYG_hiddenConversationRow strong,.EtEeYG_hiddenConversationRow small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_hiddenConversationRow strong{font-size:12px;line-height:18px}.EtEeYG_hiddenConversationRow small{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:15px}.EtEeYG_hiddenConversationRow>button{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:7px;padding:0 9px;font-size:11px}.EtEeYG_hiddenConversationRow>button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_hiddenConversationRow>button:disabled{cursor:default;opacity:.55}.EtEeYG_conversationPreferenceError{color:var(--dsw-alias-state-error-primary);font-size:11px;line-height:17px}.EtEeYG_thread{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.EtEeYG_threadHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:56px;padding:0 14px;display:flex}.EtEeYG_threadTitle{flex-direction:column;flex:1;min-width:0;display:flex}.EtEeYG_threadTitle strong,.EtEeYG_threadTitle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_threadHeader small{color:var(--dsw-alias-label-tertiary)}.EtEeYG_threadAction{width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_threadAction:hover,.EtEeYG_threadAction[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_groupAccessNotice{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);flex:none;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:11px 14px;display:grid}.EtEeYG_groupAccessNotice[data-status=blocked],.EtEeYG_groupAccessNotice[data-status=not-member]{background:var(--dsw-alias-interactive-bg-hover-danger)}.EtEeYG_groupAccessNotice[data-compact]{grid-template-columns:20px minmax(0,1fr);padding:12px 16px}.EtEeYG_groupAccessIcon{min-height:20px;color:var(--dsw-alias-label-secondary);place-items:center;display:grid}.EtEeYG_groupAccessNotice[data-status=loading] .EtEeYG_groupAccessIcon svg,.EtEeYG_groupAccessNotice[data-status=recovering] .EtEeYG_groupAccessIcon svg{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_groupAccessCopy{gap:2px;min-width:0;display:grid}.EtEeYG_groupAccessCopy strong{font-size:12px;line-height:18px}.EtEeYG_groupAccessCopy small{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;font-size:11px;line-height:17px}.EtEeYG_groupAccessActions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.EtEeYG_groupAccessNotice[data-compact] .EtEeYG_groupAccessActions{grid-column:2;justify-content:flex-start}.EtEeYG_groupAccessActions button{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;line-height:16px;display:flex}.EtEeYG_groupAccessActions button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_groupAccessActions button:disabled{cursor:default;opacity:.55}.EtEeYG_groupDetails{z-index:4;border-left:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:min(360px,100%);min-width:0;box-shadow:var(--dsw-shadow-lv2);flex-direction:column;display:flex;position:absolute;top:56px;bottom:0;right:0;overflow:hidden}.EtEeYG_groupDetailsHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:12px;min-height:54px;padding:0 12px 0 16px;display:flex}.EtEeYG_groupDetailsHeader>div{flex-direction:column;flex:1;min-width:0;display:flex}.EtEeYG_groupDetailsHeader strong{font-size:14px;line-height:21px}.EtEeYG_groupDetailsHeader small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:15px;overflow:hidden}.EtEeYG_groupDetailsHeader button,.EtEeYG_groupMemberHeading button,.EtEeYG_groupMemberRemove{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_groupDetailsHeader button:hover,.EtEeYG_groupMemberHeading button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_groupDetailsLoading{color:var(--dsw-alias-label-tertiary);margin:auto;font-size:12px}.EtEeYG_groupSummary{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:5px;padding:16px;display:grid}.EtEeYG_groupSummary>strong{font-size:15px;line-height:22px}.EtEeYG_groupSummary>code{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.EtEeYG_groupSummary>p{color:var(--dsw-alias-label-secondary);margin:3px 0 0;font-size:12px;line-height:18px}.EtEeYG_groupSummary dl{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0;display:grid}.EtEeYG_groupSummary dl>div{gap:1px;display:grid}.EtEeYG_groupSummary dt{color:var(--dsw-alias-label-tertiary);font-size:10px}.EtEeYG_groupSummary dd{color:var(--dsw-alias-label-primary);margin:0;font-size:12px}.EtEeYG_groupInvite{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:5px;padding:12px 16px;display:grid}.EtEeYG_groupInvite label{color:var(--dsw-alias-label-secondary);font-size:11px}.EtEeYG_groupInvite>div{grid-template-columns:minmax(0,1fr) 32px;gap:6px;display:grid}.EtEeYG_groupInvite input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-width:0;height:32px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:7px;padding:0 9px;font-size:12px}.EtEeYG_groupInvite button{background:var(--dsw-alias-button-primary-fill);width:32px;height:32px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.EtEeYG_groupInvite button:disabled{cursor:default;opacity:.7}.EtEeYG_groupInvite button[data-busy] svg{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_groupInviteStatus{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-tertiary);margin:0;font-size:10px;line-height:16px}.EtEeYG_groupInviteStatus[data-state=success]{color:var(--dsw-alias-state-success-primary)}.EtEeYG_groupInviteStatus[data-state=error]{color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupMemberSection{flex-direction:column;flex:1;min-height:0;display:flex}.EtEeYG_groupMemberHeading{flex:none;justify-content:space-between;align-items:center;min-height:40px;padding:0 12px 0 16px;display:flex}.EtEeYG_groupMemberHeading strong{font-size:12px;line-height:18px}.EtEeYG_groupMemberHeading button[data-busy] svg{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_groupMemberRefreshStatus{overflow-wrap:anywhere;min-height:22px;color:var(--dsw-alias-label-tertiary);flex:none;margin:0;padding:2px 16px 4px;font-size:10px;line-height:16px}.EtEeYG_groupMemberRefreshStatus[data-state=success]{color:var(--dsw-alias-state-success-primary)}.EtEeYG_groupMemberRefreshStatus[data-state=error]{color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupMemberList{min-height:0;padding:0 8px;overflow:auto}.EtEeYG_groupMemberRow{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:30px minmax(0,1fr) auto 28px;align-items:center;gap:8px;min-height:48px;padding:4px 6px;display:grid}.EtEeYG_groupMemberAvatar{background:var(--dsw-alias-interactive-bg-active);width:30px;height:30px;color:var(--dsw-alias-brand-primary);border-radius:50%;place-items:center;font-size:11px;display:grid}.EtEeYG_groupMemberIdentity{flex-direction:column;min-width:0;display:flex}.EtEeYG_groupMemberIdentity strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:12px;line-height:18px;display:flex;overflow:hidden}.EtEeYG_groupMemberIdentity strong small{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-brand-primary);border-radius:4px;padding:0 4px;font-size:9px}.EtEeYG_groupMemberIdentity>small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:15px;overflow:hidden}.EtEeYG_groupMemberRole{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:10px}.EtEeYG_groupMemberRemove:hover{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupDetailsFooter{border-top:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:0 16px;display:flex}.EtEeYG_groupDetailsFooter small{color:var(--dsw-alias-label-tertiary);font-size:10px}.EtEeYG_dangerText{color:var(--dsw-alias-state-error-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.EtEeYG_dangerText:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.EtEeYG_groupDetailsError{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);flex:none;padding:8px 12px;font-size:11px;line-height:17px}.EtEeYG_summaryTrigger{min-height:30px;color:var(--dsw-alias-brand-primary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.EtEeYG_summaryTrigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryTrigger:disabled{cursor:default;opacity:.7}.EtEeYG_summaryTrigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.EtEeYG_summaryTrigger>svg:first-child{flex:none}.EtEeYG_summaryPanel{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-height:0;max-height:min(220px,33%);color:var(--dsw-alias-label-primary);border-radius:10px;flex:0 33%;margin:8px 10px 0;overflow:hidden}.EtEeYG_summaryPanel[data-collapsed]{flex-basis:auto;max-height:42px}.EtEeYG_summaryHeader{border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:9px;min-height:38px;padding:0 8px 0 12px;display:flex}.EtEeYG_summaryHeader>span{color:var(--dsw-alias-brand-primary);align-items:center;gap:6px;display:flex}.EtEeYG_summaryHeader>span strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.EtEeYG_summaryHeader>small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;line-height:16px;overflow:hidden}.EtEeYG_summaryHeader>button{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_summaryHeader>button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryCollapsed{width:100%;min-height:40px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 10px 0 12px;display:grid}.EtEeYG_summaryCollapsed:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryCollapsed>span{color:var(--dsw-alias-brand-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.EtEeYG_summaryCollapsed>small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_summaryCollapsed>em{color:var(--dsw-alias-state-warn-label);white-space:nowrap;font-size:11px;font-style:normal}.EtEeYG_summaryLoading{min-height:88px;color:var(--dsw-alias-brand-primary);justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.EtEeYG_summaryLoading>svg,.EtEeYG_summaryTrigger:disabled>svg:first-child{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_summaryLoading>span{flex-direction:column;gap:2px;display:flex}.EtEeYG_summaryLoading strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.EtEeYG_summaryLoading small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.EtEeYG_summaryError{min-height:58px;color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:12px;line-height:18px;display:flex}.EtEeYG_summaryError>span{overflow-wrap:anywhere;min-width:0}.EtEeYG_summaryError button,.EtEeYG_summaryStale button{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:7px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:flex}.EtEeYG_summaryError button:hover,.EtEeYG_summaryStale button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryStale{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-state-warn-label);justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.EtEeYG_summaryBody{gap:10px;max-height:118px;padding:10px 12px;display:grid;overflow:auto}.EtEeYG_summarySection h4{color:var(--dsw-alias-label-primary);align-items:center;gap:6px;margin:0 0 4px;font-size:12px;line-height:18px;display:flex}.EtEeYG_summarySection h4>svg{color:var(--dsw-alias-label-secondary);flex:none}.EtEeYG_summarySection ul{color:var(--dsw-alias-label-secondary);gap:2px;margin:0;padding-left:18px;font-size:11px;line-height:17px;display:grid}.EtEeYG_summarySection li{overflow-wrap:anywhere;padding-left:1px}.EtEeYG_summarySection p{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:17px}.EtEeYG_summarySection b{color:var(--dsw-alias-label-primary);font-weight:500}.EtEeYG_summaryActions{border-top:1px solid var(--dsw-alias-border-l1);grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px;min-height:34px;padding:0 8px;display:grid}.EtEeYG_summaryActions button{min-height:26px;color:var(--dsw-alias-brand-primary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 6px;font-size:11px;line-height:16px;display:flex}.EtEeYG_summaryActions button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryPrivacy{border-top:1px solid var(--dsw-alias-border-l1);min-height:28px;color:var(--dsw-alias-label-tertiary);align-items:center;gap:6px;padding:0 10px;font-size:10px;line-height:15px;display:flex}.EtEeYG_summaryPrivacy svg{flex:none}.EtEeYG_summaryCopyError{color:var(--dsw-alias-state-error-primary);padding:4px 10px;font-size:10px;line-height:15px}@keyframes EtEeYG_summary-spin{to{transform:rotate(360deg)}}.EtEeYG_back{display:none}.EtEeYG_historyShell{flex:1;min-height:0;position:relative}.EtEeYG_history{box-sizing:border-box;flex-direction:column;gap:12px;height:100%;min-height:0;padding:16px;display:flex;overflow:auto}.EtEeYG_historyLoading{color:var(--dsw-alias-label-tertiary);align-items:center;gap:8px;margin:auto;font-size:12px;line-height:18px;display:flex}.EtEeYG_historyLoading>svg{color:var(--dsw-alias-brand-primary);animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_latestMessages{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-button-floating-fill);min-width:30px;min-height:30px;color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv2);cursor:pointer;font:inherit;border-radius:16px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:11px;line-height:16px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.EtEeYG_latestMessages:hover{background:var(--dsw-alias-button-floating-hover)}.EtEeYG_message{align-self:flex-start;max-width:min(78%,420px)}.EtEeYG_message[data-outgoing]{align-self:flex-end}.EtEeYG_messageMeta{color:var(--dsw-alias-label-tertiary);justify-content:space-between;gap:10px;margin-bottom:3px;font-size:11px;line-height:16px;display:flex}.EtEeYG_message p,.EtEeYG_attachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:9px 11px;line-height:20px}.EtEeYG_message[data-outgoing] p,.EtEeYG_message[data-outgoing] .EtEeYG_attachment{background:var(--dsw-alias-interactive-bg-active)}.EtEeYG_mention{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-brand-primary);border-radius:3px;padding:0 2px;font-weight:600}.EtEeYG_pendingMessage{grid-template-columns:auto minmax(0,1fr);align-self:flex-end;align-items:end;gap:7px;max-width:min(78%,420px);display:grid}.EtEeYG_pendingMessageSpinner{color:var(--dsw-alias-label-tertiary);margin-bottom:12px;animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_pendingMessageContent{opacity:.82;min-width:0}.EtEeYG_pendingMessageContent>p,.EtEeYG_pendingAttachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:9px 11px;line-height:20px}.EtEeYG_pendingAttachment{align-items:center;gap:9px;display:flex}.EtEeYG_pendingAttachment>svg{color:var(--dsw-alias-label-secondary);flex:none}.EtEeYG_pendingAttachment span{flex-direction:column;min-width:0;display:flex}.EtEeYG_pendingAttachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_pendingAttachment small{color:var(--dsw-alias-label-tertiary)}.EtEeYG_pendingMessageContent>.EtEeYG_pendingCaption{color:var(--dsw-alias-label-secondary);background:0 0;border:0;margin-top:4px;padding:4px 8px;font-size:12px}.EtEeYG_attachment{cursor:pointer;font:inherit;text-align:left;align-items:center;gap:12px;display:flex}.EtEeYG_attachment span{flex-direction:column;min-width:0;display:flex}.EtEeYG_attachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_attachment small{color:var(--dsw-alias-label-tertiary)}.EtEeYG_attachment:disabled{cursor:default}.EtEeYG_imageAttachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:280px;max-width:100%;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;text-align:left;border-radius:12px;margin:0;padding:0;display:block;overflow:hidden}.EtEeYG_imageAttachment img{background:var(--dsw-alias-bg-layer-1);object-fit:contain;width:100%;max-height:280px;display:block}.EtEeYG_imageAttachment span{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:7px 9px;display:grid}.EtEeYG_imageAttachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_imageAttachment small{color:var(--dsw-alias-label-tertiary);grid-column:1}.EtEeYG_imageAttachment svg{grid-area:1/2/span 2}.EtEeYG_message .EtEeYG_caption{color:var(--dsw-alias-label-secondary);background:0 0;margin-top:4px;padding:4px 8px;font-size:12px}.EtEeYG_inlineError{color:var(--dsw-alias-state-error-primary);margin-top:4px;display:block}.EtEeYG_empty{color:var(--dsw-alias-label-tertiary);text-align:center;margin:auto;padding:20px}.EtEeYG_composer{border-top:1px solid var(--dsw-alias-border-l1);flex:none;gap:8px;padding:10px 14px 14px;display:grid}.EtEeYG_filePicker{border:1px solid var(--dsw-alias-border-l2);width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_filePicker:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_filePicker:disabled{opacity:.45;cursor:default}.EtEeYG_fileInput{display:none}.EtEeYG_composeInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:10px;gap:6px;min-width:0;padding:9px 10px 8px;display:grid;position:relative}.EtEeYG_mentionCandidates{z-index:3;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);max-height:180px;box-shadow:var(--dsw-shadow-lv2);border-radius:8px;padding:5px;position:absolute;bottom:calc(100% + 7px);left:0;right:0;overflow:auto}.EtEeYG_mentionCandidates button{width:100%;min-height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:8px;padding:4px 7px;display:grid}.EtEeYG_mentionCandidates button:hover,.EtEeYG_mentionCandidates button[aria-selected=true]{background:var(--dsw-alias-interactive-bg-active)}.EtEeYG_mentionCandidates button>span{background:var(--dsw-alias-bg-layer-3);width:28px;height:28px;color:var(--dsw-alias-brand-primary);border-radius:50%;grid-row:1/span 2;place-items:center;font-size:10px;display:grid}.EtEeYG_mentionCandidates strong,.EtEeYG_mentionCandidates small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.EtEeYG_mentionCandidates strong{align-self:end;font-size:12px;line-height:16px}.EtEeYG_mentionCandidates small{color:var(--dsw-alias-label-tertiary);align-self:start;font-size:10px;line-height:14px}.EtEeYG_composeInput:focus-within{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.EtEeYG_composeInput textarea{resize:none;background:0 0;border:0;border-radius:0;outline:0;min-width:0;min-height:42px;padding:0}.EtEeYG_composeInput textarea:focus-visible{outline:0}.EtEeYG_composeActions{justify-content:space-between;align-items:center;min-height:32px;display:flex}.EtEeYG_filePreview{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:10px;align-items:center;gap:8px;width:min(240px,100% - 8px);min-height:36px;padding:5px 28px 5px 8px;display:flex;position:relative}.EtEeYG_filePreview[data-image]{width:72px;height:72px;min-height:0;padding:0}.EtEeYG_filePreview img{object-fit:cover;border-radius:9px;width:72px;height:72px;display:block}.EtEeYG_filePreviewIcon{color:var(--dsw-alias-label-secondary);flex:none;place-items:center;display:grid}.EtEeYG_filePreviewName{min-width:0;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.EtEeYG_removeFile{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-button-floating-fill);width:22px;height:22px;color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-7px;right:-7px}.EtEeYG_removeFile:hover{background:var(--dsw-alias-button-floating-hover)}.EtEeYG_send{background:var(--dsw-alias-button-primary-fill);width:32px;height:32px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_send:disabled{opacity:.45;cursor:default}.EtEeYG_error{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;flex:none;padding:8px 14px;font-size:12px;line-height:18px}.EtEeYG_pending{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-inverted);box-shadow:var(--dsw-shadow-lv2);border-radius:9px;padding:7px 10px;font-size:12px;line-height:18px;position:absolute;bottom:14px;right:14px}@media (width<=620px){.EtEeYG_trigger span{display:none}.EtEeYG_trigger{justify-content:center;width:36px;padding:0}.EtEeYG_drawer{width:calc(100vw - 56px);min-width:0}.EtEeYG_chat{grid-template-columns:1fr}.EtEeYG_thread{display:none}.EtEeYG_thread[data-visible]{display:flex}.EtEeYG_roster[data-hidden]{display:none}.EtEeYG_back{display:grid}.EtEeYG_summaryPanel{max-height:min(190px,33%);margin-left:8px;margin-right:8px}.EtEeYG_summaryTrigger>span{display:none}.EtEeYG_summaryTrigger{justify-content:center;width:30px;padding:0}.EtEeYG_summaryTrigger>svg:last-child{display:none}}@media (height<=420px){.EtEeYG_drawer{border-radius:10px}.EtEeYG_drawerHeader{height:44px;padding:0 8px 0 12px}.EtEeYG_drawerHeader h2{font-size:14px;line-height:20px}.EtEeYG_drawerHeader button,.EtEeYG_back{width:28px;height:28px}.EtEeYG_centerState,.EtEeYG_threadEmpty{justify-content:flex-start;gap:8px;min-height:0;padding:12px;overflow:auto}.EtEeYG_registrationIcon{width:32px;height:32px}.EtEeYG_composeBackdrop{place-items:start center;padding:8px;inset:44px 0 0}.EtEeYG_composeCard{border-radius:10px;gap:8px;padding:12px}.EtEeYG_recoveryForm{gap:8px}.EtEeYG_identityCard{border-radius:8px;margin:6px 8px;padding:7px 9px}.EtEeYG_profileBio,.EtEeYG_profileTags,.EtEeYG_identityStatus{display:none}.EtEeYG_modeTabs{margin:0 8px 4px}.EtEeYG_modeTabs button{min-height:26px}.EtEeYG_rosterHeader{min-height:28px;padding:0 4px 2px 12px}.EtEeYG_conversationSelect{gap:7px;padding:5px 7px}.EtEeYG_avatar{width:28px;height:28px}.EtEeYG_threadHeader{gap:5px;height:44px;padding:0 8px}.EtEeYG_groupAccessNotice{grid-template-columns:18px minmax(0,1fr);gap:6px 8px;padding:8px}.EtEeYG_groupAccessActions{grid-column:2;justify-content:flex-start}.EtEeYG_groupDetails{top:44px;overflow-y:auto}.EtEeYG_groupDetailsHeader{z-index:2;background:var(--dsw-alias-bg-layer-1);min-height:44px;padding-left:12px;position:sticky;top:0}.EtEeYG_groupSummary{gap:2px;padding:8px 12px}.EtEeYG_groupSummary dl{gap:6px;margin-top:3px}.EtEeYG_groupInvite{gap:3px;padding:7px 12px}.EtEeYG_groupMemberSection{flex:none}.EtEeYG_groupMemberHeading{min-height:32px;padding-left:12px}.EtEeYG_groupMemberList{overflow:visible}.EtEeYG_groupMemberRow{min-height:40px}.EtEeYG_groupDetailsFooter{background:var(--dsw-alias-bg-layer-1);min-height:40px;padding:0 12px;position:sticky;bottom:0}.EtEeYG_history{gap:6px;padding:8px}.EtEeYG_composer{gap:4px;padding:5px 8px 7px}.EtEeYG_composeInput{gap:3px;padding:5px 7px 4px}.EtEeYG_composeInput textarea{height:28px;min-height:28px}.EtEeYG_composeActions{min-height:28px}.EtEeYG_filePicker,.EtEeYG_send{width:28px;height:28px}.EtEeYG_mentionCandidates{max-height:72px}.EtEeYG_compactModal.EtEeYG_compactModal{border-radius:12px;gap:10px;max-height:calc(100vh - 48px);padding-bottom:12px}}@media (hover:none){.EtEeYG_conversationMenu{opacity:1}}@media (prefers-reduced-motion:reduce){.EtEeYG_drawer{scroll-behavior:auto;transition:none}.EtEeYG_summaryLoading>svg,.EtEeYG_summaryTrigger:disabled>svg:first-child,.EtEeYG_historyLoading>svg,.EtEeYG_recoveryProgressPanel>svg,.EtEeYG_groupMemberHeading button[data-busy] svg,.EtEeYG_pendingMessageSpinner{animation:none}}";
7398
- const tagId$3 = "@awiki/dsh-plugin/AwikiOverlay.module.css";
7399
- if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
7960
+ const css$4 = ".EtEeYG_trigger{z-index:2;border:1px solid var(--dsw-alias-border-l2);width:48px;height:48px;color:var(--dsw-alias-brand-primary);box-shadow:var(--dsw-shadow-lv2);cursor:grab;font:inherit;touch-action:none;user-select:none;background:#fff;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;overflow:visible}.EtEeYG_trigger:hover{box-shadow:var(--dsw-shadow-lv3);background:#fff}.EtEeYG_trigger:active,.EtEeYG_trigger[data-dragging]{cursor:grabbing}.EtEeYG_launcherIcon{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;display:block}.EtEeYG_unreadBadge{border:2px solid var(--dsw-alias-bg-base);background:var(--dsw-alias-state-error-primary);color:#fff;box-sizing:border-box;pointer-events:none;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:600;line-height:16px;display:grid;position:absolute;top:-5px;right:-5px}.EtEeYG_trigger:focus-visible,.EtEeYG_drawer button:focus-visible,.EtEeYG_drawer input:focus-visible,.EtEeYG_drawer textarea:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.EtEeYG_drawer{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);z-index:1;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:min(720px,100vw - 80px);min-width:min(360px,100vw - 80px);height:min(720px,100vh - 16px);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv3);border-radius:16px;flex-direction:column;transition:width .16s;display:flex;position:fixed;overflow:hidden}.EtEeYG_drawer[data-mode=mail]{width:min(1040px,100vw - 80px)}.EtEeYG_drawer[data-resizing]{user-select:none;transition:none}.EtEeYG_resizeHandle{z-index:5;touch-action:none;user-select:none;position:absolute}.EtEeYG_resizeHandle[data-resize-handle=n],.EtEeYG_resizeHandle[data-resize-handle=s]{cursor:ns-resize;height:8px;left:14px;right:14px}.EtEeYG_resizeHandle[data-resize-handle=n]{top:0}.EtEeYG_resizeHandle[data-resize-handle=s]{bottom:0}.EtEeYG_resizeHandle[data-resize-handle=e],.EtEeYG_resizeHandle[data-resize-handle=w]{cursor:ew-resize;width:8px;top:14px;bottom:14px}.EtEeYG_resizeHandle[data-resize-handle=e]{right:0}.EtEeYG_resizeHandle[data-resize-handle=w]{left:0}.EtEeYG_resizeHandle[data-resize-handle=ne],.EtEeYG_resizeHandle[data-resize-handle=se],.EtEeYG_resizeHandle[data-resize-handle=sw],.EtEeYG_resizeHandle[data-resize-handle=nw]{width:14px;height:14px}.EtEeYG_resizeHandle[data-resize-handle=ne]{cursor:nesw-resize;top:0;right:0}.EtEeYG_resizeHandle[data-resize-handle=se]{cursor:nwse-resize;bottom:0;right:0}.EtEeYG_resizeHandle[data-resize-handle=sw]{cursor:nesw-resize;bottom:0;left:0}.EtEeYG_resizeHandle[data-resize-handle=nw]{cursor:nwse-resize;top:0;left:0}.EtEeYG_drawerHeader{border-bottom:1px solid var(--dsw-alias-border-l1);cursor:grab;touch-action:none;user-select:none;flex:none;align-items:center;gap:8px;height:58px;padding:0 14px 0 18px;display:flex}.EtEeYG_drawerHeader[data-dragging]{cursor:grabbing}.EtEeYG_drawerHeader>div{flex:1;align-items:center;gap:8px;display:flex}.EtEeYG_drawerHeader h2{margin:0;font-size:16px;line-height:24px}.EtEeYG_drawerHeader button,.EtEeYG_back{cursor:pointer;width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.EtEeYG_drawerHeader button:hover,.EtEeYG_back:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_centerState,.EtEeYG_threadEmpty{text-align:center;color:var(--dsw-alias-label-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex}.EtEeYG_centerState p{overflow-wrap:anywhere;max-width:420px;margin:0}.EtEeYG_registrationIcon{background:var(--dsw-alias-interactive-bg-active);width:48px;height:48px;color:var(--dsw-alias-brand-primary);border-radius:50%;justify-self:center;place-items:center;display:grid}.EtEeYG_fileDraft input,.EtEeYG_composeRow textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:10px}.EtEeYG_primary,.EtEeYG_more,.EtEeYG_fileDraft button{background:var(--dsw-alias-button-primary-fill);min-height:36px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;font:inherit;border:0;border-radius:10px;padding:0 14px}.EtEeYG_primary:hover,.EtEeYG_fileDraft button:hover{background:var(--dsw-alias-button-primary-hover)}.EtEeYG_primary:disabled,.EtEeYG_fileDraft button:disabled{opacity:.5;cursor:default}.EtEeYG_secondary{border:1px solid var(--dsw-alias-border-l2);min-height:36px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:10px;padding:0 14px}.EtEeYG_secondary:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_composeBackdrop{background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 72%, transparent);place-items:center;padding:24px;display:grid;position:absolute;inset:58px 0 0;overflow:auto}.EtEeYG_composeCard{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:min(360px,100%);box-shadow:var(--dsw-shadow-lv3);border-radius:14px;gap:12px;padding:20px;display:grid}.EtEeYG_composeCard h3{margin:0;font-size:16px;line-height:24px}.EtEeYG_composeCard p{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;line-height:20px}.EtEeYG_composeCard label{color:var(--dsw-alias-label-secondary);gap:6px;font-size:13px;line-height:20px;display:grid}.EtEeYG_composeCard input,.EtEeYG_composeCard textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:10px;padding:9px 12px}.EtEeYG_composeCard input{height:40px;padding-block:0}.EtEeYG_composeCard textarea{resize:vertical;min-height:92px}.EtEeYG_composeActions{justify-content:flex-end;gap:8px;display:flex}.EtEeYG_logoutWarning{color:var(--dsw-alias-label-secondary);gap:8px;font-size:13px;line-height:20px;display:grid}.EtEeYG_logoutWarning p{margin:0}.EtEeYG_logoutConfirm{border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.EtEeYG_compactModal.EtEeYG_compactModal{max-height:calc(100vh - 48px)}.EtEeYG_compactModalContent{min-height:0;overflow-y:auto}.EtEeYG_linkButton{color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:0}.EtEeYG_notice{color:var(--dsw-alias-state-success-primary);text-align:center}.EtEeYG_identityAccess{flex:1;min-height:0;overflow:hidden}.EtEeYG_recoveryForm{width:100%;min-width:0;color:var(--dsw-alias-label-secondary);gap:14px;display:grid}.EtEeYG_recoveryForm h3{color:var(--dsw-alias-label-primary);text-align:center;margin:0}.EtEeYG_recoveryForm>p{text-align:center;margin:0;font-size:13px;line-height:20px}.EtEeYG_recoveryForm>label:not(.EtEeYG_recoveryConfirmation){gap:6px;font-size:13px;line-height:20px;display:grid}.EtEeYG_recoveryForm>label>input:not([type=checkbox]){box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;height:40px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:8px;padding:0 12px}.EtEeYG_recoveryForm input:focus-visible,.EtEeYG_recoveryForm button:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.EtEeYG_recoveryStatusLine{border-bottom:1px solid var(--dsw-alias-border-l1);gap:3px;min-width:0;padding-bottom:10px;display:grid}.EtEeYG_recoveryStatusLine span{color:var(--dsw-alias-brand-primary);font-size:12px;font-weight:600}.EtEeYG_recoveryIdentitySummary{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;min-width:0;padding:12px;font-size:12px;line-height:18px;display:grid}.EtEeYG_recoveryIdentitySummary span{color:var(--dsw-alias-label-tertiary)}.EtEeYG_recoveryIdentitySummary strong{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-primary)}.EtEeYG_recoveryDiagnostics{border-top:1px solid var(--dsw-alias-border-l1);min-width:0;color:var(--dsw-alias-label-tertiary);padding-top:2px;font-size:11px;line-height:17px}.EtEeYG_recoveryDiagnostics summary{cursor:pointer;width:max-content;color:var(--dsw-alias-label-secondary);user-select:none}.EtEeYG_recoveryDiagnostics summary:hover{color:var(--dsw-alias-label-primary)}.EtEeYG_recoveryDiagnostics summary:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px;border-radius:4px}.EtEeYG_recoveryDiagnostics dl{gap:6px;margin:8px 0 0;display:grid}.EtEeYG_recoveryDiagnostics dl>div{gap:2px;min-width:0;display:grid}.EtEeYG_recoveryDiagnostics dt{color:var(--dsw-alias-label-tertiary)}.EtEeYG_recoveryDiagnostics dd{min-width:0;margin:0}.EtEeYG_recoveryDiagnostics code{overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary);font-size:10px;line-height:16px;display:block}.EtEeYG_recoveryImpact{border-left:3px solid var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2);gap:6px;padding:12px;display:grid}.EtEeYG_recoveryImpact p{align-items:flex-start;gap:7px;margin:0;font-size:12px;line-height:18px;display:flex}.EtEeYG_recoveryImpact svg{flex:none;margin-top:2px}.EtEeYG_recoveryImpact p[data-tone=success] svg{color:var(--dsw-alias-state-success-primary)}.EtEeYG_recoveryImpact p[data-tone=neutral] svg{color:var(--dsw-alias-label-tertiary)}.EtEeYG_recoveryHandle{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);text-align:center;margin:-8px 0 0;font-size:13px;line-height:20px}.EtEeYG_recoveryConfirmationCopy{color:var(--dsw-alias-label-secondary);text-align:left;margin:0;font-size:12px;line-height:18px}.EtEeYG_recoveryProgressPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);text-align:center;border-radius:8px;justify-items:center;gap:10px;min-width:0;padding:16px;display:grid}.EtEeYG_recoveryProgressPanel>svg{color:var(--dsw-alias-brand-primary);animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_recoveryProgressPanel p{margin:0;font-size:12px;line-height:18px}.EtEeYG_recoveryProgressPanel button{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.EtEeYG_chat{flex:1;grid-template-columns:240px minmax(0,1fr);min-height:0;display:grid}.EtEeYG_roster{border-right:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);flex-direction:column;min-width:0;display:flex}.EtEeYG_identityCard{background:var(--dsw-alias-bg-layer-3);border-radius:12px;flex-direction:column;gap:2px;margin:14px;padding:12px;display:flex}.EtEeYG_identityNameRow{align-items:center;min-width:0;min-height:24px;display:flex}.EtEeYG_profileAvatar{background:var(--dsw-alias-interactive-bg-active);width:24px;height:24px;color:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;place-items:center;margin-right:7px;display:grid}.EtEeYG_identityNameText{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;line-height:22px;overflow:hidden}.EtEeYG_identityName{min-width:0;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:0;flex:1;padding:0;font-size:16px;font-weight:600;line-height:24px;overflow:hidden}.EtEeYG_identityName:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px;border-radius:4px}.EtEeYG_identityEdit{width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-left:4px;padding:0;transition:opacity .12s;display:grid}.EtEeYG_identityNameRow:hover .EtEeYG_identityEdit,.EtEeYG_identityNameRow:focus-within .EtEeYG_identityEdit{opacity:1}.EtEeYG_identityEdit:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_identityEditor{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.EtEeYG_identityEditor input{border:1px solid var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:7px;outline:none;flex:1;padding:0 8px;font-size:13px}.EtEeYG_identityEditor button{width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_identityEditor button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_identityEditor button:disabled,.EtEeYG_identityName:disabled{cursor:default;opacity:.5}.EtEeYG_identityEdit:disabled{cursor:default}.EtEeYG_identityHandle{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.EtEeYG_identityStatus{color:var(--dsw-alias-state-success-primary);margin-top:4px;font-size:12px;line-height:18px}.EtEeYG_identityError{color:var(--dsw-alias-state-error-primary);margin-top:4px;font-size:11px;line-height:16px}.EtEeYG_identityCard i{background:var(--dsw-alias-state-success-primary);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.EtEeYG_profileBio{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 2px;font-size:11px;line-height:17px;display:-webkit-box;overflow:hidden}.EtEeYG_profileTags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.EtEeYG_profileTags>span{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);min-width:0;max-width:100%;min-height:20px;color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;border-radius:7px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex}.EtEeYG_profileTags>span>button{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.EtEeYG_profileTags>span>button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_profileEditor{gap:10px;display:grid}.EtEeYG_profileEditor label{color:var(--dsw-alias-label-secondary);gap:4px;font-size:11px;line-height:16px;display:grid;position:relative}.EtEeYG_profileEditor label>small{color:var(--dsw-alias-label-tertiary);font-size:10px;position:absolute;top:0;right:1px}.EtEeYG_profileEditor input,.EtEeYG_profileEditor textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:7px;padding:7px 8px;font-size:12px}.EtEeYG_profileEditor input{height:32px;padding-block:0}.EtEeYG_profileEditor textarea{resize:vertical}.EtEeYG_profileTagEditor{gap:4px;display:grid}.EtEeYG_profileTagEditor>div:first-of-type{grid-template-columns:minmax(0,1fr) 30px;gap:5px;display:grid}.EtEeYG_profileTagEditor>div:first-of-type button{border:1px solid var(--dsw-alias-border-l2);width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:7px;place-items:center;padding:0;display:grid}.EtEeYG_profileEditorActions{grid-template-columns:1fr 1fr;gap:6px;margin-top:2px;display:grid}.EtEeYG_profileEditorActions button{min-width:0;padding-inline:6px;font-size:12px}.EtEeYG_modePanel{flex:1;min-height:0;display:none}.EtEeYG_modePanel[data-active]{display:flex}.EtEeYG_modeTabs{background:var(--dsw-alias-bg-layer-3);border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin:0 14px 12px;padding:3px;display:grid}.EtEeYG_modeTabs button{min-height:30px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.EtEeYG_modeTabs button:hover{color:var(--dsw-alias-label-primary)}.EtEeYG_modeTabs button[aria-selected=true]{background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1)}.EtEeYG_modeTabs small{min-width:18px;color:var(--dsw-alias-brand-primary);font-size:10px;line-height:14px}.EtEeYG_rosterHeader{justify-content:space-between;align-items:center;min-height:32px;padding:0 8px 8px 16px;display:flex}.EtEeYG_rosterTitle{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.EtEeYG_rosterActions{align-items:center;gap:2px;display:flex}.EtEeYG_rosterAction{width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.EtEeYG_rosterAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_rosterActions .EtEeYG_rosterAction{position:relative}.EtEeYG_rosterActions .EtEeYG_rosterAction small{background:var(--dsw-alias-bg-layer-3);min-width:14px;height:14px;color:var(--dsw-alias-label-secondary);box-sizing:border-box;border-radius:7px;place-items:center;padding:0 3px;font-size:9px;line-height:12px;display:grid;position:absolute;top:1px;right:0}.EtEeYG_groupRecoveryNotice{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:8px;align-items:flex-start;gap:8px;margin:0 8px 8px;padding:9px 10px;display:flex}.EtEeYG_groupRecoveryNotice[data-status=blocked]{border-color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupRecoveryNotice>span{flex:1;gap:2px;min-width:0;display:grid}.EtEeYG_groupRecoveryNotice strong{font-size:12px;line-height:18px}.EtEeYG_groupRecoveryNotice small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.EtEeYG_groupRecoveryNotice button{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_groupRecoveryNotice button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_groupRecoveryNotice button:disabled{cursor:default;opacity:.5}.EtEeYG_conversationList{flex:1;min-height:0;padding:0 8px;overflow:auto}.EtEeYG_conversationRow{width:100%;color:inherit;background:0 0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.EtEeYG_conversationRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_conversationRow[data-active]{background:var(--dsw-alias-interactive-bg-active)}.EtEeYG_conversationSelect{width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px;display:flex}.EtEeYG_conversationMenu{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:7px;place-items:center;margin-right:5px;padding:0;display:grid}.EtEeYG_conversationRow:hover .EtEeYG_conversationMenu,.EtEeYG_conversationRow:focus-within .EtEeYG_conversationMenu,.EtEeYG_conversationMenu[aria-expanded=true]{opacity:1}.EtEeYG_conversationMenu:hover{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary)}.EtEeYG_conversationMenu:disabled{cursor:default;opacity:.45}.EtEeYG_avatar{background:var(--dsw-alias-interactive-bg-active);width:34px;height:34px;color:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;place-items:center;font-size:12px;line-height:18px;display:grid;position:relative;overflow:visible}.EtEeYG_conversationUnreadBadge{border:2px solid var(--dsw-alias-bg-layer-2);background:var(--dsw-alias-state-error-primary);min-width:18px;height:18px;color:var(--dsw-alias-label-primary-inverted);box-sizing:border-box;pointer-events:none;border-radius:9px;place-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:14px;display:grid;position:absolute;top:-6px;right:-7px}.EtEeYG_conversationText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.EtEeYG_conversationHeader{align-items:center;gap:8px;min-width:0;display:flex}.EtEeYG_conversationHeader strong{flex:1;min-width:0}.EtEeYG_conversationTime{color:var(--dsw-alias-label-tertiary);flex:none;font-size:11px;font-weight:400;line-height:16px}.EtEeYG_conversationText strong,.EtEeYG_conversationText small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_conversationText strong{font-size:13px;line-height:20px}.EtEeYG_conversationText small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.EtEeYG_more{background:var(--dsw-alias-button-elevated-fill);color:var(--dsw-alias-label-secondary);margin:8px}.EtEeYG_more:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_hiddenConversationList{max-height:min(320px,48vh);display:grid;overflow:auto}.EtEeYG_hiddenConversationRow{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:50px;padding:6px 2px;display:grid}.EtEeYG_hiddenConversationRow:last-child{border-bottom:0}.EtEeYG_hiddenConversationRow .EtEeYG_avatar{width:30px;height:30px}.EtEeYG_hiddenConversationRow>span:nth-child(2){min-width:0;display:grid}.EtEeYG_hiddenConversationRow strong,.EtEeYG_hiddenConversationRow small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_hiddenConversationRow strong{font-size:12px;line-height:18px}.EtEeYG_hiddenConversationRow small{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:15px}.EtEeYG_hiddenConversationRow>button{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:7px;padding:0 9px;font-size:11px}.EtEeYG_hiddenConversationRow>button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_hiddenConversationRow>button:disabled{cursor:default;opacity:.55}.EtEeYG_conversationPreferenceError{color:var(--dsw-alias-state-error-primary);font-size:11px;line-height:17px}.EtEeYG_thread{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.EtEeYG_threadHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:56px;padding:0 14px;display:flex}.EtEeYG_threadTitle{flex-direction:column;flex:1;min-width:0;display:flex}.EtEeYG_threadTitle strong,.EtEeYG_threadTitle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_threadHeader small{color:var(--dsw-alias-label-tertiary)}.EtEeYG_threadAction{width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_threadAction:hover,.EtEeYG_threadAction[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_groupAccessNotice{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);flex:none;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:11px 14px;display:grid}.EtEeYG_groupAccessNotice[data-status=blocked],.EtEeYG_groupAccessNotice[data-status=not-member]{background:var(--dsw-alias-interactive-bg-hover-danger)}.EtEeYG_groupAccessNotice[data-compact]{grid-template-columns:20px minmax(0,1fr);padding:12px 16px}.EtEeYG_groupAccessIcon{min-height:20px;color:var(--dsw-alias-label-secondary);place-items:center;display:grid}.EtEeYG_groupAccessNotice[data-status=loading] .EtEeYG_groupAccessIcon svg,.EtEeYG_groupAccessNotice[data-status=recovering] .EtEeYG_groupAccessIcon svg{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_groupAccessCopy{gap:2px;min-width:0;display:grid}.EtEeYG_groupAccessCopy strong{font-size:12px;line-height:18px}.EtEeYG_groupAccessCopy small{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;font-size:11px;line-height:17px}.EtEeYG_groupAccessActions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.EtEeYG_groupAccessNotice[data-compact] .EtEeYG_groupAccessActions{grid-column:2;justify-content:flex-start}.EtEeYG_groupAccessActions button{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;line-height:16px;display:flex}.EtEeYG_groupAccessActions button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_groupAccessActions button:disabled{cursor:default;opacity:.55}.EtEeYG_groupDetails{z-index:4;border-left:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:min(360px,100%);min-width:0;box-shadow:var(--dsw-shadow-lv2);flex-direction:column;display:flex;position:absolute;top:56px;bottom:0;right:0;overflow:hidden}.EtEeYG_groupDetailsHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:12px;min-height:54px;padding:0 12px 0 16px;display:flex}.EtEeYG_groupDetailsHeader>div{flex-direction:column;flex:1;min-width:0;display:flex}.EtEeYG_groupDetailsHeader strong{font-size:14px;line-height:21px}.EtEeYG_groupDetailsHeader small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:15px;overflow:hidden}.EtEeYG_groupDetailsHeader button,.EtEeYG_groupMemberHeading button,.EtEeYG_groupMemberRemove{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_groupDetailsHeader button:hover,.EtEeYG_groupMemberHeading button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_groupDetailsLoading{color:var(--dsw-alias-label-tertiary);margin:auto;font-size:12px}.EtEeYG_groupSummary{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:5px;padding:16px;display:grid}.EtEeYG_groupSummary>strong{font-size:15px;line-height:22px}.EtEeYG_groupSummary>code{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.EtEeYG_groupSummary>p{color:var(--dsw-alias-label-secondary);margin:3px 0 0;font-size:12px;line-height:18px}.EtEeYG_groupSummary dl{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0;display:grid}.EtEeYG_groupSummary dl>div{gap:1px;display:grid}.EtEeYG_groupSummary dt{color:var(--dsw-alias-label-tertiary);font-size:10px}.EtEeYG_groupSummary dd{color:var(--dsw-alias-label-primary);margin:0;font-size:12px}.EtEeYG_groupInvite{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:5px;padding:12px 16px;display:grid}.EtEeYG_groupInvite label{color:var(--dsw-alias-label-secondary);font-size:11px}.EtEeYG_groupInvite>div{grid-template-columns:minmax(0,1fr) 32px;gap:6px;display:grid}.EtEeYG_groupInvite input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-width:0;height:32px;color:var(--dsw-alias-label-primary);font:inherit;border-radius:7px;padding:0 9px;font-size:12px}.EtEeYG_groupInvite button{background:var(--dsw-alias-button-primary-fill);width:32px;height:32px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.EtEeYG_groupInvite button:disabled{cursor:default;opacity:.7}.EtEeYG_groupInvite button[data-busy] svg{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_groupInviteStatus{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-tertiary);margin:0;font-size:10px;line-height:16px}.EtEeYG_groupInviteStatus[data-state=success]{color:var(--dsw-alias-state-success-primary)}.EtEeYG_groupInviteStatus[data-state=error]{color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupMemberSection{flex-direction:column;flex:1;min-height:0;display:flex}.EtEeYG_groupMemberHeading{flex:none;justify-content:space-between;align-items:center;min-height:40px;padding:0 12px 0 16px;display:flex}.EtEeYG_groupMemberHeading strong{font-size:12px;line-height:18px}.EtEeYG_groupMemberHeading button[data-busy] svg{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_groupMemberRefreshStatus{overflow-wrap:anywhere;min-height:22px;color:var(--dsw-alias-label-tertiary);flex:none;margin:0;padding:2px 16px 4px;font-size:10px;line-height:16px}.EtEeYG_groupMemberRefreshStatus[data-state=success]{color:var(--dsw-alias-state-success-primary)}.EtEeYG_groupMemberRefreshStatus[data-state=error]{color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupMemberList{min-height:0;padding:0 8px;overflow:auto}.EtEeYG_groupMemberRow{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:30px minmax(0,1fr) auto 28px;align-items:center;gap:8px;min-height:48px;padding:4px 6px;display:grid}.EtEeYG_groupMemberAvatar{background:var(--dsw-alias-interactive-bg-active);width:30px;height:30px;color:var(--dsw-alias-brand-primary);border-radius:50%;place-items:center;font-size:11px;display:grid}.EtEeYG_groupMemberIdentity{flex-direction:column;min-width:0;display:flex}.EtEeYG_groupMemberIdentity strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:12px;line-height:18px;display:flex;overflow:hidden}.EtEeYG_groupMemberIdentity strong small{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-brand-primary);border-radius:4px;padding:0 4px;font-size:9px}.EtEeYG_groupMemberIdentity>small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:15px;overflow:hidden}.EtEeYG_groupMemberRole{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:10px}.EtEeYG_groupMemberRemove:hover{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.EtEeYG_groupDetailsFooter{border-top:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:0 16px;display:flex}.EtEeYG_groupDetailsFooter small{color:var(--dsw-alias-label-tertiary);font-size:10px}.EtEeYG_dangerText{color:var(--dsw-alias-state-error-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.EtEeYG_dangerText:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.EtEeYG_groupDetailsError{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);flex:none;padding:8px 12px;font-size:11px;line-height:17px}.EtEeYG_summaryTrigger{min-height:30px;color:var(--dsw-alias-brand-primary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.EtEeYG_summaryTrigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryTrigger:disabled{cursor:default;opacity:.7}.EtEeYG_summaryTrigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.EtEeYG_summaryTrigger>svg:first-child{flex:none}.EtEeYG_summaryPanel{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-height:0;max-height:min(220px,33%);color:var(--dsw-alias-label-primary);border-radius:10px;flex:0 33%;margin:8px 10px 0;overflow:hidden}.EtEeYG_summaryPanel[data-collapsed]{flex-basis:auto;max-height:42px}.EtEeYG_summaryHeader{border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:9px;min-height:38px;padding:0 8px 0 12px;display:flex}.EtEeYG_summaryHeader>span{color:var(--dsw-alias-brand-primary);align-items:center;gap:6px;display:flex}.EtEeYG_summaryHeader>span strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.EtEeYG_summaryHeader>small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;line-height:16px;overflow:hidden}.EtEeYG_summaryHeader>button{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_summaryHeader>button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryCollapsed{width:100%;min-height:40px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 10px 0 12px;display:grid}.EtEeYG_summaryCollapsed:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryCollapsed>span{color:var(--dsw-alias-brand-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.EtEeYG_summaryCollapsed>small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_summaryCollapsed>em{color:var(--dsw-alias-state-warn-label);white-space:nowrap;font-size:11px;font-style:normal}.EtEeYG_summaryLoading{min-height:88px;color:var(--dsw-alias-brand-primary);justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.EtEeYG_summaryLoading>svg,.EtEeYG_summaryTrigger:disabled>svg:first-child{animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_summaryLoading>span{flex-direction:column;gap:2px;display:flex}.EtEeYG_summaryLoading strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.EtEeYG_summaryLoading small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.EtEeYG_summaryError{min-height:58px;color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:12px;line-height:18px;display:flex}.EtEeYG_summaryError>span{overflow-wrap:anywhere;min-width:0}.EtEeYG_summaryError button,.EtEeYG_summaryStale button{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:7px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:flex}.EtEeYG_summaryError button:hover,.EtEeYG_summaryStale button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryStale{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-state-warn-label);justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.EtEeYG_summaryBody{gap:10px;max-height:118px;padding:10px 12px;display:grid;overflow:auto}.EtEeYG_summarySection h4{color:var(--dsw-alias-label-primary);align-items:center;gap:6px;margin:0 0 4px;font-size:12px;line-height:18px;display:flex}.EtEeYG_summarySection h4>svg{color:var(--dsw-alias-label-secondary);flex:none}.EtEeYG_summarySection ul{color:var(--dsw-alias-label-secondary);gap:2px;margin:0;padding-left:18px;font-size:11px;line-height:17px;display:grid}.EtEeYG_summarySection li{overflow-wrap:anywhere;padding-left:1px}.EtEeYG_summarySection p{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:17px}.EtEeYG_summarySection b{color:var(--dsw-alias-label-primary);font-weight:500}.EtEeYG_summaryActions{border-top:1px solid var(--dsw-alias-border-l1);grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px;min-height:34px;padding:0 8px;display:grid}.EtEeYG_summaryActions button{min-height:26px;color:var(--dsw-alias-brand-primary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 6px;font-size:11px;line-height:16px;display:flex}.EtEeYG_summaryActions button:hover{background:var(--dsw-alias-interactive-bg-hover)}.EtEeYG_summaryPrivacy{border-top:1px solid var(--dsw-alias-border-l1);min-height:28px;color:var(--dsw-alias-label-tertiary);align-items:center;gap:6px;padding:0 10px;font-size:10px;line-height:15px;display:flex}.EtEeYG_summaryPrivacy svg{flex:none}.EtEeYG_summaryCopyError{color:var(--dsw-alias-state-error-primary);padding:4px 10px;font-size:10px;line-height:15px}@keyframes EtEeYG_summary-spin{to{transform:rotate(360deg)}}.EtEeYG_back{display:none}.EtEeYG_historyShell{flex:1;min-height:0;position:relative}.EtEeYG_history{box-sizing:border-box;flex-direction:column;gap:12px;height:100%;min-height:0;padding:16px;display:flex;overflow:auto}.EtEeYG_historyLoading{color:var(--dsw-alias-label-tertiary);align-items:center;gap:8px;margin:auto;font-size:12px;line-height:18px;display:flex}.EtEeYG_historyLoading>svg{color:var(--dsw-alias-brand-primary);animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_latestMessages{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-button-floating-fill);min-width:30px;min-height:30px;color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv2);cursor:pointer;font:inherit;border-radius:16px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:11px;line-height:16px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.EtEeYG_latestMessages:hover{background:var(--dsw-alias-button-floating-hover)}.EtEeYG_message{align-self:flex-start;max-width:min(78%,420px)}.EtEeYG_message[data-outgoing]{align-self:flex-end}.EtEeYG_messageMeta{color:var(--dsw-alias-label-tertiary);justify-content:space-between;gap:10px;margin-bottom:3px;font-size:11px;line-height:16px;display:flex}.EtEeYG_message p,.EtEeYG_attachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:9px 11px;line-height:20px}.EtEeYG_message[data-outgoing] p,.EtEeYG_message[data-outgoing] .EtEeYG_attachment{background:var(--dsw-alias-interactive-bg-active)}.EtEeYG_mention{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-brand-primary);border-radius:3px;padding:0 2px;font-weight:600}.EtEeYG_pendingMessage{grid-template-columns:auto minmax(0,1fr);align-self:flex-end;align-items:end;gap:7px;max-width:min(78%,420px);display:grid}.EtEeYG_pendingMessageSpinner{color:var(--dsw-alias-label-tertiary);margin-bottom:12px;animation:1s linear infinite EtEeYG_summary-spin}.EtEeYG_pendingMessageContent{opacity:.82;min-width:0}.EtEeYG_pendingMessageContent>p,.EtEeYG_pendingAttachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:9px 11px;line-height:20px}.EtEeYG_pendingAttachment{align-items:center;gap:9px;display:flex}.EtEeYG_pendingAttachment>svg{color:var(--dsw-alias-label-secondary);flex:none}.EtEeYG_pendingAttachment span{flex-direction:column;min-width:0;display:flex}.EtEeYG_pendingAttachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_pendingAttachment small{color:var(--dsw-alias-label-tertiary)}.EtEeYG_pendingMessageContent>.EtEeYG_pendingCaption{color:var(--dsw-alias-label-secondary);background:0 0;border:0;margin-top:4px;padding:4px 8px;font-size:12px}.EtEeYG_attachment{cursor:pointer;font:inherit;text-align:left;align-items:center;gap:12px;display:flex}.EtEeYG_attachment span{flex-direction:column;min-width:0;display:flex}.EtEeYG_attachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_attachment small{color:var(--dsw-alias-label-tertiary)}.EtEeYG_attachment:disabled{cursor:default}.EtEeYG_imageAttachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:280px;max-width:100%;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;text-align:left;border-radius:12px;margin:0;padding:0;display:block;overflow:hidden}.EtEeYG_imageAttachment img{background:var(--dsw-alias-bg-layer-1);object-fit:contain;width:100%;max-height:280px;display:block}.EtEeYG_imageAttachment span{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:7px 9px;display:grid}.EtEeYG_imageAttachment strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.EtEeYG_imageAttachment small{color:var(--dsw-alias-label-tertiary);grid-column:1}.EtEeYG_imageAttachment svg{grid-area:1/2/span 2}.EtEeYG_message .EtEeYG_caption{color:var(--dsw-alias-label-secondary);background:0 0;margin-top:4px;padding:4px 8px;font-size:12px}.EtEeYG_inlineError{color:var(--dsw-alias-state-error-primary);margin-top:4px;display:block}.EtEeYG_empty{color:var(--dsw-alias-label-tertiary);text-align:center;margin:auto;padding:20px}.EtEeYG_composer{border-top:1px solid var(--dsw-alias-border-l1);flex:none;gap:8px;padding:10px 14px 14px;display:grid}.EtEeYG_filePicker{border:1px solid var(--dsw-alias-border-l2);width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_filePicker:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.EtEeYG_filePicker:disabled{opacity:.45;cursor:default}.EtEeYG_fileInput{display:none}.EtEeYG_composeInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:10px;gap:6px;min-width:0;padding:9px 10px 8px;display:grid;position:relative}.EtEeYG_mentionCandidates{z-index:3;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);max-height:180px;box-shadow:var(--dsw-shadow-lv2);border-radius:8px;padding:5px;position:absolute;bottom:calc(100% + 7px);left:0;right:0;overflow:auto}.EtEeYG_mentionCandidates button{width:100%;min-height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:8px;padding:4px 7px;display:grid}.EtEeYG_mentionCandidates button:hover,.EtEeYG_mentionCandidates button[aria-selected=true]{background:var(--dsw-alias-interactive-bg-active)}.EtEeYG_mentionCandidates button>span{background:var(--dsw-alias-bg-layer-3);width:28px;height:28px;color:var(--dsw-alias-brand-primary);border-radius:50%;grid-row:1/span 2;place-items:center;font-size:10px;display:grid}.EtEeYG_mentionCandidates strong,.EtEeYG_mentionCandidates small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.EtEeYG_mentionCandidates strong{align-self:end;font-size:12px;line-height:16px}.EtEeYG_mentionCandidates small{color:var(--dsw-alias-label-tertiary);align-self:start;font-size:10px;line-height:14px}.EtEeYG_composeInput:focus-within{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.EtEeYG_composeInput textarea{resize:none;background:0 0;border:0;border-radius:0;outline:0;min-width:0;min-height:42px;padding:0}.EtEeYG_composeInput textarea:focus-visible{outline:0}.EtEeYG_composeActions{justify-content:space-between;align-items:center;min-height:32px;display:flex}.EtEeYG_filePreview{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:10px;align-items:center;gap:8px;width:min(240px,100% - 8px);min-height:36px;padding:5px 28px 5px 8px;display:flex;position:relative}.EtEeYG_filePreview[data-image]{width:72px;height:72px;min-height:0;padding:0}.EtEeYG_filePreview img{object-fit:cover;border-radius:9px;width:72px;height:72px;display:block}.EtEeYG_filePreviewIcon{color:var(--dsw-alias-label-secondary);flex:none;place-items:center;display:grid}.EtEeYG_filePreviewName{min-width:0;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.EtEeYG_removeFile{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-button-floating-fill);width:22px;height:22px;color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-7px;right:-7px}.EtEeYG_removeFile:hover{background:var(--dsw-alias-button-floating-hover)}.EtEeYG_send{background:var(--dsw-alias-button-primary-fill);width:32px;height:32px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.EtEeYG_send:disabled{opacity:.45;cursor:default}.EtEeYG_error{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;flex:none;padding:8px 14px;font-size:12px;line-height:18px}.EtEeYG_pending{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-inverted);box-shadow:var(--dsw-shadow-lv2);border-radius:9px;padding:7px 10px;font-size:12px;line-height:18px;position:absolute;bottom:14px;right:14px}@media (width<=620px){.EtEeYG_trigger span{display:none}.EtEeYG_trigger{justify-content:center;width:36px;padding:0}.EtEeYG_drawer{width:calc(100vw - 56px);min-width:0}.EtEeYG_chat{grid-template-columns:1fr}.EtEeYG_thread{display:none}.EtEeYG_thread[data-visible]{display:flex}.EtEeYG_roster[data-hidden]{display:none}.EtEeYG_back{display:grid}.EtEeYG_summaryPanel{max-height:min(190px,33%);margin-left:8px;margin-right:8px}.EtEeYG_summaryTrigger>span{display:none}.EtEeYG_summaryTrigger{justify-content:center;width:30px;padding:0}.EtEeYG_summaryTrigger>svg:last-child{display:none}}@media (height<=420px){.EtEeYG_drawer{border-radius:10px}.EtEeYG_drawerHeader{height:44px;padding:0 8px 0 12px}.EtEeYG_drawerHeader h2{font-size:14px;line-height:20px}.EtEeYG_drawerHeader button,.EtEeYG_back{width:28px;height:28px}.EtEeYG_centerState,.EtEeYG_threadEmpty{justify-content:flex-start;gap:8px;min-height:0;padding:12px;overflow:auto}.EtEeYG_registrationIcon{width:32px;height:32px}.EtEeYG_composeBackdrop{place-items:start center;padding:8px;inset:44px 0 0}.EtEeYG_composeCard{border-radius:10px;gap:8px;padding:12px}.EtEeYG_recoveryForm{gap:8px}.EtEeYG_identityCard{border-radius:8px;margin:6px 8px;padding:7px 9px}.EtEeYG_profileBio,.EtEeYG_profileTags,.EtEeYG_identityStatus{display:none}.EtEeYG_modeTabs{margin:0 8px 4px}.EtEeYG_modeTabs button{min-height:26px}.EtEeYG_rosterHeader{min-height:28px;padding:0 4px 2px 12px}.EtEeYG_conversationSelect{gap:7px;padding:5px 7px}.EtEeYG_avatar{width:28px;height:28px}.EtEeYG_threadHeader{gap:5px;height:44px;padding:0 8px}.EtEeYG_groupAccessNotice{grid-template-columns:18px minmax(0,1fr);gap:6px 8px;padding:8px}.EtEeYG_groupAccessActions{grid-column:2;justify-content:flex-start}.EtEeYG_groupDetails{top:44px;overflow-y:auto}.EtEeYG_groupDetailsHeader{z-index:2;background:var(--dsw-alias-bg-layer-1);min-height:44px;padding-left:12px;position:sticky;top:0}.EtEeYG_groupSummary{gap:2px;padding:8px 12px}.EtEeYG_groupSummary dl{gap:6px;margin-top:3px}.EtEeYG_groupInvite{gap:3px;padding:7px 12px}.EtEeYG_groupMemberSection{flex:none}.EtEeYG_groupMemberHeading{min-height:32px;padding-left:12px}.EtEeYG_groupMemberList{overflow:visible}.EtEeYG_groupMemberRow{min-height:40px}.EtEeYG_groupDetailsFooter{background:var(--dsw-alias-bg-layer-1);min-height:40px;padding:0 12px;position:sticky;bottom:0}.EtEeYG_history{gap:6px;padding:8px}.EtEeYG_composer{gap:4px;padding:5px 8px 7px}.EtEeYG_composeInput{gap:3px;padding:5px 7px 4px}.EtEeYG_composeInput textarea{height:28px;min-height:28px}.EtEeYG_composeActions{min-height:28px}.EtEeYG_filePicker,.EtEeYG_send{width:28px;height:28px}.EtEeYG_mentionCandidates{max-height:72px}.EtEeYG_compactModal.EtEeYG_compactModal{border-radius:12px;gap:10px;max-height:calc(100vh - 48px);padding-bottom:12px}}@media (hover:none){.EtEeYG_conversationMenu{opacity:1}}@media (prefers-reduced-motion:reduce){.EtEeYG_drawer{scroll-behavior:auto;transition:none}.EtEeYG_summaryLoading>svg,.EtEeYG_summaryTrigger:disabled>svg:first-child,.EtEeYG_historyLoading>svg,.EtEeYG_recoveryProgressPanel>svg,.EtEeYG_groupMemberHeading button[data-busy] svg,.EtEeYG_pendingMessageSpinner{animation:none}}";
7961
+ const tagId$4 = "@awiki/dsh-plugin/AwikiOverlay.module.css";
7962
+ if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
7400
7963
  const tag = document.createElement("style");
7401
7964
  tag.dataset.plugin = "@awiki/dsh-plugin";
7402
- tag.dataset.pluginCss = tagId$3;
7403
- tag.textContent = css$3;
7965
+ tag.dataset.pluginCss = tagId$4;
7966
+ tag.textContent = css$4;
7404
7967
  document.head.appendChild(tag);
7405
7968
  }
7406
7969
  var _dsh_awiki_css_AwikiOverlay_module_css_default = {
@@ -7881,13 +8444,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7881
8444
  }
7882
8445
  //#endregion
7883
8446
  //#region \0dsh-awiki-css:AwikiIdentityAccess.module.css.mjs
7884
- const css$2 = ".r_slHG_accessFlow{width:100%;min-width:0;color:var(--dsw-alias-label-secondary);gap:14px;display:grid}.r_slHG_identityIcon,.r_slHG_progressIcon{width:48px;height:48px;color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-interactive-bg-active);border-radius:50%;place-items:center;margin:0 auto;display:grid}.r_slHG_progressIcon svg{animation:1s linear infinite r_slHG_identity-spin}@keyframes r_slHG_identity-spin{to{transform:rotate(360deg)}}.r_slHG_headingGroup{text-align:center;gap:6px;display:grid}.r_slHG_headingGroup h3,.r_slHG_headingGroup p,.r_slHG_existingNotice p,.r_slHG_dangerPanel p{margin:0}.r_slHG_headingGroup h3{color:var(--dsw-alias-label-primary);font-size:18px;line-height:26px}.r_slHG_headingGroup p,.r_slHG_existingNotice p,.r_slHG_dangerPanel p{font-size:13px;line-height:20px}.r_slHG_headingGroup strong{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere}.r_slHG_identitySummary{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;padding:12px 14px;font-size:12px;line-height:18px;display:grid}.r_slHG_identitySummary span{color:var(--dsw-alias-label-tertiary)}.r_slHG_identitySummary strong{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-primary)}.r_slHG_field{color:var(--dsw-alias-label-secondary);text-align:left;gap:6px;font-size:13px;line-height:20px;display:grid}.r_slHG_field input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:100%;height:40px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:8px;padding:0 12px}.r_slHG_field input:focus-visible,.r_slHG_primary:focus-visible,.r_slHG_secondary:focus-visible,.r_slHG_linkButton:focus-visible,.r_slHG_dangerLink:focus-visible,.r_slHG_dangerButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.r_slHG_primary,.r_slHG_secondary,.r_slHG_dangerButton{cursor:pointer;min-height:40px;font:inherit;border-radius:8px;padding:0 14px}.r_slHG_primary{color:var(--dsw-alias-label-primary-inverted);background:var(--dsw-alias-button-primary-fill);border:0}.r_slHG_primary:hover{background:var(--dsw-alias-button-primary-hover)}.r_slHG_secondary{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);background:0 0}.r_slHG_secondary:hover{background:var(--dsw-alias-interactive-bg-hover)}.r_slHG_primary:disabled,.r_slHG_secondary:disabled,.r_slHG_linkButton:disabled,.r_slHG_dangerLink:disabled,.r_slHG_dangerButton:disabled{cursor:default;opacity:.5}.r_slHG_linkButton,.r_slHG_dangerLink{cursor:pointer;min-height:32px;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.r_slHG_linkButton{color:var(--dsw-alias-brand-primary)}.r_slHG_dangerLink{color:var(--dsw-alias-state-error-primary)}.r_slHG_actionStack{gap:8px;display:grid}.r_slHG_existingNotice,.r_slHG_dangerPanel{border-left:3px solid var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2);gap:10px;padding:12px 14px;display:grid}.r_slHG_existingNotice strong{color:var(--dsw-alias-label-primary)}.r_slHG_dangerPanel{border-left-color:var(--dsw-alias-state-error-primary)}.r_slHG_dangerPanel strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.r_slHG_confirmation{color:var(--dsw-alias-label-secondary);align-items:flex-start;gap:8px;font-size:12px;line-height:18px;display:flex}.r_slHG_confirmation input{width:16px;height:16px;accent-color:var(--dsw-alias-state-error-primary);flex:none;margin:1px 0 0}.r_slHG_dangerButton{border:1px solid var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary);background:0 0}.r_slHG_dangerButton:hover{background:var(--dsw-alias-interactive-bg-hover-danger)}.r_slHG_recoveryHelp{border-top:1px solid var(--dsw-alias-border-l1);gap:10px;padding-top:14px;display:grid}.r_slHG_recoveryHelp p{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}.r_slHG_notice,.r_slHG_error{overflow-wrap:anywhere;font-size:12px;line-height:18px}.r_slHG_notice{color:var(--dsw-alias-label-secondary)}.r_slHG_error{color:var(--dsw-alias-state-error-primary)}@media (height<=560px){.r_slHG_accessFlow{gap:8px}.r_slHG_identityIcon,.r_slHG_progressIcon{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.r_slHG_primary,.r_slHG_secondary,.r_slHG_linkButton,.r_slHG_dangerLink,.r_slHG_dangerButton{transition-duration:.001ms!important}.r_slHG_progressIcon svg{animation-duration:.001ms!important}}";
7885
- const tagId$2 = "@awiki/dsh-plugin/AwikiIdentityAccess.module.css";
7886
- if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
8447
+ const css$3 = ".r_slHG_accessFlow{width:100%;min-width:0;color:var(--dsw-alias-label-secondary);gap:14px;display:grid}.r_slHG_identityIcon,.r_slHG_progressIcon{width:48px;height:48px;color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-interactive-bg-active);border-radius:50%;place-items:center;margin:0 auto;display:grid}.r_slHG_progressIcon svg{animation:1s linear infinite r_slHG_identity-spin}@keyframes r_slHG_identity-spin{to{transform:rotate(360deg)}}.r_slHG_headingGroup{text-align:center;gap:6px;display:grid}.r_slHG_headingGroup h3,.r_slHG_headingGroup p,.r_slHG_existingNotice p,.r_slHG_dangerPanel p{margin:0}.r_slHG_headingGroup h3{color:var(--dsw-alias-label-primary);font-size:18px;line-height:26px}.r_slHG_headingGroup p,.r_slHG_existingNotice p,.r_slHG_dangerPanel p{font-size:13px;line-height:20px}.r_slHG_headingGroup strong{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere}.r_slHG_identitySummary{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;padding:12px 14px;font-size:12px;line-height:18px;display:grid}.r_slHG_identitySummary span{color:var(--dsw-alias-label-tertiary)}.r_slHG_identitySummary strong{overflow-wrap:anywhere;min-width:0;color:var(--dsw-alias-label-primary)}.r_slHG_field{color:var(--dsw-alias-label-secondary);text-align:left;gap:6px;font-size:13px;line-height:20px;display:grid}.r_slHG_field input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:100%;height:40px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:8px;padding:0 12px}.r_slHG_field input:focus-visible,.r_slHG_primary:focus-visible,.r_slHG_secondary:focus-visible,.r_slHG_linkButton:focus-visible,.r_slHG_dangerLink:focus-visible,.r_slHG_dangerButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.r_slHG_primary,.r_slHG_secondary,.r_slHG_dangerButton{cursor:pointer;min-height:40px;font:inherit;border-radius:8px;padding:0 14px}.r_slHG_primary{color:var(--dsw-alias-label-primary-inverted);background:var(--dsw-alias-button-primary-fill);border:0}.r_slHG_primary:hover{background:var(--dsw-alias-button-primary-hover)}.r_slHG_secondary{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);background:0 0}.r_slHG_secondary:hover{background:var(--dsw-alias-interactive-bg-hover)}.r_slHG_primary:disabled,.r_slHG_secondary:disabled,.r_slHG_linkButton:disabled,.r_slHG_dangerLink:disabled,.r_slHG_dangerButton:disabled{cursor:default;opacity:.5}.r_slHG_linkButton,.r_slHG_dangerLink{cursor:pointer;min-height:32px;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.r_slHG_linkButton{color:var(--dsw-alias-brand-primary)}.r_slHG_dangerLink{color:var(--dsw-alias-state-error-primary)}.r_slHG_actionStack{gap:8px;display:grid}.r_slHG_existingNotice,.r_slHG_dangerPanel{border-left:3px solid var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2);gap:10px;padding:12px 14px;display:grid}.r_slHG_existingNotice strong{color:var(--dsw-alias-label-primary)}.r_slHG_dangerPanel{border-left-color:var(--dsw-alias-state-error-primary)}.r_slHG_dangerPanel strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.r_slHG_confirmation{color:var(--dsw-alias-label-secondary);align-items:flex-start;gap:8px;font-size:12px;line-height:18px;display:flex}.r_slHG_confirmation input{width:16px;height:16px;accent-color:var(--dsw-alias-state-error-primary);flex:none;margin:1px 0 0}.r_slHG_dangerButton{border:1px solid var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary);background:0 0}.r_slHG_dangerButton:hover{background:var(--dsw-alias-interactive-bg-hover-danger)}.r_slHG_recoveryHelp{border-top:1px solid var(--dsw-alias-border-l1);gap:10px;padding-top:14px;display:grid}.r_slHG_recoveryHelp p{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}.r_slHG_notice,.r_slHG_error{overflow-wrap:anywhere;font-size:12px;line-height:18px}.r_slHG_notice{color:var(--dsw-alias-label-secondary)}.r_slHG_error{color:var(--dsw-alias-state-error-primary)}.r_slHG_sas{letter-spacing:.2em;text-align:center;font-variant-numeric:tabular-nums;font-size:32px}@media (height<=560px){.r_slHG_accessFlow{gap:8px}.r_slHG_identityIcon,.r_slHG_progressIcon{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.r_slHG_primary,.r_slHG_secondary,.r_slHG_linkButton,.r_slHG_dangerLink,.r_slHG_dangerButton{transition-duration:.001ms!important}.r_slHG_progressIcon svg{animation-duration:.001ms!important}}";
8448
+ const tagId$3 = "@awiki/dsh-plugin/AwikiIdentityAccess.module.css";
8449
+ if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
7887
8450
  const tag = document.createElement("style");
7888
8451
  tag.dataset.plugin = "@awiki/dsh-plugin";
7889
- tag.dataset.pluginCss = tagId$2;
7890
- tag.textContent = css$2;
8452
+ tag.dataset.pluginCss = tagId$3;
8453
+ tag.textContent = css$3;
7891
8454
  document.head.appendChild(tag);
7892
8455
  }
7893
8456
  var _dsh_awiki_css_AwikiIdentityAccess_module_css_default = {
@@ -7909,6 +8472,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7909
8472
  "primary": "r_slHG_primary",
7910
8473
  "progressIcon": "r_slHG_progressIcon",
7911
8474
  "recoveryHelp": "r_slHG_recoveryHelp",
8475
+ "sas": "r_slHG_sas",
7912
8476
  "secondary": "r_slHG_secondary"
7913
8477
  };
7914
8478
  //#endregion
@@ -7947,6 +8511,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7947
8511
  const [signedOutAlternative, setSignedOutAlternative] = (0, react.useState)("none");
7948
8512
  const [replaceConfirmed, setReplaceConfirmed] = (0, react.useState)(false);
7949
8513
  const [loginFailed, setLoginFailed] = (0, react.useState)(false);
8514
+ const [joinContext, setJoinContext] = (0, react.useState)(null);
8515
+ const [joinProgress, setJoinProgress] = (0, react.useState)(null);
7950
8516
  (0, react.useEffect)(() => {
7951
8517
  if (retryDeadline === null) return;
7952
8518
  const update = () => {
@@ -7980,47 +8546,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7980
8546
  const result = await props.sendRegistrationOtp({
7981
8547
  handle: handle.trim(),
7982
8548
  phone: phone.trim()
7983
- });
7984
- if (!result.ok) {
7985
- setError(result.error);
7986
- return;
7987
- }
7988
- const cooldownSeconds = Math.max(0, Math.ceil(result.value.retryAfterSeconds));
7989
- setRegistrationOtpSent(true);
7990
- setRetryDeadline(Date.now() + cooldownSeconds * 1e3);
7991
- setRetrySeconds(cooldownSeconds);
7992
- setNotice(`注册验证码已发送;${cooldownSeconds} 秒后可重新获取。`);
7993
- };
7994
- const requestIdentityOtp = async () => {
7995
- setError(null);
7996
- setNotice(null);
7997
- const requestedHandle = handle.trim();
7998
- const requestedPhone = phone.trim();
7999
- const inspection = await props.inspectIdentityAccess({ handle: requestedHandle });
8000
- if (!inspection.ok) {
8001
- setError(inspection.error);
8002
- return;
8003
- }
8004
- if (inspection.value.status === "existing") {
8005
- const factorContext = {
8006
- fullHandle: inspection.value.fullHandle,
8007
- phone: requestedPhone
8008
- };
8009
- setRecoveryFactorContext(factorContext);
8010
- const recovery = await props.sendRecoveryOtp(factorContext);
8011
- if (!recovery.ok) {
8012
- setRecoveryFactorContext(null);
8013
- setError(recovery.error);
8014
- return;
8015
- }
8016
- setRecoveryFactorContext({
8017
- fullHandle: recovery.value.fullHandle,
8018
- phone: requestedPhone
8019
- });
8549
+ });
8550
+ if (!result.ok) {
8551
+ setError(result.error);
8020
8552
  return;
8021
8553
  }
8022
- await requestRegistrationOtp();
8554
+ const cooldownSeconds = Math.max(0, Math.ceil(result.value.retryAfterSeconds));
8555
+ setRegistrationOtpSent(true);
8556
+ setRetryDeadline(Date.now() + cooldownSeconds * 1e3);
8557
+ setRetrySeconds(cooldownSeconds);
8558
+ setNotice(`注册验证码已发送;${cooldownSeconds} 秒后可重新获取。`);
8023
8559
  };
8560
+ const requestIdentityOtp = requestRegistrationOtp;
8024
8561
  const completeRegistration = async () => {
8025
8562
  if (!registrationOtpSent) return;
8026
8563
  setError(null);
@@ -8033,10 +8570,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8033
8570
  setError(result.error);
8034
8571
  return;
8035
8572
  }
8573
+ if (result.value.status === "join-required") {
8574
+ setOtp("");
8575
+ setJoinContext({
8576
+ fullHandle: result.value.fullHandle,
8577
+ phone: phone.trim()
8578
+ });
8579
+ return;
8580
+ }
8036
8581
  setPhone("");
8037
8582
  setHandle("");
8038
8583
  resetIdentityEntry();
8039
8584
  };
8585
+ const beginJoin = async () => {
8586
+ setError(null);
8587
+ const result = await props.beginDeviceJoin();
8588
+ if (!result.ok) return setError(result.error);
8589
+ setJoinProgress(result.value);
8590
+ };
8591
+ const cancelJoin = async () => {
8592
+ setError(null);
8593
+ const result = await props.cancelDeviceJoin();
8594
+ if (!result.ok) return setError(result.error);
8595
+ setJoinContext(null);
8596
+ setJoinProgress(null);
8597
+ resetIdentityEntry();
8598
+ };
8599
+ const chooseRecovery = async () => {
8600
+ if (joinContext === null || !props.handleRecoveryPhoneEnabled) return;
8601
+ setError(null);
8602
+ const discarded = await props.cancelDeviceJoin();
8603
+ if (!discarded.ok) return setError(discarded.error);
8604
+ const recovery = await props.sendRecoveryOtp({
8605
+ fullHandle: joinContext.fullHandle,
8606
+ phone: joinContext.phone
8607
+ });
8608
+ if (!recovery.ok) return setError(recovery.error);
8609
+ setRecoveryFactorContext({
8610
+ fullHandle: recovery.value.fullHandle,
8611
+ phone: joinContext.phone
8612
+ });
8613
+ setJoinContext(null);
8614
+ };
8615
+ (0, react.useEffect)(() => {
8616
+ if (props.sessionStatus !== "unregistered" || joinContext !== null || joinProgress !== null || typeof props.getDeviceJoinStatus !== "function") return;
8617
+ let active = true;
8618
+ props.getDeviceJoinStatus().then((result) => {
8619
+ if (!active) return;
8620
+ if (!result.ok) setError(result.error);
8621
+ else if (result.value !== null) setJoinProgress(result.value);
8622
+ });
8623
+ return () => {
8624
+ active = false;
8625
+ };
8626
+ }, [props.sessionStatus]);
8627
+ (0, react.useEffect)(() => {
8628
+ if (joinProgress === null || [
8629
+ "authorized",
8630
+ "cancelled",
8631
+ "rejected",
8632
+ "expired"
8633
+ ].includes(joinProgress.phase)) return;
8634
+ const timer = setInterval(() => {
8635
+ props.getDeviceJoinStatus().then((result) => {
8636
+ if (!result.ok) setError(result.error);
8637
+ else if (result.value !== null) setJoinProgress(result.value);
8638
+ });
8639
+ }, 2e3);
8640
+ return () => {
8641
+ clearInterval(timer);
8642
+ };
8643
+ }, [joinProgress?.phase]);
8040
8644
  const login = async () => {
8041
8645
  setError(null);
8042
8646
  setLoginFailed(false);
@@ -8082,6 +8686,94 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8082
8686
  requestTitle: "需要重新恢复身份",
8083
8687
  requestDescription: "这个 Handle 已在另一台设备完成了更新恢复,当前设备的旧凭证因此失效。验证绑定手机号后即可继续使用本机数据。"
8084
8688
  });
8689
+ if (props.sessionStatus === "unregistered" && joinProgress !== null) {
8690
+ const terminal = [
8691
+ "cancelled",
8692
+ "rejected",
8693
+ "expired"
8694
+ ].includes(joinProgress.phase);
8695
+ return (0, react_jsx_runtime.jsx)(AwikiIdentityPage, { children: (0, react_jsx_runtime.jsxs)("div", {
8696
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.accessFlow,
8697
+ children: [
8698
+ (0, react_jsx_runtime.jsx)("div", {
8699
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.identityIcon,
8700
+ children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconUserOutline16, { size: 24 })
8701
+ }),
8702
+ (0, react_jsx_runtime.jsxs)("div", {
8703
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.headingGroup,
8704
+ children: [(0, react_jsx_runtime.jsx)("h3", { children: joinProgress.phase === "sas-ready" ? "核对安全码" : terminal ? "设备加入已结束" : "正在加入设备" }), (0, react_jsx_runtime.jsx)("p", { children: joinProgress.phase === "sas-ready" ? "请在已有管理设备上核对下面的 6 位安全码;只有两端一致时才批准。" : joinProgress.phase === "rejected" ? "管理设备拒绝了这次加入。" : joinProgress.phase === "expired" ? "这次设备加入已过期,请重新验证手机号。" : joinProgress.phase === "cancelled" ? "这次设备加入已取消。" : "请在已有 AWiki Me 或 CLI 管理设备上处理加入请求。" })]
8705
+ }),
8706
+ joinProgress.phase === "sas-ready" && (0, react_jsx_runtime.jsx)("strong", {
8707
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.sas,
8708
+ children: joinProgress.sas
8709
+ }),
8710
+ !terminal && (0, react_jsx_runtime.jsxs)("small", {
8711
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.notice,
8712
+ role: "status",
8713
+ children: ["有效期至 ", joinProgress.expiresAt]
8714
+ }),
8715
+ (0, react_jsx_runtime.jsx)("button", {
8716
+ type: "button",
8717
+ className: terminal ? _dsh_awiki_css_AwikiIdentityAccess_module_css_default.primary : _dsh_awiki_css_AwikiIdentityAccess_module_css_default.secondary,
8718
+ disabled: props.pending,
8719
+ onClick: () => {
8720
+ cancelJoin();
8721
+ },
8722
+ children: terminal ? "返回身份入口" : "取消加入"
8723
+ }),
8724
+ error !== null && (0, react_jsx_runtime.jsx)("small", {
8725
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.error,
8726
+ role: "alert",
8727
+ children: error
8728
+ })
8729
+ ]
8730
+ }) });
8731
+ }
8732
+ if (props.sessionStatus === "unregistered" && joinContext !== null) return (0, react_jsx_runtime.jsx)(AwikiIdentityPage, { children: (0, react_jsx_runtime.jsxs)("div", {
8733
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.accessFlow,
8734
+ children: [
8735
+ (0, react_jsx_runtime.jsx)("div", {
8736
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.identityIcon,
8737
+ children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconUserOutline16, { size: 24 })
8738
+ }),
8739
+ (0, react_jsx_runtime.jsxs)("div", {
8740
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.headingGroup,
8741
+ children: [(0, react_jsx_runtime.jsx)("h3", { children: "这个 Handle 已存在" }), (0, react_jsx_runtime.jsx)("p", { children: "推荐把当前 DSH 作为新设备加入,原身份和其他设备会继续有效。" })]
8742
+ }),
8743
+ (0, react_jsx_runtime.jsx)("button", {
8744
+ type: "button",
8745
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.primary,
8746
+ disabled: props.pending,
8747
+ onClick: () => {
8748
+ beginJoin();
8749
+ },
8750
+ children: "加入新设备(推荐)"
8751
+ }),
8752
+ props.handleRecoveryPhoneEnabled && (0, react_jsx_runtime.jsx)("button", {
8753
+ type: "button",
8754
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.dangerLink,
8755
+ disabled: props.pending,
8756
+ onClick: () => {
8757
+ chooseRecovery();
8758
+ },
8759
+ children: "恢复 Handle(会替换 DID)"
8760
+ }),
8761
+ (0, react_jsx_runtime.jsx)("button", {
8762
+ type: "button",
8763
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.secondary,
8764
+ disabled: props.pending,
8765
+ onClick: () => {
8766
+ cancelJoin();
8767
+ },
8768
+ children: "取消"
8769
+ }),
8770
+ error !== null && (0, react_jsx_runtime.jsx)("small", {
8771
+ className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.error,
8772
+ role: "alert",
8773
+ children: error
8774
+ })
8775
+ ]
8776
+ }) });
8085
8777
  if (props.sessionStatus === "signed-out") {
8086
8778
  if (signedOutAlternative === "recover") return (0, react_jsx_runtime.jsx)(Recovery, {
8087
8779
  ...props,
@@ -8210,16 +8902,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8210
8902
  }),
8211
8903
  (0, react_jsx_runtime.jsxs)("div", {
8212
8904
  className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.headingGroup,
8213
- children: [(0, react_jsx_runtime.jsx)("h3", { children: registrationOtpSent ? "创建新身份" : "进入 AWiki" }), (0, react_jsx_runtime.jsx)("p", { children: registrationOtpSent ? "这个 Handle 尚未注册。输入刚收到的验证码以创建身份。" : "输入 Handle 和手机号。已有 Handle 会恢复身份,新 Handle 会创建身份。" })]
8214
- }),
8215
- props.legacySharedStateDetected === true && props.profileName != null && (0, react_jsx_runtime.jsxs)("div", {
8216
- className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.existingNotice,
8217
- role: "status",
8218
- children: [(0, react_jsx_runtime.jsx)("strong", { children: "已为当前 Profile 隔离 AWiki 数据" }), (0, react_jsx_runtime.jsxs)("p", { children: [
8219
- "检测到旧版共享数据。为避免多个 DSH Profile 同时占用数据库,当前 Profile「",
8220
- props.profileName,
8221
- "」使用独立数据目录;旧数据未删除或复制。请用原 Handle 和手机号恢复到此设备。"
8222
- ] })]
8905
+ children: [(0, react_jsx_runtime.jsx)("h3", { children: registrationOtpSent ? "验证身份" : "进入 AWiki" }), (0, react_jsx_runtime.jsx)("p", { children: registrationOtpSent ? "输入注册验证码。新 Handle 会创建身份,已有 Handle 会进入设备加入选择。" : "输入 Handle 和手机号,统一获取注册验证码。" })]
8223
8906
  }),
8224
8907
  (0, react_jsx_runtime.jsxs)("label", {
8225
8908
  className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.field,
@@ -8262,7 +8945,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8262
8945
  type: "submit",
8263
8946
  className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.primary,
8264
8947
  disabled: props.pending || handle.trim() === "" || phone.trim() === "" || registrationOtpSent && otp.trim() === "",
8265
- children: registrationOtpSent ? "创建身份" : "获取验证码"
8948
+ children: registrationOtpSent ? "继续" : "获取验证码"
8266
8949
  }),
8267
8950
  registrationOtpSent && (0, react_jsx_runtime.jsx)("button", {
8268
8951
  type: "button",
@@ -8546,8 +9229,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8546
9229
  pending: null,
8547
9230
  error: null,
8548
9231
  attachmentMaxBytes: 0,
8549
- profileName: null,
8550
- legacySharedStateDetected: false,
9232
+ handleRecoveryPhoneEnabled: false,
8551
9233
  summaries: Object.freeze({}),
8552
9234
  recoveryOperationId: null,
8553
9235
  recoveryProgress: null
@@ -8967,8 +9649,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8967
9649
  identity: session.value.status === "active" ? session.value.identity : null,
8968
9650
  error: null,
8969
9651
  attachmentMaxBytes: config.value.attachmentMaxBytes,
8970
- profileName: config.value.profileName ?? null,
8971
- legacySharedStateDetected: config.value.legacySharedStateDetected ?? false,
9652
+ handleRecoveryPhoneEnabled: config.value.handleRecoveryPhoneEnabled,
8972
9653
  recoveryOperationId: storedRecoveryOperation()
8973
9654
  });
8974
9655
  const operationId = storedRecoveryOperation();
@@ -9041,7 +9722,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9041
9722
  ...INITIAL_VIEW,
9042
9723
  status: "ready",
9043
9724
  sessionStatus: "signed-out",
9044
- attachmentMaxBytes: this.config?.attachmentMaxBytes ?? 0
9725
+ attachmentMaxBytes: this.config?.attachmentMaxBytes ?? 0,
9726
+ handleRecoveryPhoneEnabled: this.config?.handleRecoveryPhoneEnabled ?? false
9045
9727
  });
9046
9728
  return result;
9047
9729
  }
@@ -9095,16 +9777,50 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9095
9777
  const result = await this.withPending("注册身份", () => call(() => this.remote.registerIdentity(request), registrationFailureMessage));
9096
9778
  if (!result.ok) return result;
9097
9779
  if (!this.current(generation)) return result;
9098
- this.activatePresentationCache(result.value);
9099
- this.publish({
9100
- ...this.view,
9101
- sessionStatus: "active",
9102
- identity: result.value,
9103
- error: null
9104
- });
9105
- await this.refreshConversationsAndRecoverGroups(generation);
9780
+ if (result.value.status === "registered") {
9781
+ this.activatePresentationCache(result.value.identity);
9782
+ this.publish({
9783
+ ...this.view,
9784
+ sessionStatus: "active",
9785
+ identity: result.value.identity,
9786
+ error: null
9787
+ });
9788
+ await this.refreshConversationsAndRecoverGroups(generation);
9789
+ }
9790
+ return result;
9791
+ }
9792
+ beginDeviceJoin() {
9793
+ return this.withPending("开始加入设备", () => call(() => this.remote.beginDeviceJoin()));
9794
+ }
9795
+ async getDeviceJoinStatus() {
9796
+ const result = await call(() => this.remote.getDeviceJoinStatus());
9797
+ if (result.ok && result.value?.completed) await this.loadSession();
9106
9798
  return result;
9107
9799
  }
9800
+ cancelDeviceJoin() {
9801
+ return this.withPending("取消加入设备", async () => {
9802
+ const result = await call(() => this.remote.cancelDeviceJoin());
9803
+ return result.ok ? {
9804
+ ok: true,
9805
+ value: void 0
9806
+ } : result;
9807
+ });
9808
+ }
9809
+ refreshDeviceManagement() {
9810
+ return call(() => this.remote.refreshDeviceManagement());
9811
+ }
9812
+ startDeviceJoinVerification(request) {
9813
+ return this.withPending("开始设备验证", () => call(() => this.remote.startDeviceJoinVerification(request)));
9814
+ }
9815
+ approveDeviceJoin(request) {
9816
+ return this.withPending("批准设备", () => call(() => this.remote.approveDeviceJoin(request)));
9817
+ }
9818
+ rejectDeviceJoin(request) {
9819
+ return this.withPending("拒绝设备", () => call(() => this.remote.rejectDeviceJoin(request)));
9820
+ }
9821
+ revokeDevice(request) {
9822
+ return this.withPending("撤销设备", () => call(() => this.remote.revokeDevice(request)));
9823
+ }
9108
9824
  /**
9109
9825
  * Update the deployment identity's public display name.
9110
9826
  * @param displayName - replacement display name selected by the user.
@@ -10863,13 +11579,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
10863
11579
  }
10864
11580
  //#endregion
10865
11581
  //#region \0dsh-awiki-css:AwikiMail.module.css.mjs
10866
- const css$1 = ".eMUW5a_mail{background:var(--dsw-alias-bg-layer-1);flex:1;grid-template-columns:240px 320px minmax(420px,1fr);min-height:0;display:grid;position:relative}.eMUW5a_sidebar,.eMUW5a_mailList,.eMUW5a_mailDetail{min-width:0;min-height:0}.eMUW5a_sidebar{border-right:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);flex-direction:column;display:flex}.eMUW5a_accountCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:10px;gap:3px;margin:0 14px 12px;padding:10px 12px;display:grid}.eMUW5a_accountCard small,.eMUW5a_accountCard span{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.eMUW5a_accountCard strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.eMUW5a_accountCard .eMUW5a_accountStatus{color:var(--dsw-alias-state-success-primary)}.eMUW5a_folderNav{gap:4px;padding:0 10px;display:grid}.eMUW5a_folderNav button{min-height:38px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 10px;display:grid}.eMUW5a_folderNav button:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_folderNav button[data-active]{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary)}.eMUW5a_folderNav small{min-width:20px;color:var(--dsw-alias-brand-primary);text-align:right}.eMUW5a_folderRow{color:var(--dsw-alias-label-secondary);border-radius:9px;grid-template-columns:minmax(0,1fr) 38px;display:grid}.eMUW5a_folderRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_folderRow[data-active]{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary)}.eMUW5a_folderRow>button{color:inherit;background:0 0;border-radius:0}.eMUW5a_folderRow>button:hover{background:0 0}.eMUW5a_folderRow>.eMUW5a_composeIconButton{border-radius:8px;grid-template-columns:1fr;place-items:center;gap:0;width:38px;padding:0}.eMUW5a_folderRow>.eMUW5a_composeIconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_mailList{border-right:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex-direction:column;display:flex;position:relative}.eMUW5a_listHeader,.eMUW5a_detailHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:9px;min-height:56px;padding:0 12px;display:flex}.eMUW5a_listHeader>div,.eMUW5a_detailHeader>div{flex-direction:column;flex:1;min-width:0;display:flex}.eMUW5a_listHeader strong,.eMUW5a_detailHeader strong,.eMUW5a_listHeader small,.eMUW5a_detailHeader small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eMUW5a_listHeader strong,.eMUW5a_detailHeader strong{font-size:13px;line-height:20px}.eMUW5a_listHeader small,.eMUW5a_detailHeader small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.eMUW5a_listHeader>button,.eMUW5a_detailBack{width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.eMUW5a_listHeader>button:hover,.eMUW5a_detailBack:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.eMUW5a_listHeader>button:disabled{opacity:.5;cursor:default}.eMUW5a_detailBack{display:none}.eMUW5a_listHeader svg,.eMUW5a_loadingState svg{animation:none}.eMUW5a_listHeader button:disabled svg,.eMUW5a_loadingState svg{animation:1s linear infinite eMUW5a_mail-spin}@keyframes eMUW5a_mail-spin{to{transform:rotate(360deg)}}.eMUW5a_rows{flex:1;min-height:0;padding:6px;overflow:auto}.eMUW5a_mailRow{width:100%;min-height:82px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:7px minmax(0,1fr) auto;gap:7px;padding:10px 9px;display:grid;position:relative}.eMUW5a_mailRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_mailRow[data-active]{background:var(--dsw-alias-interactive-bg-active)}.eMUW5a_unreadDot{background:0 0;border-radius:50%;align-self:start;width:6px;height:6px;margin-top:7px}.eMUW5a_mailRow[data-unread] .eMUW5a_unreadDot{background:var(--dsw-alias-brand-primary)}.eMUW5a_rowContent{flex-direction:column;gap:2px;min-width:0;display:flex}.eMUW5a_rowTop{align-items:center;gap:8px;display:flex}.eMUW5a_rowTop strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;line-height:18px;overflow:hidden}.eMUW5a_mailRow[data-unread] .eMUW5a_rowTop strong,.eMUW5a_mailRow[data-unread] .eMUW5a_rowSubject{font-weight:600}.eMUW5a_rowTop time{color:var(--dsw-alias-label-tertiary);flex:none;font-size:10px;line-height:15px}.eMUW5a_rowSubject,.eMUW5a_rowPreview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eMUW5a_rowSubject{color:var(--dsw-alias-label-primary);font-size:12px;line-height:18px}.eMUW5a_rowPreview{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.eMUW5a_rowAttachment{color:var(--dsw-alias-label-tertiary);align-self:end;align-items:center;gap:2px;display:flex}.eMUW5a_rowAttachment small{font-size:10px}.eMUW5a_inlineError,.eMUW5a_detailError{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:11px;line-height:16px;display:flex}.eMUW5a_inlineError button{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;text-decoration:underline}.eMUW5a_loadingState,.eMUW5a_emptyState,.eMUW5a_detailEmpty{color:var(--dsw-alias-label-tertiary);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.eMUW5a_loadingState{pointer-events:none;position:absolute;inset:56px 0 0}.eMUW5a_emptyState{flex-direction:column;min-height:180px}.eMUW5a_emptyState p,.eMUW5a_detailEmpty p{margin:0}.eMUW5a_loadMore{background:var(--dsw-alias-button-elevated-fill);min-height:34px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;border:0;border-radius:9px;margin:7px}.eMUW5a_loadMore:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_mailDetail{background:var(--dsw-alias-bg-layer-1);flex-direction:column;display:flex;position:relative}.eMUW5a_detailEmpty{flex-direction:column;flex:1}.eMUW5a_detailEmpty button{background:var(--dsw-alias-button-primary-fill);min-height:34px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;border:0;border-radius:9px;padding:0 14px}.eMUW5a_markReadButton{border:1px solid var(--dsw-alias-border-l2);min-height:30px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:8px;flex:none;padding:0 9px;font-size:11px}.eMUW5a_markReadButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_markReadButton:disabled{opacity:.5;cursor:default}.eMUW5a_messageBody{flex:1;min-height:0;padding:22px 24px;overflow:auto}.eMUW5a_messageMeta{border-bottom:1px solid var(--dsw-alias-border-l1);padding-bottom:18px}.eMUW5a_messageMeta h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:18px;line-height:27px}.eMUW5a_messageMeta>time{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.eMUW5a_messageMeta dl{gap:3px;margin:14px 0 0;display:grid}.eMUW5a_messageMeta dl>div{grid-template-columns:48px minmax(0,1fr);gap:8px;font-size:11px;line-height:17px;display:grid}.eMUW5a_messageMeta dt{color:var(--dsw-alias-label-tertiary)}.eMUW5a_messageMeta dd{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0}.eMUW5a_untrustedNotice{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-tertiary);border-radius:8px;align-items:center;gap:7px;margin:16px 0;padding:8px 10px;font-size:11px;line-height:16px;display:flex}.eMUW5a_plainBody{min-height:120px;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:22px}.eMUW5a_truncatedNotice{color:var(--dsw-alias-state-warn-label);margin:14px 0 0;font-size:11px}.eMUW5a_attachments{border-top:1px solid var(--dsw-alias-border-l1);gap:8px;margin-top:22px;padding-top:16px;display:grid}.eMUW5a_attachments h4{margin:0;font-size:12px;line-height:18px}.eMUW5a_attachments>div{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:9px;align-items:center;gap:9px;padding:9px 10px;display:flex}.eMUW5a_attachments>div>span{flex-direction:column;min-width:0;display:flex}.eMUW5a_attachments strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.eMUW5a_attachments small{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:15px}.eMUW5a_notice{z-index:6;box-sizing:border-box;background:var(--dsw-alias-button-primary-fill);max-width:min(360px,100% - 32px);color:var(--dsw-alias-label-primary-inverted);box-shadow:var(--dsw-shadow-lv2);overflow-wrap:anywhere;pointer-events:none;text-align:center;border-radius:9px;padding:10px 14px;font-size:12px;line-height:18px;animation:2.4s both eMUW5a_mail-notice;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes eMUW5a_mail-notice{0%{opacity:0;transform:translate(-50%,-6px)}8%,88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.eMUW5a_composer{flex-direction:column;flex:1;min-height:0;display:flex}.eMUW5a_composeFields{flex-direction:column;flex:1;gap:11px;min-height:0;padding:18px 20px;display:flex;overflow:auto}.eMUW5a_composeFields label{color:var(--dsw-alias-label-secondary);grid-template-rows:max-content max-content;gap:5px;font-size:11px;line-height:16px;display:grid}.eMUW5a_composeFields input,.eMUW5a_composeFields textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;color:var(--dsw-alias-label-primary);font:inherit;resize:vertical;border-radius:9px;padding:8px 10px}.eMUW5a_composeFields input{height:38px}.eMUW5a_composeFields .eMUW5a_bodyField{flex:1;grid-template-rows:max-content minmax(160px,1fr);min-height:160px}.eMUW5a_bodyField textarea{resize:none;min-height:160px}.eMUW5a_composeError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:11px;line-height:16px}.eMUW5a_composeFooter{border-top:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.eMUW5a_cancelButton,.eMUW5a_sendButton{cursor:pointer;min-height:34px;font:inherit;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 13px;display:flex}.eMUW5a_cancelButton{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);background:0 0}.eMUW5a_sendButton{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-inverted);border:0}.eMUW5a_cancelButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_sendButton:hover{background:var(--dsw-alias-button-primary-hover)}.eMUW5a_confirmSummary{color:var(--dsw-alias-label-secondary);gap:6px;display:grid}.eMUW5a_confirmSummary p,.eMUW5a_discardText{overflow-wrap:anywhere;margin:0}@media (width<=1119px){.eMUW5a_mail{grid-template-columns:220px minmax(0,1fr)}.eMUW5a_mailList,.eMUW5a_mailDetail{grid-area:1/2}.eMUW5a_mailDetail,.eMUW5a_mail[data-detail-active] .eMUW5a_mailList{display:none}.eMUW5a_mail[data-detail-active] .eMUW5a_mailDetail{display:flex}.eMUW5a_detailBack{display:grid}}@media (width<=719px){.eMUW5a_mail{grid-template-columns:1fr}.eMUW5a_sidebar,.eMUW5a_mailList,.eMUW5a_mailDetail{grid-area:1/1}.eMUW5a_mailList,.eMUW5a_mailDetail,.eMUW5a_mail[data-pane=list] .eMUW5a_sidebar,.eMUW5a_mail[data-pane=detail] .eMUW5a_sidebar{display:none}.eMUW5a_mail[data-pane=list] .eMUW5a_mailList,.eMUW5a_mail[data-pane=detail] .eMUW5a_mailDetail{display:flex}.eMUW5a_messageBody{padding:18px}}@media (prefers-reduced-motion:reduce){.eMUW5a_listHeader button:disabled svg,.eMUW5a_loadingState svg,.eMUW5a_notice{animation:none}}";
10867
- const tagId$1 = "@awiki/dsh-plugin/AwikiMail.module.css";
10868
- if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
11582
+ const css$2 = ".eMUW5a_mail{background:var(--dsw-alias-bg-layer-1);flex:1;grid-template-columns:240px 320px minmax(420px,1fr);min-height:0;display:grid;position:relative}.eMUW5a_sidebar,.eMUW5a_mailList,.eMUW5a_mailDetail{min-width:0;min-height:0}.eMUW5a_sidebar{border-right:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);flex-direction:column;display:flex}.eMUW5a_accountCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:10px;gap:3px;margin:0 14px 12px;padding:10px 12px;display:grid}.eMUW5a_accountCard small,.eMUW5a_accountCard span{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.eMUW5a_accountCard strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.eMUW5a_accountCard .eMUW5a_accountStatus{color:var(--dsw-alias-state-success-primary)}.eMUW5a_folderNav{gap:4px;padding:0 10px;display:grid}.eMUW5a_folderNav button{min-height:38px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 10px;display:grid}.eMUW5a_folderNav button:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_folderNav button[data-active]{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary)}.eMUW5a_folderNav small{min-width:20px;color:var(--dsw-alias-brand-primary);text-align:right}.eMUW5a_folderRow{color:var(--dsw-alias-label-secondary);border-radius:9px;grid-template-columns:minmax(0,1fr) 38px;display:grid}.eMUW5a_folderRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_folderRow[data-active]{background:var(--dsw-alias-interactive-bg-active);color:var(--dsw-alias-label-primary)}.eMUW5a_folderRow>button{color:inherit;background:0 0;border-radius:0}.eMUW5a_folderRow>button:hover{background:0 0}.eMUW5a_folderRow>.eMUW5a_composeIconButton{border-radius:8px;grid-template-columns:1fr;place-items:center;gap:0;width:38px;padding:0}.eMUW5a_folderRow>.eMUW5a_composeIconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_mailList{border-right:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex-direction:column;display:flex;position:relative}.eMUW5a_listHeader,.eMUW5a_detailHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:9px;min-height:56px;padding:0 12px;display:flex}.eMUW5a_listHeader>div,.eMUW5a_detailHeader>div{flex-direction:column;flex:1;min-width:0;display:flex}.eMUW5a_listHeader strong,.eMUW5a_detailHeader strong,.eMUW5a_listHeader small,.eMUW5a_detailHeader small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eMUW5a_listHeader strong,.eMUW5a_detailHeader strong{font-size:13px;line-height:20px}.eMUW5a_listHeader small,.eMUW5a_detailHeader small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.eMUW5a_listHeader>button,.eMUW5a_detailBack{width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.eMUW5a_listHeader>button:hover,.eMUW5a_detailBack:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.eMUW5a_listHeader>button:disabled{opacity:.5;cursor:default}.eMUW5a_detailBack{display:none}.eMUW5a_listHeader svg,.eMUW5a_loadingState svg{animation:none}.eMUW5a_listHeader button:disabled svg,.eMUW5a_loadingState svg{animation:1s linear infinite eMUW5a_mail-spin}@keyframes eMUW5a_mail-spin{to{transform:rotate(360deg)}}.eMUW5a_rows{flex:1;min-height:0;padding:6px;overflow:auto}.eMUW5a_mailRow{width:100%;min-height:82px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:7px minmax(0,1fr) auto;gap:7px;padding:10px 9px;display:grid;position:relative}.eMUW5a_mailRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_mailRow[data-active]{background:var(--dsw-alias-interactive-bg-active)}.eMUW5a_unreadDot{background:0 0;border-radius:50%;align-self:start;width:6px;height:6px;margin-top:7px}.eMUW5a_mailRow[data-unread] .eMUW5a_unreadDot{background:var(--dsw-alias-brand-primary)}.eMUW5a_rowContent{flex-direction:column;gap:2px;min-width:0;display:flex}.eMUW5a_rowTop{align-items:center;gap:8px;display:flex}.eMUW5a_rowTop strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;line-height:18px;overflow:hidden}.eMUW5a_mailRow[data-unread] .eMUW5a_rowTop strong,.eMUW5a_mailRow[data-unread] .eMUW5a_rowSubject{font-weight:600}.eMUW5a_rowTop time{color:var(--dsw-alias-label-tertiary);flex:none;font-size:10px;line-height:15px}.eMUW5a_rowSubject,.eMUW5a_rowPreview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eMUW5a_rowSubject{color:var(--dsw-alias-label-primary);font-size:12px;line-height:18px}.eMUW5a_rowPreview{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.eMUW5a_rowAttachment{color:var(--dsw-alias-label-tertiary);align-self:end;align-items:center;gap:2px;display:flex}.eMUW5a_rowAttachment small{font-size:10px}.eMUW5a_inlineError,.eMUW5a_detailError{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:11px;line-height:16px;display:flex}.eMUW5a_inlineError button{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;text-decoration:underline}.eMUW5a_loadingState,.eMUW5a_emptyState,.eMUW5a_detailEmpty{color:var(--dsw-alias-label-tertiary);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.eMUW5a_loadingState{pointer-events:none;position:absolute;inset:56px 0 0}.eMUW5a_emptyState{flex-direction:column;min-height:180px}.eMUW5a_emptyState p,.eMUW5a_detailEmpty p{margin:0}.eMUW5a_loadMore{background:var(--dsw-alias-button-elevated-fill);min-height:34px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;border:0;border-radius:9px;margin:7px}.eMUW5a_loadMore:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_mailDetail{background:var(--dsw-alias-bg-layer-1);flex-direction:column;display:flex;position:relative}.eMUW5a_detailEmpty{flex-direction:column;flex:1}.eMUW5a_detailEmpty button{background:var(--dsw-alias-button-primary-fill);min-height:34px;color:var(--dsw-alias-label-primary-inverted);cursor:pointer;border:0;border-radius:9px;padding:0 14px}.eMUW5a_markReadButton{border:1px solid var(--dsw-alias-border-l2);min-height:30px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;background:0 0;border-radius:8px;flex:none;padding:0 9px;font-size:11px}.eMUW5a_markReadButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_markReadButton:disabled{opacity:.5;cursor:default}.eMUW5a_messageBody{flex:1;min-height:0;padding:22px 24px;overflow:auto}.eMUW5a_messageMeta{border-bottom:1px solid var(--dsw-alias-border-l1);padding-bottom:18px}.eMUW5a_messageMeta h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:18px;line-height:27px}.eMUW5a_messageMeta>time{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.eMUW5a_messageMeta dl{gap:3px;margin:14px 0 0;display:grid}.eMUW5a_messageMeta dl>div{grid-template-columns:48px minmax(0,1fr);gap:8px;font-size:11px;line-height:17px;display:grid}.eMUW5a_messageMeta dt{color:var(--dsw-alias-label-tertiary)}.eMUW5a_messageMeta dd{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0}.eMUW5a_untrustedNotice{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-tertiary);border-radius:8px;align-items:center;gap:7px;margin:16px 0;padding:8px 10px;font-size:11px;line-height:16px;display:flex}.eMUW5a_plainBody{min-height:120px;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:22px}.eMUW5a_truncatedNotice{color:var(--dsw-alias-state-warn-label);margin:14px 0 0;font-size:11px}.eMUW5a_attachments{border-top:1px solid var(--dsw-alias-border-l1);gap:8px;margin-top:22px;padding-top:16px;display:grid}.eMUW5a_attachments h4{margin:0;font-size:12px;line-height:18px}.eMUW5a_attachments>div{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:9px;align-items:center;gap:9px;padding:9px 10px;display:flex}.eMUW5a_attachments>div>span{flex-direction:column;min-width:0;display:flex}.eMUW5a_attachments strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.eMUW5a_attachments small{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:15px}.eMUW5a_notice{z-index:6;box-sizing:border-box;background:var(--dsw-alias-button-primary-fill);max-width:min(360px,100% - 32px);color:var(--dsw-alias-label-primary-inverted);box-shadow:var(--dsw-shadow-lv2);overflow-wrap:anywhere;pointer-events:none;text-align:center;border-radius:9px;padding:10px 14px;font-size:12px;line-height:18px;animation:2.4s both eMUW5a_mail-notice;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes eMUW5a_mail-notice{0%{opacity:0;transform:translate(-50%,-6px)}8%,88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.eMUW5a_composer{flex-direction:column;flex:1;min-height:0;display:flex}.eMUW5a_composeFields{flex-direction:column;flex:1;gap:11px;min-height:0;padding:18px 20px;display:flex;overflow:auto}.eMUW5a_composeFields label{color:var(--dsw-alias-label-secondary);grid-template-rows:max-content max-content;gap:5px;font-size:11px;line-height:16px;display:grid}.eMUW5a_composeFields input,.eMUW5a_composeFields textarea{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);width:100%;color:var(--dsw-alias-label-primary);font:inherit;resize:vertical;border-radius:9px;padding:8px 10px}.eMUW5a_composeFields input{height:38px}.eMUW5a_composeFields .eMUW5a_bodyField{flex:1;grid-template-rows:max-content minmax(160px,1fr);min-height:160px}.eMUW5a_bodyField textarea{resize:none;min-height:160px}.eMUW5a_composeError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:11px;line-height:16px}.eMUW5a_composeFooter{border-top:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.eMUW5a_cancelButton,.eMUW5a_sendButton{cursor:pointer;min-height:34px;font:inherit;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 13px;display:flex}.eMUW5a_cancelButton{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);background:0 0}.eMUW5a_sendButton{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-inverted);border:0}.eMUW5a_cancelButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.eMUW5a_sendButton:hover{background:var(--dsw-alias-button-primary-hover)}.eMUW5a_confirmSummary{color:var(--dsw-alias-label-secondary);gap:6px;display:grid}.eMUW5a_confirmSummary p,.eMUW5a_discardText{overflow-wrap:anywhere;margin:0}@media (width<=1119px){.eMUW5a_mail{grid-template-columns:220px minmax(0,1fr)}.eMUW5a_mailList,.eMUW5a_mailDetail{grid-area:1/2}.eMUW5a_mailDetail,.eMUW5a_mail[data-detail-active] .eMUW5a_mailList{display:none}.eMUW5a_mail[data-detail-active] .eMUW5a_mailDetail{display:flex}.eMUW5a_detailBack{display:grid}}@media (width<=719px){.eMUW5a_mail{grid-template-columns:1fr}.eMUW5a_sidebar,.eMUW5a_mailList,.eMUW5a_mailDetail{grid-area:1/1}.eMUW5a_mailList,.eMUW5a_mailDetail,.eMUW5a_mail[data-pane=list] .eMUW5a_sidebar,.eMUW5a_mail[data-pane=detail] .eMUW5a_sidebar{display:none}.eMUW5a_mail[data-pane=list] .eMUW5a_mailList,.eMUW5a_mail[data-pane=detail] .eMUW5a_mailDetail{display:flex}.eMUW5a_messageBody{padding:18px}}@media (prefers-reduced-motion:reduce){.eMUW5a_listHeader button:disabled svg,.eMUW5a_loadingState svg,.eMUW5a_notice{animation:none}}";
11583
+ const tagId$2 = "@awiki/dsh-plugin/AwikiMail.module.css";
11584
+ if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
10869
11585
  const tag = document.createElement("style");
10870
11586
  tag.dataset.plugin = "@awiki/dsh-plugin";
10871
- tag.dataset.pluginCss = tagId$1;
10872
- tag.textContent = css$1;
11587
+ tag.dataset.pluginCss = tagId$2;
11588
+ tag.textContent = css$2;
10873
11589
  document.head.appendChild(tag);
10874
11590
  }
10875
11591
  var _dsh_awiki_css_AwikiMail_module_css_default = {
@@ -12374,6 +13090,247 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12374
13090
  });
12375
13091
  }
12376
13092
  //#endregion
13093
+ //#region \0dsh-awiki-css:AwikiDevices.module.css.mjs
13094
+ const css$1 = ".xQ4iKW_page{align-content:start;gap:16px;height:100%;padding:16px;display:grid;overflow:auto}.xQ4iKW_heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.xQ4iKW_heading h3,.xQ4iKW_heading p,.xQ4iKW_page h4,.xQ4iKW_page p{margin:0}.xQ4iKW_heading p,.xQ4iKW_card small{color:var(--dsw-alias-label-secondary)}.xQ4iKW_card{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;gap:8px;margin-top:8px;padding:12px;display:grid}.xQ4iKW_actions{flex-wrap:wrap;gap:8px;display:flex}.xQ4iKW_sas{letter-spacing:.2em;text-align:center;font-variant-numeric:tabular-nums;font-size:30px}.xQ4iKW_error{color:var(--dsw-alias-state-error-primary)}";
13095
+ const tagId$1 = "@awiki/dsh-plugin/AwikiDevices.module.css";
13096
+ if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
13097
+ const tag = document.createElement("style");
13098
+ tag.dataset.plugin = "@awiki/dsh-plugin";
13099
+ tag.dataset.pluginCss = tagId$1;
13100
+ tag.textContent = css$1;
13101
+ document.head.appendChild(tag);
13102
+ }
13103
+ var _dsh_awiki_css_AwikiDevices_module_css_default = {
13104
+ "actions": "xQ4iKW_actions",
13105
+ "card": "xQ4iKW_card",
13106
+ "error": "xQ4iKW_error",
13107
+ "heading": "xQ4iKW_heading",
13108
+ "page": "xQ4iKW_page",
13109
+ "sas": "xQ4iKW_sas"
13110
+ };
13111
+ //#endregion
13112
+ //#region lib/types/client/AwikiDevices.js
13113
+ /** Foreground-only ready-admin device management. SAS remains component-local. */
13114
+ function AwikiDevices(props) {
13115
+ const [snapshot, setSnapshot] = (0, react.useState)(null);
13116
+ const [progress, setProgress] = (0, react.useState)(null);
13117
+ const [enteredSas, setEnteredSas] = (0, react.useState)("");
13118
+ const [approval, setApproval] = (0, react.useState)("");
13119
+ const [revokeRef, setRevokeRef] = (0, react.useState)(null);
13120
+ const [revokeConfirmation, setRevokeConfirmation] = (0, react.useState)("");
13121
+ const [error, setError] = (0, react.useState)(null);
13122
+ const refresh = async () => {
13123
+ const result = await props.refreshDeviceManagement();
13124
+ if (!result.ok) return setError(result.error);
13125
+ setSnapshot(result.value);
13126
+ if (progress !== null && ![
13127
+ "authorized",
13128
+ "cancelled",
13129
+ "rejected",
13130
+ "expired"
13131
+ ].includes(progress.phase)) {
13132
+ const advanced = await props.startDeviceJoinVerification({ requestRef: progress.requestRef });
13133
+ if (advanced.ok) setProgress(advanced.value);
13134
+ }
13135
+ setError(null);
13136
+ };
13137
+ (0, react.useEffect)(() => {
13138
+ if (!props.active) return;
13139
+ let alive = true;
13140
+ props.refreshDeviceManagement().then((result) => {
13141
+ if (!alive) return;
13142
+ if (result.ok) setSnapshot(result.value);
13143
+ else setError(result.error);
13144
+ });
13145
+ const timer = setInterval(() => {
13146
+ if (alive) refresh();
13147
+ }, 3e3);
13148
+ return () => {
13149
+ alive = false;
13150
+ clearInterval(timer);
13151
+ };
13152
+ }, [
13153
+ props.active,
13154
+ progress?.phase,
13155
+ progress?.requestRef
13156
+ ]);
13157
+ const start = async (requestRef) => {
13158
+ const result = await props.startDeviceJoinVerification({ requestRef });
13159
+ if (!result.ok) return setError(result.error);
13160
+ setProgress(result.value);
13161
+ setError(null);
13162
+ };
13163
+ const approve = async () => {
13164
+ if (progress === null) return;
13165
+ const result = await props.approveDeviceJoin({
13166
+ requestRef: progress.requestRef,
13167
+ enteredSas,
13168
+ confirmation: approval
13169
+ });
13170
+ if (!result.ok) return setError(result.error);
13171
+ setProgress(null);
13172
+ setEnteredSas("");
13173
+ setApproval("");
13174
+ await refresh();
13175
+ };
13176
+ const reject = async (requestRef) => {
13177
+ const result = await props.rejectDeviceJoin({
13178
+ requestRef,
13179
+ reason: "user_rejected"
13180
+ });
13181
+ if (!result.ok) return setError(result.error);
13182
+ setProgress(null);
13183
+ await refresh();
13184
+ };
13185
+ const revoke = async () => {
13186
+ if (revokeRef === null) return;
13187
+ const result = await props.revokeDevice({
13188
+ deviceRef: revokeRef,
13189
+ confirmation: revokeConfirmation
13190
+ });
13191
+ if (!result.ok) return setError(result.error);
13192
+ setSnapshot(result.value);
13193
+ setRevokeRef(null);
13194
+ setRevokeConfirmation("");
13195
+ setError(null);
13196
+ };
13197
+ return (0, react_jsx_runtime.jsxs)("section", {
13198
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.page,
13199
+ "aria-label": "AWiki 设备管理",
13200
+ children: [
13201
+ props.modeTabs,
13202
+ (0, react_jsx_runtime.jsxs)("header", {
13203
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.heading,
13204
+ children: [(0, react_jsx_runtime.jsxs)("div", { children: [(0, react_jsx_runtime.jsx)("h3", { children: "设备" }), (0, react_jsx_runtime.jsx)("p", { children: "只有当前 ready-admin 可以批准或撤销设备。" })] }), (0, react_jsx_runtime.jsx)("button", {
13205
+ type: "button",
13206
+ disabled: props.pending,
13207
+ onClick: () => {
13208
+ refresh();
13209
+ },
13210
+ children: "刷新"
13211
+ })]
13212
+ }),
13213
+ snapshot === null && (0, react_jsx_runtime.jsx)("p", {
13214
+ role: "status",
13215
+ children: "正在读取设备状态…"
13216
+ }),
13217
+ snapshot !== null && !snapshot.canManage && (0, react_jsx_runtime.jsx)("p", { children: "当前设备不是可用的管理设备,不能批准或撤销其他设备。" }),
13218
+ snapshot?.canManage && (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
13219
+ (0, react_jsx_runtime.jsxs)("section", { children: [
13220
+ (0, react_jsx_runtime.jsx)("h4", { children: "待加入" }),
13221
+ snapshot.requests.length === 0 && (0, react_jsx_runtime.jsx)("p", { children: "没有待处理请求。" }),
13222
+ snapshot.requests.map((request) => (0, react_jsx_runtime.jsxs)("article", {
13223
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.card,
13224
+ children: [
13225
+ (0, react_jsx_runtime.jsx)("code", { children: request.candidateKeyFingerprint }),
13226
+ (0, react_jsx_runtime.jsxs)("small", { children: [
13227
+ request.state,
13228
+ " · 有效期至 ",
13229
+ request.expiresAt
13230
+ ] }),
13231
+ (0, react_jsx_runtime.jsxs)("div", {
13232
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.actions,
13233
+ children: [(0, react_jsx_runtime.jsx)("button", {
13234
+ type: "button",
13235
+ disabled: props.pending || !request.canStartVerification && !request.claimedByCurrentDevice,
13236
+ onClick: () => {
13237
+ start(request.requestRef);
13238
+ },
13239
+ children: "开始验证"
13240
+ }), (0, react_jsx_runtime.jsx)("button", {
13241
+ type: "button",
13242
+ disabled: props.pending,
13243
+ onClick: () => {
13244
+ reject(request.requestRef);
13245
+ },
13246
+ children: "拒绝"
13247
+ })]
13248
+ })
13249
+ ]
13250
+ }, request.requestRef))
13251
+ ] }),
13252
+ progress?.phase === "sas-ready" && (0, react_jsx_runtime.jsxs)("section", {
13253
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.card,
13254
+ children: [
13255
+ (0, react_jsx_runtime.jsx)("h4", { children: "核对安全码" }),
13256
+ (0, react_jsx_runtime.jsx)("strong", {
13257
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.sas,
13258
+ children: progress.sas
13259
+ }),
13260
+ (0, react_jsx_runtime.jsx)("p", { children: "输入手机显示的 6 位码,并输入 APPROVE。" }),
13261
+ (0, react_jsx_runtime.jsx)("input", {
13262
+ "aria-label": "手机安全码",
13263
+ value: enteredSas,
13264
+ inputMode: "numeric",
13265
+ maxLength: 6,
13266
+ onChange: (event) => {
13267
+ setEnteredSas(event.target.value);
13268
+ }
13269
+ }),
13270
+ (0, react_jsx_runtime.jsx)("input", {
13271
+ "aria-label": "批准确认词",
13272
+ value: approval,
13273
+ autoComplete: "off",
13274
+ onChange: (event) => {
13275
+ setApproval(event.target.value);
13276
+ },
13277
+ placeholder: "APPROVE"
13278
+ }),
13279
+ (0, react_jsx_runtime.jsx)("button", {
13280
+ type: "button",
13281
+ disabled: props.pending || enteredSas.length !== 6 || approval !== "APPROVE",
13282
+ onClick: () => {
13283
+ approve();
13284
+ },
13285
+ children: "批准为 member"
13286
+ })
13287
+ ]
13288
+ }),
13289
+ (0, react_jsx_runtime.jsxs)("section", { children: [(0, react_jsx_runtime.jsx)("h4", { children: "已登记设备" }), snapshot.devices.map((device) => (0, react_jsx_runtime.jsxs)("article", {
13290
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.card,
13291
+ children: [(0, react_jsx_runtime.jsxs)("span", { children: [
13292
+ device.isCurrent ? "当前设备" : "其他设备",
13293
+ " · ",
13294
+ device.role,
13295
+ " · ",
13296
+ device.status
13297
+ ] }), !device.isCurrent && device.status === "active" && (revokeRef === device.deviceRef ? (0, react_jsx_runtime.jsxs)("div", {
13298
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.actions,
13299
+ children: [(0, react_jsx_runtime.jsx)("input", {
13300
+ "aria-label": "撤销确认词",
13301
+ value: revokeConfirmation,
13302
+ onChange: (event) => {
13303
+ setRevokeConfirmation(event.target.value);
13304
+ },
13305
+ placeholder: "REVOKE"
13306
+ }), (0, react_jsx_runtime.jsx)("button", {
13307
+ type: "button",
13308
+ disabled: props.pending || revokeConfirmation !== "REVOKE",
13309
+ onClick: () => {
13310
+ revoke();
13311
+ },
13312
+ children: "确认撤销"
13313
+ })]
13314
+ }) : (0, react_jsx_runtime.jsx)("button", {
13315
+ type: "button",
13316
+ disabled: props.pending,
13317
+ onClick: () => {
13318
+ setRevokeRef(device.deviceRef);
13319
+ setRevokeConfirmation("");
13320
+ },
13321
+ children: "撤销"
13322
+ }))]
13323
+ }, device.deviceRef))] })
13324
+ ] }),
13325
+ error !== null && (0, react_jsx_runtime.jsx)("p", {
13326
+ className: _dsh_awiki_css_AwikiDevices_module_css_default.error,
13327
+ role: "alert",
13328
+ children: error
13329
+ })
13330
+ ]
13331
+ });
13332
+ }
13333
+ //#endregion
12377
13334
  //#region lib/types/client/AwikiProfileCard.js
12378
13335
  const MAX_DISPLAY_NAME = 50;
12379
13336
  const MAX_BIO = 100;
@@ -12842,23 +13799,35 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12842
13799
  className: _dsh_awiki_css_AwikiOverlay_module_css_default.modeTabs,
12843
13800
  role: "tablist",
12844
13801
  "aria-label": "AWiki 功能",
12845
- children: [(0, react_jsx_runtime.jsx)("button", {
12846
- type: "button",
12847
- role: "tab",
12848
- "aria-selected": props.mode === "chat",
12849
- onClick: () => {
12850
- props.onChange("chat");
12851
- },
12852
- children: "会话"
12853
- }), (0, react_jsx_runtime.jsxs)("button", {
12854
- type: "button",
12855
- role: "tab",
12856
- "aria-selected": props.mode === "mail",
12857
- onClick: () => {
12858
- props.onChange("mail");
12859
- },
12860
- children: ["邮件", props.mailUnreadCount > 0 && (0, react_jsx_runtime.jsx)("small", { children: props.mailUnreadCount > 99 ? "99+" : props.mailUnreadCount })]
12861
- })]
13802
+ children: [
13803
+ (0, react_jsx_runtime.jsx)("button", {
13804
+ type: "button",
13805
+ role: "tab",
13806
+ "aria-selected": props.mode === "chat",
13807
+ onClick: () => {
13808
+ props.onChange("chat");
13809
+ },
13810
+ children: "会话"
13811
+ }),
13812
+ (0, react_jsx_runtime.jsxs)("button", {
13813
+ type: "button",
13814
+ role: "tab",
13815
+ "aria-selected": props.mode === "mail",
13816
+ onClick: () => {
13817
+ props.onChange("mail");
13818
+ },
13819
+ children: ["邮件", props.mailUnreadCount > 0 && (0, react_jsx_runtime.jsx)("small", { children: props.mailUnreadCount > 99 ? "99+" : props.mailUnreadCount })]
13820
+ }),
13821
+ (0, react_jsx_runtime.jsx)("button", {
13822
+ type: "button",
13823
+ role: "tab",
13824
+ "aria-selected": props.mode === "devices",
13825
+ onClick: () => {
13826
+ props.onChange("devices");
13827
+ },
13828
+ children: "设备"
13829
+ })
13830
+ ]
12862
13831
  });
12863
13832
  }
12864
13833
  /** Incoming sender label: WNS display name, then Handle, then DID. */
@@ -14572,93 +15541,113 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14572
15541
  recoveryOperationId: view.recoveryOperationId,
14573
15542
  recoveryProgress: view.recoveryProgress,
14574
15543
  pending: view.pending !== null,
14575
- profileName: view.profileName,
14576
- legacySharedStateDetected: view.legacySharedStateDetected
15544
+ handleRecoveryPhoneEnabled: view.handleRecoveryPhoneEnabled
14577
15545
  })
14578
15546
  }),
14579
- view.status === "ready" && view.sessionStatus === "active" && view.identity !== null && (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsx)("div", {
14580
- className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
14581
- "data-active": mode === "chat" || void 0,
14582
- hidden: mode !== "chat",
14583
- children: (0, react_jsx_runtime.jsx)(Chat, {
14584
- ...props,
14585
- selectConversation,
14586
- view: {
14587
- ...view,
14588
- identity: view.identity
14589
- },
14590
- modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
14591
- mode,
14592
- mailUnreadCount,
14593
- onChange: setMode
14594
- }),
14595
- composeMenu: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Menu, {
14596
- open: menuOpen,
14597
- onClose: () => {
14598
- setMenuOpen(false);
15547
+ view.status === "ready" && view.sessionStatus === "active" && view.identity !== null && (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
15548
+ (0, react_jsx_runtime.jsx)("div", {
15549
+ className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
15550
+ "data-active": mode === "chat" || void 0,
15551
+ hidden: mode !== "chat",
15552
+ children: (0, react_jsx_runtime.jsx)(Chat, {
15553
+ ...props,
15554
+ selectConversation,
15555
+ view: {
15556
+ ...view,
15557
+ identity: view.identity
14599
15558
  },
14600
- align: "end",
14601
- portal: true,
14602
- compact: true,
14603
- items: [
14604
- {
14605
- id: "direct",
14606
- label: "发起私聊"
14607
- },
14608
- {
14609
- id: "group",
14610
- label: "发起群聊"
15559
+ modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
15560
+ mode,
15561
+ mailUnreadCount,
15562
+ onChange: setMode
15563
+ }),
15564
+ composeMenu: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Menu, {
15565
+ open: menuOpen,
15566
+ onClose: () => {
15567
+ setMenuOpen(false);
14611
15568
  },
14612
- {
14613
- id: "join-group",
14614
- label: "加入群聊"
14615
- }
14616
- ],
14617
- onSelect: (id) => {
14618
- setMenuOpen(false);
14619
- if (id === "direct") setComposeDirect(true);
14620
- if (id === "group") setComposeGroup(true);
14621
- if (id === "join-group") setJoinGroupOpen(true);
14622
- },
14623
- anchor: (0, react_jsx_runtime.jsx)("button", {
14624
- type: "button",
14625
- className: _dsh_awiki_css_AwikiOverlay_module_css_default.rosterAction,
14626
- "aria-label": "发起会话",
14627
- "aria-expanded": menuOpen,
14628
- "aria-haspopup": "menu",
14629
- onClick: () => {
14630
- setMenuOpen((value) => !value);
15569
+ align: "end",
15570
+ portal: true,
15571
+ compact: true,
15572
+ items: [
15573
+ {
15574
+ id: "direct",
15575
+ label: "发起私聊"
15576
+ },
15577
+ {
15578
+ id: "group",
15579
+ label: "发起群聊"
15580
+ },
15581
+ {
15582
+ id: "join-group",
15583
+ label: "加入群聊"
15584
+ }
15585
+ ],
15586
+ onSelect: (id) => {
15587
+ setMenuOpen(false);
15588
+ if (id === "direct") setComposeDirect(true);
15589
+ if (id === "group") setComposeGroup(true);
15590
+ if (id === "join-group") setJoinGroupOpen(true);
14631
15591
  },
14632
- children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutline16, {})
15592
+ anchor: (0, react_jsx_runtime.jsx)("button", {
15593
+ type: "button",
15594
+ className: _dsh_awiki_css_AwikiOverlay_module_css_default.rosterAction,
15595
+ "aria-label": "发起会话",
15596
+ "aria-expanded": menuOpen,
15597
+ "aria-haspopup": "menu",
15598
+ onClick: () => {
15599
+ setMenuOpen((value) => !value);
15600
+ },
15601
+ children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutline16, {})
15602
+ })
14633
15603
  })
14634
15604
  })
14635
- })
14636
- }), (0, react_jsx_runtime.jsx)("div", {
14637
- className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
14638
- "data-active": mode === "mail" || void 0,
14639
- hidden: mode !== "mail",
14640
- children: (0, react_jsx_runtime.jsx)(AwikiMail, {
14641
- active: mode === "mail",
14642
- cacheOwner: view.identity.did,
14643
- identityCard: mode === "mail" ? (0, react_jsx_runtime.jsx)(AwikiProfileCard, {
14644
- identity: view.identity,
14645
- profile: view.profile,
15605
+ }),
15606
+ (0, react_jsx_runtime.jsx)("div", {
15607
+ className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
15608
+ "data-active": mode === "mail" || void 0,
15609
+ hidden: mode !== "mail",
15610
+ children: (0, react_jsx_runtime.jsx)(AwikiMail, {
15611
+ active: mode === "mail",
15612
+ cacheOwner: view.identity.did,
15613
+ identityCard: mode === "mail" ? (0, react_jsx_runtime.jsx)(AwikiProfileCard, {
15614
+ identity: view.identity,
15615
+ profile: view.profile,
15616
+ pending: view.pending !== null,
15617
+ updateProfile: props.updateProfile
15618
+ }) : null,
15619
+ modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
15620
+ mode,
15621
+ mailUnreadCount,
15622
+ onChange: setMode
15623
+ }),
15624
+ onUnreadCountChange: setMailUnreadCount,
15625
+ getMailAccount: props.getMailAccount,
15626
+ listMailInbox: props.listMailInbox,
15627
+ readMail: props.readMail,
15628
+ markMailRead: props.markMailRead,
15629
+ sendMail: props.sendMail
15630
+ }, view.identity.did)
15631
+ }),
15632
+ mode === "devices" && (0, react_jsx_runtime.jsx)("div", {
15633
+ className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
15634
+ "data-active": true,
15635
+ children: (0, react_jsx_runtime.jsx)(AwikiDevices, {
15636
+ active: true,
14646
15637
  pending: view.pending !== null,
14647
- updateProfile: props.updateProfile
14648
- }) : null,
14649
- modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
14650
- mode,
14651
- mailUnreadCount,
14652
- onChange: setMode
14653
- }),
14654
- onUnreadCountChange: setMailUnreadCount,
14655
- getMailAccount: props.getMailAccount,
14656
- listMailInbox: props.listMailInbox,
14657
- readMail: props.readMail,
14658
- markMailRead: props.markMailRead,
14659
- sendMail: props.sendMail
14660
- }, view.identity.did)
14661
- })] }),
15638
+ modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
15639
+ mode,
15640
+ mailUnreadCount,
15641
+ onChange: setMode
15642
+ }),
15643
+ refreshDeviceManagement: props.refreshDeviceManagement,
15644
+ startDeviceJoinVerification: props.startDeviceJoinVerification,
15645
+ approveDeviceJoin: props.approveDeviceJoin,
15646
+ rejectDeviceJoin: props.rejectDeviceJoin,
15647
+ revokeDevice: props.revokeDevice
15648
+ })
15649
+ })
15650
+ ] }),
14662
15651
  composeDirect && (0, react_jsx_runtime.jsx)("div", {
14663
15652
  className: _dsh_awiki_css_AwikiOverlay_module_css_default.composeBackdrop,
14664
15653
  children: (0, react_jsx_runtime.jsxs)("form", {
@@ -15536,6 +16525,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15536
16525
  inspectIdentityAccess: (request) => awiki.inspectIdentityAccess(request),
15537
16526
  sendRegistrationOtp: (request) => awiki.sendRegistrationOtp(request),
15538
16527
  registerIdentity: (request) => awiki.registerIdentity(request),
16528
+ beginDeviceJoin: () => awiki.beginDeviceJoin(),
16529
+ getDeviceJoinStatus: () => awiki.getDeviceJoinStatus(),
16530
+ cancelDeviceJoin: () => awiki.cancelDeviceJoin(),
16531
+ refreshDeviceManagement: () => awiki.refreshDeviceManagement(),
16532
+ startDeviceJoinVerification: (request) => awiki.startDeviceJoinVerification(request),
16533
+ approveDeviceJoin: (request) => awiki.approveDeviceJoin(request),
16534
+ rejectDeviceJoin: (request) => awiki.rejectDeviceJoin(request),
16535
+ revokeDevice: (request) => awiki.revokeDevice(request),
15539
16536
  updateDisplayName: (displayName) => awiki.updateDisplayName(displayName),
15540
16537
  updateProfile: (request) => awiki.updateProfile(request),
15541
16538
  sendRecoveryOtp: (request) => awiki.sendRecoveryOtp(request),