@awiki/dsh-plugin 0.3.0-rc.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +17 -16
  2. package/README.zh.md +15 -11
  3. package/THIRD_PARTY_NOTICES.md +0 -7
  4. package/lib/client.js +5572 -8534
  5. package/lib/client.js.map +1 -1
  6. package/lib/index.js +373 -36
  7. package/lib/provider.js +1 -1
  8. package/lib/{sdk-adapter-DLhLrLI6.mjs → sdk-adapter-BIbsJmRj.mjs} +28 -4
  9. package/lib/typert.host.js +221 -81
  10. package/lib/typert.remote-client.d.ts +5 -1
  11. package/lib/typert.remote-client.d.ts.map +1 -1
  12. package/lib/typert.remote-client.js +221 -81
  13. package/lib/types/client/AwikiGroupAccessNotice.d.ts +12 -0
  14. package/lib/types/client/AwikiGroupAccessNotice.d.ts.map +1 -0
  15. package/lib/types/client/AwikiGroupAccessNotice.js +31 -0
  16. package/lib/types/client/AwikiGroupAccessNotice.js.map +1 -0
  17. package/lib/types/client/AwikiGroupDetails.d.ts +8 -1
  18. package/lib/types/client/AwikiGroupDetails.d.ts.map +1 -1
  19. package/lib/types/client/AwikiGroupDetails.js +40 -4
  20. package/lib/types/client/AwikiGroupDetails.js.map +1 -1
  21. package/lib/types/client/AwikiIdentityAccess.d.ts +2 -1
  22. package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -1
  23. package/lib/types/client/AwikiIdentityAccess.js +10 -2
  24. package/lib/types/client/AwikiIdentityAccess.js.map +1 -1
  25. package/lib/types/client/AwikiMail.d.ts.map +1 -1
  26. package/lib/types/client/AwikiMail.js +5 -1
  27. package/lib/types/client/AwikiMail.js.map +1 -1
  28. package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
  29. package/lib/types/client/AwikiOverlay.js +72 -11
  30. package/lib/types/client/AwikiOverlay.js.map +1 -1
  31. package/lib/types/client/AwikiRecoveryForm.d.ts +3 -0
  32. package/lib/types/client/AwikiRecoveryForm.d.ts.map +1 -1
  33. package/lib/types/client/AwikiRecoveryForm.js +10 -6
  34. package/lib/types/client/AwikiRecoveryForm.js.map +1 -1
  35. package/lib/types/client/AwikiSettingsSection.d.ts +4 -18
  36. package/lib/types/client/AwikiSettingsSection.d.ts.map +1 -1
  37. package/lib/types/client/AwikiSettingsSection.js +7 -271
  38. package/lib/types/client/AwikiSettingsSection.js.map +1 -1
  39. package/lib/types/client/awiki-client-bridge.d.ts +18 -0
  40. package/lib/types/client/awiki-client-bridge.d.ts.map +1 -0
  41. package/lib/types/client/awiki-client-bridge.js +18 -0
  42. package/lib/types/client/awiki-client-bridge.js.map +1 -0
  43. package/lib/types/client/controller.d.ts +38 -2
  44. package/lib/types/client/controller.d.ts.map +1 -1
  45. package/lib/types/client/controller.js +473 -47
  46. package/lib/types/client/controller.js.map +1 -1
  47. package/lib/types/client/index.d.ts +3 -3
  48. package/lib/types/client/index.d.ts.map +1 -1
  49. package/lib/types/client/index.js +7 -46
  50. package/lib/types/client/index.js.map +1 -1
  51. package/lib/types/client/settings-locales.d.ts +2 -5
  52. package/lib/types/client/settings-locales.d.ts.map +1 -1
  53. package/lib/types/client/settings-locales.js +3 -183
  54. package/lib/types/client/settings-locales.js.map +1 -1
  55. package/lib/types/client/slots.d.ts +6 -0
  56. package/lib/types/client/slots.d.ts.map +1 -1
  57. package/lib/types/conversation-preferences.d.ts +20 -0
  58. package/lib/types/conversation-preferences.d.ts.map +1 -0
  59. package/lib/types/conversation-preferences.js +294 -0
  60. package/lib/types/conversation-preferences.js.map +1 -0
  61. package/lib/types/index.d.ts +6 -1
  62. package/lib/types/index.d.ts.map +1 -1
  63. package/lib/types/index.js +39 -0
  64. package/lib/types/index.js.map +1 -1
  65. package/lib/types/sdk-adapter.d.ts.map +1 -1
  66. package/lib/types/sdk-adapter.js +35 -4
  67. package/lib/types/sdk-adapter.js.map +1 -1
  68. package/lib/types/types.d.ts +32 -1
  69. package/lib/types/types.d.ts.map +1 -1
  70. package/lib/types/types.js.map +1 -1
  71. package/package.json +57 -55
  72. package/lib/types/client/AwikiOnboarding.d.ts +0 -22
  73. package/lib/types/client/AwikiOnboarding.d.ts.map +0 -1
  74. package/lib/types/client/AwikiOnboarding.js +0 -104
  75. package/lib/types/client/AwikiOnboarding.js.map +0 -1
  76. package/lib/types/client/RechargeComingSoonDialog.d.ts +0 -11
  77. package/lib/types/client/RechargeComingSoonDialog.d.ts.map +0 -1
  78. package/lib/types/client/RechargeComingSoonDialog.js +0 -8
  79. package/lib/types/client/RechargeComingSoonDialog.js.map +0 -1
  80. package/lib/types/client/model-availability-controller.d.ts +0 -27
  81. package/lib/types/client/model-availability-controller.d.ts.map +0 -1
  82. package/lib/types/client/model-availability-controller.js +0 -111
  83. package/lib/types/client/model-availability-controller.js.map +0 -1
  84. package/lib/types/client/model-proxy-controller.d.ts +0 -45
  85. package/lib/types/client/model-proxy-controller.d.ts.map +0 -1
  86. package/lib/types/client/model-proxy-controller.js +0 -306
  87. package/lib/types/client/model-proxy-controller.js.map +0 -1
  88. package/lib/types/client/recharge-availability.d.ts +0 -6
  89. package/lib/types/client/recharge-availability.d.ts.map +0 -1
  90. package/lib/types/client/recharge-availability.js +0 -6
  91. package/lib/types/client/recharge-availability.js.map +0 -1
@@ -17,7 +17,7 @@ const RUST_FAILURE_CODES = {
17
17
  permission_denied: "forbidden",
18
18
  group_not_member: "group-membership-required",
19
19
  group_identity_stale: "group-identity-stale",
20
- auth_revoked: "forbidden",
20
+ auth_revoked: "identity-recovery-required",
21
21
  conflict: "conflict",
22
22
  join_required: "handle-unavailable",
23
23
  state_in_use: "conflict",
@@ -518,7 +518,7 @@ var RustSdkAdapter = class {
518
518
  return this.run(async (client) => {
519
519
  const result = await client.syncNow({ reason });
520
520
  if (result.status === "idle" || result.status === "changed") return;
521
- if (result.status === "auth_revoked") fail("forbidden");
521
+ if (result.status === "auth_revoked") fail("identity-recovery-required");
522
522
  fail("network");
523
523
  });
524
524
  }
@@ -712,11 +712,35 @@ var RustSdkAdapter = class {
712
712
  resumeGroupRebindRecovery() {
713
713
  return this.run(async (client) => {
714
714
  const value = await client.resumeGroupRebindRecovery(100);
715
+ const journal = value;
716
+ const statuses = /* @__PURE__ */ new Map();
717
+ for (const item of journal.items ?? []) {
718
+ const { groupDid: rawGroupDid, layer: rawLayer, phase: rawPhase } = item;
719
+ if (typeof rawGroupDid !== "string" || typeof rawLayer !== "string" || typeof rawPhase !== "string" || typeof item.blocked !== "boolean") throw new TypeError("invalid group recovery item");
720
+ const groupDid = required(rawGroupDid);
721
+ const layer = required(rawLayer);
722
+ const phase = required(rawPhase);
723
+ if (layer !== "p4" && layer !== "p6") throw new TypeError("invalid group recovery item");
724
+ if (phase === "complete") continue;
725
+ const status = item.blocked || phase === "blocked" ? "blocked" : "pending";
726
+ if (statuses.get(groupDid) !== "blocked") statuses.set(groupDid, status);
727
+ }
728
+ for (const group of journal.sendPausedGroups ?? []) {
729
+ if (typeof group !== "string") throw new TypeError("invalid paused recovery group");
730
+ const groupDid = required(group);
731
+ if (!statuses.has(groupDid)) statuses.set(groupDid, "pending");
732
+ }
733
+ const items = [...statuses].map(([groupDid, status]) => ({
734
+ groupDid,
735
+ status
736
+ }));
737
+ const hasJournal = journal.items !== void 0 || journal.sendPausedGroups !== void 0;
715
738
  return {
716
739
  processed: uint32(value.processed),
717
740
  completed: uint32(value.completed),
718
- pending: uint32(value.pending),
719
- blocked: uint32(value.blocked)
741
+ pending: hasJournal ? items.filter((item) => item.status === "pending").length : uint32(value.pending),
742
+ blocked: hasJournal ? items.filter((item) => item.status === "blocked").length : uint32(value.blocked),
743
+ items
720
744
  };
721
745
  });
722
746
  }