@awiki/dsh-plugin 0.3.2 → 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 (62) hide show
  1. package/README.md +36 -22
  2. package/README.zh.md +29 -19
  3. package/cordis.patch.yml +17 -0
  4. package/lib/client.js +1273 -216
  5. package/lib/client.js.map +1 -1
  6. package/lib/index.js +874 -266
  7. package/lib/provider.js +52 -16
  8. package/lib/{sdk-adapter-C0gdpg1u.mjs → sdk-adapter-BeJakxLP.mjs} +141 -3
  9. package/lib/typert.host.js +376 -44
  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 +376 -44
  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 -3
  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 -3
  25. package/lib/types/client/controller.d.ts.map +1 -1
  26. package/lib/types/client/controller.js +38 -3
  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 +50 -9
  34. package/lib/types/index.d.ts.map +1 -1
  35. package/lib/types/index.js +672 -157
  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 +131 -2
  58. package/lib/types/sdk-adapter.js.map +1 -1
  59. package/lib/types/types.d.ts +75 -1
  60. package/lib/types/types.d.ts.map +1 -1
  61. package/lib/types/types.js.map +1 -1
  62. package/package.json +5 -3
package/lib/client.js CHANGED
@@ -4153,7 +4153,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4153
4153
  })]);
4154
4154
  const _awiki_dsh_plugin_awiki_addGroupMember_parameter_0$schema = object({
4155
4155
  "member": string().readonly(),
4156
- "role": union([literal("admin"), literal("member")]).readonly().optional(),
4156
+ "role": union([literal("member"), literal("admin")]).readonly().optional(),
4157
4157
  "groupDid": intersection(string(), unknown()).readonly()
4158
4158
  });
4159
4159
  const _awiki_dsh_plugin_awiki_addGroupMember_result$schema = union([object({
@@ -4193,6 +4193,139 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4193
4193
  "handle": intersection(string(), unknown()).readonly().optional()
4194
4194
  }).readonly()
4195
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
+ })]);
4196
4329
  const _awiki_dsh_plugin_awiki_clearLocalData_parameter_0$schema = object({ "confirmation": string().readonly() });
4197
4330
  const _awiki_dsh_plugin_awiki_clearLocalData_result$schema = union([object({
4198
4331
  "ok": literal(false).readonly(),
@@ -4427,7 +4560,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4427
4560
  "ok": literal(true).readonly(),
4428
4561
  "value": object({
4429
4562
  "pollIntervalMs": number().readonly(),
4430
- "attachmentMaxBytes": number().readonly()
4563
+ "attachmentMaxBytes": number().readonly(),
4564
+ "handleRecoveryPhoneEnabled": boolean().readonly()
4431
4565
  }).readonly()
4432
4566
  })]);
4433
4567
  const _awiki_dsh_plugin_awiki_getConversationPreferences_result$schema = union([object({
@@ -4488,6 +4622,53 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4488
4622
  "dismissedGroupRecoverySignature": string().readonly().optional()
4489
4623
  }).readonly()
4490
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
+ })]);
4491
4672
  const _awiki_dsh_plugin_awiki_getGroup_parameter_0$schema = object({ "groupDid": intersection(string(), unknown()).readonly() });
4492
4673
  const _awiki_dsh_plugin_awiki_getGroup_result$schema = union([object({
4493
4674
  "ok": literal(false).readonly(),
@@ -5472,6 +5653,74 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5472
5653
  })).readonly()
5473
5654
  }).readonly()
5474
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
+ })]);
5475
5724
  const _awiki_dsh_plugin_awiki_registerIdentity_parameter_0$schema = object({
5476
5725
  "handle": string().readonly(),
5477
5726
  "phone": string().readonly(),
@@ -5507,13 +5756,72 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5507
5756
  ]).readonly(),
5508
5757
  "message": string().readonly()
5509
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"),
5795
+ literal("rate-limited"),
5796
+ literal("group-membership-required"),
5797
+ literal("group-identity-stale"),
5798
+ literal("attachment-too-large"),
5799
+ literal("summary-unavailable"),
5800
+ literal("summary-timeout"),
5801
+ literal("summary-cancelled"),
5802
+ literal("summary-invalid-output"),
5803
+ literal("summary-failed"),
5804
+ literal("delivery-unknown"),
5805
+ literal("network"),
5806
+ literal("remote")
5807
+ ]).readonly(),
5808
+ "message": string().readonly()
5809
+ }).readonly()
5510
5810
  }), object({
5511
5811
  "ok": literal(true).readonly(),
5512
5812
  "value": object({
5513
- "handle": intersection(string(), unknown()).readonly(),
5514
- "did": intersection(string(), unknown()).readonly(),
5515
- "displayName": string().readonly().optional(),
5516
- "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()
5517
5825
  }).readonly()
5518
5826
  })]);
5519
5827
  const _awiki_dsh_plugin_awiki_removeGroupMember_parameter_0$schema = object({
@@ -5695,6 +6003,78 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5695
6003
  "unsupportedDidOnlyGroupCount": number().readonly()
5696
6004
  }).readonly()
5697
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
+ })]);
5698
6078
  const _awiki_dsh_plugin_awiki_sendAttachment_parameter_0$schema = object({
5699
6079
  "target": union([object({
5700
6080
  "kind": literal("direct").readonly(),
@@ -5983,6 +6363,54 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5983
6363
  })]).readonly()
5984
6364
  }).readonly()
5985
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
+ })]);
5986
6414
  const _awiki_dsh_plugin_awiki_summarizeConversation_parameter_0$schema = object({
5987
6415
  "conversationId": intersection(string(), unknown()).readonly(),
5988
6416
  "unreadCountAtOpen": number().readonly().optional()
@@ -6239,7 +6667,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6239
6667
  },
6240
6668
  sourceLocation: {
6241
6669
  "file": "packages/dsh-awiki/src/index.ts",
6242
- "line": 117,
6670
+ "line": 159,
6243
6671
  "column": 9
6244
6672
  }
6245
6673
  },
@@ -6266,10 +6694,73 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6266
6694
  },
6267
6695
  sourceLocation: {
6268
6696
  "file": "packages/dsh-awiki/src/index.ts",
6269
- "line": 147,
6697
+ "line": 189,
6270
6698
  "column": 3
6271
6699
  }
6272
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
+ },
6273
6764
  {
6274
6765
  id: "@awiki/dsh-plugin#awiki/clearLocalData",
6275
6766
  service: "awiki",
@@ -6293,7 +6784,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6293
6784
  },
6294
6785
  sourceLocation: {
6295
6786
  "file": "packages/dsh-awiki/src/index.ts",
6296
- "line": 205,
6787
+ "line": 247,
6297
6788
  "column": 3
6298
6789
  }
6299
6790
  },
@@ -6320,7 +6811,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6320
6811
  },
6321
6812
  sourceLocation: {
6322
6813
  "file": "packages/dsh-awiki/src/index.ts",
6323
- "line": 132,
6814
+ "line": 174,
6324
6815
  "column": 9
6325
6816
  }
6326
6817
  },
@@ -6347,7 +6838,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6347
6838
  },
6348
6839
  sourceLocation: {
6349
6840
  "file": "packages/dsh-awiki/src/index.ts",
6350
- "line": 126,
6841
+ "line": 168,
6351
6842
  "column": 9
6352
6843
  }
6353
6844
  },
@@ -6374,7 +6865,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6374
6865
  },
6375
6866
  sourceLocation: {
6376
6867
  "file": "packages/dsh-awiki/src/index.ts",
6377
- "line": 187,
6868
+ "line": 229,
6378
6869
  "column": 9
6379
6870
  }
6380
6871
  },
@@ -6392,8 +6883,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6392
6883
  },
6393
6884
  sourceLocation: {
6394
6885
  "file": "packages/dsh-awiki/src/index.ts",
6395
- "line": 76,
6396
- "column": 3
6886
+ "line": 86,
6887
+ "column": 9
6397
6888
  }
6398
6889
  },
6399
6890
  {
@@ -6410,10 +6901,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6410
6901
  },
6411
6902
  sourceLocation: {
6412
6903
  "file": "packages/dsh-awiki/src/index.ts",
6413
- "line": 156,
6904
+ "line": 198,
6414
6905
  "column": 3
6415
6906
  }
6416
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
+ },
6417
6926
  {
6418
6927
  id: "@awiki/dsh-plugin#awiki/getGroup",
6419
6928
  service: "awiki",
@@ -6437,7 +6946,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6437
6946
  },
6438
6947
  sourceLocation: {
6439
6948
  "file": "packages/dsh-awiki/src/index.ts",
6440
- "line": 135,
6949
+ "line": 177,
6441
6950
  "column": 3
6442
6951
  }
6443
6952
  },
@@ -6464,7 +6973,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6464
6973
  },
6465
6974
  sourceLocation: {
6466
6975
  "file": "packages/dsh-awiki/src/index.ts",
6467
- "line": 167,
6976
+ "line": 209,
6468
6977
  "column": 3
6469
6978
  }
6470
6979
  },
@@ -6482,7 +6991,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6482
6991
  },
6483
6992
  sourceLocation: {
6484
6993
  "file": "packages/dsh-awiki/src/index.ts",
6485
- "line": 79,
6994
+ "line": 89,
6486
6995
  "column": 9
6487
6996
  }
6488
6997
  },
@@ -6509,7 +7018,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6509
7018
  },
6510
7019
  sourceLocation: {
6511
7020
  "file": "packages/dsh-awiki/src/index.ts",
6512
- "line": 170,
7021
+ "line": 212,
6513
7022
  "column": 3
6514
7023
  }
6515
7024
  },
@@ -6527,7 +7036,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6527
7036
  },
6528
7037
  sourceLocation: {
6529
7038
  "file": "packages/dsh-awiki/src/index.ts",
6530
- "line": 190,
7039
+ "line": 232,
6531
7040
  "column": 3
6532
7041
  }
6533
7042
  },
@@ -6545,7 +7054,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6545
7054
  },
6546
7055
  sourceLocation: {
6547
7056
  "file": "packages/dsh-awiki/src/index.ts",
6548
- "line": 105,
7057
+ "line": 147,
6549
7058
  "column": 3
6550
7059
  }
6551
7060
  },
@@ -6572,7 +7081,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6572
7081
  },
6573
7082
  sourceLocation: {
6574
7083
  "file": "packages/dsh-awiki/src/index.ts",
6575
- "line": 120,
7084
+ "line": 162,
6576
7085
  "column": 9
6577
7086
  }
6578
7087
  },
@@ -6590,7 +7099,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6590
7099
  },
6591
7100
  sourceLocation: {
6592
7101
  "file": "packages/dsh-awiki/src/index.ts",
6593
- "line": 82,
7102
+ "line": 92,
6594
7103
  "column": 9
6595
7104
  }
6596
7105
  },
@@ -6617,7 +7126,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6617
7126
  },
6618
7127
  sourceLocation: {
6619
7128
  "file": "packages/dsh-awiki/src/index.ts",
6620
- "line": 91,
7129
+ "line": 101,
6621
7130
  "column": 9
6622
7131
  }
6623
7132
  },
@@ -6644,7 +7153,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6644
7153
  },
6645
7154
  sourceLocation: {
6646
7155
  "file": "packages/dsh-awiki/src/index.ts",
6647
- "line": 138,
7156
+ "line": 180,
6648
7157
  "column": 3
6649
7158
  }
6650
7159
  },
@@ -6671,7 +7180,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6671
7180
  },
6672
7181
  sourceLocation: {
6673
7182
  "file": "packages/dsh-awiki/src/index.ts",
6674
- "line": 141,
7183
+ "line": 183,
6675
7184
  "column": 9
6676
7185
  }
6677
7186
  },
@@ -6699,7 +7208,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6699
7208
  },
6700
7209
  sourceLocation: {
6701
7210
  "file": "packages/dsh-awiki/src/index.ts",
6702
- "line": 164,
7211
+ "line": 206,
6703
7212
  "column": 3
6704
7213
  }
6705
7214
  },
@@ -6726,7 +7235,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6726
7235
  },
6727
7236
  sourceLocation: {
6728
7237
  "file": "packages/dsh-awiki/src/index.ts",
6729
- "line": 144,
7238
+ "line": 186,
6730
7239
  "column": 3
6731
7240
  }
6732
7241
  },
@@ -6754,7 +7263,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6754
7263
  },
6755
7264
  sourceLocation: {
6756
7265
  "file": "packages/dsh-awiki/src/index.ts",
6757
- "line": 193,
7266
+ "line": 235,
6758
7267
  "column": 9
6759
7268
  }
6760
7269
  },
@@ -6772,7 +7281,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6772
7281
  },
6773
7282
  sourceLocation: {
6774
7283
  "file": "packages/dsh-awiki/src/index.ts",
6775
- "line": 88,
7284
+ "line": 98,
6776
7285
  "column": 3
6777
7286
  }
6778
7287
  },
@@ -6799,7 +7308,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6799
7308
  },
6800
7309
  sourceLocation: {
6801
7310
  "file": "packages/dsh-awiki/src/index.ts",
6802
- "line": 85,
7311
+ "line": 95,
6803
7312
  "column": 3
6804
7313
  }
6805
7314
  },
@@ -6826,7 +7335,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6826
7335
  },
6827
7336
  sourceLocation: {
6828
7337
  "file": "packages/dsh-awiki/src/index.ts",
6829
- "line": 178,
7338
+ "line": 220,
6830
7339
  "column": 3
6831
7340
  }
6832
7341
  },
@@ -6853,7 +7362,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6853
7362
  },
6854
7363
  sourceLocation: {
6855
7364
  "file": "packages/dsh-awiki/src/index.ts",
6856
- "line": 199,
7365
+ "line": 241,
6857
7366
  "column": 3
6858
7367
  }
6859
7368
  },
@@ -6880,7 +7389,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6880
7389
  },
6881
7390
  sourceLocation: {
6882
7391
  "file": "packages/dsh-awiki/src/index.ts",
6883
- "line": 114,
7392
+ "line": 156,
6884
7393
  "column": 3
6885
7394
  }
6886
7395
  },
@@ -6907,10 +7416,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6907
7416
  },
6908
7417
  sourceLocation: {
6909
7418
  "file": "packages/dsh-awiki/src/index.ts",
6910
- "line": 196,
7419
+ "line": 238,
6911
7420
  "column": 9
6912
7421
  }
6913
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
+ },
6914
7441
  {
6915
7442
  id: "@awiki/dsh-plugin#awiki/registerIdentity",
6916
7443
  service: "awiki",
@@ -6934,7 +7461,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6934
7461
  },
6935
7462
  sourceLocation: {
6936
7463
  "file": "packages/dsh-awiki/src/index.ts",
6937
- "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,
6938
7492
  "column": 9
6939
7493
  }
6940
7494
  },
@@ -6961,7 +7515,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6961
7515
  },
6962
7516
  sourceLocation: {
6963
7517
  "file": "packages/dsh-awiki/src/index.ts",
6964
- "line": 150,
7518
+ "line": 192,
6965
7519
  "column": 3
6966
7520
  }
6967
7521
  },
@@ -6988,7 +7542,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6988
7542
  },
6989
7543
  sourceLocation: {
6990
7544
  "file": "packages/dsh-awiki/src/index.ts",
6991
- "line": 129,
7545
+ "line": 171,
6992
7546
  "column": 3
6993
7547
  }
6994
7548
  },
@@ -7006,7 +7560,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7006
7560
  },
7007
7561
  sourceLocation: {
7008
7562
  "file": "packages/dsh-awiki/src/index.ts",
7009
- "line": 153,
7563
+ "line": 195,
7010
7564
  "column": 9
7011
7565
  }
7012
7566
  },
@@ -7033,7 +7587,34 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7033
7587
  },
7034
7588
  sourceLocation: {
7035
7589
  "file": "packages/dsh-awiki/src/index.ts",
7036
- "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,
7037
7618
  "column": 9
7038
7619
  }
7039
7620
  },
@@ -7060,7 +7641,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7060
7641
  },
7061
7642
  sourceLocation: {
7062
7643
  "file": "packages/dsh-awiki/src/index.ts",
7063
- "line": 184,
7644
+ "line": 226,
7064
7645
  "column": 9
7065
7646
  }
7066
7647
  },
@@ -7087,7 +7668,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7087
7668
  },
7088
7669
  sourceLocation: {
7089
7670
  "file": "packages/dsh-awiki/src/index.ts",
7090
- "line": 202,
7671
+ "line": 244,
7091
7672
  "column": 9
7092
7673
  }
7093
7674
  },
@@ -7114,7 +7695,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7114
7695
  },
7115
7696
  sourceLocation: {
7116
7697
  "file": "packages/dsh-awiki/src/index.ts",
7117
- "line": 111,
7698
+ "line": 153,
7118
7699
  "column": 3
7119
7700
  }
7120
7701
  },
@@ -7141,8 +7722,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7141
7722
  },
7142
7723
  sourceLocation: {
7143
7724
  "file": "packages/dsh-awiki/src/index.ts",
7144
- "line": 96,
7145
- "column": 3
7725
+ "line": 106,
7726
+ "column": 9
7146
7727
  }
7147
7728
  },
7148
7729
  {
@@ -7168,10 +7749,37 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7168
7749
  },
7169
7750
  sourceLocation: {
7170
7751
  "file": "packages/dsh-awiki/src/index.ts",
7171
- "line": 181,
7752
+ "line": 223,
7172
7753
  "column": 3
7173
7754
  }
7174
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
+ },
7175
7783
  {
7176
7784
  id: "@awiki/dsh-plugin#awiki/summarizeConversation",
7177
7785
  service: "awiki",
@@ -7195,7 +7803,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7195
7803
  },
7196
7804
  sourceLocation: {
7197
7805
  "file": "packages/dsh-awiki/src/index.ts",
7198
- "line": 173,
7806
+ "line": 215,
7199
7807
  "column": 9
7200
7808
  }
7201
7809
  },
@@ -7222,7 +7830,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7222
7830
  },
7223
7831
  sourceLocation: {
7224
7832
  "file": "packages/dsh-awiki/src/index.ts",
7225
- "line": 159,
7833
+ "line": 201,
7226
7834
  "column": 3
7227
7835
  }
7228
7836
  },
@@ -7249,7 +7857,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7249
7857
  },
7250
7858
  sourceLocation: {
7251
7859
  "file": "packages/dsh-awiki/src/index.ts",
7252
- "line": 102,
7860
+ "line": 144,
7253
7861
  "column": 9
7254
7862
  }
7255
7863
  },
@@ -7276,7 +7884,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7276
7884
  },
7277
7885
  sourceLocation: {
7278
7886
  "file": "packages/dsh-awiki/src/index.ts",
7279
- "line": 108,
7887
+ "line": 150,
7280
7888
  "column": 3
7281
7889
  }
7282
7890
  }
@@ -7305,13 +7913,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7305
7913
  const AWIKI_CLEAR_LOCAL_DATA_CONFIRMATION = "clear-awiki-local-data";
7306
7914
  //#endregion
7307
7915
  //#region \0dsh-awiki-css:AwikiIdentityPage.module.css.mjs
7308
- 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}}";
7309
- const tagId$4 = "@awiki/dsh-plugin/AwikiIdentityPage.module.css";
7310
- 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) {
7311
7919
  const tag = document.createElement("style");
7312
7920
  tag.dataset.plugin = "@awiki/dsh-plugin";
7313
- tag.dataset.pluginCss = tagId$4;
7314
- tag.textContent = css$4;
7921
+ tag.dataset.pluginCss = tagId$5;
7922
+ tag.textContent = css$5;
7315
7923
  document.head.appendChild(tag);
7316
7924
  }
7317
7925
  var _dsh_awiki_css_AwikiIdentityPage_module_css_default = {
@@ -7349,13 +7957,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7349
7957
  }
7350
7958
  //#endregion
7351
7959
  //#region \0dsh-awiki-css:AwikiOverlay.module.css.mjs
7352
- 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}}";
7353
- const tagId$3 = "@awiki/dsh-plugin/AwikiOverlay.module.css";
7354
- 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) {
7355
7963
  const tag = document.createElement("style");
7356
7964
  tag.dataset.plugin = "@awiki/dsh-plugin";
7357
- tag.dataset.pluginCss = tagId$3;
7358
- tag.textContent = css$3;
7965
+ tag.dataset.pluginCss = tagId$4;
7966
+ tag.textContent = css$4;
7359
7967
  document.head.appendChild(tag);
7360
7968
  }
7361
7969
  var _dsh_awiki_css_AwikiOverlay_module_css_default = {
@@ -7836,13 +8444,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7836
8444
  }
7837
8445
  //#endregion
7838
8446
  //#region \0dsh-awiki-css:AwikiIdentityAccess.module.css.mjs
7839
- 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}}";
7840
- const tagId$2 = "@awiki/dsh-plugin/AwikiIdentityAccess.module.css";
7841
- 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) {
7842
8450
  const tag = document.createElement("style");
7843
8451
  tag.dataset.plugin = "@awiki/dsh-plugin";
7844
- tag.dataset.pluginCss = tagId$2;
7845
- tag.textContent = css$2;
8452
+ tag.dataset.pluginCss = tagId$3;
8453
+ tag.textContent = css$3;
7846
8454
  document.head.appendChild(tag);
7847
8455
  }
7848
8456
  var _dsh_awiki_css_AwikiIdentityAccess_module_css_default = {
@@ -7864,6 +8472,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7864
8472
  "primary": "r_slHG_primary",
7865
8473
  "progressIcon": "r_slHG_progressIcon",
7866
8474
  "recoveryHelp": "r_slHG_recoveryHelp",
8475
+ "sas": "r_slHG_sas",
7867
8476
  "secondary": "r_slHG_secondary"
7868
8477
  };
7869
8478
  //#endregion
@@ -7902,6 +8511,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7902
8511
  const [signedOutAlternative, setSignedOutAlternative] = (0, react.useState)("none");
7903
8512
  const [replaceConfirmed, setReplaceConfirmed] = (0, react.useState)(false);
7904
8513
  const [loginFailed, setLoginFailed] = (0, react.useState)(false);
8514
+ const [joinContext, setJoinContext] = (0, react.useState)(null);
8515
+ const [joinProgress, setJoinProgress] = (0, react.useState)(null);
7905
8516
  (0, react.useEffect)(() => {
7906
8517
  if (retryDeadline === null) return;
7907
8518
  const update = () => {
@@ -7933,49 +8544,20 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7933
8544
  const requestRegistrationOtp = async () => {
7934
8545
  setError(null);
7935
8546
  const result = await props.sendRegistrationOtp({
7936
- handle: handle.trim(),
7937
- phone: phone.trim()
7938
- });
7939
- if (!result.ok) {
7940
- setError(result.error);
7941
- return;
7942
- }
7943
- const cooldownSeconds = Math.max(0, Math.ceil(result.value.retryAfterSeconds));
7944
- setRegistrationOtpSent(true);
7945
- setRetryDeadline(Date.now() + cooldownSeconds * 1e3);
7946
- setRetrySeconds(cooldownSeconds);
7947
- setNotice(`注册验证码已发送;${cooldownSeconds} 秒后可重新获取。`);
7948
- };
7949
- const requestIdentityOtp = async () => {
7950
- setError(null);
7951
- setNotice(null);
7952
- const requestedHandle = handle.trim();
7953
- const requestedPhone = phone.trim();
7954
- const inspection = await props.inspectIdentityAccess({ handle: requestedHandle });
7955
- if (!inspection.ok) {
7956
- setError(inspection.error);
7957
- return;
7958
- }
7959
- if (inspection.value.status === "existing") {
7960
- const factorContext = {
7961
- fullHandle: inspection.value.fullHandle,
7962
- phone: requestedPhone
7963
- };
7964
- setRecoveryFactorContext(factorContext);
7965
- const recovery = await props.sendRecoveryOtp(factorContext);
7966
- if (!recovery.ok) {
7967
- setRecoveryFactorContext(null);
7968
- setError(recovery.error);
7969
- return;
7970
- }
7971
- setRecoveryFactorContext({
7972
- fullHandle: recovery.value.fullHandle,
7973
- phone: requestedPhone
7974
- });
8547
+ handle: handle.trim(),
8548
+ phone: phone.trim()
8549
+ });
8550
+ if (!result.ok) {
8551
+ setError(result.error);
7975
8552
  return;
7976
8553
  }
7977
- 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} 秒后可重新获取。`);
7978
8559
  };
8560
+ const requestIdentityOtp = requestRegistrationOtp;
7979
8561
  const completeRegistration = async () => {
7980
8562
  if (!registrationOtpSent) return;
7981
8563
  setError(null);
@@ -7988,10 +8570,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7988
8570
  setError(result.error);
7989
8571
  return;
7990
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
+ }
7991
8581
  setPhone("");
7992
8582
  setHandle("");
7993
8583
  resetIdentityEntry();
7994
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]);
7995
8644
  const login = async () => {
7996
8645
  setError(null);
7997
8646
  setLoginFailed(false);
@@ -8037,6 +8686,94 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8037
8686
  requestTitle: "需要重新恢复身份",
8038
8687
  requestDescription: "这个 Handle 已在另一台设备完成了更新恢复,当前设备的旧凭证因此失效。验证绑定手机号后即可继续使用本机数据。"
8039
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
+ }) });
8040
8777
  if (props.sessionStatus === "signed-out") {
8041
8778
  if (signedOutAlternative === "recover") return (0, react_jsx_runtime.jsx)(Recovery, {
8042
8779
  ...props,
@@ -8165,7 +8902,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8165
8902
  }),
8166
8903
  (0, react_jsx_runtime.jsxs)("div", {
8167
8904
  className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.headingGroup,
8168
- children: [(0, react_jsx_runtime.jsx)("h3", { children: registrationOtpSent ? "创建新身份" : "进入 AWiki" }), (0, react_jsx_runtime.jsx)("p", { children: registrationOtpSent ? "这个 Handle 尚未注册。输入刚收到的验证码以创建身份。" : "输入 Handle 和手机号。已有 Handle 会恢复身份,新 Handle 会创建身份。" })]
8905
+ children: [(0, react_jsx_runtime.jsx)("h3", { children: registrationOtpSent ? "验证身份" : "进入 AWiki" }), (0, react_jsx_runtime.jsx)("p", { children: registrationOtpSent ? "输入注册验证码。新 Handle 会创建身份,已有 Handle 会进入设备加入选择。" : "输入 Handle 和手机号,统一获取注册验证码。" })]
8169
8906
  }),
8170
8907
  (0, react_jsx_runtime.jsxs)("label", {
8171
8908
  className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.field,
@@ -8208,7 +8945,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8208
8945
  type: "submit",
8209
8946
  className: _dsh_awiki_css_AwikiIdentityAccess_module_css_default.primary,
8210
8947
  disabled: props.pending || handle.trim() === "" || phone.trim() === "" || registrationOtpSent && otp.trim() === "",
8211
- children: registrationOtpSent ? "创建身份" : "获取验证码"
8948
+ children: registrationOtpSent ? "继续" : "获取验证码"
8212
8949
  }),
8213
8950
  registrationOtpSent && (0, react_jsx_runtime.jsx)("button", {
8214
8951
  type: "button",
@@ -8492,6 +9229,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8492
9229
  pending: null,
8493
9230
  error: null,
8494
9231
  attachmentMaxBytes: 0,
9232
+ handleRecoveryPhoneEnabled: false,
8495
9233
  summaries: Object.freeze({}),
8496
9234
  recoveryOperationId: null,
8497
9235
  recoveryProgress: null
@@ -8911,6 +9649,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8911
9649
  identity: session.value.status === "active" ? session.value.identity : null,
8912
9650
  error: null,
8913
9651
  attachmentMaxBytes: config.value.attachmentMaxBytes,
9652
+ handleRecoveryPhoneEnabled: config.value.handleRecoveryPhoneEnabled,
8914
9653
  recoveryOperationId: storedRecoveryOperation()
8915
9654
  });
8916
9655
  const operationId = storedRecoveryOperation();
@@ -8983,7 +9722,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8983
9722
  ...INITIAL_VIEW,
8984
9723
  status: "ready",
8985
9724
  sessionStatus: "signed-out",
8986
- attachmentMaxBytes: this.config?.attachmentMaxBytes ?? 0
9725
+ attachmentMaxBytes: this.config?.attachmentMaxBytes ?? 0,
9726
+ handleRecoveryPhoneEnabled: this.config?.handleRecoveryPhoneEnabled ?? false
8987
9727
  });
8988
9728
  return result;
8989
9729
  }
@@ -9037,16 +9777,50 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
9037
9777
  const result = await this.withPending("注册身份", () => call(() => this.remote.registerIdentity(request), registrationFailureMessage));
9038
9778
  if (!result.ok) return result;
9039
9779
  if (!this.current(generation)) return result;
9040
- this.activatePresentationCache(result.value);
9041
- this.publish({
9042
- ...this.view,
9043
- sessionStatus: "active",
9044
- identity: result.value,
9045
- error: null
9046
- });
9047
- 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();
9048
9798
  return result;
9049
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
+ }
9050
9824
  /**
9051
9825
  * Update the deployment identity's public display name.
9052
9826
  * @param displayName - replacement display name selected by the user.
@@ -10805,13 +11579,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
10805
11579
  }
10806
11580
  //#endregion
10807
11581
  //#region \0dsh-awiki-css:AwikiMail.module.css.mjs
10808
- 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}}";
10809
- const tagId$1 = "@awiki/dsh-plugin/AwikiMail.module.css";
10810
- 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) {
10811
11585
  const tag = document.createElement("style");
10812
11586
  tag.dataset.plugin = "@awiki/dsh-plugin";
10813
- tag.dataset.pluginCss = tagId$1;
10814
- tag.textContent = css$1;
11587
+ tag.dataset.pluginCss = tagId$2;
11588
+ tag.textContent = css$2;
10815
11589
  document.head.appendChild(tag);
10816
11590
  }
10817
11591
  var _dsh_awiki_css_AwikiMail_module_css_default = {
@@ -12316,6 +13090,247 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12316
13090
  });
12317
13091
  }
12318
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
12319
13334
  //#region lib/types/client/AwikiProfileCard.js
12320
13335
  const MAX_DISPLAY_NAME = 50;
12321
13336
  const MAX_BIO = 100;
@@ -12784,23 +13799,35 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
12784
13799
  className: _dsh_awiki_css_AwikiOverlay_module_css_default.modeTabs,
12785
13800
  role: "tablist",
12786
13801
  "aria-label": "AWiki 功能",
12787
- children: [(0, react_jsx_runtime.jsx)("button", {
12788
- type: "button",
12789
- role: "tab",
12790
- "aria-selected": props.mode === "chat",
12791
- onClick: () => {
12792
- props.onChange("chat");
12793
- },
12794
- children: "会话"
12795
- }), (0, react_jsx_runtime.jsxs)("button", {
12796
- type: "button",
12797
- role: "tab",
12798
- "aria-selected": props.mode === "mail",
12799
- onClick: () => {
12800
- props.onChange("mail");
12801
- },
12802
- children: ["邮件", props.mailUnreadCount > 0 && (0, react_jsx_runtime.jsx)("small", { children: props.mailUnreadCount > 99 ? "99+" : props.mailUnreadCount })]
12803
- })]
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
+ ]
12804
13831
  });
12805
13832
  }
12806
13833
  /** Incoming sender label: WNS display name, then Handle, then DID. */
@@ -14513,92 +15540,114 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14513
15540
  identity: view.identity,
14514
15541
  recoveryOperationId: view.recoveryOperationId,
14515
15542
  recoveryProgress: view.recoveryProgress,
14516
- pending: view.pending !== null
15543
+ pending: view.pending !== null,
15544
+ handleRecoveryPhoneEnabled: view.handleRecoveryPhoneEnabled
14517
15545
  })
14518
15546
  }),
14519
- 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", {
14520
- className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
14521
- "data-active": mode === "chat" || void 0,
14522
- hidden: mode !== "chat",
14523
- children: (0, react_jsx_runtime.jsx)(Chat, {
14524
- ...props,
14525
- selectConversation,
14526
- view: {
14527
- ...view,
14528
- identity: view.identity
14529
- },
14530
- modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
14531
- mode,
14532
- mailUnreadCount,
14533
- onChange: setMode
14534
- }),
14535
- composeMenu: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Menu, {
14536
- open: menuOpen,
14537
- onClose: () => {
14538
- 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
14539
15558
  },
14540
- align: "end",
14541
- portal: true,
14542
- compact: true,
14543
- items: [
14544
- {
14545
- id: "direct",
14546
- label: "发起私聊"
14547
- },
14548
- {
14549
- id: "group",
14550
- 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);
14551
15568
  },
14552
- {
14553
- id: "join-group",
14554
- label: "加入群聊"
14555
- }
14556
- ],
14557
- onSelect: (id) => {
14558
- setMenuOpen(false);
14559
- if (id === "direct") setComposeDirect(true);
14560
- if (id === "group") setComposeGroup(true);
14561
- if (id === "join-group") setJoinGroupOpen(true);
14562
- },
14563
- anchor: (0, react_jsx_runtime.jsx)("button", {
14564
- type: "button",
14565
- className: _dsh_awiki_css_AwikiOverlay_module_css_default.rosterAction,
14566
- "aria-label": "发起会话",
14567
- "aria-expanded": menuOpen,
14568
- "aria-haspopup": "menu",
14569
- onClick: () => {
14570
- 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);
14571
15591
  },
14572
- 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
+ })
14573
15603
  })
14574
15604
  })
14575
- })
14576
- }), (0, react_jsx_runtime.jsx)("div", {
14577
- className: _dsh_awiki_css_AwikiOverlay_module_css_default.modePanel,
14578
- "data-active": mode === "mail" || void 0,
14579
- hidden: mode !== "mail",
14580
- children: (0, react_jsx_runtime.jsx)(AwikiMail, {
14581
- active: mode === "mail",
14582
- cacheOwner: view.identity.did,
14583
- identityCard: mode === "mail" ? (0, react_jsx_runtime.jsx)(AwikiProfileCard, {
14584
- identity: view.identity,
14585
- 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,
14586
15637
  pending: view.pending !== null,
14587
- updateProfile: props.updateProfile
14588
- }) : null,
14589
- modeTabs: (0, react_jsx_runtime.jsx)(ModeTabs, {
14590
- mode,
14591
- mailUnreadCount,
14592
- onChange: setMode
14593
- }),
14594
- onUnreadCountChange: setMailUnreadCount,
14595
- getMailAccount: props.getMailAccount,
14596
- listMailInbox: props.listMailInbox,
14597
- readMail: props.readMail,
14598
- markMailRead: props.markMailRead,
14599
- sendMail: props.sendMail
14600
- }, view.identity.did)
14601
- })] }),
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
+ ] }),
14602
15651
  composeDirect && (0, react_jsx_runtime.jsx)("div", {
14603
15652
  className: _dsh_awiki_css_AwikiOverlay_module_css_default.composeBackdrop,
14604
15653
  children: (0, react_jsx_runtime.jsxs)("form", {
@@ -15476,6 +16525,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15476
16525
  inspectIdentityAccess: (request) => awiki.inspectIdentityAccess(request),
15477
16526
  sendRegistrationOtp: (request) => awiki.sendRegistrationOtp(request),
15478
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),
15479
16536
  updateDisplayName: (displayName) => awiki.updateDisplayName(displayName),
15480
16537
  updateProfile: (request) => awiki.updateProfile(request),
15481
16538
  sendRecoveryOtp: (request) => awiki.sendRecoveryOtp(request),