keepwork-sdk 1.0.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 (146) hide show
  1. package/README.md +21 -0
  2. package/dist-npm/keepwork-sdk.js +37514 -0
  3. package/dist-npm/keepwork-sdk.js.map +1 -0
  4. package/dist-npm/md5-CZ0vz1_S.js +240 -0
  5. package/dist-npm/md5-CZ0vz1_S.js.map +1 -0
  6. package/dist-npm/types/index.d.ts +42 -0
  7. package/dist-npm/types/index.d.ts.map +1 -0
  8. package/dist-npm/types/src/ai-chat/AIChat.core.d.ts +218 -0
  9. package/dist-npm/types/src/ai-chat/AIChat.core.d.ts.map +1 -0
  10. package/dist-npm/types/src/ai-chat/AIChat.d.ts +18 -0
  11. package/dist-npm/types/src/ai-chat/AIChat.d.ts.map +1 -0
  12. package/dist-npm/types/src/ai-chat/AIChat.session.d.ts +201 -0
  13. package/dist-npm/types/src/ai-chat/AIChat.session.d.ts.map +1 -0
  14. package/dist-npm/types/src/ai-chat/AIGenerators.base.d.ts +297 -0
  15. package/dist-npm/types/src/ai-chat/AIGenerators.base.d.ts.map +1 -0
  16. package/dist-npm/types/src/ai-chat/AIGenerators.d.ts +15 -0
  17. package/dist-npm/types/src/ai-chat/AIGenerators.d.ts.map +1 -0
  18. package/dist-npm/types/src/ai-chat/AIGenerators.media.d.ts +208 -0
  19. package/dist-npm/types/src/ai-chat/AIGenerators.media.d.ts.map +1 -0
  20. package/dist-npm/types/src/ai-chat/ChildSessionMixin.d.ts +153 -0
  21. package/dist-npm/types/src/ai-chat/ChildSessionMixin.d.ts.map +1 -0
  22. package/dist-npm/types/src/ai-chat/CopilotTools.d.ts +150 -0
  23. package/dist-npm/types/src/ai-chat/CopilotTools.d.ts.map +1 -0
  24. package/dist-npm/types/src/ai-chat/MqttManager.d.ts +123 -0
  25. package/dist-npm/types/src/ai-chat/MqttManager.d.ts.map +1 -0
  26. package/dist-npm/types/src/ai-chat/SandboxToolEnv.d.ts +210 -0
  27. package/dist-npm/types/src/ai-chat/SandboxToolEnv.d.ts.map +1 -0
  28. package/dist-npm/types/src/audio/AudioEngine.d.ts +272 -0
  29. package/dist-npm/types/src/audio/AudioEngine.d.ts.map +1 -0
  30. package/dist-npm/types/src/audio/AudioEngine.utils.d.ts +72 -0
  31. package/dist-npm/types/src/audio/AudioEngine.utils.d.ts.map +1 -0
  32. package/dist-npm/types/src/audio/Speech.d.ts +247 -0
  33. package/dist-npm/types/src/audio/Speech.d.ts.map +1 -0
  34. package/dist-npm/types/src/core/AgentConfig.d.ts +104 -0
  35. package/dist-npm/types/src/core/AgentConfig.d.ts.map +1 -0
  36. package/dist-npm/types/src/core/AgentRouter.d.ts +342 -0
  37. package/dist-npm/types/src/core/AgentRouter.d.ts.map +1 -0
  38. package/dist-npm/types/src/core/NPL.d.ts +251 -0
  39. package/dist-npm/types/src/core/NPL.d.ts.map +1 -0
  40. package/dist-npm/types/src/core/RemoteLog.d.ts +132 -0
  41. package/dist-npm/types/src/core/RemoteLog.d.ts.map +1 -0
  42. package/dist-npm/types/src/core/keepworkSDK.core.d.ts +84 -0
  43. package/dist-npm/types/src/core/keepworkSDK.core.d.ts.map +1 -0
  44. package/dist-npm/types/src/core/keepworkSDK.d.ts +129 -0
  45. package/dist-npm/types/src/core/keepworkSDK.d.ts.map +1 -0
  46. package/dist-npm/types/src/core/keepworkSDK.pages.d.ts +101 -0
  47. package/dist-npm/types/src/core/keepworkSDK.pages.d.ts.map +1 -0
  48. package/dist-npm/types/src/core/keepworkSDK.utils.d.ts +40 -0
  49. package/dist-npm/types/src/core/keepworkSDK.utils.d.ts.map +1 -0
  50. package/dist-npm/types/src/digital-human/DigitalHuman.d.ts +1316 -0
  51. package/dist-npm/types/src/digital-human/DigitalHuman.d.ts.map +1 -0
  52. package/dist-npm/types/src/digital-human/DigitalHumanBridge.d.ts +54 -0
  53. package/dist-npm/types/src/digital-human/DigitalHumanBridge.d.ts.map +1 -0
  54. package/dist-npm/types/src/digital-human/DigitalHumanConfig.d.ts +104 -0
  55. package/dist-npm/types/src/digital-human/DigitalHumanConfig.d.ts.map +1 -0
  56. package/dist-npm/types/src/digital-human/DigitalHumanFrame.d.ts +390 -0
  57. package/dist-npm/types/src/digital-human/DigitalHumanFrame.d.ts.map +1 -0
  58. package/dist-npm/types/src/digital-human/DigitalHumanFrameMessages.d.ts +59 -0
  59. package/dist-npm/types/src/digital-human/DigitalHumanFrameMessages.d.ts.map +1 -0
  60. package/dist-npm/types/src/digital-human/DigitalHumanSubtitleOverlay.d.ts +114 -0
  61. package/dist-npm/types/src/digital-human/DigitalHumanSubtitleOverlay.d.ts.map +1 -0
  62. package/dist-npm/types/src/digital-human/DigitalHumanUtils.d.ts +53 -0
  63. package/dist-npm/types/src/digital-human/DigitalHumanUtils.d.ts.map +1 -0
  64. package/dist-npm/types/src/rtc/AIChatRTC.constants.d.ts +65 -0
  65. package/dist-npm/types/src/rtc/AIChatRTC.constants.d.ts.map +1 -0
  66. package/dist-npm/types/src/rtc/AIChatRTC.d.ts +91 -0
  67. package/dist-npm/types/src/rtc/AIChatRTC.d.ts.map +1 -0
  68. package/dist-npm/types/src/rtc/AIChatRTC.session.d.ts +268 -0
  69. package/dist-npm/types/src/rtc/AIChatRTC.session.d.ts.map +1 -0
  70. package/dist-npm/types/src/rtc/AIChatRTCLocal.backends.d.ts +232 -0
  71. package/dist-npm/types/src/rtc/AIChatRTCLocal.backends.d.ts.map +1 -0
  72. package/dist-npm/types/src/rtc/AIChatRTCLocal.core.d.ts +92 -0
  73. package/dist-npm/types/src/rtc/AIChatRTCLocal.core.d.ts.map +1 -0
  74. package/dist-npm/types/src/rtc/AIChatRTCLocal.d.ts +15 -0
  75. package/dist-npm/types/src/rtc/AIChatRTCLocal.d.ts.map +1 -0
  76. package/dist-npm/types/src/rtc/AIChatRTCLocal.session.d.ts +127 -0
  77. package/dist-npm/types/src/rtc/AIChatRTCLocal.session.d.ts.map +1 -0
  78. package/dist-npm/types/src/rtc/LocalRTC.d.ts +91 -0
  79. package/dist-npm/types/src/rtc/LocalRTC.d.ts.map +1 -0
  80. package/dist-npm/types/src/rtc/SpeechRTC.d.ts +156 -0
  81. package/dist-npm/types/src/rtc/SpeechRTC.d.ts.map +1 -0
  82. package/dist-npm/types/src/rtc/SpeechRTC.transport.d.ts +191 -0
  83. package/dist-npm/types/src/rtc/SpeechRTC.transport.d.ts.map +1 -0
  84. package/dist-npm/types/src/store/CloudDrive.d.ts +140 -0
  85. package/dist-npm/types/src/store/CloudDrive.d.ts.map +1 -0
  86. package/dist-npm/types/src/store/LocalStorageUtil.d.ts +136 -0
  87. package/dist-npm/types/src/store/LocalStorageUtil.d.ts.map +1 -0
  88. package/dist-npm/types/src/store/PersonalPageStore.base.d.ts +267 -0
  89. package/dist-npm/types/src/store/PersonalPageStore.base.d.ts.map +1 -0
  90. package/dist-npm/types/src/store/PersonalPageStore.d.ts +13 -0
  91. package/dist-npm/types/src/store/PersonalPageStore.d.ts.map +1 -0
  92. package/dist-npm/types/src/store/PersonalPageStore.data.d.ts +198 -0
  93. package/dist-npm/types/src/store/PersonalPageStore.data.d.ts.map +1 -0
  94. package/dist-npm/types/src/store/PersonalPageStore.sync.d.ts +171 -0
  95. package/dist-npm/types/src/store/PersonalPageStore.sync.d.ts.map +1 -0
  96. package/dist-npm/types/src/store/PersonalPageStore.types.d.ts +92 -0
  97. package/dist-npm/types/src/store/PersonalPageStore.types.d.ts.map +1 -0
  98. package/dist-npm/types/src/store/YMLParser.d.ts +96 -0
  99. package/dist-npm/types/src/store/YMLParser.d.ts.map +1 -0
  100. package/dist-npm/types/src/tools/AgentTool.d.ts +110 -0
  101. package/dist-npm/types/src/tools/AgentTool.d.ts.map +1 -0
  102. package/dist-npm/types/src/tools/AppTools.d.ts +122 -0
  103. package/dist-npm/types/src/tools/AppTools.d.ts.map +1 -0
  104. package/dist-npm/types/src/tools/ExecuteTool.d.ts +96 -0
  105. package/dist-npm/types/src/tools/ExecuteTool.d.ts.map +1 -0
  106. package/dist-npm/types/src/tools/FileTools.d.ts +77 -0
  107. package/dist-npm/types/src/tools/FileTools.d.ts.map +1 -0
  108. package/dist-npm/types/src/tools/MinigameTools.d.ts +234 -0
  109. package/dist-npm/types/src/tools/MinigameTools.d.ts.map +1 -0
  110. package/dist-npm/types/src/tools/MqttTool.d.ts +53 -0
  111. package/dist-npm/types/src/tools/MqttTool.d.ts.map +1 -0
  112. package/dist-npm/types/src/tools/PersonalPageTool.d.ts +57 -0
  113. package/dist-npm/types/src/tools/PersonalPageTool.d.ts.map +1 -0
  114. package/dist-npm/types/src/tools/SummarizeTool.d.ts +279 -0
  115. package/dist-npm/types/src/tools/SummarizeTool.d.ts.map +1 -0
  116. package/dist-npm/types/src/tools/WebTool.d.ts +106 -0
  117. package/dist-npm/types/src/tools/WebTool.d.ts.map +1 -0
  118. package/dist-npm/types/src/types/common.d.ts +164 -0
  119. package/dist-npm/types/src/types/common.d.ts.map +1 -0
  120. package/dist-npm/types/src/ui/LocalAPIKeySettings.d.ts +229 -0
  121. package/dist-npm/types/src/ui/LocalAPIKeySettings.d.ts.map +1 -0
  122. package/dist-npm/types/src/ui/LoginWindow.d.ts +163 -0
  123. package/dist-npm/types/src/ui/LoginWindow.d.ts.map +1 -0
  124. package/dist-npm/types/src/ui/ProfileWindow.d.ts +75 -0
  125. package/dist-npm/types/src/ui/ProfileWindow.d.ts.map +1 -0
  126. package/dist-npm/types/src/ui/VerifyHuman.d.ts +23 -0
  127. package/dist-npm/types/src/ui/VerifyHuman.d.ts.map +1 -0
  128. package/dist-npm/types/src/ui/WorkspaceViewer.d.ts +184 -0
  129. package/dist-npm/types/src/ui/WorkspaceViewer.d.ts.map +1 -0
  130. package/dist-npm/types/src/user/SocialFriends.d.ts +173 -0
  131. package/dist-npm/types/src/user/SocialFriends.d.ts.map +1 -0
  132. package/dist-npm/types/src/user/UserWorks.d.ts +187 -0
  133. package/dist-npm/types/src/user/UserWorks.d.ts.map +1 -0
  134. package/dist-npm/types/src/utils/ImageUtils.d.ts +107 -0
  135. package/dist-npm/types/src/utils/ImageUtils.d.ts.map +1 -0
  136. package/dist-npm/types/src/utils/SDKLogger.d.ts +111 -0
  137. package/dist-npm/types/src/utils/SDKLogger.d.ts.map +1 -0
  138. package/dist-npm/types/src/utils/translation.d.ts +95 -0
  139. package/dist-npm/types/src/utils/translation.d.ts.map +1 -0
  140. package/dist-npm/types/src/wechat/WxAuth.d.ts +126 -0
  141. package/dist-npm/types/src/wechat/WxAuth.d.ts.map +1 -0
  142. package/dist-npm/types/src/wechat/WxLaunchApp.d.ts +96 -0
  143. package/dist-npm/types/src/wechat/WxLaunchApp.d.ts.map +1 -0
  144. package/dist-npm/types/src/wechat/WxUtils.d.ts +145 -0
  145. package/dist-npm/types/src/wechat/WxUtils.d.ts.map +1 -0
  146. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocialFriends.d.ts","sourceRoot":"","sources":["../../../../src/user/SocialFriends.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,aAAa;AACb,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,kDAAkD;AAClD,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEvI,kBAAkB;AAClB,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAqBD,mBAAmB;AACnB,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAID,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,kBAAkB,SAAS;IAElC,oBAAoB;IACpB,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyBjD;IAEH,gBAAgB;IAChB,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMvD;IAEH,gBAAgB;IAChB,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAKtD;IAEH,GAAG,EAAE,gBAAgB,CAAC;IACtB,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,mBAAmB,CAAuB;gBAEtC,GAAG,EAAE,OAAO;IASxB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAKxB,gCAAgC;IAChC,OAAO,CAAC,gBAAgB;IAUxB,wCAAwC;IACxC,OAAO,CAAC,iBAAiB;IAuBzB,4BAA4B;YACd,yBAAyB;IAkBvC,4CAA4C;YAC9B,mBAAmB;IAYjC,OAAO,CAAC,kBAAkB;IAS1B,iBAAiB;IACjB,kBAAkB,IAAI,IAAI;IAI1B,mBAAmB;IACnB,OAAO,CAAC,mBAAmB;IAS3B,cAAc;IACd,OAAO,CAAC,cAAc;IAWtB,gCAAgC;IAChC,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,sBAAsB;IAI9B,mDAAmD;YACrC,gBAAgB;IA6B9B,OAAO,CAAC,UAAU;IAOlB,wBAAwB;IACxB,OAAO,CAAC,kBAAkB;IAQ1B,uBAAuB;IACvB,OAAO,CAAC,qBAAqB;IAU7B,cAAc;IACR,WAAW,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5E,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAChE,aAAa,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IACxE,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAEpE,sDAAsD;IAChD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACtD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7D,qBAAqB;IACf,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKhE,QAAQ,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IACzD,gBAAgB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D,8BAA8B;IACxB,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzD,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1D,qDAAqD;IAC/C,aAAa,CAAC,OAAO,GAAE,aAAa,GAAG,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3E,UAAU,CAAC,OAAO,GAAE,aAAa,GAAG,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5D,YAAY,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhE,YAAY,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IACpD,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9C,YAAY,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E,YAAY,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IACxE,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAEtE,cAAc,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlE,WAAW,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IACzD,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAEjD,mBAAmB,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvE,aAAa,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,WAAW,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAEnD,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAE3D,iCAAiC;IACjC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3E,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAOxC,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3D,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3D,yBAAyB;IACnB,cAAc,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlE,eAAe,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,aAAa,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,qBAAqB,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAEnE,gBAAgB;IACV,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/D,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IACzE,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,4BAA4B;IACtB,QAAQ,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAW7D,iBAAiB;IACX,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO9D,QAAQ,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IACzD,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAElD,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3G,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACnG,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAE/F,WAAW,CAAC,OAAO,GAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB3G,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAErD,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAWlE,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAExD,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhF,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3E,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,yBAAyB;IACnB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAOrF,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAClF,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9E,2BAA2B;IACrB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQzE"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * UserWorks.ts — STEAM / 用户作品发布与作品集 API(完整 TypeScript 实现)
3
+ *
4
+ * 封装 coreservice 的 `/steam/*` 路由,使页面可上传作品资源、发布作品、
5
+ * 浏览公开作品、与他人作品互动(点赞/收藏/评论等)。
6
+ *
7
+ * @example
8
+ * const asset = await keepwork.userWorks.uploadAsset(file);
9
+ * await keepwork.userWorks.upload({ title: 'My Game', category: 'AI Game', grade: 'G5', ... });
10
+ * const gallery = await keepwork.userWorks.list({ page: 1, pageSize: 20 });
11
+ */
12
+ /** 上传进度信息 */
13
+ export interface UploadProgress {
14
+ percent: number;
15
+ loaded: number;
16
+ total: number;
17
+ }
18
+ /** 上传进度回调 */
19
+ export type UploadProgressCallback = (progress: UploadProgress) => void;
20
+ /** 资源上传选项 */
21
+ export interface UploadAssetOptions {
22
+ /** 用户文件夹下的相对 key */
23
+ key?: string;
24
+ /** key 前缀(默认 'works') */
25
+ prefix?: string;
26
+ /** 显示文件名 */
27
+ filename?: string;
28
+ /** 进度回调 */
29
+ onProgress?: UploadProgressCallback;
30
+ /** 自定义上传端点 */
31
+ uploadUrl?: string;
32
+ }
33
+ /** 资源上传返回结果 */
34
+ export interface UploadAssetResult {
35
+ key: string;
36
+ relativeKey: string;
37
+ url: string;
38
+ domain: string;
39
+ bucketName: string | undefined;
40
+ response: unknown;
41
+ }
42
+ /** 上传 token 信息 */
43
+ interface UploadTokenInfo {
44
+ token?: string;
45
+ domain?: string;
46
+ bucketName?: string;
47
+ data?: {
48
+ token?: string;
49
+ domain?: string;
50
+ bucketName?: string;
51
+ };
52
+ }
53
+ /** 作品对象(发布/更新用,字段较松散) */
54
+ export type WorkData = Record<string, unknown>;
55
+ /** 列表查询选项 */
56
+ export interface UserWorksListOptions {
57
+ page?: number;
58
+ pageSize?: number;
59
+ keyword?: string;
60
+ category?: string;
61
+ grade?: string;
62
+ sortBy?: 'hot' | 'latest' | 'rating';
63
+ status?: number | null;
64
+ [key: string]: unknown;
65
+ }
66
+ /** 添加评论选项 */
67
+ export interface AddCommentOptions {
68
+ workId: string | number;
69
+ rating?: number;
70
+ content?: string;
71
+ dimensions?: unknown;
72
+ }
73
+ /** sdk 需提供的最小接口 */
74
+ interface UserWorksSdk {
75
+ user?: {
76
+ username?: string;
77
+ };
78
+ getUserProfile(): Promise<{
79
+ username?: string;
80
+ } | null>;
81
+ get(path: string, params?: Record<string, unknown>): Promise<unknown>;
82
+ post(path: string, body?: unknown): Promise<unknown>;
83
+ put(path: string, body?: unknown): Promise<unknown>;
84
+ delete(path: string): Promise<unknown>;
85
+ }
86
+ export default class UserWorks {
87
+ /** STEAM 项目路由使用的作品状态值。 */
88
+ static Status: Readonly<{
89
+ PENDING: 11;
90
+ APPROVED: 12;
91
+ REJECTED: 13;
92
+ }>;
93
+ sdk: UserWorksSdk;
94
+ constructor(sdk: unknown);
95
+ /** 去除空值参数。 */
96
+ private _compactParams;
97
+ /** 校验并 encode id。 */
98
+ private _requireId;
99
+ /** 取文件扩展名(含点)。 */
100
+ private _getFileExt;
101
+ /** 生成随机 id。 */
102
+ private _randomId;
103
+ /** 生成资源 key。 */
104
+ private _generateAssetKey;
105
+ /** 获取当前用户名(资源上传需要)。 */
106
+ private _getUsername;
107
+ /** 拼接公共 URL。 */
108
+ private _toPublicUrl;
109
+ /** 把 key 或 URL 归一化为存储 key。 */
110
+ private _normalizeAssetKey;
111
+ /** 底层七牛上传(XHR,支持进度)。 */
112
+ private _qiniuUpload;
113
+ /**
114
+ * 获取作品资源 key 的七牛上传 token(后端会把 key 限定在当前用户名下)。
115
+ */
116
+ getUploadToken(key: string): Promise<UploadTokenInfo>;
117
+ /**
118
+ * 上传作品封面/视频资源到 STEAM 七牛桶。
119
+ */
120
+ uploadAsset(file: File | Blob, opts?: UploadAssetOptions): Promise<UploadAssetResult>;
121
+ /**
122
+ * 按完整 key 或公共 URL 删除已上传的七牛资源。
123
+ */
124
+ deleteAsset(keyOrUrl: string): Promise<unknown>;
125
+ /** deleteAsset 别名。 */
126
+ removeAsset(keyOrUrl: string): Promise<unknown>;
127
+ /**
128
+ * 发布作品送审。必填:title, category, grade, description, background,
129
+ * innovation, videoType('video'|'url'), videoUrl。
130
+ */
131
+ upload(work: WorkData): Promise<unknown>;
132
+ /** upload 别名。 */
133
+ uploadWork(work: WorkData): Promise<unknown>;
134
+ /** upload 别名。 */
135
+ create(work: WorkData): Promise<unknown>;
136
+ /** 更新当前用户的某个作品。 */
137
+ update(id: string | number, updates?: WorkData): Promise<unknown>;
138
+ /** update 别名。 */
139
+ updateWork(id: string | number, updates?: WorkData): Promise<unknown>;
140
+ /** 删除当前用户的某个作品。 */
141
+ delete(id: string | number): Promise<unknown>;
142
+ /** delete 别名。 */
143
+ remove(id: string | number): Promise<unknown>;
144
+ /** delete 别名。 */
145
+ deleteWork(id: string | number): Promise<unknown>;
146
+ /** 浏览所有用户已审核通过的作品。 */
147
+ list(options?: UserWorksListOptions): Promise<unknown>;
148
+ /** list 别名。 */
149
+ browse(options?: UserWorksListOptions): Promise<unknown>;
150
+ /** list 别名。 */
151
+ getPublicWorks(options?: UserWorksListOptions): Promise<unknown>;
152
+ /** 列出当前用户拥有的作品。 */
153
+ my(options?: UserWorksListOptions): Promise<unknown>;
154
+ /** my 别名。 */
155
+ getMyWorks(options?: UserWorksListOptions): Promise<unknown>;
156
+ /** my 别名。 */
157
+ listMine(options?: UserWorksListOptions): Promise<unknown>;
158
+ /** 获取作品公开详情(后端会增加访问计数)。 */
159
+ get(id: string | number): Promise<unknown>;
160
+ /** get 别名。 */
161
+ getDetail(id: string | number): Promise<unknown>;
162
+ /** get 别名。 */
163
+ getWorkDetail(id: string | number): Promise<unknown>;
164
+ /** 获取当前用户作品汇总统计。 */
165
+ getStats(): Promise<unknown>;
166
+ /** getStats 别名。 */
167
+ getUserWorksStats(): Promise<unknown>;
168
+ like(id: string | number): Promise<unknown>;
169
+ unlike(id: string | number): Promise<unknown>;
170
+ getLikeStatus(id: string | number): Promise<unknown>;
171
+ favorite(id: string | number): Promise<unknown>;
172
+ unfavorite(id: string | number): Promise<unknown>;
173
+ getFavoriteStatus(id: string | number): Promise<unknown>;
174
+ /** 列出作品的顶层评论/评分。 */
175
+ listComments(workId: string | number, options?: UserWorksListOptions): Promise<unknown>;
176
+ /** listComments 别名。 */
177
+ getComments(workId: string | number, options?: UserWorksListOptions): Promise<unknown>;
178
+ /** 添加评论/评分。必填:workId, rating, content。 */
179
+ addComment({ workId, rating, content, dimensions }?: AddCommentOptions): Promise<unknown>;
180
+ deleteComment(workId: string | number, commentId: string | number): Promise<unknown>;
181
+ toggleCommentStatus(workId: string | number, disabled: boolean): Promise<unknown>;
182
+ getAIAnalysis(workId: string | number): Promise<unknown>;
183
+ triggerAIAnalysis(workId: string | number): Promise<unknown>;
184
+ generateLessonPlan(workId: string | number): Promise<unknown>;
185
+ }
186
+ export {};
187
+ //# sourceMappingURL=UserWorks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserWorks.d.ts","sourceRoot":"","sources":["../../../../src/user/UserWorks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /** 默认最大字节数(32 KB) */
2
+ export declare const DEFAULT_MAX_BYTES: number;
3
+ /** compressBase64Image / compressDataURI 的选项 */
4
+ export interface CompressOptions {
5
+ /** 压缩目标上限(字节),默认 32 KB */
6
+ maxBytes?: number;
7
+ /** 源 MIME 类型(仅用于解码,默认 'image/png') */
8
+ mimeType?: string;
9
+ }
10
+ /** prepareImageInputForProvider 的选项 */
11
+ export interface PrepareImageOptions {
12
+ /** AI provider 名称(决定是否支持内联图片) */
13
+ provider?: string;
14
+ /** KeepworkSDK 实例(上传时用于获取 token) */
15
+ sdk?: {
16
+ token?: string | null;
17
+ getUserId?: () => Promise<string | null | undefined>;
18
+ };
19
+ /** 压缩字节上限 */
20
+ maxBytes?: number;
21
+ /** 上传时使用的文件名 */
22
+ fileName?: string;
23
+ /** 当 provider 不支持内联图片时是否自动上传,默认 true */
24
+ uploadWhenUnsupported?: boolean;
25
+ }
26
+ /** OpenAI 多模态 content 数组的单个元素 */
27
+ export interface ContentItem {
28
+ type: string;
29
+ text?: string;
30
+ image_url?: {
31
+ url: string;
32
+ [key: string]: unknown;
33
+ };
34
+ [key: string]: unknown;
35
+ }
36
+ /**
37
+ * 估算纯 base64 字符串对应的字节数(不含 data-URI 前缀)。
38
+ * 公式:`floor(len * 3/4) - padding`
39
+ */
40
+ declare function base64ByteSize(base64: string): number;
41
+ /**
42
+ * 拆分 data-URI,返回 `{ mimeType, base64 }`。
43
+ * 若输入无前缀,MIME 默认为 'image/png'。
44
+ */
45
+ declare function splitDataURI(dataURI: string): {
46
+ mimeType: string;
47
+ base64: string;
48
+ };
49
+ /**
50
+ * 判断指定 AI provider 是否支持内联 base64 图片。
51
+ */
52
+ declare function providerSupportsInlineImages(provider: string | undefined): boolean;
53
+ /**
54
+ * 压缩纯 base64 图像(无 data-URI 前缀)至指定字节上限。
55
+ *
56
+ * 压缩策略(按顺序尝试):
57
+ * 1. 逐步降低 JPEG 质量(0.8 → 0.6 → 0.4 → 0.2)
58
+ * 2. 若仍超限,将分辨率减半后重复步骤 1(最多迭代 6 次)
59
+ *
60
+ * @param inputBase64 - 纯 base64 字符串(无 data-URI 前缀)
61
+ * @param options - 压缩选项
62
+ * @returns 压缩后的纯 base64(JPEG 格式)
63
+ */
64
+ export declare function compressBase64Image(inputBase64: string, options?: CompressOptions): Promise<string>;
65
+ /**
66
+ * 压缩 data-URI 格式图像字符串(如 `data:image/png;base64,...`)。
67
+ * 若已满足大小要求则原样返回。
68
+ *
69
+ * @param dataURI - 完整 data-URI 字符串
70
+ * @param options - 压缩选项
71
+ * @returns 压缩后的 data-URI(JPEG 格式)
72
+ */
73
+ export declare function compressDataURI(dataURI: string, options?: CompressOptions): Promise<string>;
74
+ /**
75
+ * 扫描 OpenAI 多模态 content 数组,压缩其中超限的内联 base64 图片。
76
+ * 非图片元素和非 data-URI 的 URL 直接透传,不修改。
77
+ *
78
+ * @param contentArray - OpenAI content 数组(`{ type, text?, image_url? }[]`)
79
+ * @param options - 压缩选项
80
+ * @returns 压缩后的新数组(原数组不变)
81
+ */
82
+ export declare function compressContentImages(contentArray: ContentItem[], options?: CompressOptions): Promise<ContentItem[]>;
83
+ /**
84
+ * 为指定 AI provider 准备图像输入:
85
+ * - 若 provider 支持内联图片(Gemini/OpenAI/OpenRouter),压缩后内联返回
86
+ * - 否则压缩后上传到 Keepwork 临时 CDN,返回 CDN URL
87
+ * - `uploadWhenUnsupported=false` 时即使不支持也直接返回压缩后的 data-URI
88
+ *
89
+ * @param image - 图像字符串或含 `url` / `image_url.url` 字段的对象
90
+ * @param options - provider、sdk、maxBytes 等选项
91
+ */
92
+ export declare function prepareImageInputForProvider(image: string | ContentItem | Record<string, unknown>, options?: PrepareImageOptions): Promise<string | ContentItem | Record<string, unknown>>;
93
+ /**
94
+ * 上传 base64 图像(或 data-URI)到 Keepwork 临时视觉 CDN。
95
+ *
96
+ * 流程(对应 Lua `FileTools.UpLoadVisionFile`):
97
+ * 1. 从 `keepwork.shareBlock.getToken` 获取七牛 upload token
98
+ * 2. 将二进制内容上传到七牛
99
+ * 3. 返回公开 CDN URL
100
+ *
101
+ * @param base64OrDataURI - 纯 base64 或完整 data-URI
102
+ * @param options - sdk、fileName、maxBytes 等选项
103
+ * @returns 公开 CDN URL(如 `https://tempvision.keepwork.com/<key>`)
104
+ */
105
+ export declare function uploadTempVisionImage(base64OrDataURI: string, options?: PrepareImageOptions): Promise<string>;
106
+ export { base64ByteSize, splitDataURI, providerSupportsInlineImages, };
107
+ //# sourceMappingURL=ImageUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/ImageUtils.ts"],"names":[],"mappings":"AAgBA,qBAAqB;AACrB,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAI3C,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;KAAE,CAAC;IACtF,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;;GAGG;AACH,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;GAGG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAI3E;AAED;;GAEG;AACH,iBAAS,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI3E;AAqCD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,WAAW,EAAE,EAC3B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CAiBxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuBzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAuFjB;AA6BD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,4BAA4B,GAC7B,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * SDKLogger — KeepworkSDK 统一日志管理模块
3
+ *
4
+ * 通过模块级 console 代理对象,让宿主项目能够按模块粒度控制
5
+ * SDK 的日志输出,而无需修改任何现有的 console.log() 调用点。
6
+ *
7
+ * ## 使用方式(每个 SDK 源文件顶部)
8
+ * ```ts
9
+ * import SDKLogger from './SDKLogger';
10
+ * const console = SDKLogger.createModuleConsole('ModuleName');
11
+ * ```
12
+ * 之后文件内所有 `console.log/info/debug` 均受 SDKLogger 控制;
13
+ * `console.warn/error` 始终透传,不受影响。
14
+ *
15
+ * ## 宿主项目控制示例
16
+ * ```html
17
+ * <!-- SDK 加载前预配置 -->
18
+ * <script>window.__sdkLogConfig = { globalEnabled: false, modules: { AIChat: true } };</script>
19
+ *
20
+ * <!-- SDK 加载后动态控制 -->
21
+ * <script>
22
+ * SDKLogger.setGlobalEnabled(false);
23
+ * SDKLogger.setModuleEnabled('DigitalHuman', false);
24
+ * SDKLogger.setOnlyEnabled(['AIChat', 'AgentRouter']);
25
+ * </script>
26
+ * ```
27
+ *
28
+ * ## 实现原理
29
+ * `createModuleConsole` 返回的代理对象对 `log/info/debug` 使用 getter,
30
+ * 每次访问时检查当前启用状态,返回原生绑定函数或 noop。
31
+ * 这样 DevTools 的调用栈源码链接和 Source Map 仍指向原始调用点。
32
+ */
33
+ /** 受控方法:可被静默 */
34
+ declare const _filteredMethods: readonly ["log", "info", "debug"];
35
+ type FilteredMethod = (typeof _filteredMethods)[number];
36
+ /** 透传方法:始终输出 */
37
+ declare const _passthroughMethods: readonly ["warn", "error", "table", "dir", "group", "groupCollapsed", "groupEnd", "time", "timeEnd", "timeLog", "trace", "assert", "clear", "count", "countReset"];
38
+ type PassthroughMethod = (typeof _passthroughMethods)[number];
39
+ /**
40
+ * 模块 console 代理类型:
41
+ * - 受控方法(log/info/debug):通过 getter 动态检查启用状态
42
+ * - 透传方法(warn/error 等):始终指向原生方法
43
+ *
44
+ * 与 `Console` 接口的签名兼容,可安全遮蔽全局 `console`。
45
+ */
46
+ export type ModuleConsole = Pick<Console, FilteredMethod | PassthroughMethod>;
47
+ declare class SDKLogger {
48
+ /** 全局启用开关(默认开启,向后兼容) */
49
+ private static _globalEnabled;
50
+ /**
51
+ * 各模块的独立启用状态。
52
+ * - `true`:该模块已明确启用
53
+ * - `false`:该模块已明确禁用
54
+ * - 未设置(undefined):视为启用(默认开)
55
+ */
56
+ private static _modules;
57
+ /**
58
+ * 检查指定模块的 log/info/debug 输出当前是否启用。
59
+ *
60
+ * 判断顺序:全局开关 → 模块开关(未设置视为 true)。
61
+ */
62
+ static isEnabled(moduleName: string): boolean;
63
+ /**
64
+ * 全局开关:启用或禁用所有模块的 log/info/debug 输出。
65
+ *
66
+ * @param enabled - true 启用,false 禁用全部
67
+ */
68
+ static setGlobalEnabled(enabled: boolean): void;
69
+ /**
70
+ * 按模块名单独控制日志输出。
71
+ *
72
+ * @param moduleName - 与 createModuleConsole 传入的名称一致
73
+ * @param enabled - true 启用,false 禁用
74
+ */
75
+ static setModuleEnabled(moduleName: string, enabled: boolean): void;
76
+ /**
77
+ * 便捷方法:只启用指定模块,其余全部禁用。
78
+ * 适合调试时聚焦特定模块。
79
+ *
80
+ * @param names - 要保留输出的模块名数组
81
+ */
82
+ static setOnlyEnabled(names: string[]): void;
83
+ /**
84
+ * 返回所有已注册模块及其当前启用状态的快照。
85
+ * 可用于调试或在宿主页面展示日志控制面板。
86
+ */
87
+ static listModules(): Record<string, boolean>;
88
+ /**
89
+ * 为指定模块创建 console 代理对象。
90
+ *
91
+ * 返回的代理对象与 `console` 接口兼容,可直接在文件顶部用
92
+ * `const console = SDKLogger.createModuleConsole('X')` 遮蔽全局 console。
93
+ *
94
+ * - `log/info/debug`:通过 getter 惰性检查启用状态,每次调用前查询
95
+ * - `warn/error` 等:直接绑定原生方法,始终透传
96
+ * - DevTools 调用栈/Source Map 仍指向原始调用位置(因使用 .bind 而非包装函数)
97
+ *
98
+ * @param moduleName - 模块唯一标识(建议与类名或文件名一致)
99
+ * @returns 与 Console 兼容的代理对象
100
+ */
101
+ static createModuleConsole(moduleName: string): ModuleConsole;
102
+ /**
103
+ * 读取 window.__sdkLogConfig 预配置(如果存在)。
104
+ * 在模块求值时立即调用,支持宿主页面在 SDK 加载前配置日志行为。
105
+ *
106
+ * @internal
107
+ */
108
+ private static _applyPreConfig;
109
+ }
110
+ export default SDKLogger;
111
+ //# sourceMappingURL=SDKLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKLogger.d.ts","sourceRoot":"","sources":["../../../../src/utils/SDKLogger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AASH,gBAAgB;AAChB,QAAA,MAAM,gBAAgB,mCAAoC,CAAC;AAC3D,KAAK,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,gBAAgB;AAChB,QAAA,MAAM,mBAAmB,oKAIf,CAAC;AACX,KAAK,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI9D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAC;AAI9E,cAAM,SAAS;IACb,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAQ;IAErC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAItD;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAM7C;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAInE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAW5C;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ7C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IA0C7D;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CAa/B;AAKD,eAAe,SAAS,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * translation.ts — KeepworkSDK 国际化模块(完整 TypeScript 实现)
3
+ *
4
+ * 以中文文本作为 key,外部 JSON 提供其他语言翻译;缺失翻译时回退中文。
5
+ * 语言解析顺序:URL 参数 `?lang=enUS` > localStorage `keepwork_ui_lang` > navigator.language。
6
+ * 完整 API 见 docs/translation.md。
7
+ */
8
+ /** Translation 构造选项 */
9
+ export interface TranslationOptions {
10
+ /** 语言代码 → JSON URL 的映射 */
11
+ localeFiles?: Record<string, string>;
12
+ /** 回退语言代码(默认 'zhCN') */
13
+ defaultLang?: string;
14
+ /** 是否在构造时立即调用 init()(默认 false) */
15
+ autoInit?: boolean;
16
+ }
17
+ /** 翻译变量映射(用于 `{var}` 插值) */
18
+ export type TranslationVars = Record<string, string | number>;
19
+ /** 翻译表(扁平 key → 译文) */
20
+ type TranslationMap = Record<string, string>;
21
+ /**
22
+ * Translation — 可复用的 i18n 模块。
23
+ *
24
+ * 通常通过 `window.i18n` 访问共享实例(由 installI18nGlobals 安装);
25
+ * 也可直接 `new Translation(options)` 创建独立实例。
26
+ */
27
+ export default class Translation {
28
+ private _STORAGE_KEY;
29
+ private _localeFiles;
30
+ private _defaultLang;
31
+ private _currentLang;
32
+ private _translations;
33
+ private _isLoading;
34
+ private _loadPromise;
35
+ private _initPromise;
36
+ constructor(options?: TranslationOptions);
37
+ /**
38
+ * 检测系统语言并映射到支持的语言代码。
39
+ */
40
+ private _detectSystemLang;
41
+ /**
42
+ * 解析当前 UI 语言。优先级:URL 参数 > localStorage > 系统语言。
43
+ */
44
+ private _resolveCurrentLang;
45
+ /**
46
+ * 从 JSON 文件加载翻译。
47
+ * @param lang - 要加载的语言代码(默认当前语言)
48
+ */
49
+ loadTranslations(lang?: string): Promise<TranslationMap>;
50
+ /**
51
+ * 初始化 i18n:解析语言、加载翻译、应用 DOM 翻译。
52
+ */
53
+ init(): Promise<string>;
54
+ /**
55
+ * 翻译文本。构造时会 bind 为实例属性 this.t(可作为独立函数传递)。
56
+ * @param key - 以中文文本作为 key
57
+ * @param vars - 用于替换 `{varName}` 的变量
58
+ */
59
+ t(key: string, vars?: TranslationVars): string;
60
+ /**
61
+ * 把翻译应用到所有带 data-i18n 属性的元素。
62
+ */
63
+ applyTranslations(): void;
64
+ /**
65
+ * 设置 UI 语言并重新加载翻译(会刷新页面以应用)。
66
+ */
67
+ setLang(lang: string): Promise<void>;
68
+ /** 获取当前语言代码。 */
69
+ getLang(): string;
70
+ /** 翻译是否已就绪。 */
71
+ isReady(): boolean;
72
+ /** 返回初始化完成的 Promise。 */
73
+ ready(): Promise<unknown>;
74
+ /**
75
+ * 合并额外翻译(不覆盖已有 key)。支持扁平或单层嵌套对象。
76
+ */
77
+ mergeTranslations(extra: Record<string, unknown>): void;
78
+ /**
79
+ * 注册更多语言文件路径(懒加载)。
80
+ */
81
+ addLocaleFiles(files: Record<string, string>): void;
82
+ /** [语言学习] 获取原生语言(= UI 语言)。 */
83
+ getNativeLanguage(): string;
84
+ /** [语言学习] 获取目标语言(单独存储)。 */
85
+ getTargetLanguage(): string;
86
+ }
87
+ /**
88
+ * 在 window 上安装向后兼容的全局变量(由 bundle 入口 index.ts 自动调用):
89
+ * - `window.i18n` — Translation 实例
90
+ * - `window.t(key,vars)` — i18n.t() 快捷方式
91
+ * - `window.GetDisplayLanguage()` — 返回当前语言代码
92
+ */
93
+ export declare function installI18nGlobals(instance: Translation): void;
94
+ export {};
95
+ //# sourceMappingURL=translation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../src/utils/translation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,uBAAuB;AACvB,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE9D,uBAAuB;AACvB,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAQ7C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAyB;gBAEjC,OAAO,GAAE,kBAAuB;IAkB5C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACG,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuC9D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB7B;;;;OAIG;IACH,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM;IAgB9C;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAezB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1C,gBAAgB;IAChB,OAAO,IAAI,MAAM;IAIjB,eAAe;IACf,OAAO,IAAI,OAAO;IAIlB,wBAAwB;IACxB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAevD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAInD,8BAA8B;IAC9B,iBAAiB,IAAI,MAAM;IAI3B,2BAA2B;IAC3B,iBAAiB,IAAI,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAU9D"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * WxAuth.ts — 微信网页授权登录模块(完整 TypeScript 实现)
3
+ *
4
+ * 提供微信 OAuth2.0 网页授权登录:环境检测、跳转授权、code 换 token、
5
+ * code 探测绑定状态、自动授权流程。依赖 WxUtils 工具函数。
6
+ */
7
+ import { detectWxEnvironment } from './WxUtils';
8
+ /** WxAuth 构造选项 */
9
+ export interface WxAuthOptions {
10
+ /** 微信 App ID(默认 'wx7935c49369d421c1') */
11
+ appId?: string;
12
+ /** 麦思星球微信 App ID */
13
+ maisiAppId?: string;
14
+ /** 授权 scope('snsapi_base' / 'snsapi_userinfo',默认后者) */
15
+ scope?: string;
16
+ /** 是否自动注册(默认 false) */
17
+ autoRegister?: boolean;
18
+ /** token Cookie 过期天数(默认 14) */
19
+ tokenCookieDays?: number;
20
+ }
21
+ /** authorize() 选项 */
22
+ export interface WxAuthorizeOptions {
23
+ appId?: string;
24
+ redirectUri?: string;
25
+ scope?: string;
26
+ state?: string;
27
+ extraParams?: Record<string, string>;
28
+ }
29
+ /** codeToToken() 选项 */
30
+ export interface CodeToTokenOptions {
31
+ appId?: string;
32
+ autoRegister?: boolean;
33
+ channel?: string;
34
+ onSuccess?: (response: unknown) => void;
35
+ onFail?: (error: Error) => void;
36
+ refreshPage?: boolean;
37
+ }
38
+ /** codeToToken() / codeToProbe() 返回结果 */
39
+ export interface WxAuthResult {
40
+ success: boolean;
41
+ data?: unknown;
42
+ error?: string;
43
+ isMaisi?: boolean;
44
+ }
45
+ /** autoAuth() 选项 */
46
+ export interface AutoAuthOptions extends WxAuthorizeOptions {
47
+ autoRegister?: boolean;
48
+ channel?: string;
49
+ onSuccess?: (response: unknown) => void;
50
+ onFail?: (error: Error) => void;
51
+ /** 是否仅在生产环境执行(默认 true) */
52
+ productionOnly?: boolean;
53
+ refreshPage?: boolean;
54
+ }
55
+ /** autoAuth() 返回结果 */
56
+ export interface AutoAuthResult {
57
+ success: boolean;
58
+ reason?: string;
59
+ message?: string;
60
+ data?: unknown;
61
+ error?: string;
62
+ isMaisi?: boolean;
63
+ }
64
+ /** 当前配置 */
65
+ export interface WxAuthConfig {
66
+ appId: string;
67
+ maisiAppId: string;
68
+ scope: string;
69
+ autoRegister: boolean;
70
+ isAuthFailed: boolean;
71
+ }
72
+ /** sdk 需提供的最小接口 */
73
+ interface WxAuthSdk {
74
+ setToken(token: string): void;
75
+ }
76
+ export default class WxAuth {
77
+ sdk: WxAuthSdk | null;
78
+ appId: string;
79
+ maisiAppId: string;
80
+ scope: string;
81
+ autoRegister: boolean;
82
+ wxAuthUrl: string;
83
+ tokenCookieDays: number;
84
+ /** 授权失败状态标记,防止循环授权 */
85
+ isAuthFailed: boolean;
86
+ constructor(sdk: unknown, options?: WxAuthOptions);
87
+ /** 是否在微信浏览器中。 */
88
+ isWechatBrowser(): boolean;
89
+ /** 获取微信环境详细信息。 */
90
+ getEnvironment(): ReturnType<typeof detectWxEnvironment>;
91
+ /** 是否在 iframe 中。 */
92
+ isInIframe(): boolean;
93
+ /** 获取当前 URL 中的授权 code。 */
94
+ getCodeFromUrl(): string | null;
95
+ /** 检查当前是否已登录(有 token)。 */
96
+ isLoggedIn(): boolean;
97
+ /**
98
+ * 跳转到微信授权页面。
99
+ */
100
+ authorize(options?: WxAuthorizeOptions): void;
101
+ /**
102
+ * 使用授权 code 换取 token。
103
+ */
104
+ codeToToken(code: string, options?: CodeToTokenOptions): Promise<WxAuthResult>;
105
+ /**
106
+ * 使用授权 code「探测」是否已绑定账号(微信内公众号网页授权,不自动注册)。
107
+ * 已绑定返回用户信息+token;未绑定返回 { needBind, ticket, ... } 由调用方确认。
108
+ */
109
+ codeToProbe(code: string, options?: {
110
+ appId?: string;
111
+ }): Promise<WxAuthResult>;
112
+ /**
113
+ * 自动授权流程入口:检测环境/登录状态,自动发起授权或处理回调。
114
+ */
115
+ autoAuth(options?: AutoAuthOptions): Promise<AutoAuthResult>;
116
+ /** 重置授权失败状态(用户手动登录或重试授权时调用)。 */
117
+ resetAuthFailedState(): void;
118
+ /** 设置默认 App ID。 */
119
+ setAppId(appId: string): void;
120
+ /** 设置授权作用域。 */
121
+ setScope(scope: string): void;
122
+ /** 获取当前配置。 */
123
+ getConfig(): WxAuthConfig;
124
+ }
125
+ export {};
126
+ //# sourceMappingURL=WxAuth.d.ts.map