cc98-cli 0.2.0 → 0.4.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 (150) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +4 -2
  3. package/dist/api/client.d.ts +40 -15
  4. package/dist/api/client.d.ts.map +1 -1
  5. package/dist/api/client.js +179 -38
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/api/endpoints.d.ts +14 -0
  8. package/dist/api/endpoints.d.ts.map +1 -1
  9. package/dist/api/endpoints.js +21 -1
  10. package/dist/api/endpoints.js.map +1 -1
  11. package/dist/api/types.d.ts +13 -0
  12. package/dist/api/types.d.ts.map +1 -1
  13. package/dist/api/webvpn.d.ts +68 -0
  14. package/dist/api/webvpn.d.ts.map +1 -0
  15. package/dist/api/webvpn.js +311 -0
  16. package/dist/api/webvpn.js.map +1 -0
  17. package/dist/cli/commands/board.d.ts.map +1 -1
  18. package/dist/cli/commands/board.js +16 -1
  19. package/dist/cli/commands/board.js.map +1 -1
  20. package/dist/cli/commands/forum.js +1 -1
  21. package/dist/cli/commands/forum.js.map +1 -1
  22. package/dist/cli/commands/login.js +1 -1
  23. package/dist/cli/commands/login.js.map +1 -1
  24. package/dist/cli/commands/logout.js +2 -2
  25. package/dist/cli/commands/logout.js.map +1 -1
  26. package/dist/cli/commands/me.d.ts.map +1 -1
  27. package/dist/cli/commands/me.js +18 -3
  28. package/dist/cli/commands/me.js.map +1 -1
  29. package/dist/cli/commands/message.d.ts.map +1 -1
  30. package/dist/cli/commands/message.js +11 -1
  31. package/dist/cli/commands/message.js.map +1 -1
  32. package/dist/cli/commands/notice.js +1 -1
  33. package/dist/cli/commands/notice.js.map +1 -1
  34. package/dist/cli/commands/post.d.ts.map +1 -1
  35. package/dist/cli/commands/post.js +13 -1
  36. package/dist/cli/commands/post.js.map +1 -1
  37. package/dist/cli/commands/search.js +1 -1
  38. package/dist/cli/commands/search.js.map +1 -1
  39. package/dist/cli/commands/topic.d.ts.map +1 -1
  40. package/dist/cli/commands/topic.js +42 -6
  41. package/dist/cli/commands/topic.js.map +1 -1
  42. package/dist/cli/commands/user.d.ts.map +1 -1
  43. package/dist/cli/commands/user.js +13 -1
  44. package/dist/cli/commands/user.js.map +1 -1
  45. package/dist/cli/commands/vpn.d.ts +2 -0
  46. package/dist/cli/commands/vpn.d.ts.map +1 -0
  47. package/dist/cli/commands/vpn.js +200 -0
  48. package/dist/cli/commands/vpn.js.map +1 -0
  49. package/dist/cli/context.d.ts +2 -2
  50. package/dist/cli/context.d.ts.map +1 -1
  51. package/dist/cli/context.js +20 -2
  52. package/dist/cli/context.js.map +1 -1
  53. package/dist/cli/router.d.ts.map +1 -1
  54. package/dist/cli/router.js +13 -2
  55. package/dist/cli/router.js.map +1 -1
  56. package/dist/main.js +0 -0
  57. package/dist/storage/image-cache.d.ts +32 -0
  58. package/dist/storage/image-cache.d.ts.map +1 -0
  59. package/dist/storage/image-cache.js +90 -0
  60. package/dist/storage/image-cache.js.map +1 -0
  61. package/dist/storage/vpn-store.d.ts +39 -0
  62. package/dist/storage/vpn-store.d.ts.map +1 -0
  63. package/dist/storage/vpn-store.js +94 -0
  64. package/dist/storage/vpn-store.js.map +1 -0
  65. package/dist/tui/app.d.ts.map +1 -1
  66. package/dist/tui/app.js +27 -1725
  67. package/dist/tui/app.js.map +1 -1
  68. package/dist/tui/borders.d.ts +183 -0
  69. package/dist/tui/borders.d.ts.map +1 -0
  70. package/dist/tui/borders.js +143 -0
  71. package/dist/tui/borders.js.map +1 -0
  72. package/dist/tui/cached-client.d.ts +23 -0
  73. package/dist/tui/cached-client.d.ts.map +1 -1
  74. package/dist/tui/cached-client.js +88 -0
  75. package/dist/tui/cached-client.js.map +1 -1
  76. package/dist/tui/components/content.d.ts +11 -0
  77. package/dist/tui/components/content.d.ts.map +1 -0
  78. package/dist/tui/components/content.js +129 -0
  79. package/dist/tui/components/content.js.map +1 -0
  80. package/dist/tui/components/header.d.ts +7 -0
  81. package/dist/tui/components/header.d.ts.map +1 -0
  82. package/dist/tui/components/header.js +38 -0
  83. package/dist/tui/components/header.js.map +1 -0
  84. package/dist/tui/components/index.d.ts +8 -0
  85. package/dist/tui/components/index.d.ts.map +1 -0
  86. package/dist/tui/components/index.js +9 -0
  87. package/dist/tui/components/index.js.map +1 -0
  88. package/dist/tui/components/layout.d.ts +3 -0
  89. package/dist/tui/components/layout.d.ts.map +1 -0
  90. package/dist/tui/components/layout.js +453 -0
  91. package/dist/tui/components/layout.js.map +1 -0
  92. package/dist/tui/components/overview.d.ts +7 -0
  93. package/dist/tui/components/overview.d.ts.map +1 -0
  94. package/dist/tui/components/overview.js +30 -0
  95. package/dist/tui/components/overview.js.map +1 -0
  96. package/dist/tui/components/sidebar.d.ts +7 -0
  97. package/dist/tui/components/sidebar.d.ts.map +1 -0
  98. package/dist/tui/components/sidebar.js +57 -0
  99. package/dist/tui/components/sidebar.js.map +1 -0
  100. package/dist/tui/components/status.d.ts +8 -0
  101. package/dist/tui/components/status.d.ts.map +1 -0
  102. package/dist/tui/components/status.js +42 -0
  103. package/dist/tui/components/status.js.map +1 -0
  104. package/dist/tui/components/types.d.ts +17 -0
  105. package/dist/tui/components/types.d.ts.map +1 -0
  106. package/dist/tui/components/types.js +3 -0
  107. package/dist/tui/components/types.js.map +1 -0
  108. package/dist/tui/components/utils.d.ts +5 -0
  109. package/dist/tui/components/utils.d.ts.map +1 -0
  110. package/dist/tui/components/utils.js +68 -0
  111. package/dist/tui/components/utils.js.map +1 -0
  112. package/dist/tui/controller.d.ts +66 -0
  113. package/dist/tui/controller.d.ts.map +1 -0
  114. package/dist/tui/controller.js +1200 -0
  115. package/dist/tui/controller.js.map +1 -0
  116. package/dist/tui/helpers.d.ts +25 -0
  117. package/dist/tui/helpers.d.ts.map +1 -0
  118. package/dist/tui/helpers.js +249 -0
  119. package/dist/tui/helpers.js.map +1 -0
  120. package/dist/tui/navigation.d.ts +4 -0
  121. package/dist/tui/navigation.d.ts.map +1 -0
  122. package/dist/tui/navigation.js +19 -0
  123. package/dist/tui/navigation.js.map +1 -0
  124. package/dist/tui/renderer.d.ts +6 -0
  125. package/dist/tui/renderer.d.ts.map +1 -0
  126. package/dist/tui/renderer.js +305 -0
  127. package/dist/tui/renderer.js.map +1 -0
  128. package/dist/tui/state/index.d.ts +3 -0
  129. package/dist/tui/state/index.d.ts.map +1 -0
  130. package/dist/tui/state/index.js +4 -0
  131. package/dist/tui/state/index.js.map +1 -0
  132. package/dist/tui/state/store.d.ts +4 -0
  133. package/dist/tui/state/store.d.ts.map +1 -0
  134. package/dist/tui/state/store.js +62 -0
  135. package/dist/tui/state/store.js.map +1 -0
  136. package/dist/tui/state/types.d.ts +141 -0
  137. package/dist/tui/state/types.d.ts.map +1 -0
  138. package/dist/tui/state/types.js +3 -0
  139. package/dist/tui/state/types.js.map +1 -0
  140. package/dist/tui/topic-reader.d.ts +10 -0
  141. package/dist/tui/topic-reader.d.ts.map +1 -0
  142. package/dist/tui/topic-reader.js +178 -0
  143. package/dist/tui/topic-reader.js.map +1 -0
  144. package/dist/tui/ubb-renderer.d.ts.map +1 -1
  145. package/dist/tui/ubb-renderer.js +176 -12
  146. package/dist/tui/ubb-renderer.js.map +1 -1
  147. package/dist/version.d.ts +1 -1
  148. package/dist/version.js +1 -1
  149. package/package.json +2 -2
  150. /package/{docs/images → images}/tui.jpg +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.4.0 - 2026-05-28
4
+
5
+ 这次更新增强了 WebVPN 的可靠性和会话持久化,并改进了 TUI 的帖子阅读体验。
6
+
7
+ ### 新增
8
+
9
+ - WebVPN 会话持久化:支持从 `vpn.json` 加载已登录的 Cookie,无需每次重新登录。
10
+ - WebVPN CLI 启动集成:CLI 命令自动检测网络环境并初始化 WebVPN。
11
+ - TUI 帖子楼层跳转:支持 `gg` 跳转到顶部,`G` 跳转到底部。
12
+
13
+ ### 改进
14
+
15
+ - WebVPN 重定向处理:支持相对 URL 解析、重试限制(最多 10 次)和 301/302/303 方法转换。
16
+ - WebVPN Cookie 解析:改进 `Set-Cookie` 头解析,正确处理包含逗号的值。
17
+ - WebVPN 错误提示:未登录时给出明确提示,引导用户运行 `cc98 vpn login`。
18
+ - TUI UBB 渲染:增强链接和图片的 ANSI 样式。
19
+ - 重构 TUI:删除旧的单文件实现,拆分为入口、控制器、渲染器、组件、状态、导航和帖子阅读器模块。
20
+ - TUI 异步副作用集中到 `TuiController`,修复重构后预览、进入主题、搜索、返回和退出渲染容易断裂的问题。
21
+ - 增强 TUI 数据归一化,兼容 CC98 API 响应中的大小写字段和嵌套主题/用户数据。
22
+ - 更新 TUI 状态栏提示,按当前上下文显示更短的操作提示。
23
+
24
+ ### 修复
25
+
26
+ - 修复 `mapLimit` 并发限制实现错误。
27
+ - 修复退出后异步加载仍可能继续渲染终端的问题。
28
+ - 修复 WebVPN 网络检测不应发送 Cookie 到外部服务。
29
+
3
30
  ## v0.2.0 - 2026-05-26
4
31
 
5
32
  这次更新主要改进 TUI 的浏览体验,并补上本地缓存和更新检查能力。
package/README.md CHANGED
@@ -15,7 +15,7 @@ vibe coding 累了的话,不妨在终端里水水 98。
15
15
  ## 预览
16
16
 
17
17
  <p align="center">
18
- <img src="docs/images/tui.jpg" alt="CC98-CLI TUI 截图" width="900">
18
+ <img src="images/tui.jpg" alt="CC98-CLI TUI 截图" width="900">
19
19
  </p>
20
20
 
21
21
  ## 安装
@@ -60,7 +60,9 @@ n 或 Space 加载更多
60
60
  q 退出
61
61
  ```
62
62
 
63
- 左栏导航包含:十大、收藏、最新、版面、关注、消息、我的、设置。
63
+ 左栏导航包含:十大、收藏、最新、版面、关注、消息、通知、我的、更多、设置。
64
+
65
+ 当前 TUI 已拆分为入口、控制器、渲染器、组件、状态和帖子阅读器几个模块。`src/tui/app.ts` 只负责终端生命周期和依赖组装,具体按键处理与异步加载在 `controller.ts`,布局渲染在 `renderer.ts` 和 `components/`。
64
66
 
65
67
  ## CLI
66
68
 
@@ -4,8 +4,22 @@ interface RequestOptions {
4
4
  }
5
5
  export declare class Cc98Client {
6
6
  private readonly tokenStore;
7
+ private readonly webVpn?;
8
+ private readonly webVpnOptions?;
7
9
  private refreshPromise;
8
10
  constructor(options: ClientOptions);
11
+ /**
12
+ * 初始化 WebVPN(如果需要)
13
+ * 应在启动时调用
14
+ */
15
+ initWebVpn(): Promise<void>;
16
+ /**
17
+ * 获取 WebVPN 状态
18
+ */
19
+ getWebVpnStatus(): {
20
+ enabled: boolean;
21
+ loggedIn: boolean;
22
+ } | undefined;
9
23
  loginWithPassword(username: string, password: string): Promise<{
10
24
  accessToken: string;
11
25
  refreshToken?: string;
@@ -14,34 +28,45 @@ export declare class Cc98Client {
14
28
  getMeWithAccessToken(accessToken: string): Promise<JsonObject>;
15
29
  getForumIndex(options?: RequestOptions): Promise<unknown>;
16
30
  getAllBoards(options?: RequestOptions): Promise<unknown>;
17
- getCardStat(): Promise<unknown>;
18
- getUserProfile(userId: number): Promise<unknown>;
31
+ getCardStat(options?: RequestOptions): Promise<unknown>;
32
+ getUserProfile(userId: number, options?: RequestOptions): Promise<unknown>;
19
33
  getBasicUsers(ids: number[], options?: RequestOptions): Promise<unknown>;
20
- getUsers(ids: number[]): Promise<unknown>;
34
+ getUsers(ids: number[], options?: RequestOptions): Promise<unknown>;
21
35
  getFriendIds(type: "follower" | "followee", from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
22
36
  getMoment(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
23
37
  getFavoriteUpdates(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
24
- getFavoriteGroups(): Promise<unknown>;
38
+ getFavoriteGroups(options?: RequestOptions): Promise<unknown>;
25
39
  getRecentChats(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
26
40
  getChatHistory(userId: number, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
27
- searchUsers(name: string): Promise<unknown>;
41
+ searchUsers(name: string, options?: RequestOptions): Promise<unknown>;
28
42
  getUnreadCount(options?: RequestOptions): Promise<unknown>;
29
- getNotices(type: "system" | "at" | "reply", from?: number, size?: number): Promise<unknown>;
30
- getBrowseHistory(from?: number, size?: number): Promise<unknown>;
43
+ getNotices(type: "system" | "at" | "reply", from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
44
+ getBrowseHistory(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
31
45
  getTopic(topicId: number, options?: RequestOptions): Promise<JsonObject>;
32
46
  getTopicPosts(topicId: number, from?: number, size?: number, options?: RequestOptions): Promise<JsonObject[]>;
33
- isTopicFavorite(topicId: number): Promise<unknown>;
47
+ isTopicFavorite(topicId: number, options?: RequestOptions): Promise<unknown>;
34
48
  getNewTopics(from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
35
- getRandomTopics(size?: number): Promise<unknown>;
36
- getFavoriteTopics(from?: number, size?: number, order?: number, groupId?: number): Promise<unknown>;
37
- getTopicVote(topicId: number): Promise<unknown>;
49
+ getRandomTopics(size?: number, options?: RequestOptions): Promise<unknown>;
50
+ getFavoriteTopics(from?: number, size?: number, order?: number, groupId?: number, options?: RequestOptions): Promise<unknown>;
51
+ getTopicVote(topicId: number, options?: RequestOptions): Promise<unknown>;
38
52
  getBasicTopics(ids: number[]): Promise<unknown>;
39
- getRecentTopics(userId: number | undefined, from?: number, size?: number): Promise<unknown>;
53
+ getRecentTopics(userId: number | undefined, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
40
54
  getBoardInfo(boardId: number, options?: RequestOptions): Promise<unknown>;
41
55
  getBoardTopics(boardId: number, from?: number, size?: number, best?: boolean, options?: RequestOptions): Promise<unknown>;
42
- searchTopics(keyword: string, from?: number, size?: number): Promise<unknown>;
43
- getPostReactionState(postId: number): Promise<unknown>;
44
- getPostRateReasons(type: number): Promise<unknown>;
56
+ searchTopics(keyword: string, from?: number, size?: number, options?: RequestOptions): Promise<unknown>;
57
+ getPostReactionState(postId: number, options?: RequestOptions): Promise<unknown>;
58
+ getPostRateReasons(type: number, options?: RequestOptions): Promise<unknown>;
59
+ createTopic(boardId: number, title: string, content: string, contentType?: number): Promise<unknown>;
60
+ replyTopic(topicId: number, content: string, contentType?: number): Promise<unknown>;
61
+ addFavorite(topicId: number, groupId?: number): Promise<unknown>;
62
+ removeFavorite(topicId: number): Promise<unknown>;
63
+ addBoardFavorite(boardId: number): Promise<unknown>;
64
+ removeBoardFavorite(boardId: number): Promise<unknown>;
65
+ followUser(userId: number): Promise<unknown>;
66
+ unfollowUser(userId: number): Promise<unknown>;
67
+ sendMessage(userId: number, content: string): Promise<unknown>;
68
+ signin(): Promise<unknown>;
69
+ reactToPost(postId: number, isLike: boolean): Promise<unknown>;
45
70
  private request;
46
71
  private tryRefreshToken;
47
72
  private doRefreshToken;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,aAAa,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAMtF,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAgB;IAC/C,OAAO,CAAC,cAAc,CAAmD;gBAE7D,OAAO,EAAE,aAAa;IAUlC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDjC;;OAEG;IACH,eAAe,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IAIhE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6B9G,KAAK,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxD,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ9D,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,WAAW,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9E,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhH,SAAS,CAAC,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9E,kBAAkB,CAAC,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvF,iBAAiB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjE,cAAc,CAAC,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAInG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhH,gBAAgB,CAAC,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI5E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhF,YAAY,CAAC,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjF,eAAe,CAAC,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,iBAAiB,CAAC,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,KAAK,SAAI,EAAE,OAAO,SAAI,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9G,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,IAAI,UAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhF,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/F,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/E,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMnD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ9D,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ1B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAQtD,OAAO;YA0DP,eAAe;YAgBf,cAAc;CA2C7B"}
@@ -1,11 +1,68 @@
1
1
  import { endpoints } from "./endpoints.js";
2
+ import { WebVpnService } from "./webvpn.js";
2
3
  const passwordClientId = "9a1fd200-8687-44b1-4c20-08d50a96e5cd";
3
4
  const passwordClientSecret = "8b53f727-08e2-4509-8857-e34bf92b27f2";
4
5
  export class Cc98Client {
5
6
  tokenStore;
7
+ webVpn;
8
+ webVpnOptions;
6
9
  refreshPromise = null;
7
10
  constructor(options) {
8
11
  this.tokenStore = options.tokenStore;
12
+ this.webVpnOptions = options.webVpn;
13
+ // 如果配置了 WebVPN,初始化服务
14
+ if (options.webVpn) {
15
+ this.webVpn = new WebVpnService(options.webVpn.cookies);
16
+ }
17
+ }
18
+ /**
19
+ * 初始化 WebVPN(如果需要)
20
+ * 应在启动时调用
21
+ */
22
+ async initWebVpn() {
23
+ if (!this.webVpn || !this.webVpnOptions)
24
+ return;
25
+ const mode = this.webVpnOptions.mode || "auto";
26
+ if (mode === "direct") {
27
+ // 强制直连模式,不启用 WebVPN
28
+ return;
29
+ }
30
+ if (mode === "vpn") {
31
+ // 强制 VPN 模式
32
+ this.webVpn.enabled = true;
33
+ if (this.webVpnOptions.credentials) {
34
+ const result = await this.webVpn.login(this.webVpnOptions.credentials.username, this.webVpnOptions.credentials.password);
35
+ if (!result.success) {
36
+ console.error("WebVPN login failed:", result.message);
37
+ }
38
+ }
39
+ if (!this.webVpn.isLoggedIn) {
40
+ console.error("WebVPN is enabled but not logged in. Run \"cc98 vpn login\" first.");
41
+ }
42
+ return;
43
+ }
44
+ // auto 模式:检测是否在校园网
45
+ const inCampus = await this.webVpn.checkNetwork();
46
+ if (!inCampus) {
47
+ // 不在校园网,尝试使用 WebVPN
48
+ this.webVpn.enabled = true;
49
+ if (this.webVpnOptions.credentials) {
50
+ const result = await this.webVpn.login(this.webVpnOptions.credentials.username, this.webVpnOptions.credentials.password);
51
+ if (!result.success) {
52
+ console.error("WebVPN login failed:", result.message);
53
+ }
54
+ }
55
+ if (!this.webVpn.isLoggedIn) {
56
+ this.webVpn.enabled = false;
57
+ console.error("WebVPN is needed but not logged in. Run \"cc98 vpn login\" first.");
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * 获取 WebVPN 状态
63
+ */
64
+ getWebVpnStatus() {
65
+ return this.webVpn?.getStatus();
9
66
  }
10
67
  async loginWithPassword(username, password) {
11
68
  const body = new URLSearchParams({
@@ -48,17 +105,17 @@ export class Cc98Client {
48
105
  async getAllBoards(options = {}) {
49
106
  return this.request(endpoints.forum.allBoards, { signal: options.signal });
50
107
  }
51
- async getCardStat() {
52
- return this.request(endpoints.forum.cardStat);
108
+ async getCardStat(options = {}) {
109
+ return this.request(endpoints.forum.cardStat, { signal: options.signal });
53
110
  }
54
- async getUserProfile(userId) {
55
- return this.request(endpoints.user.profile(userId));
111
+ async getUserProfile(userId, options = {}) {
112
+ return this.request(endpoints.user.profile(userId), { signal: options.signal });
56
113
  }
57
114
  async getBasicUsers(ids, options = {}) {
58
115
  return this.request(endpoints.user.basic(ids), { signal: options.signal });
59
116
  }
60
- async getUsers(ids) {
61
- return this.request(endpoints.user.list(ids));
117
+ async getUsers(ids, options = {}) {
118
+ return this.request(endpoints.user.list(ids), { signal: options.signal });
62
119
  }
63
120
  async getFriendIds(type, from = 0, size = 10, options = {}) {
64
121
  return this.request(endpoints.user.friendIds(type, from, size), { signal: options.signal });
@@ -69,8 +126,8 @@ export class Cc98Client {
69
126
  async getFavoriteUpdates(from = 0, size = 20, options = {}) {
70
127
  return this.request(endpoints.user.favoriteUpdates(from, size), { signal: options.signal });
71
128
  }
72
- async getFavoriteGroups() {
73
- return this.request(endpoints.user.favoriteGroups);
129
+ async getFavoriteGroups(options = {}) {
130
+ return this.request(endpoints.user.favoriteGroups, { signal: options.signal });
74
131
  }
75
132
  async getRecentChats(from = 0, size = 10, options = {}) {
76
133
  return this.request(endpoints.user.recentChats(from, size), { signal: options.signal });
@@ -78,17 +135,17 @@ export class Cc98Client {
78
135
  async getChatHistory(userId, from = 0, size = 10, options = {}) {
79
136
  return this.request(endpoints.user.chatHistory(userId, from, size), { signal: options.signal });
80
137
  }
81
- async searchUsers(name) {
82
- return this.request(endpoints.user.search(name));
138
+ async searchUsers(name, options = {}) {
139
+ return this.request(endpoints.user.search(name), { signal: options.signal });
83
140
  }
84
141
  async getUnreadCount(options = {}) {
85
142
  return this.request(endpoints.user.unread, { signal: options.signal });
86
143
  }
87
- async getNotices(type, from = 0, size = 10) {
88
- return this.request(endpoints.user.notices(type, from, size));
144
+ async getNotices(type, from = 0, size = 10, options = {}) {
145
+ return this.request(endpoints.user.notices(type, from, size), { signal: options.signal });
89
146
  }
90
- async getBrowseHistory(from = 0, size = 11) {
91
- return this.request(endpoints.user.browseHistory(from, size));
147
+ async getBrowseHistory(from = 0, size = 11, options = {}) {
148
+ return this.request(endpoints.user.browseHistory(from, size), { signal: options.signal });
92
149
  }
93
150
  async getTopic(topicId, options = {}) {
94
151
  return this.request(endpoints.topic.info(topicId), { signal: options.signal });
@@ -96,26 +153,26 @@ export class Cc98Client {
96
153
  async getTopicPosts(topicId, from = 0, size = 10, options = {}) {
97
154
  return this.request(endpoints.topic.posts(topicId, from, size), { signal: options.signal });
98
155
  }
99
- async isTopicFavorite(topicId) {
100
- return this.request(endpoints.topic.isFavorite(topicId));
156
+ async isTopicFavorite(topicId, options = {}) {
157
+ return this.request(endpoints.topic.isFavorite(topicId), { signal: options.signal });
101
158
  }
102
159
  async getNewTopics(from = 0, size = 20, options = {}) {
103
160
  return this.request(endpoints.topic.newTopics(from, size), { signal: options.signal });
104
161
  }
105
- async getRandomTopics(size = 10) {
106
- return this.request(endpoints.topic.randomTopics(size));
162
+ async getRandomTopics(size = 10, options = {}) {
163
+ return this.request(endpoints.topic.randomTopics(size), { signal: options.signal });
107
164
  }
108
- async getFavoriteTopics(from = 0, size = 11, order = 1, groupId = 0) {
109
- return this.request(endpoints.topic.favoriteTopics(from, size, order, groupId));
165
+ async getFavoriteTopics(from = 0, size = 11, order = 1, groupId = 0, options = {}) {
166
+ return this.request(endpoints.topic.favoriteTopics(from, size, order, groupId), { signal: options.signal });
110
167
  }
111
- async getTopicVote(topicId) {
112
- return this.request(endpoints.topic.vote(topicId));
168
+ async getTopicVote(topicId, options = {}) {
169
+ return this.request(endpoints.topic.vote(topicId), { signal: options.signal });
113
170
  }
114
171
  async getBasicTopics(ids) {
115
172
  return this.request(endpoints.topic.basic(ids));
116
173
  }
117
- async getRecentTopics(userId, from = 0, size = 11) {
118
- return this.request(endpoints.topic.recent(userId, from, size));
174
+ async getRecentTopics(userId, from = 0, size = 11, options = {}) {
175
+ return this.request(endpoints.topic.recent(userId, from, size), { signal: options.signal });
119
176
  }
120
177
  async getBoardInfo(boardId, options = {}) {
121
178
  return this.request(endpoints.board.info(boardId), { signal: options.signal });
@@ -126,14 +183,80 @@ export class Cc98Client {
126
183
  : endpoints.board.topics(boardId, from, size);
127
184
  return this.request(endpoint, { signal: options.signal });
128
185
  }
129
- async searchTopics(keyword, from = 0, size = 20) {
130
- return this.request(endpoints.topic.search(keyword, from, size));
186
+ async searchTopics(keyword, from = 0, size = 20, options = {}) {
187
+ return this.request(endpoints.topic.search(keyword, from, size), { signal: options.signal });
188
+ }
189
+ async getPostReactionState(postId, options = {}) {
190
+ return this.request(endpoints.post.reactionState(postId), { signal: options.signal });
191
+ }
192
+ async getPostRateReasons(type, options = {}) {
193
+ return this.request(endpoints.post.rateReasons(type), { signal: options.signal });
194
+ }
195
+ // 写入操作
196
+ async createTopic(boardId, title, content, contentType = 0) {
197
+ return this.request(endpoints.write.createTopic(boardId), {
198
+ method: "POST",
199
+ headers: { "content-type": "application/json" },
200
+ body: JSON.stringify({ title, content, contentType })
201
+ });
202
+ }
203
+ async replyTopic(topicId, content, contentType = 0) {
204
+ return this.request(endpoints.write.replyTopic(topicId), {
205
+ method: "POST",
206
+ headers: { "content-type": "application/json" },
207
+ body: JSON.stringify({ content, contentType })
208
+ });
209
+ }
210
+ async addFavorite(topicId, groupId = 0) {
211
+ return this.request(endpoints.write.addFavorite(topicId, groupId), {
212
+ method: "PUT"
213
+ });
214
+ }
215
+ async removeFavorite(topicId) {
216
+ return this.request(endpoints.write.removeFavorite(topicId), {
217
+ method: "DELETE"
218
+ });
219
+ }
220
+ async addBoardFavorite(boardId) {
221
+ return this.request(endpoints.write.addBoardFavorite(boardId), {
222
+ method: "PUT"
223
+ });
131
224
  }
132
- async getPostReactionState(postId) {
133
- return this.request(endpoints.post.reactionState(postId));
225
+ async removeBoardFavorite(boardId) {
226
+ return this.request(endpoints.write.removeBoardFavorite(boardId), {
227
+ method: "DELETE"
228
+ });
134
229
  }
135
- async getPostRateReasons(type) {
136
- return this.request(endpoints.post.rateReasons(type));
230
+ async followUser(userId) {
231
+ return this.request(endpoints.write.followUser(userId), {
232
+ method: "PUT"
233
+ });
234
+ }
235
+ async unfollowUser(userId) {
236
+ return this.request(endpoints.write.unfollowUser(userId), {
237
+ method: "DELETE"
238
+ });
239
+ }
240
+ async sendMessage(userId, content) {
241
+ return this.request(endpoints.write.sendMessage, {
242
+ method: "POST",
243
+ headers: { "content-type": "application/json" },
244
+ body: JSON.stringify({ receiverId: userId, content })
245
+ });
246
+ }
247
+ async signin() {
248
+ return this.request(endpoints.write.signin, {
249
+ method: "POST",
250
+ headers: { "content-type": "application/json" },
251
+ body: JSON.stringify("")
252
+ });
253
+ }
254
+ async reactToPost(postId, isLike) {
255
+ return this.request(endpoints.post.react(postId), {
256
+ method: "POST",
257
+ headers: { "content-type": "application/json" },
258
+ body: JSON.stringify(isLike ? "like" : "dislike")
259
+ });
137
260
  }
138
261
  async request(url, init = {}, authorize = true) {
139
262
  const headers = new Headers(init.headers);
@@ -144,19 +267,37 @@ export class Cc98Client {
144
267
  }
145
268
  headers.set("authorization", `Bearer ${token}`);
146
269
  }
147
- let response = await fetch(url, {
148
- ...init,
149
- headers
150
- });
270
+ // 使用 WebVPN 或直接请求
271
+ let response;
272
+ if (this.webVpn?.isEnabled) {
273
+ response = await this.webVpn.fetch(url, {
274
+ ...init,
275
+ headers: Object.fromEntries(headers.entries())
276
+ });
277
+ }
278
+ else {
279
+ response = await fetch(url, {
280
+ ...init,
281
+ headers
282
+ });
283
+ }
151
284
  // Try to refresh token on 401
152
285
  if (response.status === 401 && authorize) {
153
286
  const refreshed = await this.tryRefreshToken();
154
287
  if (refreshed) {
155
288
  headers.set("authorization", `Bearer ${refreshed.accessToken}`);
156
- response = await fetch(url, {
157
- ...init,
158
- headers
159
- });
289
+ if (this.webVpn?.isEnabled) {
290
+ response = await this.webVpn.fetch(url, {
291
+ ...init,
292
+ headers: Object.fromEntries(headers.entries())
293
+ });
294
+ }
295
+ else {
296
+ response = await fetch(url, {
297
+ ...init,
298
+ headers
299
+ });
300
+ }
160
301
  }
161
302
  }
162
303
  const text = await response.text();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,20 @@ export declare const endpoints: {
43
43
  readonly post: {
44
44
  readonly reactionState: (postId: number) => string;
45
45
  readonly rateReasons: (type: number) => string;
46
+ readonly react: (postId: number) => string;
47
+ readonly edit: (postId: number) => string;
48
+ };
49
+ readonly write: {
50
+ readonly createTopic: (boardId: number) => string;
51
+ readonly replyTopic: (topicId: number) => string;
52
+ readonly addFavorite: (topicId: number, groupId?: number) => string;
53
+ readonly removeFavorite: (topicId: number) => string;
54
+ readonly addBoardFavorite: (boardId: number) => string;
55
+ readonly removeBoardFavorite: (boardId: number) => string;
56
+ readonly followUser: (userId: number) => string;
57
+ readonly unfollowUser: (userId: number) => string;
58
+ readonly sendMessage: "https://api.cc98.org/message";
59
+ readonly signin: "https://api.cc98.org/me/signin";
46
60
  };
47
61
  };
48
62
  //# sourceMappingURL=endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/api/endpoints.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;;;;;;;;;;;mCAWA,MAAM;8BACX,MAAM,EAAE;6BACT,MAAM,EAAE;mCACF,UAAU,GAAG,UAAU;;;;;uCAMnB,MAAM;gCAEb,MAAM;;iCAEL,QAAQ,GAAG,IAAI,GAAG,OAAO;;;;iCAKzB,MAAM;mCACJ,MAAM;uCAEF,MAAM;;;iCAIZ,MAAM;uCACA,MAAM;kCACX,MAAM;;;mCAIL,MAAM;;iCAIR,MAAM;8BACT,MAAM,EAAE;kCACJ,MAAM,GAAG,SAAS;;;yCAMX,MAAM;qCACV,MAAM;;CAEpB,CAAC"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/api/endpoints.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;;;;;;;;;;;mCAWA,MAAM;8BACX,MAAM,EAAE;6BACT,MAAM,EAAE;mCACF,UAAU,GAAG,UAAU;;;;;uCAMnB,MAAM;gCAEb,MAAM;;iCAEL,QAAQ,GAAG,IAAI,GAAG,OAAO;;;;iCAKzB,MAAM;mCACJ,MAAM;uCAEF,MAAM;;;iCAIZ,MAAM;uCACA,MAAM;kCACX,MAAM;;;mCAIL,MAAM;;iCAIR,MAAM;8BACT,MAAM,EAAE;kCACJ,MAAM,GAAG,SAAS;;;yCAMX,MAAM;qCACV,MAAM;iCACV,MAAM;gCACP,MAAM;;;wCAIE,MAAM;uCACP,MAAM;wCAEL,MAAM;2CACH,MAAM;6CAEJ,MAAM;gDACH,MAAM;sCAEhB,MAAM;wCACJ,MAAM;;;;CAMvB,CAAC"}
@@ -47,7 +47,27 @@ export const endpoints = {
47
47
  },
48
48
  post: {
49
49
  reactionState: (postId) => `${base}/post/${postId}/like`,
50
- rateReasons: (type) => `${base}/post/rating-reason?type=${type}`
50
+ rateReasons: (type) => `${base}/post/rating-reason?type=${type}`,
51
+ react: (postId) => `${base}/post/${postId}/like`,
52
+ edit: (postId) => `${base}/post/${postId}`
53
+ },
54
+ write: {
55
+ // 帖子
56
+ createTopic: (boardId) => `${base}/board/${boardId}/topic`,
57
+ replyTopic: (topicId) => `${base}/topic/${topicId}/post`,
58
+ // 收藏
59
+ addFavorite: (topicId, groupId = 0) => `${base}/me/favorite/${topicId}?groupid=${groupId}`,
60
+ removeFavorite: (topicId) => `${base}/me/favorite/${topicId}`,
61
+ // 版面收藏
62
+ addBoardFavorite: (boardId) => `${base}/me/custom-board/${boardId}`,
63
+ removeBoardFavorite: (boardId) => `${base}/me/custom-board/${boardId}`,
64
+ // 关注
65
+ followUser: (userId) => `${base}/me/followee/${userId}`,
66
+ unfollowUser: (userId) => `${base}/me/followee/${userId}`,
67
+ // 私信
68
+ sendMessage: `${base}/message`,
69
+ // 签到
70
+ signin: `${base}/me/signin`
51
71
  }
52
72
  };
53
73
  //# sourceMappingURL=endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/api/endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/api/endpoints.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,17 @@ export interface AuthToken {
4
4
  error?: string;
5
5
  error_description?: string;
6
6
  }
7
+ export interface WebVpnOptions {
8
+ /** WebVPN 模式: auto=自动检测, vpn=强制使用, direct=强制直连 */
9
+ mode?: "auto" | "vpn" | "direct";
10
+ /** 已登录 WebVPN 会话 Cookie */
11
+ cookies?: Record<string, string>;
12
+ /** WebVPN 登录凭据(浙大通行证) */
13
+ credentials?: {
14
+ username: string;
15
+ password: string;
16
+ };
17
+ }
7
18
  export interface ClientOptions {
8
19
  tokenStore: {
9
20
  getAccessToken(): Promise<string | undefined>;
@@ -21,6 +32,8 @@ export interface ClientOptions {
21
32
  refreshToken?: string;
22
33
  }): Promise<unknown>;
23
34
  };
35
+ /** WebVPN 配置 */
36
+ webVpn?: WebVpnOptions;
24
37
  }
25
38
  export type JsonObject = Record<string, unknown>;
26
39
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE;QACV,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC9C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC/C,iBAAiB,CAAC,IAAI,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5E,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACzG,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACjC,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,yBAAyB;IACzB,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE;QACV,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC9C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC/C,iBAAiB,CAAC,IAAI,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5E,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACzG,CAAC;IACF,gBAAgB;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}